실패한 Thecus N7700 Pro NAS에서 7개의 하드 드라이브를 성공적으로 이미징하고 백업 이미지에서 RAID6 배열을 성공적으로 재구축한 후 RAID6 배열을 설치하려고 할 때 이전 PV 헤더 경고 오류가 발생하고 설치를 시도하는 동안 오류가 발생했습니다. 볼륨 그룹 메타데이터 업데이트.
참고로 다음은 어레이를 재구축한 후 수행한 단계입니다. 이 문제를 해결하는 방법에 대한 지침/조언을 주시면 감사하겠습니다.
루프 장치에 7개의 하드 드라이브 이미지를 추가하는 명령은 다음과 같습니다.
$ sudo losetup -fPr --show /media/<target drive mount point>/recovery/hdd<id>.img
Returned output:
/dev/loop0
$ sudo losetup -fPr --show /media/<target drive mount point>/recovery/hdd<id>.img
Returned output:
/dev/loop1
$ sudo losetup -fPr --show /media/<target drive mount point>/recovery/hdd<id>.img
Returned output:
/dev/loop2
$ sudo losetup -fPr --show /media/<target drive mount point>/recovery/hdd<id>.img
Returned output:
/dev/loop3
$ sudo losetup -fPr --show /media/<target drive mount point>/recovery/hdd<id>.img
Returned output:
/dev/loop4
$ sudo losetup -fPr --show /media/<target drive mount point>/recovery/hdd<id>.img
Returned output:
/dev/loop5
$ sudo losetup -fPr --show /media/<target drive mount point>/recovery/hdd<id>.img
Returned output:
/dev/loop6
RAID6 어레이 재구축
다음 명령을 사용하여 각 RAID6 어레이 드라이브 이미지를 사용 가능한 다음 회전 장치에 추가하십시오.
$ sudo mdadm --assemble --scan
Returned output:
mdadm: /dev/md/0 has been started with 7 drives.
mdadm: /dev/md1 has been started with 7 drives.
블록 장치 확인
다음 명령을 사용하여 모든 블록 장치를 확인하십시오.
$ sudo lsblk
Returned output:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 1.8T 1 loop
├─loop0p1 259:0 0 1.9G 1 part
│ └─md0 9:0 0 1.9G 1 raid1
└─loop0p2 259:1 0 1.8T 1 part
└─md1 9:1 0 9.1T 1 raid6
├─vg0-syslv 254:0 0 1G 0 lvm
└─vg0-lv0 254:1 0 8.6T 0 lvm
loop1 7:1 0 1.8T 1 loop
├─loop1p1 259:2 0 1.9G 1 part
│ └─md0 9:0 0 1.9G 1 raid1
└─loop1p2 259:3 0 1.8T 1 part
└─md1 9:1 0 9.1T 1 raid6
├─vg0-syslv 254:0 0 1G 0 lvm
└─vg0-lv0 254:1 0 8.6T 0 lvm
loop2 7:2 0 1.8T 1 loop
├─loop2p1 259:4 0 1.9G 1 part
│ └─md0 9:0 0 1.9G 1 raid1
└─loop2p2 259:5 0 1.8T 1 part
└─md1 9:1 0 9.1T 1 raid6
├─vg0-syslv 254:0 0 1G 0 lvm
└─vg0-lv0 254:1 0 8.6T 0 lvm
loop3 7:3 0 1.8T 1 loop
├─loop3p1 259:6 0 1.9G 1 part
│ └─md0 9:0 0 1.9G 1 raid1
└─loop3p2 259:7 0 1.8T 1 part
└─md1 9:1 0 9.1T 1 raid6
├─vg0-syslv 254:0 0 1G 0 lvm
└─vg0-lv0 254:1 0 8.6T 0 lvm
loop4 7:4 0 1.8T 1 loop
├─loop4p1 259:8 0 1.9G 1 part
│ └─md0 9:0 0 1.9G 1 raid1
└─loop4p2 259:9 0 1.8T 1 part
└─md1 9:1 0 9.1T 1 raid6
├─vg0-syslv 254:0 0 1G 0 lvm
└─vg0-lv0 254:1 0 8.6T 0 lvm
loop5 7:5 0 1.8T 1 loop
├─loop5p1 259:10 0 1.9G 1 part
│ └─md0 9:0 0 1.9G 1 raid1
└─loop5p2 259:11 0 1.8T 1 part
└─md1 9:1 0 9.1T 1 raid6
├─vg0-syslv 254:0 0 1G 0 lvm
└─vg0-lv0 254:1 0 8.6T 0 lvm
loop6 7:6 0 1.8T 1 loop
├─loop6p1 259:12 0 1.9G 1 part
│ └─md0 9:0 0 1.9G 1 raid1
└─loop6p2 259:13 0 1.8T 1 part
└─md1 9:1 0 9.1T 1 raid6
├─vg0-syslv 254:0 0 1G 0 lvm
└─vg0-lv0 254:1 0 8.6T 0 lvm
sda 8:0 0 953.9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 23.3G 0 part /
├─sda3 8:3 0 9.3G 0 part /var
├─sda4 8:4 0 977M 0 part [SWAP]
├─sda5 8:5 0 1.9G 0 part /tmp
└─sda6 8:6 0 918G 0 part /home
sdb 8:16 0 10.9T 0 disk
└─sdb1 8:17 0 10.9T 0 part /media/<user>/7DFF-F49D
sdc 8:32 0 16.4T 0 disk
└─sdc1 8:33 0 16.4T 0 part /media/<user>/data
sr0 11:0 1 1024M 0 rom
재구축된 RAID6 어레이 세부 정보 확인
다음 명령을 사용하여 재구성된 RAID6 어레이 세부 정보를 확인하십시오.
$ sudo mdadm --detail /dev/md1
Returned output:
/dev/md1:
Version : 0.90
Creation Time : Tue Apr 27 16:44:08 2010
Raid Level : raid6
Array Size : 9757760000 (9.09 TiB 9.99 TB)
Used Dev Size : 1951552000 (1861.15 GiB 1998.39 GB)
Raid Devices : 7
Total Devices : 7
Preferred Minor : 1
Persistence : Superblock is persistent
Update Time : Sun Mar 26 02:00:20 2023
State : clean
Active Devices : 7
Working Devices : 7
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
Consistency Policy : resync
UUID : ea8bd249:df05f100:4d76e077:2dd3364e
Events : 0.23046
Number Major Minor RaidDevice State
0 259 1 0 active sync /dev/loop0p2
1 259 3 1 active sync /dev/loop1p2
2 259 5 2 active sync /dev/loop2p2
3 259 7 3 active sync /dev/loop3p2
4 259 9 4 active sync /dev/loop4p2
5 259 11 5 active sync /dev/loop5p2
6 259 13 6 active sync /dev/loop6p2
Mdadm 구성 파일 만들기 및 확인
참고: 이 작업을 실행하려면 루트 권한이 필요합니다. 다음 명령을 사용하여 mdadm.conf 파일을 만듭니다.
$ sudo mdadm --detail --scan > /etc/mdadm.conf
다음 명령을 사용하여 생성된 mdadm.conf 파일을 확인합니다.
$ sudo cat /etc/mdadm.conf
Returned output:
ARRAY /dev/md/0 metadata=1.0 name=RCLSVR01:0 UUID=a87e6315:d3fe49fe:3a2d39f8:7977760a
ARRAY /dev/md1 metadata=0.90 UUID=ea8bd249:df05f100:4d76e077:2dd3364e
RAID6 어레이 마운트 및 재구축 시도
다음 명령을 사용하여 데이터 복구 마운트 지점을 생성합니다.
$ sudo mkdir /mnt/RCLSVR
다음 명령을 사용하여 RAID6 어레이를 마운트해 보십시오:
$ sudo mount -r /dev/md1 /mnt/RCLSVR
Returned output:
mount: /mnt/RCLSVR: unknown filesystem type 'LVM2_member'.
dmesg(1) may have more information after failed mount system call.
다음 명령을 사용하여 논리 볼륨 그룹을 확인하십시오.
$ sudo lvdisplay
Returned output:
WARNING: PV /dev/md1 in VG vg0 is using an old PV header, modify the VG to update.
--- Logical volume ---
LV Path /dev/vg0/syslv
LV Name syslv
VG Name vg0
LV UUID e5ZreA-S8TO-2x0x-4pfw-Zh6h-Cs5X-EH8FVc
LV Write Access read/write
LV Creation host, time ,
LV Status available
[#] open 0
LV Size 1.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors 16384
Block device 254:0
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID bkVNXL-2FI6-61z7-4UzW-Erwu-0sHA-oiHxbq
LV Write Access read/write
LV Creation host, time ,
LV Status available
[#] open 0
LV Size 8.63 TiB
Current LE 4525773
Segments 1
Allocation inherit
Read ahead sectors 16384
Block device 254:1
다음 명령을 사용하여 RAID6 어레이를 마운트해 보십시오:
$ sudo mount -r /dev/vg0/lv0 /mnt/RCLSVR
Returned output:
mount: /mnt/RCLSVR: can't read superblock on /dev/mapper/vg0-lv0.
dmesg(1) may have more information after failed mount system call.
RAID6 어레이에 대한 슈퍼블록 정보를 찾으려면 다음 명령을 사용해 보십시오.
$ sudo dumpe2fs /dev/vg0/lv0 | grep superblock
Returned output:
dumpe2fs 1.47.0 (5-Feb-2023)
dumpe2fs: Bad magic number in super-block while trying to open /dev/vg0/lv0
Couldn't find valid filesystem superblock.
$ sudo dumpe2fs /dev/vg0/syslv | grep superblock
Returned output:
dumpe2fs 1.47.0 (5-Feb-2023)
Primary superblock at 0, Group descriptors at 1-1
Backup superblock at 32768, Group descriptors at 32769-32769
Backup superblock at 98304, Group descriptors at 98305-98305
Backup superblock at 163840, Group descriptors at 163841-163841
Backup superblock at 229376, Group descriptors at 229377-229377
다음 명령을 사용하여 RAID6 어레이를 마운트해 보십시오:
$ sudo mount -r /dev/vg0/syslv /mnt/RCLSVR
Returned output:
mount: /mnt/RCLSVR: can't read superblock on /dev/mapper/vg0-syslv.
dmesg(1) may have more information after failed mount system call.
다음 명령을 사용하여 RAID6 어레이 볼륨 그룹의 활동 상태를 확인하십시오.
$ sudo lvscan
Returned output:
WARNING: PV /dev/md1 in VG vg0 is using an old PV header, modify the VG to update.
ACTIVE '/dev/vg0/syslv' [1.00 GiB] inherit
ACTIVE '/dev/vg0/lv0' [8.63 TiB] inherit
다음 명령을 사용하여 RAID6 어레이를 마운트해 보십시오:
$ sudo mount -o ro /dev/vg0/syslv /mnt/RCLSVR
Returned output:
mount: /mnt/RCLSVR: can't read superblock on /dev/mapper/vg0-syslv.
dmesg(1) may have more information after failed mount system call.
다음 명령을 사용하여 RAID6 어레이의 볼륨 그룹 메타데이터를 업데이트해 보십시오.
$ sudo vgck --updatemetadata vg0
Returned output:
WARNING: PV /dev/md1 in VG vg0 is using an old PV header, modify the VG to update.
WARNING: updating PV header on /dev/md1 for VG vg0.
Error writing device /dev/md1 at 4096 length 512.
WARNING: bcache_invalidate: block (7, 0) still dirty.
Failed to write mda header to /dev/md1.
Failed to write VG.
답변1
@frostschutz - 복구하기 위해 파일 시스템에 쓸 수 있어야 한다는 점은 문제 해결에 도움이 됩니다. 내 댓글에 사용자 이름의 철자가 틀린 점에 대해 사과드립니다. 원래 루프 장치가 생성되기 전의 위치로 돌아가 루프 장치를 성공적으로 다시 생성하고 RAID6 어레이를 재조립 및 마운트하기 위해 다음 단계를 수행합니다.
LV 그룹 비활성화
$ sudo vgchange -an /dev/vg0
Mdadm 구성 및 데이터 삭제
$ sudo apt-get -y 자동 제거 --purge mdadm
분리순환설비
$ sudo losstup -a
$ sudo losstup -D
$ sudo losstup -l
$ sudo dmsetup 삭제 /dev/loop0 dev/loop1 dev/loop2 dev/loop3 dev/loop4 dev/loop5 dev/loop6
컴퓨터를 다시 시작합니다.
다시 로그인하여 루핑 장치가 없어졌는지 확인하세요.
$ sudo losstup -a
디스크 이미지 파일 권한 변경
$ sudo chmod +w /media//recovery/*.img
쓰기 가능 모드에서 이미지 추가
$ sudo losstup -fP --show /media/[대상 드라이브 마운트 지점]/recovery/hdd[id].img
반환 출력:
/dev/loop0
$ sudo losstup -fP --show /media/[대상 드라이브 마운트 지점] /recovery/hdd[id].img
반환된 출력:
/dev/loop1
$ sudo losstup -fP --show /media/[대상 드라이브 마운트 지점]/recovery/hdd[id].img
반환된 출력:
/dev/loop2
$ sudo losstup -fP --show /media/[대상 드라이브 마운트 지점]/recovery/hdd[id].img
반환 출력:
/dev/loop3
$ sudo losstup -fP --show /media/[ 대상 드라이브 마운트
에서 반환된 출력 :
/dev/loop4
$ sudo losstup -fP --show /media/[대상 드라이브 마운트 지점]/recovery/hdd[id].img
반환된 출력:
/dev/loop5
$ sudo losstup -fP --show /media/[대상 드라이브 마운트 지점]/recovery/hdd[id].img
반환된 출력:
/dev/loop6
mdadm 재설치
$ sudo apt-get 설치 mdadm
RAID6 어레이 재구축
다음 명령을 사용하여 각 RAID6 어레이 드라이브 이미지를 사용 가능한 다음 루프 장치에 추가합니다.
$ sudo mdadm --assemble
--scan에서 반환된 출력:
mdadm: /dev/md/0 7개 드라이브가 시작되었습니다.
mdadm:/dev/md1은 7개의 드라이브로 시작됩니다.
논리 볼륨 상태 확인
$ sudo lvscan
에서 반환된 출력 :
경고: VG vg0의 PV /dev/md1은 이전 PV 헤더를 사용하고 있습니다. 업데이트하려면 VG를 수정하십시오.
ACTIVE '/dev/vg0/syslv' [1.00 GiB] 상속됨ACTIVE
'/dev/vg0/lv0' [8.63 TiB] 상속됨
논리 볼륨 세부 정보 표시
$ sudo lvdisplay
에서 반환된 출력 :
경고: VG vg0의 PV /dev/md1이 이전 PV 헤더를 사용하고 있습니다. 업데이트하려면 VG를 수정하십시오.
--- 논리 볼륨 ---
LV 경로 /dev/vg0/syslv
LV 이름 syslv
VG 이름 vg0
LV UUID e5ZreA-S8TO-2x0x-4pfw-Zh6h-Cs5X-EH8FVc
LV 쓰기 액세스 읽기/쓰기
LV 호스트, 시간,
LV 생성 사용 가능한 상태
[#] 열기 0
LV 크기 1.00 GiB
현재 LE 512
세그먼트 1
할당 상속된
미리 읽기 섹터 16384
블록 장치 254:0
--- 논리 볼륨 ---
LV 경로 /dev/vg0/lv0
LV 이름 lv0
VG 이름 vg0
LV UUID bkVNXL-2FI6-61z7-4UzW-Erwu-0sHA-oiHxbq
LV 쓰기 액세스 읽기/쓰기
LV 생성 호스트, 시간,
LV 상태 사용 가능
[#] 열기 0
LV 크기 8.63TiB
현재 LE 4525773
세그먼트 1
할당 상속됨
미리 읽기 섹터 영역 16384
블록 장치 254:1
볼륨 그룹 메타데이터 업데이트
$ sudo vgck --updatemetadata vg0
에서 반환된 출력 :
경고: VG vg0의 PV /dev/md1이 이전 PV 헤더를 사용하고 있습니다. 업데이트하려면 VG를 수정하십시오.
경고: /dev/md1에서 VG vg0에 대한 PV 헤더를 업데이트하십시오.
복원된 RAID6 어레이 마운트
$ sudo 마운트 -o ro /dev/vg0/lv0 /mnt/RCLSVR
그런 다음 데이터에 액세스하고 복원할 수 있습니다.
이것이 다른 누군가에게 도움이 되기를 바라며 @frostschutz의 도움에 다시 한번 감사드립니다.