USB外付けHDDから古いHOMEディレクトリデータを回復中にエラー:マウント:不明なファイルシステムタイプ 'LVM2_member'、有効なファイルシステムスーパーブロックが見つかりません。

USB外付けHDDから古いHOMEディレクトリデータを回復中にエラー:マウント:不明なファイルシステムタイプ 'LVM2_member'、有効なファイルシステムスーパーブロックが見つかりません。

理由:/bootファイルシステムが破損している:起動可能な2つのハードディスクの接続ケーブルが起動時に誤ってマザーボードから外れ、ハードディスク/bootファイルシステムがクラッシュする可能性があります。オペレーティングシステム7LVM2 でミラーリングされる起動可能な 2 x 320 GB フルドライブ(/dev/mapper/cl-root、/dev/mapper-cl-home、およびスワップ)インストール中。

CD-ROMから起動して破損したルートパーティションのスーパーブロックを修復しようとしましたが、成功しませんでした。これで、SATA->USBで接続されたドライブを別のCentOS 7サーバーのUSBポートに接続しましたが、次のように表示されます。

[root@localhost ~]# fdisk -l
.....  (**ignore the current server internal drivers info here**)
--- below is the external USB SATA 320GB corrupted /boot drive -----
......
Disk /dev/sdg: 320.1 GB, 320072933376 bytes, 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disk label type: dos
Disk identifier: 0xe9e67578
   Device Boot      Start         End      Blocks   Id  System
/dev/sdg1   *        2048     2099199     1048576   83  Linux
/dev/sdg2       606116385   625137344     9510480    7  HPFS/NTFS/exFAT
/dev/sdg3         2099200   606115839   302008320   8e  Linux LVM

私の主な目的は、破損したブートディスクからホームディレクトリデータを回復することです。これを達成するために、次のいずれかを支援しています。

  1. 破損したハードドライブからデータをコピーします。
  2. 以前のようにスーパーブロックが起動するように変更します。 (この質問をできるだけ短くするには、これが1よりも簡単であると思われる場合はお知らせください。ここで貼り付けることができるより長いトラブルシューティングコードがあります。)

1)で行った作業の詳細は次のとおりです。

  1. 破損したハードドライブからデータをコピーします。
[root@localhost ~]# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   2.7T  0 disk 
......(ignore the internal disk, below is the USB HDD)....

sdg           8:96   0 298.1G  0 disk 
├─sdg1        8:97   0     1G  0 part 
├─sdg2        8:98   0   9.1G  0 part
└─sdg3        8:99   0   288G  0 part 
sr0          11:0    1   4.1G  0 rom  

3つのスライスをすべてマウントポイントにマウントしましたが、/dev/sdg3は次のエラーで失敗します<---主な質問は次のとおりです。ホームデータを表示するには、このスライスをどのようにマウントしますか? (明らかにデータはsdg1とsdg2にはありません)。

[root@localhost ~]# mount /dev/sdg1 /media/1 
[root@localhost ~]# mount /dev/sdg2 /media/2
[root@localhost ~]# mount /dev/sdg3 /media/3
mount: unknown filesystem type 'LVM2_member'

[root@localhost ~]# df -k
Filesystem           1K-blocks      Used  Available Use% Mounted on
......
/dev/sdg2              9510476   8211864    1298612  87% /media/2
/dev/sdg1              1038336    300072     738264  29% /media/1

testdiskを使ってsdg3からデータをダンプし、image.ddファイルを出力してみました。しかし結局、私はこのimage.ddファイルがまだLVM2_memberでラップされていることを発見しました。

[root@localhost home-gwu-old]# ls -l
total 302008328
-rw-r--r--. 1 root root 309256519680 Jan  5 19:34 image.dd

[root@localhost]# mount -o loop image.dd /media/3
mount: unknown filesystem type 'LVM2_member

あなたのどんな助けにも感謝します!ゴードン

ベストアンサー1

一般に、LVM対応のLinuxシステムでは、表示されるすべてのLVMボリュームグループを自動的に検出して有効にできますが、データ復旧状況ではVG / LVを手動で有効にする方法を知る必要があります。

状態が不確実なLVMボリュームグループを処理するときに、vgscan最初のステップとしてマニュアルを使用するのは悪いことではありません。エラーメッセージが返されると、ボリュームグループが何らかの理由で破損していることがわかります。

まず、vgscanを試してみてくださいvgchange -ay --activationmode degraded。ほとんどのディストリビューションではこれがデフォルトの自動アクティベーションモードになりますが、ディストリビューションではデフォルトでより制限的なアクティベーションモードになることcompleteがあります。

それでも問題が解決しない場合は、以下を試してくださいvgchange -ay --activationmode partial。このコマンドは成功し、前のコマンドは失敗した場合にアクティブな一部のLVの一部が欠落する可能性があることに注意してください。

VGを有効にすると、各LVのデバイスノードも表示されます。ただし、一部の特別なケースでは、明示的なデバイスノード作成を使用する必要がありますvgscan --mknodes

VGが正常に(部分的に)アクティブになったら、出力にLVを表示する必要がありますlvs。その後、通常どおりスキームを使用するか、/dev/VGname/LVname命名方式を使用して/dev/mapper/VGname-LVnameLVをインストールできます。

おすすめ記事