LVM 알 수 없는 장치: 복구하는 방법은 무엇입니까?

LVM 알 수 없는 장치: 복구하는 방법은 무엇입니까?

두 개의 하드 드라이브가 있는 서버가 있는데 두 번째 하드 드라이브가 실제로 사용되지 않는 것 같다는 사실을 발견하기 전까지는 LVM이 올바르게 설치되었다고 생각했습니다. 문제를 조사하고 온라인에서 찾은 몇 가지 지침을 따랐지만 문제는 더욱 악화되었습니다. 분명히 나의 초기 실수는 pvremove물리 볼륨을 사용해야 할 때 그것을 삭제 한 것이었습니다 mvreduce.

아래에 추가 정보를 첨부했습니다. 저는 Ubuntu Server 14.04 LTS를 사용하고 있습니다. 또한 두 번째 하드 드라이브에는 복구해야 할 데이터가 없으며 해당 디스크를 완전히 지울 수 있다는 점도 언급하고 싶습니다.

내 논리 볼륨은 다음으로 구성 apollo2-vg되어야 합니다 .sda3sdb

root@apollo2:~# lsblk
NAME                               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                                  8:0    0 745.2G  0 disk 
├─sda1                               8:1    0   512M  0 part /boot/efi
├─sda2                               8:2    0   244M  0 part /boot
└─sda3                               8:3    0 744.5G  0 part 
  ├─apollo2--vg-root (dm-0)        252:0    0   1.2T  0 lvm  /
  └─apollo2--vg-swap_1 (dm-1)      252:1    0 255.9G  0 lvm  [SWAP]
sdb                                  8:16   0 745.2G  0 disk 
└─apollo2--vg-root (dm-0)          252:0    0   1.2T  0 lvm  /

내 파티션의 개요는 다음과 같습니다.

root@apollo2:~# parted -l
Model: ATA LITEON IT ECE-80 (scsi)
Disk /dev/sda: 800GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   800GB  799GB                     lvm


Model: ATA LITEON IT ECE-80 (scsi)
Disk /dev/sdb: 800GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/apollo2--vg-root: 1325GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  1325GB  1325GB  ext4

Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/apollo2--vg-swap_1: 275GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End    Size   File system     Flags
 1      0.00B  275GB  275GB  linux-swap(v1)

문제는 sdb(두 번째 하드 드라이브에서) 현재 이 항목이 없다는 것입니다.

root@apollo2:~# pvscan
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
PV /dev/sda3        VG apollo2-vg   lvm2 [744.47 GiB / 0    free]
PV unknown device   VG apollo2-vg   lvm2 [745.21 GiB / 0    free]
Total: 2 [1.45 TiB] / in use: 2 [1.45 TiB] / in no VG: 0 [0   ]

이는 확인되었습니다 lvdisplay.

root@apollo2:~# lvdisplay
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
--- Logical volume ---
LV Path                /dev/apollo2-vg/root
LV Name                root
VG Name                apollo2-vg
LV UUID                W7afVo-nWcn-qwDf-hLvB-uFkV-LbEL-iX7FLj
LV Write Access        read/write
LV Creation host, time apollo2, 2015-03-14 17:20:12 +0100
LV Status              available
# open                 1
LV Size                1.20 TiB
Current LE             315847
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           252:0

--- Logical volume ---
LV Path                /dev/apollo2-vg/swap_1
LV Name                swap_1
VG Name                apollo2-vg
LV UUID                aHegDA-NP47-dkUg-nY3L-HNp7-Y8xM-lflNFs
LV Write Access        read/write
LV Creation host, time apollo2, 2015-03-14 17:20:12 +0100
LV Status              available
# open                 2
LV Size                255.90 GiB
Current LE             65511
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           252:1

그리고 pvdisplay:

root@apollo2:~# pvdisplay
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
--- Physical volume ---
PV Name               /dev/sda3
VG Name               apollo2-vg
PV Size               744.47 GiB / not usable 4.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              190584
Free PE               0
Allocated PE          190584
PV UUID               2p7KM5-dWVY-z1uw-auBy-QXHQ-6aVl-mezqAY

--- Physical volume ---
PV Name               unknown device
VG Name               apollo2-vg
PV Size               745.21 GiB / not usable 1.84 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              190774
Free PE               0
Allocated PE          190774
PV UUID               f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe

인터넷에서 찾은 조언을 바탕으로 분실한 장치를 다시 만드는 등 다양한 방법을 시도했습니다.

root@apollo2:~# pvcreate /dev/sdb --uuid=f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe --norestorefile
Device /dev/sdb not found (or ignored by filtering).

또는 볼륨 그룹에서 제거하십시오.

root@apollo2:~# vgreduce --removemissing --verbose apollo2-vg
Finding volume group "apollo2-vg"
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Trying to open VG apollo2-vg for recovery...
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Archiving volume group "apollo2-vg" metadata (seqno 11).
WARNING: Partial LV root needs to be repaired or removed. 
There are still partial LVs in VG apollo2-vg.
To remove them unconditionally use: vgreduce --removemissing --force.
Proceeding to remove empty missing PVs.
Creating volume group backup "/etc/lvm/backup/apollo2-vg" (seqno 12).

