LVMディレクトリを削除したときにファイルを回復する方法

LVMディレクトリを削除したときにファイルを回復する方法

論理ボリュームのディレクトリが破損しているようです。ファイルがまだ論理ボリューム(物理ボリューム)にあるようですが、アクセスできません。設定と私がしたこと、現在の状況について説明します。ファイルを回復する方法を提案できますか?

ボリュームグループには3つのHDDがあり、Ubuntu 20システムに単一の論理ボリュームを保存します。

TestDisk は次の情報を提供します。

TestDisk 7.1、データ復旧ユーティリティ、2019年7月Christophe GRENIER [Eメール保護] https://www.cgsecurity.org

TestDiskはフリーソフトウェアであり、まったく保証されていません。

メディアの選択(矢印キーを使用してEnterを押す):

ディスク /dev/sda - 160GB / 149GiB - Toshiba MK1646GSX

ディスク /dev/sdc - 320GB / 298GiB

ディスク /dev/sdd - 250GB / 232GiB

ディスク /dev/sdf - 500GB / 465GiB

ディスク /dev/sdg - 320GB / 298GiB

ディスク/開発者/マッパー/HP8300--VG-HP8300--LVM - 1070GB/996GiB

clive@clive-EB1033:~$ sudo lvs -o +devices [sudo] クライブパスワード:

LV VG Attr LSize フルソースデータ % Meta% モバイルログ Cpy %Sync 変換デバイス
HP8300-LVM HP8300-VG -wi-ao---- 996.73 /dev/sdc1(0)
HP8300-LVM HP8300-VG -wi-ao- --- 996.73g /dev/sdd1(0)
HP8300-LVM HP8300-VG -wi-ao---- 996.73g /dev/sdf1(0)

論理ボリュームは/mnt/LVM_mountとしてマウントされます。

この論理ボリュームのディレクトリを読み取ることができます。

clive@clive-EB1033:/mnt$ cd LVM_mount/

clive@clive-EB1033:/mnt/LVM_mount$ ls

Android_ROMS 紛失 + 紛失数学 CS_exam_solution_videos_2020 lvm-usb-photos temp_Create_folderxx iplayer lvm-usb-youtube Windows_software

目的のファイルを含むiplayerディレクトリを除いて、論理ボリュームのすべてのディレクトリを開いてデータにアクセスできます。

ex-FAT(上記の/dev/sdg)でフォーマットされたUSBディスクを接続し、そのUSBディスクの内容を/mnt/LVM_mount/iplayerディレクトリにコピーしようとしたときに問題が発生しました。

「iplayer」サブディレクトリの内容を一覧表示しようとすると、次のエラーメッセージが表示されます。

clive@clive-EB1033:/mnt/LVM_mount/iplayer$ ls ls: ディレクトリ '.' 読み込み中: 入出力エラー

このメッセージは、私が「iplayer」の「ディレクトリインデックス」を破損したと思いましたが、ファイルがまだ存在して回復できると考えた理由を示しています。

私はlvsとvgcfgrestoreを実行して次の情報を得ましたが、iplayerサブディレクトリからファイルを復元する方法がわかりません。 vgcfgrestoreの最新のエントリは、HDDをより大きな容量に置き換えたときに論理ボリュームを正常に拡張した結果です。

clive@clive-EB1033:/mnt/LVM_mount/iplayer$ sudo lvs [sudo] clive パスワード:
LV VG Attr LSize プールソースデータ% Meta% 移動ログ Cpy%Sync 変換 > HP8300-LVM HP8300-VG -wi-ao- - - 996.73g
ルートvgubuntu -wi-ao---- <144.89g
swap_1 vgubuntu -wi-ao---- <3.66g

clive@clive-EB1033:/mnt/LVM_mount/iplayer$ sudo vgcfgrestore --list HP8300-VG

ファイル:/etc/lvm/archive/HP8300-VG_00001-502071242.vg VG名:HP8300-VG
説明:作成済み今後「vgextend HP8300-VG /dev/sdf1」実行バックアップ時間:2022年12月20日火曜日19:24:59

ファイル:/etc/lvm/archive/HP8300-VG_00002-22354295.vg VG名:HP8300-VG
説明:作成済み今後'pvmove -n HP8300-LVM /dev/sdd1 /dev/sdf1'実行バックアップ時間:2022年12月20日火曜日19:26:30

**いくつかのdmesgを追加しました**

[56486.269547] dev dm-2のバッファI / Oエラー、論理ブロック178257935、非同期ページ読み取り

[56486.269597] dev dm-2のバッファI / Oエラー、論理ブロック178258176、非同期ページ読み取り

[56486.269660] dev dm-2のバッファI / Oエラー、論理ブロック178257922、非同期ページ読み取り

[56497.053312] EXT4-fs 警告 (デバイス dm-2): htree_dirblock_to_tree:1067: inode#42254337: lblock 0: comm smbd: エラー -5 ディレクトリ ブロックを読み込んでいます

[56679.149522] EXT4-fs エラー (デバイス dm-2): __ext4_get_inode_loc_noinmem:4410: inode #42262592: ブロック 169050117: comm gvfsd-trash: itable ブロックを読み取ることができません。

[56679.174426] EXT4-fs エラー (デバイス dm-2): __ext4_get_inode_loc_noinmem:4410: inode #42262601: ブロック 169050118: comm gvfsd-trash: itable ブロックを読み取ることができません。

[56731.873508] EXT4-fs警告(デバイスdm-2):htree_dirblock_to_tree:1067:inode#42254337:lblock 0:comm pool-org.gnome。 :エラー-5ディレクトリブロックを読む

[59254.561698] EXT4-fs 警告 (デバイス dm-2): htree_dirblock_to_tree:1067: inode#42254337: lblock 0: comm ls: error -5 ディレクトリブロックの読み込み中

[65724.820675] EXT4-fs 警告 (デバイス dm-2): htree_dirblock_to_tree:1067: inode#42254337: lblock 0: comm smbd: エラー -5 ディレクトリ ブロックを読み込んでいます

[68095.940286] sdf: sdf1 [68096.103000] buffer_io_error: 1586 コールバック抑制 [68096.103013] dev dm-2 のバッファ I/O エラー、論理ブロック 261286896、非同期ページ

[68096.200640] dev dm-2のバッファI / Oエラー、論理ブロック261286896、非同期ページ読み取り

とにかく、「iplayer」のディレクトリを「再構築」することができますか、ファイルを取得するために何が必要ですか?

ベストアンサー1

他のアイデアなしでUbuntu Linuxマシンを再起動しました。驚いたことに、Linuxソフトウェア(誰かはわかりません)がLVMディレクトリ「iplayer」でバグを検出して修正しました。 LVのすべての古いファイルにアクセスできます。 Ubuntuに「Double Commander」パッケージをインストールしました。このファイルマネージャを使用すると、ex-FATでフォーマットされたUSBハードドライブのファイルコピーをLVに非常に簡単に追加でき、質問に記載されているディレクトリの問題は発生しません。

おすすめ記事