再起動後、LVMが起動せず、uuidを持つデバイスが見つかりません。

再起動後、LVMが起動せず、uuidを持つデバイスが見つかりません。

最近までうまくいきましたが、一部の設定を変更した後に再起動が必要な仮想マシンがあります。しかし、再起動後、仮想マシンは回復されず、ルートデバイス(/dev/mapperの下のLVMボリューム)が見つからないと述べました。

リカバリモードで起動すると、/dev/mapperおよび/dev/dm-*の下のファイルシステムが存在しないことを確認します。

ファイルシステムは次のように配置する必要があります。

  • /dev/sda1ブートパーティションとして
  • /dev/sda2拡張パーティションには以下が含まれます。
  • /dev/sda5および/dev/sda6LVMパーティション
  • /dev/sda{5,6}両方のPVが1つのVGにあります。
  • ルートFSとスワップ用の2つのLVがあります。

1つを作成すると、lvm pvshow次の利点があります。

  Couldn't find device with uuid '8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi'.
  Couldn't find device with uuid '8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi'.
  Couldn't find device with uuid '8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi'.
  --- Physical volume ---
  PV Name               unknown device
  VG Name               of1-server-lucid
  PV Size               19.76 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              5058
  Free PE               0
  Allocated PE          5058
  PV UUID               8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi

  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               of1-server-lucid
  PV Size               100.00 GiB / not usable 2.66 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              25599
  Free PE               0
  Allocated PE          25599
  PV UUID               cuhP6R-QbiO-U7ye-WvXN-ZNq5-cqUs-VVZpux

/dev/sda5したがって、PVとしてリストされておらず、エラーが発生しているようです。

fdisk -l:

Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00044a6c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          32      248832   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              32       15665   125579256+   5  Extended
/dev/sda5              32        2611    20722970   8e  Linux LVM
/dev/sda6            2612       15665   104856223+  8e  Linux LVM

/dev/sda5したがって、デバイスが存在することがわかりますが、blkid何も報告されません。

~ # blkid
/dev/sda1: UUID="d997d281-2909-41d3-a835-dba400e7ceec" TYPE="ext2" 
/dev/sda6: UUID="cuhP6R-QbiO-U7ye-WvXN-ZNq5-cqUs-VVZpux" TYPE="LVM2_member" 

ディスクスナップショットを撮った後、アーカイブされた設定からPVを復元しようとしています。

~ # pvremove -ff /dev/sda5
Labels on physical volume "/dev/sda5" successfully wiped
~ # pvcreate --uuid=8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi /dev/sda5 --restorefile=/etc/lvm/archive/of1-dev-server_00000.vg
Couldn't find device with uuid '8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi'.
  Physical volume "/dev/sda5" successfully created
~ # vgchange -a y
2 logical volume(s) in volume group "of1-dev-server" now active"

したがって、少なくとも現在、デバイスには次のものがありますblkid

/dev/sda1: UUID="d997d281-2909-41d3-a835-dba400e7ceec" TYPE="ext2" 
/dev/sda6: UUID="cuhP6R-QbiO-U7ye-WvXN-ZNq5-cqUs-VVZpux" TYPE="LVM2_member" 
/dev/sda5: UUID="8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi" TYPE="LVM2_member" 

今すぐ実行すると、pvdisplay正しいデバイスも表示されます。

  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               of1-dev-danr-lucid
  PV Size               19.76 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              5058
  Free PE               0
  Allocated PE          5058
  PV UUID               8x38hf-mzd7-xTes-y6IV-xRMr-qrNP-0dNnLi

  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               of1-dev-danr-lucid
  PV Size               100.00 GiB / not usable 2.66 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              25599
  Free PE               0
  Allocated PE          25599
  PV UUID               cuhP6R-QbiO-U7ye-WvXN-ZNq5-cqUs-VVZpux

マッパー装置が存在します。

crw-rw----    1 root     root      10,  59 Jul 10 10:47 control
brw-rw----    1 root     root     252,   0 Jul 10 11:21 of1--dev--server-root
brw-rw----    1 root     root     252,   1 Jul 10 11:21 of1--dev--server-swap_1

