iSCSI 디스크를 복구하는 방법

iSCSI 디스크를 복구하는 방법

Linux 서버(RHEL7)에서 iSCSI 디스크를 실행하고 있습니다. 디스크에는 Windows NTFS 파일 시스템이 있는 가상 디스크에 매핑되는 disk01.img라는 루프 장치가 포함된 일반 ext4 파티션이 있습니다. Windows와 Linux 시스템 간의 이더넷 연결이 끊어지기 전까지는 모든 것이 괜찮았습니다. Windows는 NTFS 볼륨을 확인해야 한다고 결정하고 궁극적으로 다시 포맷할 것을 권장합니다. 수락하기 전에 Linux 서버의 /savedir에 disk01.img 파일을 저장했습니다. 이제 disk01.img를 복원하려고 하는데 문제가 발생했습니다.

[root@server ~]# losetup -P /dev/loop1 /savedir/disk01.img
[root@server ~]# mount -t ntfs /dev/loop1 /mount/point
Failed to read bootsector (size=0)
Failed to sync device /dev/loop1: Input/output error
Failed to mount '/dev/loop1': Ongeldig argument
The device '/dev/loop1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

NTFS 볼륨이 손상되었을 수 있다고 생각합니다. 빈 NTFS 파티션이 있는 USB 디스크에 disk01.img 파일을 추가한 다음 USB 디스크를 Windows로 포팅하고 chkdsk를 실행한 후 실패하면 다른 방법을 사용하여 파일을 복구해 보세요. 사진기록도 마찬가지다. 아니면 잘못된 코드를 사용하고 있는 걸까요?

편집: fdisk의 결과(네덜란드어)

[root@server ~]# fdisk -l /savedir/disk01.img

Schijf /savedir/disk01.img: 750.2 GB, 750155323392 bytes, 1465147116 sectoren
Eenheid = sectoren van 1 * 512 = 512 bytes

Sectorgrootte (logischl/fysiek): 512 bytes / 512 bytes
in-/uitvoergrootte (minimaal/optimaal): 512 bytes / 512 bytes

[root@server ~]#

편집 2: NTFS 볼륨이 손상되었으므로 losstup -P가 작동하지만 빈 파티션이 생성됩니다. iSCSI 섹터 오프셋을 사용하여 /savedir/disk01.img를 마운트해야 할 수도 있습니다.

mount -o loop,offset=512 /savedir/disk01.img /mount/point

하지만 올바른 오프셋을 찾는 데 문제가 있습니다(NTFS 서명 찾기, *.img 파일의 16진수 덤프와 새로 생성된 가상 디스크의 16진수 덤프 비교). 참고: 파일 구문 분석을 위해 disk01.img의 dd 복사본을 Windows로 다시 포팅했습니다. 이 지루한 작업을 계속 진행 중입니다. disk01.img에서 NTFS 파일 시스템의 시작 부분을 찾는 것이 더 나은 선택인 것 같습니다.

편집 3. TestDisk를 4번 실행한 후 해결할 수 없는 기하학 문제가 있는 것 같습니다. 산출:

losetup -P /dev/loop1 /savedir/disk01.img
testdisk /dev/loop1

Disk /dev/loop1 - 750 GB / 698 GiB - 1465147116 sectors
... ... ...
  Linux filesys. data            0 1465147111 1465147112
  Linux filesys. data            0 1465147111 1465147112
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
  MS Data                100452352 1526511615 1426059264
  Linux filesys. data            0 1465147111 1465147112
... ... ...
  Linux filesys. data    730080712 2195227823 1465147112
  Linux filesys. data    730090720 2195237831 1465147112
... ... ...
  Linux filesys. data    730093536 2195240647 1465147112
  Linux filesys. data            0 1465147111 1465147112
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
  MS Data               1346517247 2772576510 1426059264

------------------------------------------------------

-- After Reboot --

  Linux                          0 1465147111 1465147112
  Linux                          0 1465147111 1465147112
check_FAT: can't read FAT boot sector
Invalid FAT boot sector
 0 D FAT16 LBA             3179978961 3795078107  615099147
  FAT16 LBA             3179978961 3795078107  615099147
  Linux                          0 1465147111 1465147112
