RAID-1 어레이로 병합을 거부 sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdb
하는 동일한 파티션 테이블( ) 이 있는 두 개의 디스크가 있습니다 .mdadm
$ sudo mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: /dev/sdb1 not large enough to join array
여기서 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까?
세부
$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Mar 22 19:34:24 2018
Raid Level : raid1
Array Size : 976627712 (931.38 GiB 1000.07 GB)
Used Dev Size : 976627712 (931.38 GiB 1000.07 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Tue Aug 25 11:56:19 2020
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Consistency Policy : bitmap
Name : hostname:0 (local to host hostname)
UUID : xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
Events : 459187
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 1 1 active sync /dev/sda1
$ sudo parted /dev/sda unit s print
Model: XXX (scsi)
Disk /dev/sda: 1953525168s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2048s 1948268543s 1948266496s primary raid
$ sudo parted /dev/sdb unit s print
Model: XXX (scsi)
Disk /dev/sdb: 1953519616s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2048s 1948268543s 1948266496s primary raid
$ sudo mdadm -E /dev/sda1
/dev/sda1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
Name : hostname:0 (local to host hostname)
Creation Time : Thu Mar 22 19:34:24 2018
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 1948004352 (928.88 GiB 997.38 GB)
Array Size : 976627712 (931.38 GiB 1000.07 GB)
Used Dev Size : 1953255424 (931.38 GiB 1000.07 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=18446744073704300544 sectors
State : clean
Device UUID : xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
Internal Bitmap : 8 sectors from superblock
Update Time : Tue Aug 25 12:39:03 2020
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : f47ecd0c - correct
Events : 459193
Device Role : Active device 1
Array State : .A ('A' == active, '.' == missing, 'R' == replacing)
$ sudo mdadm -E /dev/sdb1
/dev/sdb1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
Name : hostname:0 (local to host hostname)
Creation Time : Thu Mar 22 19:34:24 2018
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 1948004352 (928.88 GiB 997.38 GB)
Array Size : 976627712 (931.38 GiB 1000.07 GB)
Used Dev Size : 1953255424 (931.38 GiB 1000.07 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=18446744073704300544 sectors
State : clean
Device UUID : xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
Internal Bitmap : 8 sectors from superblock
Update Time : Tue Aug 25 10:03:24 2020
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 4e58ad84 - correct
Events : 81346
Device Role : Active device 0
Array State : A. ('A' == active, '.' == missing, 'R' == replacing)
답변1
원래는 파티션 없이 전체 디스크로 어레이를 구축했을 것입니다. 그런 다음 나중에 파티션 테이블을 추가하면 상황이 엉망이 될 수 있습니다. MADM은 전체 디스크를 예상합니다.
RAID 메타데이터가 전체 디스크에 적용되어야 하는지 아니면 파티션에만 적용되어야 하는지 알 수 없는 메타데이터 형식을 고려해야 합니다. 최신 메타데이터 형식을 사용하여 어레이를 다시 구축할 수 있습니다.
이 문제가 다시 발생할 경우를 대비해 안전 여유로 몇 MB를 뺀 전체 파티션에 걸쳐 있는 유일한 활성 볼륨으로 두 번째 드라이브를 사용하여 새 RAID 어레이를 생성할 수 있습니다. 그런 다음 이전 배열의 모든 데이터를 새 배열로 복사합니다.
마지막으로 원래 어레이를 지운 다음 기존 디스크를 새 어레이에 추가합니다.
답변2
나는 또한이 문제에 직면했습니다. 원인은 디스크의 일부 파티션을 다시 정렬했지만 파티션의 (너무 작은) 크기가 이미 삭제된 파티션을 반영하고 있다는 것입니다. 확장된 파티션이 있는 현재 디스크 파티션 테이블을 다시 읽어야 했습니다.
$ sudo partprobe /dev/sdb # to re-read current partition table of the device