LVMも正しくリストされているようです。

~ # lvdisplay
  --- Logical volume ---
  LV Name                /dev/of1-dev-danr-lucid/root
  VG Name                of1-dev-danr-lucid
  LV UUID                pioKjE-iJEp-Uf9S-0MxQ-UR0H-cG9m-5mLJm7
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                118.89 GiB
  Current LE             30435
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Name                /dev/of1-dev-danr-lucid/swap_1
  VG Name                of1-dev-danr-lucid
  LV UUID                mIq22L-RHi4-tudV-G6nP-T1e6-UQcS-B9hYUF
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                888.00 MiB
  Current LE             222
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

ただし、ルートデバイスをマウントしようとするとエラーが発生します。

~ # mount /dev/mapper/of1--dev--server-root /mnt2
mount: mounting /dev/mapper/of1--dev--server-root on /mnt2 failed: Invalid argument

だから、ディスクの一貫性をチェックしようとしました。

~ # fsck.ext4 -f /dev/mapper/of1--dev--server-root
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/mapper/of1--dev--server-root
[...]

だから私は別のスーパーブロックを試しました。

~ # mke2fs -n /dev/mapper/of1--dev--server-root
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
7798784 inodes, 31165440 blocks
1558272 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
952 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872
~ # fsck.ext4 -y -b 23887872 /dev/mapper/of1--dev--server-root

非常に多くのエラーが発生しますが、私が見た主なエラーは次のとおりです。

  • スーパーブロックのログが無効です。
  • 1 つ以上のブロックグループ記述子チェックサムが無効です。
  • 孤児 inode() カット
  • 孤立したinodeで見つかった消去ブロック#0()
  • /dev/mapper/of1--dev--server-rootに無効なファイルシステムが含まれています。強制確認
  • inodeのサイズを変更しても効果はありません。再建
  • ルートinodeはディレクトリではありません。
  • 予約された inode 3() に無効なモードがあります。
  • HTREE ディレクトリ inode のルートノードが正しくありません。
  • inode、i_blocksはゼロでなければなりません。
  • 接続されていないディレクトリ inode

多くのメッセージを送信した後に完了したと言いました。上記のようにディレクトリをマウントするとうまくいきますが、ディレクトリは空で、ディレクトリはファイルlost+foundで埋められています。ほとんどは数字にすぎず、一部はかつて存在していたファイルとあいまいに関連するファイル名を持っています。

それでは、仮想マシンを復元する方法は?

ディスクエラーを表示するたびに状況が悪化しないように、スナップショットを作成することが最初に本能であるため、エラーを初めて見たときに再起動してスナップショットを作成しました。

再起動するまでVMが問題なく動作していたため、データがどこかにあることがわかります。ユーザーは最近ファイルシステムで何も変更したことを覚えていませんが、再起動したときにほぼ1年間実行されていたため、それ以来さまざまなことが起こった可能性があります。

残念ながら、このノードではPuppetが無効になっているため、バックアップもありません。

もともとオペレーティングシステムはVMWare上で動作するUbuntu Lucidでした。

ベストアンサー1

lost+found私が正しく理解したら、ディレクトリに重要なファイルが含まれている場合と含まれていない可能性がありますが、ボリュームを回復しました。

VMが起動しないようにする現在何が起こっていますか?まだ起動デバイスが見つかりませんか?

あなたのfdisk -l出力が私に少し外れているようです。パーティションテーブルだけが破損している可能性を考えてみましたか?この場合、スナップショットが役に立つ可能性があり、最良の場合は(他の)fsckも必要ありません。しかし、パーティションオフセットを見つけるには何かが必要です。テストディスク成功は複数回発生します。

最悪の場合は、ボリュームから何かを削除する必要がある場合は、次のフォレンジックツールを使用してください。写真記録または剖検/探偵キット役に立つかもしれません。

これらのいずれかが機能しない場合は、可能な場合は関連するlsblk -o NAME,RM,SIZE,RO,TYPE,MAJ:MIN -fat出力と一緒に1つ(このフラグはできるだけ多くの情報を表示するためのもの)を提供してください。dmesg

おすすめ記事