나는 가장 이상한 LVM 문제를 해결하려고 노력하고 있습니다.
저는 3TB 디스크 4개 중 소프트웨어 Raid 5를 사용하여 집에서 소규모 서버를 실행하고 있습니다. (섀시에는 하드웨어 Raid 컨트롤러를 위한 공간이 없습니다).
기술적인 관점에서 보면 Intel Rapid Storage Technology입니다.
서버의 스토리지 마운트는 다음과 같습니다.
물리 디스크 -> 소프트웨어 Raid 5 -> LVM2 -> EXT4
지난주 정전 이후 BIOS가 실패한 상태여서 디스크를 다시 RAID로 처리하도록 Bios를 재구성했습니다.
그러나 처음으로 Raid 컨트롤러 인터페이스를 살펴본 후 다음과 같은 사실을 발견했습니다.
Raid 정보에서 디스크가 완전히 제거되어 상태가 실패했습니다. !
따라서 Raid 어레이를 삭제하고 다시 생성하는 다른 옵션이 없기 때문에 이 후에 시스템을 부팅할 수 있지만 내부에 LVM 저장소가 없습니다.
mdadm.conf가 다음으로 변경되었습니다.
ARRAY metadata=imsm UUID=3870907f:d7fafe1a:593e95f1:3496eea9
ARRAY /dev/md/Volume1 container=3870907f:d7fafe1a:593e95f1:3496eea9 member=0 UUID=0429e388:74a0f3ea:8ca3b4a3:5f976ec2
도착하다:
ARRAY metadata=imsm UUID=52065345:de8d583c:8fa56cc8:55d93798
ARRAY /dev/md/Volume1 container=52065345:de8d583c:8fa56cc8:55d93798 member=0 UUID=b8f3dcf7:0e95fede:e6224238:b2426835
그리고
blkid /dev/md126
지금 돌아오세요
/dev/md126: UUID="Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3" TYPE="LVM2_member"
Softwareaid가 다시 생성되었으므로 /etc/lvm/backup/ Volume 0에서 PV0의 UUID를 mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc에서 Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3 로그인으로 변경했습니다. :
# Generated by LVM2 version 2.02.168(2) (2016-11-30): Mon Oct 14 00:05:24 2019
contents = "Text Format Volume Group"
version = 1
description = "Created *after* executing 'vgchange -ay'"
creation_host = "home" # Linux home 4.15.17-1-pve #1 SMP PVE 4.15.17-9 (Wed, 9 May 2018 13:31:43 +0200) x86_64
creation_time = 1571004324 # Mon Oct 14 00:05:24 2019
LogVol0 {
id = "Ch3etp-GYit-9qVW-nhEg-bv3K-IQnW-0jCjgM"
seqno = 16
format = "lvm2" # informational
status = ["RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 8192 # 4 Megabytes
max_lv = 0
max_pv = 0
metadata_copies = 0
physical_volumes {
pv0 {
id = "Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3"
device = "/dev/md126" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 17581580288 # 8.18706 Terabytes
pe_start = 2048
pe_count = 2146188 # 8.18706 Terabytes
}
}
logical_volumes {
Logical_Volume_00 {
id = "BWUgvn-24uy-XXf5-aFVx-o9YA-RF2H-2uD3OV"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_time = 1395998316 # 2014-03-28 10:18:36 +0100
creation_host = "debian"
segment_count = 1
segment1 {
start_extent = 0
extent_count = 2146188 # 8.18706 Terabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
}
}
}
"pvdisplay"의 현재 출력:
pvdisplay
--- Physical volume ---
PV Name /dev/md126
VG Name LogVol0
PV Size 8.19 TiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 2146188
Free PE 0
Allocated PE 2146188
PV UUID Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
("vgcfgrestore LogVol0 LogVol0"을 사용하여 볼륨 그룹을 복원하려고 했을 때 pvdisk가 먼저 손실되어 이 새로운 pvdisk를 만들었습니다.)
"새" PVdisk를 생성하고 백업 파일을 복원한 후 lvdisplay는 다음과 같습니다:
--- Logical volume ---
LV Path /dev/LogVol0/Logical_Volume_00
LV Name Logical_Volume_00
VG Name LogVol0
LV UUID BWUgvn-24uy-XXf5-aFVx-o9YA-RF2H-2uD3OV
LV Write Access read/write
LV Creation host, time debian, 2014-03-28 10:18:36 +0100
LV Status NOT available
LV Size 8.19 TiB
Current LE 2146188
Segments 1
Allocation inherit
Read ahead sectors auto
PV:
PV VG Fmt Attr PSize PFree
/dev/md126 LogVol0 lvm2 a-- 8.19t 0
왼쪽으로 스캔:
inactive '/dev/LogVol0/Logical_Volume_00' [8.19 TiB] inherit
lsblk -f:
sdb isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
sdc isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
sdd isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
sde isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
따라서 "vgchange -ay"를 사용하여 해당 VG를 활성화하면 출력이 다음과 같이 변경됩니다.
sdb isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
└─LogVol0-Logical_Volume_00 LVM2_member mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc
sdc isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
└─LogVol0-Logical_Volume_00 LVM2_member mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc
sdd isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
└─LogVol0-Logical_Volume_00 LVM2_member mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc
sde isw_raid_member
└─md126 LVM2_member Wzcm2T-H2pt-c41w-dbi5-K0IP-O7FU-GRfoA3
└─LogVol0-Logical_Volume_00 LVM2_member mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc
/dev/LogVol0/Logical_Volume_00의 유형은 다음과 같습니다.
/dev/LogVol0/Logical_Volume_00: LVM2 PV (Linux Logical Volume Manager), UUID: mowPbj-0RMX-Glr2-e6ar-vOgP-mcHH-k4sAmc, size: 9001769107456
그러면 새 LVM 내부에 "이전" LVM을 이미 생성했기 때문에 설치할 수 없다는 건가요?
Testdisk를 사용하면 LVM 내부의 ext4 파티션을 볼 수 있지만 볼륨을 어떻게 다시 얻을 수 있나요?
당신의 도움을 주셔서 감사합니다...
(아 예, 더 많은 백업이 필요하다는 것을 알고 있습니다...)
답변1
LV가 비활성으로 표시되면 다음을 시도합니다.
lvchange -ay
참고 사항: 뭔가 이상한 점이 있습니다. BIOS에서 RAID를 설정했는데 이것이 하드웨어 RAID이고 시스템에 하나의 가상 장치( /dev/sdX
)만 표시됩니다. 이를 처리할 전용 카드가 없더라도 마더보드가 그 역할을 할 수 있습니다.
또는 소프트웨어 raid가 있고 운영 체제에서 모든 디스크를 볼 수 있으며 raid를 나타내는 특수 장치( )가 있습니다 /dev/mdX
. 표면적으로 이것이 당신의 상황입니다. BIOS에서 무슨 일이 일어나고 있는지 이해하지 못하지만.