Solaris formatコマンドが「Warning: error setting drive geometry」で失敗する。警告:VTOCの書き込み中にエラーが発生しました。ラベル付けに失敗しました。
Summary: PowerPathの制御下で新しく割り当てられたデバイスをフォーマットできません。formatコマンドの引数に擬似デバイス名を指定した場合、デバイスが見つからない...デバイスがネイティブ名で選択されている場合、formatコマンドは「Warning: error setting drive geometry」で失敗します。警告:VTOCの書き込み中にエラーが発生しました。ラベル付けに失敗しました。 ...
Symptoms
または、デバイスが構成に追加され、後でパニックが発生して、ブートアーカイブが不整合のままになります。
環境:Solaris 10またはSolaris 11
EMC SW: PowerPath for Solaris(任意のリリース)
# format emcpower0a
ディスクが見つかりません!
# フォーマット
...
ディスクを指定します(番号を入力します)。165
C1T500009792318B960d42
[ディスクフォーマット済み]
フォーマット>の選択 P
パーティション>ラベル
ディスクにラベルを付ける準備はできましたか? y
警告:ドライブジオメトリの設定中にエラーが発生しました。
警告:VTOCの書き込み中にエラーが発生しました。
ラベル付けに失敗しました。
分割>
Cause
のエントリーがありません。/dev/dskと/dev/rdskのすべてのエントリーは正しいです...しかし、どこにも指し示していません:
294998 2 lrwxrwxrwx 1ルートルート34 Jun 26 12:55 emcpower0 -> ../../devices/pseudo/emcp@0:wd、blk
294997 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0a -> ../../devices/pseudo/emcp@0:a,blk
291378 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0b -> ../../devices/pseudo/emcp@0:b、blk
289256 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0c -> ../../devices/pseudo/emcp@0:c,blk
295005 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0d -> ../../devices/pseudo/emcp@0:d,blk
289257 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0e -> ../../devices/pseudo/emcp@0:e,blk
289258 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0f -> ../../devices/pseudo/emcp@0:f,blk
289259 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0g -> ../../devices/pseudo/emcp@0:g,blk
/devices/pseudoにemcp@0エントリーがありません。
Resolution
/devices/pseudoのエントリーを再作成する必要があります。まず、問題がHPOvPerfAgtパッケージの存在によって引き起こされていないことを確認します。それ以外の場合は、次の4つの方法のいずれかを使用します。最初の方法が失敗した場合、2 番目の方法は成功するはずです。最悪のシナリオでは、最後のものが成功するはずです。
1)「devfsadm -i emcp」コマンドを使用して
、/devices/pseudoでemcpエントリーを再作成してみます# devfsadm -i emcp
# ls /devices/pseudo/emcp@0 (エントリーが存在することを確認します。emcp@0 emcpower0用であることに注意してください。emcpowerXXの場合は、emcp@XX)
# bootadm update-archiveを探します(ブート情報の構成変更を統合するため)。
2)前のコマンドでは、/devicesに新しいエントリーを作成できない可能性があります。次のコマンドは、「emcpadm renamepseudo」コマンドが正常に実行されると、/devices内のすべてのエントリーが再構築されるという事実に基づいています。これは、このコマンドの副作用であり、ここでの問題を修正するのに非常に役立ちます。
問題のない未使用の疑似デバイス(現在マウントされておらず、ファイル システムの一部)をピックアップします(形式に表示され、/devicesの下にエントリーが存在します)。この優れた疑似デバイスがemcpower7であるとしましょう。そして、emcpower1007が新しい名前の可能性があるように、構成にemcpower1007がないと仮定しましょう。:
# emcpadm renamepseudo -s 7 -t 1007
# emcpadm renamepseudo -s 1007 -t 7
# powermt save
# bootadm update-archive
を実行します。/devicesにエントリーがない疑似デバイスではない場合、コマンドは失敗し(以下の第4項を参照)、/devicesエントリーは修正されません。
上記のコマンドを使用すると、最初のコマンドの後、問題はすでに修正されているはずです。2 番目の名前変更は、元の仮名を元に戻すためだけにあります。最後の2つのコマンドは、変更を統合するためのものです。
3)問題のあるデバイスを管理解除/管理を試みます(これはおそらく失敗します)
# powermt unmanage dev = emcpower0a
エラー: 管理解除に失敗しました
4)問題のある疑似デバイスの名前を変更します(おそらく失敗します)
# emcpadm renamepseudo -s 0 -t 1000
<ERROR: デバイスの名前を変更できません。 emcpower0が存在しません>
5)問題のあるデバイス
を完全に再構成します# powermt remove dev=0
# powermt save ストレージ
>> グループ
からデバイスをマスク解除します# devfsadm -C(ネイティブ パスの/dev/dskおよび/dev/rdskのエントリーを削除するため)
# rm /dev/dsk/emcpower0*
# rm /dev/rdsk/emcpower0*
>> デバイスをマスクしてストレージ グループ
に戻します# devfsadm(ネイティブ パスのエントリーを再作成するため)
# powermt config(PowerPathを再構成するため)
# powermt display dev=all (疑似デバイスが再構成されたことを確認します)
# powermt save
# ls /devices/pseudo/emcp@0 (エントリーが存在することを確認します。emcp@0 emcpower0用であることに注意してください。emcpowerXXの場合は、emcp@XXを探します)
# bootadm update-archive (ブート情報の設定変更を統合するため)