데이터를 복구하기 위해 LVM 마운트: 파일 시스템 유형 오류, 옵션 오류, 슈퍼 블록 오류

데이터를 복구하기 위해 LVM 마운트: 파일 시스템 유형 오류, 옵션 오류, 슈퍼 블록 오류

파일을 복사할 수 있도록 VM이 사용하는 lvm 디스크를 호스트 시스템(Proxmox)에 마운트하려면 어떻게 해야 합니까?

VM(Xpenology)이 손상되어 더 이상 시작할 수 없습니다. RAID 1에 2개의 4TB 디스크가 설치되어 있고 데이터를 다시 가져오고 싶지만 LVM을 설치할 수 없습니다.

(저는 Disk_1과 Disk_2에만 관심이 있습니다)

다음은 몇 가지 정보입니다.

root@pr0xm0x:~# lvs
  LV            VG     Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  vm-100-disk-0 Disk_1 -wi-a-----    3.55t
  vm-100-disk-0 Disk_2 -wi-a-----    3.55t
  data          pve    twi-aotz-- <181.69g             66.51  3.92
  root          pve    -wi-ao----   69.50g
  swap          pve    -wi-ao----    8.00g
  vm-100-disk-0 pve    Vwi-a-tz--   16.00g data        12.24
  vm-100-disk-1 pve    Vwi-a-tz--   52.00m data        57.21
  vm-103-disk-1 pve    Vwi-a-tz--    6.00g data        27.56
  vm-200-disk-0 pve    Vwi-a-tz--  120.00g data        97.66
  vm-200-disk-1 pve    Vwi-a-tz--  100.00g data        0.00



root@pr0xm0x:~# parted /dev/Disk_1/vm-100-disk-0 print
Model: Linux device-mapper (linear) (dm)
Disk /dev/dm-0: 3908GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  2551MB  2550MB  ext4                  raid
 2      2551MB  4699MB  2147MB  linux-swap(v1)        raid
 3      4832MB  3908GB  3903GB                        raid



root@pr0xm0x:~# lsblk
NAME                          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                             8:0    0 279.4G  0 disk
├─sda1                          8:1    0  1007K  0 part
├─sda2                          8:2    0   512M  0 part
└─sda3                          8:3    0 278.9G  0 part
  ├─pve-swap                  253:2    0     8G  0 lvm  [SWAP]
  ├─pve-root                  253:3    0  69.5G  0 lvm  /
  ├─pve-data_tmeta            253:4    0   1.9G  0 lvm
  │ └─pve-data-tpool          253:6    0 181.7G  0 lvm
  │   ├─pve-data              253:7    0 181.7G  0 lvm
  │   ├─pve-vm--200--disk--0  253:8    0   120G  0 lvm
  │   ├─pve-vm--100--disk--0  253:9    0    16G  0 lvm
  │   ├─pve-vm--100--disk--1  253:10   0    52M  0 lvm
  │   ├─pve-vm--200--disk--1  253:11   0   100G  0 lvm
  │   └─pve-vm--103--disk--1  253:12   0     6G  0 lvm
  └─pve-data_tdata            253:5    0 181.7G  0 lvm
    └─pve-data-tpool          253:6    0 181.7G  0 lvm
      ├─pve-data              253:7    0 181.7G  0 lvm
      ├─pve-vm--200--disk--0  253:8    0   120G  0 lvm
      ├─pve-vm--100--disk--0  253:9    0    16G  0 lvm
      ├─pve-vm--100--disk--1  253:10   0    52M  0 lvm
      ├─pve-vm--200--disk--1  253:11   0   100G  0 lvm
      └─pve-vm--103--disk--1  253:12   0     6G  0 lvm
sdb                             8:16   0   3.7T  0 disk
└─Disk_2-vm--100--disk--0     253:1    0   3.6T  0 lvm
sdc                             8:32   0   3.7T  0 disk
└─Disk_1-vm--100--disk--0     253:0    0   3.6T  0 lvm
  ├─Disk_1-vm--100--disk--0p1 253:13   0   2.4G  0 part
  ├─Disk_1-vm--100--disk--0p2 253:14   0     2G  0 part
  └─Disk_1-vm--100--disk--0p3 253:15   0   3.6T  0 part
