재부팅 시 md Raid6 어레이가 사라짐

재부팅 시 md Raid6 어레이가 사라짐

내 raid6 어레이를 확장한 후 재부팅하면 사라졌습니다. 파티션이 아닌 전체 디스크로 인해 문제가 2배 증가했다고 생각합니다. 드라이브가 올바르게 인식되지 않는 다른 가능한 이유는 새 어레이를 읽기 전에 슈퍼블록을 0으로 설정하지 않았기 때문이라고 제안되었습니다. 둘 다의 조합 일 수 있습니까? 실행된 명령은 다음과 같습니다(기록에서 가져오고 일관된 드라이브 문자를 갖도록 형식화됨).

mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sd[b-c]1

#ROC raid 10을 이 드라이브에 전체 백업한 후 대부분의 파일을 다른 드라이브에 복사한 후 재부팅을 통해 제대로 작동하는지 확인하세요.

mdadm --create /dev/md1 --level=6 --raid-devices=4 /dev/sd[d-g]1

#동기화 드라이브에 시간이 경과한 후 md0의 데이터를 rsync하면 정상적으로 재부팅됩니다.

mdadm -S /dev/md0
mdadm /dev/md0 -r /dev/sd[b-c]

#아래에 누락된 파티션 번호가 있는지 확인하세요.

mdadm /dev/md1 --add /dev/sdb
mdadm /dev/md1 --add /dev/sdc
mdadm -list
mdadm --detail /dev/md1
mdadm --grow --raid-devices=6 --backup-file=/media/FastRaid/md1_grow.bak /dev/md1

재부팅 후, raid6은 사라지고 2개의 raid0 어레이, 즉 하나는 활성(sdb/sdc)이고 다른 하나는 비활성(sdd-sdg)으로 교체됩니다. 다음은 슈퍼블록을 조사하여 얻은 내용입니다.

/dev/sdb1:
        Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
    Array UUID : 501c08da:5069a3d8:b2982a5d:ab56c37c
        Name : tim-server:0  (local to host tim-server)
Creation Time : Tue Dec 13 22:01:10 2022
    Raid Level : raid0
Raid Devices : 2

Avail Dev Size : 7813770895 (3725.90 GiB 4000.65 GB)
    Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=0 sectors
        State : clean
    Device UUID : e8db27d6:0dbd1ac5:4456c304:0b43f09c

    Update Time : Tue Dec 13 22:01:10 2022
Bad Block Log : 512 entries available at offset 8 sectors
    Checksum : dfd187c0 - correct
        Events : 0

    Chunk Size : 512K

Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1:
        Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
    Array UUID : 501c08da:5069a3d8:b2982a5d:ab56c37c
        Name : tim-server:0  (local to host tim-server)
Creation Time : Tue Dec 13 22:01:10 2022
    Raid Level : raid0
Raid Devices : 2

Avail Dev Size : 7813770895 (3725.90 GiB 4000.65 GB)
    Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=0 sectors
        State : clean
    Device UUID : 3ce84b05:607f8565:456e7f83:88b83052

    Update Time : Tue Dec 13 22:01:10 2022
Bad Block Log : 512 entries available at offset 8 sectors
    Checksum : e35ce3e5 - correct
        Events : 0

    Chunk Size : 512K

Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1:
        Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
    Array UUID : 929a14c9:adaf502a:53658e03:90a19fce
        Name : tim-server:0  (local to host tim-server)
Creation Time : Wed Dec 14 11:18:57 2022
    Raid Level : raid6
Raid Devices : 6

Avail Dev Size : 7813770895 (3725.90 GiB 4000.65 GB)
    Array Size : 15627540480 (14903.58 GiB 16002.60 GB)
Used Dev Size : 7813770240 (3725.90 GiB 4000.65 GB)
    Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=655 sectors
        State : clean
    Device UUID : eaf10189:940aeaf8:947efe82:5d0e4aea

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun Dec 18 06:31:11 2022
Bad Block Log : 512 entries available at offset 24 sectors
    Checksum : e38a1bd9 - correct
        Events : 26630

        Layout : left-symmetric
    Chunk Size : 512K

