こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ルートパーティションを LVM にするには

Redhat Enterprise Linux 4 や CentOS 4.x をデフォルトでインストールすると、root パーティションと swap が LVM で構成されるようになっているようで、空きディスクを利用して既存の OS を LVM 構成にしようとしていますがうまく行きません。

ディスク構成は、SCSI 接続のディスクが2本あり、現在は /dev/sdb のみに RHEL 4 for x86-64 がインストールされています。(LVM は使用していない)

これをゴッソリと /dev/sda に移動したいと考えています。そして、この際にパーティションを切り直し、/dev/sda1 : /boot、/dev/sda2 は LVM を使用して / と swap に割り当てたいと考えています。

/dev/sdb から起動し、/dev/sda2 を LVM 構成にした後、

# mount /dev/VolGroup00/LogVol00 /mnt
# mount /dev/sda1 /mnt/boot

# cp -a /bin /boot /dev /etc /home /initrd /lib /lib64 /misc /opt /root /sbin /usr /var /mnt
# mkdir -p /mnt/mnt /mnt/proc /mnt/selinux /mnt/sys /mnt/tmp /mnt/srv

として、initrd の再作成し、/etc/fstab を書き換えて再起動すると以下のようなメッセージが表示されて起動できません。

Red Hat nash version 4.1.18 starting
mount: error 6 mounting ext3
mount: error 2 mounting none
switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel panic - not syncing: Attempted to kill init!

/dev/sdb から起動すると問題なく起動できるようですし、/dev/sda に新規に OS をインストールした場合も正常に起動できるようなので、/dev/sda が壊れていることは考えにくく、設定上の問題があると考えています。

上記について問題点をご指摘いただけないでしょうか。
よろしくお願いいたします。

投稿日時 - 2007-01-18 15:42:42

QNo.2676040

暇なときに回答ください

質問者が選んだベストアンサー

mkinitrdをする前に、
# chroot /mnt /bin/bash
して、新しい領域でmkinitrdはいかがでしょう。

古い環境でmkinitrdを行うと、/etc/fstabを読みにいきますので、古い/etc/fstabを使っている可能性があると思います。その他の設定なども古い環境を読んでしまっているかもしれません。

それでもだめなら、素人的な解決方法ですが、lvm2モジュールをカーネル内部に入れ込むように再コンパイルしてみてもいいでしょう。

投稿日時 - 2007-01-19 07:38:12

お礼

ご回答ありがとうございました。
initrd を展開して確認してみると、LVM が組み込まれていないようでした。

mkinitrd のオプションに --fstab=/mnt/etc/fstab をつけていなかったのが原因だったようで、これをつけることにより解決しました。このオプションがなかったために /etc/fstab を参照してしまい、LVM が組み込まれなかったようです。

投稿日時 - 2007-01-19 10:01:28

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問