sdd                             8:48   0   3.7T  0 disk
sde                             8:64   0   1.8T  0 disk
└─sde1                          8:65   0   1.8T  0 part
sdf                             8:80   1  14.4G  0 disk
├─sdf1                          8:81   1   2.9G  0 part
├─sdf2                          8:82   1   3.9M  0 part
└─sdf3                          8:83   1  11.6G  0 part
sr0                            11:0    1  1024M  0 rom

root@pr0xm0x:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/Disk_1/vm-100-disk-0
  LV Name                vm-100-disk-0
  VG Name                Disk_1
  LV UUID                Hek0vC-VCjH-9BhS-i1Va-5X3d-0mzC-FK3bbM
  LV Write Access        read/write
  LV Creation host, time pr0xm0x, 2020-01-23 08:50:40 +0100
  LV Status              available
  # open                 3
  LV Size                3.55 TiB
  Current LE             931840
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/Disk_2/vm-100-disk-0
  LV Name                vm-100-disk-0
  VG Name                Disk_2
  LV UUID                M6dzfZ-6wXt-dyvI-pSL8-3hky-aROy-JfWZUC
  LV Write Access        read/write
  LV Creation host, time pr0xm0x, 2020-01-23 08:50:55 +0100
  LV Status              available
  # open                 0
  LV Size                3.55 TiB
  Current LE             931840
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/pve/swap
  LV Name                swap
  VG Name                pve
  LV UUID                JogsLv-1xic-2cK2-rBRX-EHt5-buYg-pcrWJM
  LV Write Access        read/write
  LV Creation host, time proxmox, 2019-12-07 11:10:23 +0100
  LV Status              available
  # open                 2
  LV Size                8.00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/pve/root
  LV Name                root
  VG Name                pve
  LV UUID                Ukw2fX-Dcf1-RueD-mx6e-spEw-GdrV-fvxnjB
  LV Write Access        read/write
  LV Creation host, time proxmox, 2019-12-07 11:10:23 +0100
  LV Status              available
  # open                 1
  LV Size                69.50 GiB
  Current LE             17792
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

  --- Logical volume ---
  LV Name                data
  VG Name                pve
  LV UUID                LZmHdO-0rZX-XfGy-6fRz-j9bm-VmJz-yS2CQd
  LV Write Access        read/write
  LV Creation host, time proxmox, 2019-12-07 11:10:24 +0100
  LV Pool metadata       data_tmeta
  LV Pool data           data_tdata
  LV Status              available
  # open                 6
  LV Size                <181.69 GiB
  Allocated pool data    66.51%
  Allocated metadata     3.92%
  Current LE             46512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6

  --- Logical volume ---
  LV Path                /dev/pve/vm-200-disk-0
  LV Name                vm-200-disk-0
  VG Name                pve
  LV UUID                vRF4uB-WzMy-B2Nm-LDcy-T8BN-ghjF-PqPVKS
  LV Write Access        read/write
  LV Creation host, time pr0xm0x, 2019-12-17 11:03:55 +0100
  LV Pool name           data
  LV Status              available
  # open                 0
  LV Size                120.00 GiB
  Mapped size            97.66%
  Current LE             30720
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:8

  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-0
  LV Name                vm-100-disk-0
  VG Name                pve
  LV UUID                3yGcBF-rhHJ-EMhC-Ft8o-okne-YdVg-ll3D4f
  LV Write Access        read/write
  LV Creation host, time pr0xm0x, 2020-01-23 08:40:48 +0100
  LV Pool name           data
  LV Status              available
  # open                 0
  LV Size                16.00 GiB
  Mapped size            12.24%
  Current LE             4096
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:9

  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-1
  LV Name                vm-100-disk-1
  VG Name                pve
  LV UUID                3YV9J4-mLv3-yHg3-Sv2f-kklP-cvPt-1H5Zc0
  LV Write Access        read/write
  LV Creation host, time pr0xm0x, 2020-01-23 08:48:19 +0100
  LV Pool name           data
  LV Status              available
  # open                 0
  LV Size                52.00 MiB
  Mapped size            57.21%
  Current LE             13
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:10

  --- Logical volume ---
  LV Path                /dev/pve/vm-200-disk-1
  LV Name                vm-200-disk-1
  VG Name                pve
  LV UUID                3TWqbr-RO52-chRo-ubLf-zzzx-4QGg-Z21cuq
  LV Write Access        read/write
  LV Creation host, time pr0xm0x, 2020-02-01 13:59:13 +0100
  LV Pool name           data
  LV Status              available
  # open                 0
  LV Size                100.00 GiB
  Mapped size            0.00%
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:11

  --- Logical volume ---
  LV Path                /dev/pve/vm-103-disk-1
  LV Name                vm-103-disk-1
  VG Name                pve
  LV UUID                4e22Xm-P40c-NaxA-TttF-5eBQ-F3CR-IcK2DP
  LV Write Access        read/write
  LV Creation host, time pr0xm0x, 2022-01-30 16:47:57 +0100
  LV Pool name           data
  LV Status              available
  # open                 0
  LV Size                6.00 GiB
  Mapped size            27.56%
  Current LE             1536
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:12