Device Role : Active device 1
Array State : AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde1:
        Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
    Array UUID : 929a14c9:adaf502a:53658e03:90a19fce
        Name : tim-server:0  (local to host tim-server)
Creation Time : Wed Dec 14 11:18:57 2022
    Raid Level : raid6
Raid Devices : 6

Avail Dev Size : 7813770895 (3725.90 GiB 4000.65 GB)
    Array Size : 15627540480 (14903.58 GiB 16002.60 GB)
Used Dev Size : 7813770240 (3725.90 GiB 4000.65 GB)
    Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=655 sectors
        State : clean
    Device UUID : 5c34a9c7:bcc3f190:d1719a9c:8aa2b722

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun Dec 18 06:31:11 2022
Bad Block Log : 512 entries available at offset 24 sectors
    Checksum : c429edf - correct
        Events : 26630

        Layout : left-symmetric
    Chunk Size : 512K

Device Role : Active device 3
Array State : AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf1:
        Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
    Array UUID : 929a14c9:adaf502a:53658e03:90a19fce
        Name : tim-server:0  (local to host tim-server)
Creation Time : Wed Dec 14 11:18:57 2022
    Raid Level : raid6
Raid Devices : 6

Avail Dev Size : 7813770895 (3725.90 GiB 4000.65 GB)
    Array Size : 15627540480 (14903.58 GiB 16002.60 GB)
Used Dev Size : 7813770240 (3725.90 GiB 4000.65 GB)
    Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=655 sectors
        State : clean
    Device UUID : 12d1e3a8:b8749f59:654bcca4:4f4750df

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun Dec 18 06:31:11 2022
Bad Block Log : 512 entries available at offset 24 sectors
    Checksum : 7af56ae7 - correct
        Events : 26630

        Layout : left-symmetric
    Chunk Size : 512K

Device Role : Active device 0
Array State : AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg1:
        Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
    Array UUID : 929a14c9:adaf502a:53658e03:90a19fce
        Name : tim-server:0  (local to host tim-server)
Creation Time : Wed Dec 14 11:18:57 2022
    Raid Level : raid6
Raid Devices : 6

Avail Dev Size : 7813770895 (3725.90 GiB 4000.65 GB)
    Array Size : 15627540480 (14903.58 GiB 16002.60 GB)
Used Dev Size : 7813770240 (3725.90 GiB 4000.65 GB)
    Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=655 sectors
        State : clean
    Device UUID : 72085967:835efe92:cb268a64:4d192b52

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun Dec 18 06:31:11 2022
Bad Block Log : 512 entries available at offset 24 sectors
    Checksum : a5623977 - correct
        Events : 26630

        Layout : left-symmetric
    Chunk Size : 512K

Device Role : Active device 2
Array State : AAAAAA ('A' == active, '.' == missing, 'R' == replacing)

어느 시점에서 md0을 비활성화했기 때문에 mdadm -A -o /dev/md0 /dev/sdb1 /dev/sdc1. 지금은 다음 과 같습니다 /proc/mdstat.

cat /proc/mdstat

Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (read-only) raid0 sdb1[0] sdc1[1]
  7813770240 blocks super 1.2 512k chunks

md1 : inactive sdf1[0](S) sde1[3](S) sdd1[1](S) sdg1[2](S)
    15627541790 blocks super 1.2

unused devices: <none>

시도하면 mount /dev/md0 /media/tmp_md_raid다음을 얻습니다 mount: /media/tmp_md_raid: wrong fs type, bad option, bad superblock on /dev/md126, missing codepage or helper program, or other error.. 시도하면 mdadm -A -o /dev/md1 /dev/sdf1 /dev/sde1 /dev/sdd1 /dev/sdg1다음을 얻습니다.