Invalid FAT boot sector
 0 D FAT12                  202831329 1489073369 1286242041
  FAT12                  202831329 1489073369 1286242041
  Linux                          0 1465147111 1465147112
Invalid NTFS or exFAT boot
 0 D HPFS - NTFS           2833862451 3582746086  748883636
  HPFS - NTFS           2833862451 3582746086  748883636
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
  HPFS - NTFS            100452352 1526511615 1426059264


Disk /dev/loop1 - 750 GB / 698 GiB - 1465147116 sectors

The harddisk (750 GB / 698 GiB) seems too small! (< 1943 GB / 1809 GiB)
Check the harddisk size: HD jumper settings, BIOS detection...

The following partitions can't be recovered:
     Partition               Start        End    Size in sectors
>  HPFS - NTFS            100452352 1526511615 1426059264
   FAT12                  202831329 1489073369 1286242041
   Linux                  730069008 2195218167 1465149160
   Linux                  730071112 2195218223 1465147112
   Linux                  730079744 2195226855 1465147112
   Linux                  730080712 2195227823 1465147112
   Linux                  730090720 2195237831 1465147112
   Linux                  730093536 2195240647 1465147112
   HPFS - NTFS           1346517247 2772576510 1426059264
   HPFS - NTFS           1465145007 2930290014 1465145008


NTFS, blocksize=4096, 730 GB / 679 GiB

--------------------------------------

-- After adding TestDisk MBR, Reboot

  Linux                          0 1465147111 1465147112
  Linux                          0 1465147111 1465147112
  Linux                          0 1465147111 1465147112
  Linux                          0 1465147111 1465147112
check_FAT: can't read FAT boot sector
Invalid FAT boot sector
 0 D FAT16 LBA             3179978961 3795078107  615099147
  FAT16 LBA             3179978961 3795078107  615099147
  Linux                          0 1465147111 1465147112
  Linux                          0 1465147111 1465147112
Invalid FAT boot sector
 0 D FAT12                  202831329 1489073369 1286242041
  FAT12                  202831329 1489073369 1286242041
  Linux                          0 1465147111 1465147112
Invalid NTFS or exFAT boot
 0 D HPFS - NTFS           2833862451 3582746086  748883636
  HPFS - NTFS           2833862451 3582746086  748883636
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
Warning: number of heads/cylinder mismatches 255 (NTFS) != 1 (HD)
Warning: number of sectors per track mismatches 63 (NTFS) != 1 (HD)
  HPFS - NTFS            100452352 1526511615 1426059264

-------------------------------------

-- After Reboot, running Deeper Analysis ---

Disk /dev/loop1 - 750 GB / 698 GiB - 1465147116 sectors


  No partition          36028797018963967 1465147115 1465147117

Enter the ending sector 

--------------------------------------

답변1

마운트 실패는 /dev/loop1이미지 파일이 유효한 파티션 이미지가 아님을 나타냅니다. iSCSI 디스크로 사용되는 이미지의 복사본이므로 파티션 테이블을 포함한 전체 디스크 이미지이기를 원합니다.

그러나 fdisk -l /savedir/disk01.img인식된 파티션 테이블이 존재하지 않음을 나타냅니다. iSCSI 디스크가 Microsoft Storage Spaces 설정의 일부로 사용되더라도 최소한하나파티션이 존재합니다.

MBR 파티션 테이블만 인식하는 이전 버전이 있고 fdisk이미지가 GPT 파티션 테이블을 사용하는 경우에도 최소한 GPT를 감지해야 합니다.보호 MBR그리고 0xee 유형의 가상 파티션 항목입니다.

이는 파티션 테이블이 손상되었거나 덮어썼을 수 있음을 나타냅니다. 전체 디스크 루프 장치를 사용해 보고 testdisk파일 시스템의 시작과 끝을 찾아 파티션 테이블을 다시 빌드할 수 있는지 확인할 수 있습니다.

testdisk /dev/loop1

또는 최신 버전의 Windows에서는 일반적으로 디스크 시작 부분에서 정확히 1MiB 떨어진 곳에 디스크의 첫 번째 파티션 시작 부분을 배치합니다. 따라서 다음을 시도해 볼 수 있습니다.

mount -o loop,offset=1M /savedir/disk01.img /mount/point

관련 정보