논리 볼륨의 디렉터리가 손상된 것 같습니다. 파일이 아직 논리 볼륨(물리 볼륨)에 있는 것 같은데 접근할 수 없습니다. 설정과 제가 한 일, 현재 상황에 대해 설명하겠습니다. 파일을 복구하는 방법을 제안해 주실 수 있나요?
볼륨 그룹에 3개의 HDD가 있고 Ubuntu 20 시스템에 단일 논리 볼륨을 저장합니다.
TestDisk는 다음 정보를 제공합니다.
TestDisk 7.1, 데이터 복구 유틸리티, 2019년 7월 Christophe GRENIER [이메일 보호됨] 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.66gclive@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
다른 아이디어 없이 우분투 리눅스 머신을 재부팅했습니다. 놀랍게도 Linux 소프트웨어(누구인지는 모르겠습니다)가 LVM 디렉토리 "iplayer"에서 버그를 감지하고 수정했습니다. LV의 모든 이전 파일에 액세스할 수 있습니다. Ubuntu에 "Double Commander" 패키지를 설치했습니다. 이 파일 관리자를 사용하면 ex-FAT로 포맷된 USB 하드 드라이브의 파일 복사본을 LV에 매우 간단하게 추가할 수 있으며 질문에 설명된 디렉터리 문제가 발생하지 않습니다.