mdadm: /dev/sdf1 is busy - skipping
mdadm: /dev/sde1 is busy - skipping
mdadm: /dev/sdd1 is busy - skipping
mdadm: /dev/sdg1 is busy - skipping

모든 smartctl은 모든 드라이브가 괜찮다고 말합니다. mdadm --assemble --force를 먼저 시도해야 할지 아니면 mdadm --create --assume-clean을 먼저 시도해야 할지 잘 모르겠습니다. -o를 설정하여 두 번째 작업을 시도하여 복구를 손상시키지 않고 어레이를 다시 생성하고 데이터를 볼 수 있는지 확인해야 합니까? 어떤 조언이라도 감사드립니다.

답변1

6개 장치 어레이(AAAAAA)가 있는 것 같지만 4개의 ​​구성 요소 장치만 사용할 수 있습니다( /dev/sd[defg]1). 용량 계산을 통해 이를 확인할 수 있습니다. 16TB RAID6 어레이를 생성하려면 4TB 디스크 6개가 필요합니다.

이는 RAID6이고 사용 가능한 4개의 장치가 모두 동기화된 것으로 보이므로 실행할 수 있지만 소위 말하는 경우에만 가능합니다.완전히 저하됨방법. 이 모드에서는 블록을 읽으려면 모든 드라이브에서 스트라이프를 읽고(I/O 집약적) 재구성을 수행하고(CPU 집약적인 갈루아 필드 계산이 포함된 패리티 신드롬을 모두 사용함) 블록을 작성해야 합니다. 전체 스트라이프를 읽고, 새로운 패리티 신드롬을 계산하고, 최소 3개의 장치에 써야 합니다(전체적으로 I/O 집약적임).

Linux에는 다른 방법이 없지만 어레이가 실행 중이고 일부 장치가 사용 도중에 오류가 발생한 경우 이 방법으로 대체할 수 있습니다. 이것이 RAID 어레이의 핵심입니다. 짐작할 수 있듯이 이 상태의 성능은 매우 나쁘고 데이터 손실 위험이 매우 높기 때문에 이 상태에서 어레이를 오랫동안 실행해서는 안 됩니다. 이상적으로는 작동 장치 외에 핫 스페어를 공급하여 구성 요소의 오류를 감지하면 즉시 재구성을 시작할 수 있습니다.

그러나 부팅 중에는 일부 장치가 영구적으로 누락되었는지, 아니면 시차를 둔 스핀업이나 기타 초기화 지연으로 인해 아직 사용할 수 없는 것인지 알 수 없습니다. 어레이를 조기에 활성화하면 지연된 장치의 동기화가 중단되고 시간이 오래 걸리는 재동기화가 강제로 수행됩니다. 이 기간 동안 어레이는 위에서 설명한 최악의 성능 특성을 경험하게 됩니다. 이는 늦게 나타나는 장치를 기다리도록 동기를 부여합니다. Linux는 최소한 일부 성능 저하 모드에서 실행하기에 충분한 장치가 있더라도 기본적으로 부분적으로 사용 가능한 어레이를 자동으로 활성화하지 않습니다.

하지만 관리자는 다음을 수행할 수 있습니다.그렇게 하기로 합니다. 이를 위해,배열을 다시 조립--force:

mdadm --stop /dev/md1
mdadm --force --assemble /dev/md1 /dev/sd[defg]1

보다 정확하게는 현재 장치의 슈퍼블록에 기록된 것보다 사용 가능한 장치가 더 적은 경우 배열을 자동으로 어셈블하지 않습니다(귀하의 경우 모든 장치가 마지막으로 사용 가능했다고 기록됨). mdadm -f/ 순서 로 장치를 올바르게 제거하거나 mdadm -r강제로 조립할 때 이를 기록하고 어레이가 자동 조립됩니다.같은상태가 자동으로 저하됩니다.

이 배열에 중요한 데이터가 포함되어 있지 않으면 다시 만드는 것이 좋습니다. 초기화 느낌더 빠르게장치를 추가하고 재구성을 겪는 것보다.

관련 정보