fsck & ufsdump - cannot read block/sector errors
原因
fsck(1M) から次のメッセージを受信した場合:
CANNOT READ: BLK 196896
CONTINUE? y
THE FOLLOWING SECTORS COULD NOT BE READ: 196896 196897 196898 196899
|
あるいは
ufsdump(1M) から次の警告を受け取った場合:
DUMP: Warning - cannot read sector 164016 of /dev/vx/rdsk/newdg/vol02
DUMP: Warning - cannot read sector 164017 of /dev/vx/rdsk/newdg/vol02
DUMP: Warning - cannot read sector 164018 of /dev/vx/rdsk/newdg/vol02
|
このボリュームにあるファイルシステムのサイズが標準のファイルシステムのサイズに合っていません。
対処方法
次の例に従って、チェックを行ってください。
次のコマンドを実行します。
# fstyp -v /dev/vx/rdsk/newdg/vol02 | head -30 | grep ncg
|
次の行がプリントされます(表示されるエラーメッセージや警告メッセージは無視してください)。
ncg 25 size 102400 blocks 95983
|
size という語の後の数字だけに着目してください。この数字でファイルシステムの長さが 102,400 K バイトであることがわかります。
次にボリュームサイズを確認します。次のコマンドを実行します。
# vxprint -g newdg -vt vol02
|
これで、次の行が表示されます。
V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX
v vol02 fsgen ENABLED ACTIVE 163840 SELECT
|
ここで、このボリュームが 163,840 セクター (この値を 2 で割った値が K バイト値)、つまり 81,920 K バイトであることがわかります。この例でもわかるように、ボリューム (80 M バイト) のサイズはファイルシステム (100 M バイト) よりかなり小さいサイズです。データロスを避けるためや、最小限に抑えるためには、この値をただちに修正する必要があります。この問題を解決するには、できるだけデータのバックアップをとり、新しいボリュームを作成するか、これに
newfs を実行してデータを復元します。
この問題は、DiskSuiteTM メタデバイスでも発生することがあります。違いは、metastat コマンドでメタデバイスのサイズを確認する必要がある点です。vxprint の場合と同じく、metastat コマンドでは、メタデバイスのサイズをセクターで表示します。