root@apollo2:~# vgreduce --removemissing --force --verbose apollo2-vg
Finding volume group "apollo2-vg"
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Trying to open VG apollo2-vg for recovery...
Couldn't find device with uuid f2hTAw-yDWd-8DH1-1fhy-Kfwk-mIui-6isUfe.
There are 1 physical volumes missing.
Archiving volume group "apollo2-vg" metadata (seqno 12).
Removing partial LV root.
Logical volume apollo2-vg/root contains a filesystem in use.

불행하게도 제가 시도한 솔루션 중 어느 것도 효과가 없었습니다. 저는 LVM에 대한 경험이 별로 없고, 무슨 일이 일어나고 있는지 제대로 이해하지 못한 채 문제를 계속 해결하려고 하면 문제가 더 악화되지 않을까 걱정됩니다.

비슷한 문제가 있는 일부 사람들이 컴퓨터를 제대로 재부팅할 수 없다는 내용을 읽었는데, 이는 최악의 시나리오입니다.

간단한 해결책이 있기를 바랍니다. 도움을 주셔서 미리 감사드립니다!

답변1

한 달 전, 미러링된 볼륨에 동일한 문제가 발생했습니다. lvm2-2.02.116-3.fc21.x86_64 lvm2로 업데이트하여 이 문제를 해결했습니다.

그런 다음 다음을 실행할 수 있습니다.

vgreduce --removemissing --verbose myVG_NAME

답변2

이 링크SUSE에서 문제를 해결하는 데 도움이 됩니다.

LVM 볼륨 그룹에 "알 수 없는 장치"가 표시됩니다.

이 문서(3803380)는 이 문서 끝에 있는 면책조항에 따라 제공됩니다.

환경 SUSE Linux Enterprise Server 11 SUSE Linux Enterprise Server 10 SUSE Linux Enterprise Server 9 LVM(논리 볼륨 관리 버전 2)

상황 LVM 볼륨 그룹을 활성화할 때 "알 수 없는 장치" 오류가 표시됩니다. 논리 볼륨은 활성화되지 않습니다.

# pvscan

Couldn't find device with uuid '56ogEk-OzLS-cKBc-z9vJ-kP65-DUBI-hwZPSu'.
Couldn't find device with uuid '56ogEk-OzLS-cKBc-z9vJ-kP65-DUBI-hwZPSu'.
PV /dev/sdb VG ops lvm2 [200.00 MB / 0 free]
PV unknown device VG ops lvm2 [200.00 MB / 0 free]
PV /dev/sdd VG sales ops [200.00 MB / 150.00 MB free]
Total: 4 [600.00 MB] / in use: 4 [600.00 MB] / in no VG: 0 [0 ]

부분 모드 볼륨 그룹은 여러 디스크가 포함된 볼륨 그룹에서 물리적 디스크가 제거될 때도 생성됩니다. 아래 예에서는 lrg 볼륨 그룹에 디스크 중 하나가 없어 부분 모드가 발생합니다.

# /sbin/vgs

Couldn't find device with uuid ntc7O9-wevl-ZtXz-xESe-wwUB-G8WZ-6RtjxB.
  VG   #PV #LV #SN Attr   VSize   VFree 
  asm    1   2   0 wz--n- 300.00m  60.00m
  ceo    1   1   0 wz--n- 252.00m  12.00m
  lrg    4   1   0 wz-pn-   1.19g 716.00m
  sys    1   3   0 wz--n-   3.50g  12.00m

일반적으로 이 오류는 물리적 장치가 없거나 장치의 LVM 메타데이터가 손상되었거나 누락되었음을 의미합니다. 볼륨을 복구하는 일반적인 프로세스는 다음과 같습니다.

  1. 오류가 발생했거나 누락된 디스크 교체
  2. 손실된 디스크의 UUID 복구
  3. LVM 메타데이터 복원
  4. LVM 장치의 파일 시스템 복구

장면 1:

LVM을 준비하지 않고 디스크를 방금 제거한 경우 디스크를 서버에 다시 넣고 재부팅하면 됩니다. 장치를 제거하려면 먼저 볼륨 그룹에서 디스크를 제거한 다음 서버에서 제거하십시오.

시나리오 2:

디스크가 서버에 탑재되어 있지만 아직 알 수 없는 경우 LVM 메타데이터가 손실될 수 있습니다. 표시된 대로 장치의 UUID를 복원 pvscan한 다음 vgcfgrestoreLVM 메타데이터 복원을 실행해야 합니다. 예를 들어,

pvcreate --uuid 56ogEk-OzLS-cKBc-z9vJ-kP65-DUBI-hwZPSu /dev/sdc
vgcfgrestore ops
vgchange -ay ops
fsck /dev/ops/

참고: 그림과 같이 올바른 UUID를 사용하고 있는지 확인하십시오 pvscan. 그렇지 않으면 vgcfgrestore실패할 수 있습니다.

원인: 볼륨 그룹에 포함된 물리적 디스크가 삭제되었습니다.

답변3

--restorefile무엇을 사용해야 하는지에 대한 질문이 있는 경우 --uuid위의 디렉토리를 나열하여 /etc/lvm/archivevg의 최신 디렉토리를 찾으세요. 그러면 명령 형식은 다음과 같습니다.

pvcreate --uuid "your_uuid" --restorefile /etc/lvm/archive/your_restore_file.vg  /dev/your_disk

관련 정보