私のパーティショニングに何か奇妙なことがあります。
root@rescue ~ # mdadm -A --scan
mdadm: WARNING /dev/sdb1 and /dev/sdb appear to have very similar superblocks.
If they are really different, please --zero the superblock on one
If they are the same or overlap, please remove one from the
DEVICE list in mdadm.conf.
root@rescue ~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 4G 1 loop
sda 8:0 0 2.7T 0 disk
├─sda1 8:1 0 1G 0 part
├─sda2 8:2 0 64G 0 part
├─sda3 8:3 0 200G 0 part
├─sda4 8:4 0 1M 0 part
└─sda5 8:5 0 2.5T 0 part
sdb 8:16 0 2.7T 0 disk
└─sdb1 8:17 0 2.7T 0 part
sdc 8:32 0 223.6G 0 disk
レイドチェック中にこのエラーが発生します。データを失うことなく問題を解決する方法はありますか?
PS新しい出力が追加されました。
root@rescue ~ # fdisk -l /dev/sdb
Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: ST3000NM0033-9ZM
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A93A2325-8454-A346-8133-2ACDF59BE163
Device Start End Sectors Size Type
/dev/sdb1 2048 5860533134 5860531087 2.7T Linux RAID
root@rescue ~ # mdadm --examine /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 0.90.00
UUID : 1ac1670b:7c95ed23:0028a58b:a51e25d4
Creation Time : Mon Dec 2 20:14:13 2019
Raid Level : raid0
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Update Time : Mon Dec 2 20:14:13 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : a194544e - correct
Events : 1
Chunk Size : 8K
Number Major Minor RaidDevice State
this 1 8 17 1 active sync /dev/sdb1
0 0 8 5 0 active sync /dev/sda5
1 1 8 17 1 active sync /dev/sdb1
root@rescue ~ # mdadm --examine /dev/sdb1
/dev/sdb1:
Magic : a92b4efc
Version : 0.90.00
UUID : 1ac1670b:7c95ed23:0028a58b:a51e25d4
Creation Time : Mon Dec 2 20:14:13 2019
Raid Level : raid0
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Update Time : Mon Dec 2 20:14:13 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : a194544e - correct
Events : 1
Chunk Size : 8K
Number Major Minor RaidDevice State
this 1 8 17 1 active sync /dev/sdb1
0 0 8 5 0 active sync /dev/sda5
1 1 8 17 1 active sync /dev/sdb1
ベストアンサー1
これは以前のmdadm 0.90メタデータで非常に一般的な問題です。このメタデータはデバイスの終わりのどこかにありますが、最後のセクタではなく64Kソートオフセットにあります。
スーパーブロックの長さは4Kで、デバイスの端で少なくとも64Kで128K未満の64Kアライメントブロックに書き込まれます(つまり、スーパーブロックのアドレスを取得し、デバイスサイズを64Kの倍数に下げます)。を押してから64Kを引きます。
源泉:https://raid.wiki.kernel.org/index.php/RAID_superblock_formats#The_version-0.90_Superblock_Format
残念ながら、64Kの倍数ではないディスク全体の場合は、ディスクの端に非常に近い拡張パーティションがあります(最後の64Kブロックまで)。これは、最後のパーティションのスーパーブロック位置がDrive-wise全体のスーパーブロック位置を検索した場合、結果はまったく同じです。
mdadmのマニュアルページにもこの問題が記載されています。
0, 0.90 Use the original 0.90 format superblock. This format limits arrays to 28 component devices and limits component devices of levels 1 and greater to 2 terabytes. It is also possible for there to be confusion about whether the superblock applies to a whole device or just the last partition, if that partition starts on a 64K boundary.
また、間接的に別の解決策を提案します。パーティションを64Kでソートするように設定しないと、パーティションのスーパーブロックはディスクと64Kでソートされないため、ディスク全体のスーパーブロックと見なすことはできません。
しかし、あなたの場合、パーティションはMiBでソートされ、64Kでソートされます。パーティションのスーパーブロック位置はで2048(start) + 5860531087(size) - 15(size%128) = 5860532992
、ディスクのスーパーブロック位置はです5860533168(size) - 48(size%128) - 128 = 5860532992
。
つまり、ここには2つのスーパーブロックはありません。同じです。メッセージのアドバイスに従い、どちらかを選択すると、mdadm --zero-superblock
最終的に両方が失われます。だからお願いしないでください。
システムの場合、mdadm.confにDEVICE行を追加するのは簡単な回避策ですが、mdadm.confなしでLive CDまたはInitramfsを起動すると問題が再び発生します。
これは、0.90メタデータを避けるべきいくつかの理由の1つです。代わりに1.xメタデータを使用してください。
mdadm
0.90メタデータ形式から1.0メタデータ形式に変換できます。例:
mdadm --stop /dev/mdX
mdadm --assemble /dev/mdX --update=metadata /dev/sdx1 /dev/sdy1
マンページから:
メタデータオプションはv0.90メタデータ配列でのみ機能し、これをv1.0メタデータに変換します。アレイはダーティではなく(つまり、同期は不要です)、書き込みビットマップを持つことはできません。
デフォルトの1.2メタデータ(終わりではなく先頭)を使用する方が良いですが、すべてのデータを移動する必要があり、内部変換は不可能です。