Debian squeezeを使用しており、ソフトウェアRAID 1の上でLVMを実行しています。/dev/mapper
の下のほとんどのリンクが見つからないことに気づきましたが、システムはまだ正常に機能しているようです。
何が起こったのかわかりません。 LXC Fedoraコンテナーを機能させるための失敗した試みが原因であると私が想像できる唯一のことは、コンテナに対応するディレクトリ/cgroup/laughlin
を削除してしまいましたが、なぜそれが問題の原因であったのか想像がつきません。 /dev/mapper
は次のように見えました(私はいくつかの変更を加えました。下記を参照)
orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x 2 root root 540 Apr 12 05:08 .
drwxr-xr-x 22 root root 4500 Apr 12 05:08 ..
crw------- 1 root root 10, 59 Apr 8 10:32 control
lrwxrwxrwx 1 root root 7 Mar 29 08:28 debian-root -> ../dm-0
lrwxrwxrwx 1 root root 8 Apr 12 03:32 debian-video -> ../dm-23
debian-videoは、作成したばかりのLVに対応しています。
ただし、システムにはかなりの数のVGがあり、4つのディスクにまたがる4つのVGに対応しています。 vgs
は
orwell:/dev/mapper# vgs
VG #PV #LV #SN Attr VSize VFree
backup 1 2 0 wz--n- 186.26g 96.26g
debian 1 7 0 wz--n- 465.76g 151.41g
olddebian 1 12 0 wz--n- 186.26g 21.26g
testdebian 1 3 0 wz--n- 111.75g 34.22g
走ってみた
/dev/mapper# vgscan --mknodes
一部のデバイスは作成されましたが(以下の出力を参照)、本来のdmデバイスへのシンボリックリンクではないため、これが役に立たないのか、それとも悪いのかはわかりません。彼らは正しいリンクの再作成の邪魔になりますか?これらのデバイスをもう一度削除する必要がありますか?
私はudevがこれらのリンクを作成すると思います。再起動でこの問題が修正されますか、それとも起動できないシステムが表示されますか?これを修正するにはどうすればよいですか?気づいていない他の問題がないことを確認するために実行する必要がある診断/健全性チェックはありますか?何か助けてくれてありがとう。
orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x 2 root root 540 Apr 12 05:08 .
drwxr-xr-x 22 root root 4500 Apr 12 05:08 ..
brw-rw---- 1 root disk 253, 1 Apr 12 05:08 backup-local_src
brw-rw---- 1 root disk 253, 2 Apr 12 05:08 backup-video
crw------- 1 root root 10, 59 Apr 8 10:32 control
brw-rw---- 1 root disk 253, 15 Apr 12 05:08 debian-boot
brw-rw---- 1 root disk 253, 16 Apr 12 05:08 debian-home
brw-rw---- 1 root disk 253, 22 Apr 12 05:08 debian-lxc_laughlin
brw-rw---- 1 root disk 253, 21 Apr 12 05:08 debian-lxc_squeeze
lrwxrwxrwx 1 root root 7 Mar 29 08:28 debian-root -> ../dm-0
brw-rw---- 1 root disk 253, 17 Apr 12 05:08 debian-swap
lrwxrwxrwx 1 root root 8 Apr 12 03:32 debian-video -> ../dm-23
brw-rw---- 1 root disk 253, 10 Apr 12 05:08 olddebian-etch_template
brw-rw---- 1 root disk 253, 13 Apr 12 05:08 olddebian-Fedora
brw-rw---- 1 root disk 253, 8 Apr 12 05:08 olddebian-feisty
brw-rw---- 1 root disk 253, 9 Apr 12 05:08 olddebian-gutsy
brw-rw---- 1 root disk 253, 4 Apr 12 05:08 olddebian-home
brw-rw---- 1 root disk 253, 11 Apr 12 05:08 olddebian-lenny
brw-rw---- 1 root disk 253, 7 Apr 12 05:08 olddebian-msi
brw-rw---- 1 root disk 253, 5 Apr 12 05:08 olddebian-oldchresto
brw-rw---- 1 root disk 253, 3 Apr 12 05:08 olddebian-root
brw-rw---- 1 root disk 253, 14 Apr 12 05:08 olddebian-suse
brw-rw---- 1 root disk 253, 6 Apr 12 05:08 olddebian-vgentoo
brw-rw---- 1 root disk 253, 12 Apr 12 05:08 olddebian-wsgi
brw-rw---- 1 root disk 253, 20 Apr 12 05:08 testdebian-boot
brw-rw---- 1 root disk 253, 18 Apr 12 05:08 testdebian-home
brw-rw---- 1 root disk 253, 19 Apr 12 05:08 testdebian-root
最近/dev
はtmpfsにあり、udev
によって各ブートからゼロから作成されます。安全に再起動すると、これらのリンクが再び表示されます。
また、/dev/dm-X
ディレクトリ内の/dev/<vg>
ノードへのLVMシンボリックリンクを見つける必要があります。各ボリュームグループに1つのディレクトリです。ただし、vgscan --mknodes
によって再作成されたノードも、メジャー/マイナー番号が適切であると仮定して、正常に機能します。これらのノードは、適切に作成されたと仮定すると安全です。
また、udev
を取得して、適切な一致でudevadm trigger
を使用してシンボリックリンクを再作成し、正しくなるまで--dry-run
でテストすることもできます。再起動しても修正されるので、努力する価値はほとんどありません。
LVMボリュームに新しいUbuntu 11.10 Oneiric Ozelotをインストールしようとしたときに起こったのですが、私はあなたが説明したものと同様の問題を抱えていました。ライブブートシステムでlvmを設定するために次のことを行いました(必要な論理ボリュームはすでに存在していました)。
apt-get install lvm2
vgscan --mknodes -v
今lvscan -v
は私のボリュームを示しましたが、それらは/dev/mapper
も/dev/<vg>/
。私はようやくactivateボリュームグループが必要であることがわかりました。
vgchange -a y <name of volume group>
上記のコマンドで、不足しているデバイスファイルがすべて作成されました。インストールプログラムを開始すると、lvmボリュームが見つかり、そこにインストールできます。
グーグルでこの情報を見つけるのは大変だったので、他の人がより簡単に過ごせることを願ってこの答えを書きます-したがって、詳細なコンテキストと名前削除。
質問の一部ではありませんが、完全を期すために、上記の状況(Ubuntu LVMインストール)で追加します。インストールが完了すると、新しくインストールされたシステムのinitrdにlvm2を追加する必要があります。追加しないと、起動しません。新しいシステムは/ targetで設定する必要がありますが、設定されていない場合は、次のように手動で設定します。
mount /dev/vg/new_root /target
mount /dev/sdx1 /target/boot # important
mount -o bind /proc /target/proc
mount -o bind /sys /target/sys
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts
私はこれを、chrootでネットワークを機能させるために実行する必要がありました。これを次に説明します。
cp /etc/resolv.conf /target/etc/
新しいシステムにchrootして、lvm2をインストールします。
chroot /target
apt-get install lvm2
Update-initramfsを実行することに注意してください。ここで「exit」と入力して再起動すると、システムが正しく起動します。
これも私にとってはうまくいきました。
vgchange -a y -name of volume group-
カーネルパッチを適用した後、RHELシステムを再起動できませんでした。 /dev/mapper/VG-lv
ファイルが不足しているという申し立て。
シングルユーザーで起動し、/etc/fstab
からコメントアウトしました。オンラインになると、暗号化されたディスクがpvs
を使用して「不明なデバイス」として表示されていることがわかりました。
これを修正しましたが、ボリュームグループのデバイスファイルはまだありません。上記のコマンドを実行すると、デバイスマッパーファイルが再作成され、マウントできるようになりました。
私のdebianをアップグレードした後、私は同様の問題を抱えていました。再起動中に、次のメッセージが表示されました。
Unable to find LVM Volume.
/dev/mapper/debian-root does not exist.
私は解決策を見つけました here :
cryptsetup luksOpen /dev/sda5 lvmsys
lvm
lvm> vgscan ## scan for volume groups
lvm> vgchange -a y ## activates the volume groups
ちなみに、この後、うまく再起動しました。
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=616689 がここに関係します。これは、lvm rootが時間内に表示されないようなタイムアウトと関係があります。