장착 결과는 다음과 같습니다.

root@pr0xm0x:~# mount /dev/Disk_1/vm-100-disk-0 /mnt/Disk_1/
mount: /mnt/Disk_1: wrong fs type, bad option, bad superblock on /dev/mapper/Disk_1-vm--100--disk--0, missing codepage or helper program, or other error.

답변1

논리 볼륨의 이름은 LV가 다음과 같이 사용됨을 나타냅니다.가상 디스크따라서 가상 머신의 경우 각 LV에는 파티션 테이블과 하나 이상의 파티션이 포함될 수 있으며 출력은 parted이것이 정확히 무슨 일이 일어나고 있는지 증명합니다.

파티션이 정의된 경우 /dev/Disk_1/vm-100-disk-0처럼 직접 마운트할 수는 없습니다 . /dev/sda무언가를 마운트할 때 파일 시스템 드라이버는 실제 파일 시스템이 장치로부터 일정 거리(즉, 파티션 테이블 및 다른 파티션 뒤)가 아니라 마운트하려는 장치의 첫 번째 블록에서 시작될 것으로 예상합니다.

첫째, use losetup -f: 사용되지 않은 첫 번째 장치를 보고합니다 /dev/loopN. /dev/loopN후속 명령 대신 이 명령으로 보고된 실제 장치를 사용합니다 .

LV를 루프 장치에 바인딩하고 losetup이에 대한 파티션 장치 자동 생성을 요청합니다.

losetup -P /dev/loopN /dev/Disk_1/vm-100-disk-0

이렇게 하면 LV에 포함된 가상 디스크의 각 개별 파티션에 액세스할 수 있는 .etc와 같은 장치가 생성됩니다 /dev/loopNp1./dev/loopNp2

(이전 버전에서 losetup이 옵션을 인식하지 못하는 경우 Bravo가 설명에서 제안한 대로 -P이 명령을 대안으로 사용할 수 있습니다 . 배포판에 따라 별도의 패키지로 사용 가능하거나 도구와 함께 패키지로 제공될 수 있습니다.)kpartxkpartxdevice-mapper-multipath

가상 디스크에 일반 파티션이 포함되어 있으면 이제 해당 파티션을 마운트할 수 있습니다. 그러나 가상 디스크에 LVM 물리 볼륨도 포함되어 있는 경우 해당 LV에 액세스하려면 먼저 LVM 볼륨 그룹을 활성화해야 합니다. vgchange -ay이는 감지 가능한 모든 LVM 볼륨 그룹을 활성화하는 데 충분해야 합니다.

가상 디스크에 액세스한 후에는 해당 파티션에 액세스하는 데 필요한 모든 단계를 올바른 순서로 실행 취소해야 합니다.

  1. 가상 디스크에서 마운트된 모든 파티션/LV를 마운트 해제합니다.
  2. 가상 디스크에 LVM 볼륨이 포함된 경우 활성화에 사용하는 LVM 볼륨 그룹을 비활성화하십시오 vgchange -an <name of the VG>. 볼륨 그룹의 이름이 확실하지 않은 경우 pvs이 명령의 출력이 도움이 될 것입니다.
  3. 있는 경우 별도의 단계로 kpartx실행하여 kpartx -d /dev/loopN파티션 장치를 제거합니다.
  4. losetup -d /dev/loopN루프 장치(및 이에 의해 생성된 모든 파티션 장치)를 바인딩 해제 하는 데 사용됩니다 losetup -P.

디스크가 속한 가상 머신을 실제로 실행할 때 가상 머신의 가상 디스크를 호스트 시스템에 마운트하지 마십시오. 이렇게 하면 호스트와 가상 머신의 파일 시스템 캐시가 동기화되지 않고 서로 충돌하여 빠르게 오류가 발생하게 됩니다. 데이터 중 가상 디스크가 손상되었습니다.

관련 정보