2012年9月12日水曜日

fstab をいじっていたら CentOS が起動しなくなったときの対処 (RAID1を組んでいる場合)

CentOS 6.3 (x86_64) にて /etc/fstab を修正して CentOS を再起動した時に起動途中で止まってしまったことがありました。

対処として、「fstabをいじっていたら起動しなくなったときの対処」を、ほぼそのまま実行して、CentOS が起動するようになりました。

自分の環境では RAID1 を組んでいて、mount のコマンドの引数が上の URL のページと異なったため、メモとしてここに残します。

「『mount -o remount,rw /dev/VolGroup00/LogVol00 /』
を実行しようとしたけれども、/etc/fstab には『/dev/VolGroup00/LogVol00』というデバイスがない・・・」とお困りの方へ。以下の手順が役に立つかもしれません。

  1. まずシングルユーザーモードで起動します。
  2. /etc/fstab で「/」に対応するデバイス名、あるいは UUID を調べる
    vi /etc/fstab

    以下の /etc/fstab を見ると「/」に対応する UUID は「3ffe40ba-4259-48ee-9f04-64a4ad4bbfa7」であることが分かります。

    #
    # /etc/fstab
    # Created by anaconda on Tue Sep 4 19:25:32 2012
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=3ffe40ba-4259-48ee-9f04-64a4ad4bbfa7 / ext4 defaults 1 1
    UUID=b1ec5276-7cbc-495b-a291-327b052d27c5 /boot ext4 defaults 1 2
    /dev/mapper/sil_biajaecfafccp2 swap swap defaults 0 0
    tmpfs /dev/shm tmpfs defaults 0 0
    devpts /dev/pts devpts gid=5,mode=620 0 0
    sysfs /sys sysfs defaults 0 0
    proc /proc proc defaults 0 0

    (余談) ちなみに・・・この vi を実行している時に、自分が間違えて変更した箇所を修正してなおかつ上書き保存が出来れば何も問題はありませんが、残念ながら読み取り専用モードでのみ開ける状態です。

    試しに、「chmod 777 /etc/fstab」を実行してから vi /etc/fstab を実行したものの、やはり読み取り専用のままでした

  3. vi を終了します。

    vi を終了した時点でも、/etc/fstab の内容が画面に表示されたままなので、UUID をメモに取る必要はありません。

    もし、/etc/fstab の内容が画面に表示されない場合は、vi /etc/fstab を実行して、UUID を紙に手書きで書き写しておく必要があります。

  4. mount を実行する。

    mount を実行します。上で出てきた UUID あるいはデバイス名をキーボードで手入力する必要があります。

    mount -o remount,rw 3ffe40ba-4259-48ee-9f04-64a4ad4bbfa7 /

    これで、/etc/fstab が読み書き可能な状態で開けるようになりました。

  5. vi /etc/fstab

    vi にて、/etc/fstab を開きます。

    読み書き可能な状態になっているはずです。

    必要に応じて修正を行い、保存して vi を終了します。

  6. exit を実行

    exit を実行します。

    exit
  7. exit 実行後、PC が再起動します。CentOS が正常に起動するのを確認します。