Go to TOP Page
Google:


□使うシーン


○ソフト的な破損にイケまつ。

panic して down したとか、どーしよーもなくなって Stop + A しちゃった ような場合、 disk が sync されなくて Super Block に不整合が出たような 場合にイケまつ。
具体的には、 OS の起動時に

fsck してくれよぅ。

ミタイなメッセージが表示されて、root の password 入れて Single user mode で起動するか、 Control-D を入力して起動を継続するかっちゅーよーなメッセージ がでたらそのときでつ。

Solaris 7 から ufs logging が実装されて Super Block が壊れにくくなって いるハヅでつが、

出る時は出る。

ので、修復のコマンドを覚えてしまいましょう。
あ、それと、 disk の Hard 的な故障に起因する場合は、fsck の修復は 効果ナシでつ。
その場合は、 format の repair で代替セクタに置き換える 方法で修復できる可能性がありまつが・・・・。
セクタを置き換えて修復した場合、ファイルが途中でちょん切れの壊れっぱの 可能性がありまつ。

Hard 的に壊れたセクタは
Read できませんからっ。

と言うことで。
Read 出来たとしてもアテにはなりません。
fsck が終わったら、 lost+found にファイルが置かれている場合がありまつ。
path の情報が失われたけど、復旧でたッポイようなファイルが収められていまつ。
ファイルをチェックして、正常なら元々あったレポジトリに mv しませう。

fsck は"ファイルシステムの不整合を是正する"のであって、 "修復する" っちゅーのとは違いまつ。
fsck の実行により、結果的には元通りになる場合が殆どでつが、

過度な期待はしないように

とゆーわけで、ファイルを壊したくなければこまめな backup しかない っつーワケでつ。
あと、技術系のサイトとかで fsck を解説しているところを散見しまつ。
その中で、 "backup を確保してから fsck しましょう"的な 事を書いてるライターがいるけど・・・・

読めねー disk の backup は
どーやったら取れるんだ?

解説してくれよ。
マヂで。


□修復の準備


○注意点

不整合を発見したファイルシステムはフツーは mount されていません。
なので、/usr とかが mount されていないと大部分のコマンドが 動かせないことになってしまいまつ。
/usr で super block の不整合が起こるとサイアク。
/usr/sbin/fsck 動かせないし。

とわゆっても、 fsck しないワケにもいかないので、ダメモトでmount してみましょう。
/etc/vfstab に /usr の mount 定義が書いてあれば、


mount してみる
# mount /usr

mount できれば mount されまつ。

Solaris 9 アタリから、デフォルトで OS をインストールしたような場合のスライス 構成は、 / と swap しか作らないようになったので、いまどきの Solaris だと、 やらなくてもヨイと思いまつが、知っておいたほうがよいカモってことで・・・
良い子の豆知識だ。
古き良き時代の慣習に従っている良い子のみんなわ、頑なに独立したスライスに /usr を mount している事でありましょう。
その場合は、 > b sd(0,6,2) と同様のことして fsck を動かしてくれたまへ。
良い子の皆んなならワカルよな?
swap は スライス1 に作るよな?
/ はやっぱスライス0 だよね?
/export/home はスライス7 だよな?


□修復してみる


○raw device に対してするんだよ

Blocak device には実行できません。
なので、破損したファイルシステムが mount されていた場合は、可能な限り umount しておきましょう。


umount の一例
# umount /foo/hoge

でおっけ。

本題の fsck でつが、起動すると、 Super block salvage ? とか y / n を沢山聞いてきて うっといったらありゃしない。
なので、 fsck 起動時にパラメータを直接与えて勝手にやってもらっちゃいましょう。


fsck の一例
# fsck -y /dev/rdsk/device-file

でつ。
-y のオプションは、 y / n 応答があった場合に、全部 "y"で答える コトにするオプションでつ。
パラメータのデバイス部分は、 OS の起動時に不整合が発生したデバイス名 が表示されるので、それをメモしておけばよろしいかと。
device-file の部分は、ワイルドカードも使用可能でつ。
対象のファイルシステムが複数あった時は、 /dev/rdsk/c0t0d0s? や、 /dev/rdsk/c0t1* も指定できます。
ファイルシステムの種類も明示したいのであれば、 #/usr/sbin/fsck -F ufs -y /dev/rdsk/c0t0d0s0 とか指定してね。

復旧の処理はエライ時間がかかりまつ。
disk の容量は大きくなれば、それに比例して時間がかかるようになりまつ。
まぁ、気長に待つしかないのでつが。

fsck が終わったら、

とかして再起動しても良いでつし、直接 mount コマンドでファイルシステム を mount しても良いでしょう。
あと、 dmesg のメッセージも見てみて、 Hard 的な Error を吐き出していないか 確認すれば、さらに (o^-')b_彡☆GJ! でしょう。




go back    next
Copyright(c) ORATORIO-TANGRAM.com 2001-2007 All Rights Reserved.
Total:counter