두 개의 하드 드라이브가 있는 서버가 있는데 두 번째 하드 드라이브가 실제로 사용되지 않는 것 같다는 사실을 발견하기 전까지는 LVM이 올바르게 설치되었다고 생각했습니다. 문제를 조사하고 온라인에서 찾은 몇 가지 지침을 따랐지만 문제는 더욱 악화되었습니다. 분명히 나의 초기 실수는 pvremove
물리 볼륨을 사용해야 할 때 그것을 삭제 한 것이었습니다 mvreduce
.
아래에 추가 정보를 첨부했습니다. 저는 Ubuntu Server 14.04 LTS를 사용하고 있습니다. 또한 두 번째 하드 드라이브에는 복구해야 할 데이터가 없으며 해당 디스크를 완전히 지울 수 있다는 점도 언급하고 싶습니다.
내 논리 볼륨은 다음으로 구성 apollo2-vg
되어야 합니다 .sda3
sdb
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 메타데이터가 손상되었거나 누락되었음을 의미합니다. 볼륨을 복구하는 일반적인 프로세스는 다음과 같습니다.
- 오류가 발생했거나 누락된 디스크 교체
- 손실된 디스크의 UUID 복구
- LVM 메타데이터 복원
- LVM 장치의 파일 시스템 복구
장면 1:
LVM을 준비하지 않고 디스크를 방금 제거한 경우 디스크를 서버에 다시 넣고 재부팅하면 됩니다. 장치를 제거하려면 먼저 볼륨 그룹에서 디스크를 제거한 다음 서버에서 제거하십시오.
시나리오 2:
디스크가 서버에 탑재되어 있지만 아직 알 수 없는 경우 LVM 메타데이터가 손실될 수 있습니다. 표시된 대로 장치의 UUID를 복원 pvscan
한 다음 vgcfgrestore
LVM 메타데이터 복원을 실행해야 합니다. 예를 들어,
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/archive
vg의 최신 디렉토리를 찾으세요. 그러면 명령 형식은 다음과 같습니다.
pvcreate --uuid "your_uuid" --restorefile /etc/lvm/archive/your_restore_file.vg /dev/your_disk