나는 엉망이 되었고 회복할 수 있는 최선의 방법을 찾으려고 노력하고 있습니다.
며칠 전 내 lvm 설정의 물리적 디스크 중 하나에서 오류(I/O 오류) 징후가 나타나기 시작하여 pvmove를 사용하여 다른 디스크로 이동하기로 결정했습니다. 그것은 효과가 없었습니다. 5일이 지나도 pvmove 완료율은 0.1%에 불과해서 중지했습니다.
재부팅 후 죽은 디스크가 전혀 표시되지 않고 완전히 죽었으므로 다음을 사용하여 삭제하기로 결정했습니다.
vgreduce --removemissing --force VolGroup00
문제는 pvmove가 LV가 잠겨 있다고 말하기 때문에 이를 거부한다는 것입니다. 나는 시도했다:
pvmove --abort
그러나 사라진 디스크가 죽었기 때문에 이를 거부했습니다.
그래서 나는 붙어서 다음을 수행했습니다.
vgcfgbackup VolGroup00
그런 다음 파일을 편집하고 pvmove에 대한 항목을 제거하고 다음을 시도했습니다.
vgcfgbackup VolGroup00
누락된 디스크로 인해 복구가 거부되어 다시 파일을 편집하고 거기에서 누락된 디스크를 제거하여 성공적으로 완료되었습니다 vgcfgrestore
.
이제 문제는 다음과 같은 내용 때문에 볼륨을 마운트할 수 없다는 것입니다.
wrong fs type, bad option, bad superblock
파티션 크기가 2.4Tb여야 했지만 현재는 2.2Tb에 불과하므로 이는 의미가 있습니다. 이제 문제는 이 문제를 어떻게 해결할 수 있느냐는 것입니다. testdisk와 같은 도구를 사용해야 할까요, 아니면 어떻게든 새로운 물리 볼륨/볼륨 그룹을 만들고, 거기에 2개의 물리 디스크로 구성된 논리 볼륨을 추가하고, 어떻게든 올바른 파일 시스템을 얻을 수 있어야 할까요(파일 시스템은 ext4입니다)?
pvdisplay
산출:
--- Physical volume ---
PV Name /dev/sda4
VG Name VolGroup00
PV Size 417.15 GiB / not usable 4.49 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 106789
Free PE 0
Allocated PE 106789
PV UUID dRhDoK-p2Dl-ryCc-VLhC-RbUM-TDUG-2AXeWQ
--- Physical volume ---
PV Name /dev/sdb1
VG Name VolGroup00
PV Size 1.82 TiB / not usable 4.97 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 476923
Free PE 0
Allocated PE 476923
PV UUID MF46QJ-YNnm-yKVr-pa3W-WIk0-seSr-fofRav
나는 그것이 죽었을 때의 구성을 아직도 가지고 있습니다. 그 모습은 다음과 같습니다. (내가 삭제한) 죽은 디스크는 pv1( /dev/sdc1
)이었지만 디스크가 누락되었다고 나오므로 이 구성을 복원하고 싶지 않습니다.
VolGroup00 {
id = "a0p2ke-sYDF-Sptd-CM2A-fsRQ-jxPI-6sMc9Y"
seqno = 4
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 = "dRhDoK-p2Dl-ryCc-VLhC-RbUM-TDUG-2AXeWQ"
device = "/dev/sda4" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 874824678 # 417.149 Gigabytes
pe_start = 2048
pe_count = 106789 # 417.145 Gigabytes
}
pv1 {
id = "NOskcl-8nOA-PpZg-DCtW-KQgG-doKw-n3J9xd"
device = "/dev/sdc1" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 625142385 # 298.091 Gigabytes
pe_start = 2048
pe_count = 76311 # 298.09 Gigabytes
}
pv2 {
id = "MF46QJ-YNnm-yKVr-pa3W-WIk0-seSr-fofRav"
device = "/dev/sdb1" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 3906963393 # 1.81932 Terabytes
pe_start = 2048
pe_count = 476923 # 1.81932 Terabytes
}
}
logical_volumes {
lvolmedia {
id = "aidfLk-hjlx-Znrp-I0Pb-JtfS-9Fcy-OqQ3EW"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
creation_host = "archiso"
creation_time = 1402302740 # 2014-06-09 10:32:20 +0200
segment_count = 3
segment1 {
start_extent = 0
extent_count = 476923 # 1.81932 Terabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv2", 0
]
}
segment2 {
start_extent = 476923
extent_count = 106789 # 417.145 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
segment3 {
start_extent = 583712
extent_count = 76311 # 298.09 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv1", 0
]
}
}
}
당신의 도움을 주셔서 감사합니다.
답변1
나는 문제 해결에 더욱 진전을 이루었습니다.
나는 이것을 겪었습니다 :https://www.novell.com/coolsolutions/appnote/19386.html#DiskPermanentlyRemoved
그래서 새 디스크를 삽입하고 다음을 수행했습니다.
pvcreate --uuid NOskcl-8nOA-PpZg-DCtW-KQgG-doKw-n3J9xd --restorefile VolGroup00_00001-16738001.vg /dev/sdc1
VolGroup00_00001-16738001.vg는 디스크가 손상되기 전의 lvm 구성이므로 삭제했습니다.
그런 다음 나는 다음을 수행했습니다.
vgcfgrestore VolGroup00
vgscan
vgchange -ay VolGroup00
vgcfgrestore의 VolGroup00은 이전 VolGroup00_00001-16738001.vg입니다. 위의 새로운 링크와 마찬가지로 이 모든 것이 성공적입니다.
이제 볼륨을 마운트하고 데이터를 가져올 수 있지만 fsck 문제가 발생합니다.
The filesystem size (according to the superblock) is 675863552 blocks
The physical size of the device is 597721088 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>?