Solusi 1:
Informasi ini mungkin sudah terlambat untuk membantu OP, tetapi mungkin akan membantu orang lain.
Perintah pertama menghapus blok super dan perintah kedua membuat larik baru tetapi menganggap perangkat bersih. Saya baru saja melakukan ini dan semuanya tampak baik-baik saja. Saya pasti akan merekomendasikan cadangan sebelum melakukan ini. Saya tidak kehilangan data dan karena itu tidak ada integritas untuk diperiksa. Saya hanya ingin menghindari sinkronisasi ulang 4 jam lagi.
$ mdadm --zero-superblock /dev/sd[a-z]1
$ mdadm --create /dev/md0 --assume-clean \
--level=10 --raid-devices=10 /dev/sd[a-z]1 --metadata=0.90
Solusi 2:
Membuat larik dengan metadata yang bersih dan tidak konsisten seperti yang disarankan di atas tentu berpotensi merusak data yang ada, karena blok metadata 0.90 dan 1.2 tidak hanya berbeda dalam ukuran tetapi juga lokasi.
mungkin bekerja untuk 0.90 <-> 1.0, yang merupakan pengecualian.
https://raid.wiki.kernel.org/index.php/RAID_superblock_formats
Solusi 3:
Wiki GRUB mengonfirmasi:
Selain itu, (per 1.96+20080724) GRUB hanya dapat melakukan booting dari RAID yang menggunakan superblok metadata Versi 0.90 (yaitu yang dibuat dengan opsi --metadata=0.90 ke mdadm).
Anehnya, halaman manual untuk mdadm mengatakan
-e , --metadata=
Deklarasikan gaya superblock (raid metadata) yang akan digunakan. Standarnya adalah 0,90 untuk --create, dan untuk menebak untuk operasi lainnya.
Saya akan mengecek dengan mdadm -Q -D <device>
untuk memastikan.
Setelah itu, level RAID apa yang Anda jalankan? Skenario terbaik yang dapat saya pikirkan untuk mirror (RAID 1) adalah
- Ambil cadangan
- Lepas larik 0
- Hapus perangkat A dari larik 0 dari
n
perangkat - Nol superblok di perangkat A
- Buat larik 1 menggunakan perangkat A dan
n-1
suku cadang, secara eksplisit menggunakan format superblok lama - Ulangi untuk sisa B hingga
n-1
perangkat - (Opsional) penomoran ulang array
... tetapi pastikan Anda benar-benar harus menyelesaikan ini!