内容

概要

背景

前提条件

要件

使用するコンポーネント

症状

解決方法

関連情報

Nexus 7000 スーパーバイザ 2/2E コンパクト フラッシュ障害リカバリ

概要

この記事は、「Nexus 7000 Supervisor 2/2Eコンパクトフラッシュ障害回復」を拡張したもので、すべての障害シナリオに対応しています。フラッシュ回復ツールの実行に失敗する可能性があります。このドキュメントは便利です。変更を実行するには、デバイスにコンソールアクセスできるようにすることをお勧めします。また、スイッチの動作に影響を与える可能性があるため、このドキュメントでは説明していないLinuxカーネルでは変更を行わないことをお勧めします。Cisco TACの監視が推奨されます。

背景

他のドキュメントで説明したように、各N7Kスーパーバイザ2/2Eには、RAID1構成の2つのeUSBフラッシュデバイス（プライマリとミラー）が装備されています。これらのデバイスにより、ブート イメージ、スタートアップ コンフィギュレーション、永続アプリケーション データのための不揮発性リポジトリが提供されます。シャーシ内のスーパーバイザに対してRaidが失敗する場合は、フラッシュ回復ツールを実行して同じ問題を修正します。ほとんどの場合、フラッシュ回復ツールの実行に失敗した場合は、スーパーバイザのリロードまたはフェールオーバーを行います。特定のシナリオでは、リロード/フェールオーバーを行わずに、この問題を修正する可能性があります。

前提条件

要件

Cisco Nexus OS、ストレージ、フラッシュディスクのリカバリ方法およびLinuxレベルのデバッグに関する知識があることが推奨されます。

使用するコンポーネント

Nexus 7000 シリーズ スイッチ

症状

スーパーバイザでRAID障害が発生し、該当するスーパーバイザのフラッシュを回復しようとすると、フラッシュ回復ツールを実行すると次のエラーが表示されます。

スイッチがRaid障害状態に移行し、エラーコードが0xe1になる

ERROR: Cannot perform recovery. /dev/sdb has incorrect partition info.

ERROR: Disk /dev/sdb needs to be manually inspected for errors.

INFO: No recovery was attempted on module 5. All flashes left intact.

INFO: A detailed copy of the this log was saved as volatile:flash_repair_log_mod5.tgz.

解決方法

スイッチにデバッグプラグインをロードし、Linuxシェルにログインします。

Switch# load bootflash:n7000-s2-debug-sh.6.1.4a.gbin

ここでコマンドを実行する際は、注意してください。

Linuxプロンプトが表示されたら、エラーメッセージに従って該当するパーティションを探します。この例では/dev/sdbです。他のパーティションも考えられます。

Linux(debug)# ls -l /dev/sd?

brw-r----- 1 root root 8, 0 Aug 28 2015 sda

brw-rw-r-- 1 root disk 8, 32 Dec 18 2013 sdc

brw-rw-r-- 1 root disk 8, 48 Dec 18 2013 sdd

brw-rw-r-- 1 root disk 8, 64 Dec 18 2013 sde

brw-rw-r-- 1 root disk 8, 80 Dec 18 2013 sdf

brw-rw-r-- 1 root disk 8, 96 Dec 18 2013 sdg

brw-rw-r-- 1 root disk 8, 112 Dec 18 2013 sdh

brw-rw-r-- 1 root disk 8, 128 Dec 18 2013 sdi

brw-rw-r-- 1 root disk 8, 144 Dec 18 2013 sdj

brw-rw-r-- 1 root disk 8, 160 Dec 18 2013 sdk

brw-rw-r-- 1 root disk 8, 176 Dec 18 2013 sdl

brw-rw-r-- 1 root disk 8, 192 Dec 18 2013 sdm

パーティションが見つからず、回復ツールの実行中にエラーが発生しました。他のブロックと同じ権限で、欠落しているパーティションを手動で作成します。

Linux(debug)# mknod -m 664 /dev/sdb b 8 16

これで、/devの下にsdbパーティションが表示されます。

Linux(debug)# ls -l /dev/sd?

brw-r----- 1 root root 8, 0 Aug 28 2015 sda

brw-rw-r-- 1 root root 8, 16 May 26 07:31 sdb

brw-rw-r-- 1 root disk 8, 32 Dec 18 2013 sdc

brw-rw-r-- 1 root disk 8, 48 Dec 18 2013 sdd

brw-rw-r-- 1 root disk 8, 64 Dec 18 2013 sde

brw-rw-r-- 1 root disk 8, 80 Dec 18 2013 sdf

brw-rw-r-- 1 root disk 8, 96 Dec 18 2013 sdg

brw-rw-r-- 1 root disk 8, 112 Dec 18 2013 sdh

brw-rw-r-- 1 root disk 8, 128 Dec 18 2013 sdi

brw-rw-r-- 1 root disk 8, 144 Dec 18 2013 sdj

brw-rw-r-- 1 root disk 8, 160 Dec 18 2013 sdk

brw-rw-r-- 1 root disk 8, 176 Dec 18 2013 sdl

brw-rw-r-- 1 root disk 8, 192 Dec 18 2013 sdm

Linuxシェルを終了し、フラッシュ回復ツールを再度実行します。

今回は、エラーメッセージが表示されず、プライマリフラッシュのRAID障害が回復しました(0xf0)。 同じことを確認するには、次のコマンドを使用します。

"slot x show system internal raid | i i cmos|block | head line 5"

このようなエラーは発生せず正常に動作し、該当するスーパーバイザをRAID障害状態から回復できる必要があります。回復ツールの実行が失敗し続ける場合、別の原因またはパーティションの実際の破損が原因である可能性があり、リロードまたはフェールオーバーを行う必要があります。

関連情報

Nexus 7000 スーパーバイザ 2/2E コンパクト フラッシュ障害リカバリ