mount-aを実行しようとしたときにインシデントが発生しました。以下のエラーが発生しました。では、この問題を修正するにはどうすればよいですか?
mount:/ dev / vgname / lvname:ca n “t read superblock
Answer
私の場合、その下にある読み取り専用の抽象化マウントが原因でこのエラーが発生しました。vmfs6-fuse
をqemu-nbd
VMWAREリカバリ用の読み取り専用マウント。
この場合、オプションro,noload
を使用してLVMをマウントすると、問題が解決しました。
mount -o ro,noload /dev/vg/lv /mnt
回答
したがって、LVM論理ボリューム上にあるファイルシステムにはスーパーブロックがありません読み取り可能。まず、ボリュームグループ内のすべてのLVがアクティブ化されていることを確認します:vgchange -ay vgname
。
それでも問題が解決しない場合は、指定されたLVが実際に存在することを確認します。
回答
論理ボリュームが存在し、アクティブである場合、スーパーブロックが何らかの理由で破損している可能性があります。ファイルシステムがext2、ext3の場合またはext4、利用可能なバックアップスーパーブロックがあります。それらを見つけるには:
dumpe2fs /dev/vgname/lvname | grep superblock
次のような出力が表示されます:
$ sudo dumpe2fs /dev/sdb1 | grep uperb | more dumpe2fs 1.45.4 (23-Sep-2019) Primary superblock at 0, Group descriptors at 1-25 Backup superblock at 32768, Group descriptors at 32769-32793 Backup superblock at 98304, Group descriptors at 98305-98329 Backup superblock at 163840, Group descriptors at 163841-163865 Backup superblock at 229376, Group descriptors at 229377-229401 Backup superblock at 294912, Group descriptors at 294913-294937 Backup superblock at 819200, Group descriptors at 819201-819225 Backup superblock at 884736, Group descripmount sb=32768 /dev/sda2 /mnttors at 884737-884761
あなたおそらく次のようにファイルシステムをマウントできます:
mount sb=32768 /dev/vgname/lvname /mnt
(32768は前の出力からの最初のバックアップスーパーブロックです)
それが機能する場合、重要なファイルをバックアップしたり、修復を開始したりできます。
fsck -b 32768 /dev/vgname/lvname
実行しない場合は、fsck -y
を試すことができます。 「すべての修復を確認したくない。
バックアップスーパーブロックのいずれも機能しない場合は、最後のバックアップが有効であることを期待するか、ext4magic
などのリカバリツールを試してください。 、PhotoRec
またはscalpel
。
すべてが失敗した場合は、mkfs.ext4
。ブロックチェックが正しくないことを確認してください。