GNU/Linux >> Belajar Linux >  >> Linux

Bisakah Anda mengubah versi metadata pada larik yang ada?

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

  1. Ambil cadangan
  2. Lepas larik 0
  3. Hapus perangkat A dari larik 0 dari n perangkat
  4. Nol superblok di perangkat A
  5. Buat larik 1 menggunakan perangkat A dan n-1 suku cadang, secara eksplisit menggunakan format superblok lama
  6. Ulangi untuk sisa B hingga n-1 perangkat
  7. (Opsional) penomoran ulang array

... tetapi pastikan Anda benar-benar harus menyelesaikan ini!


Linux
  1. Bisakah GDB mengubah kode rakitan dari program yang sedang berjalan?

  2. Bagaimana saya bisa mengubah versi php-cli di Ubuntu 14.04?

  3. Bisakah mprotect() digunakan untuk mengubah izin .rodata?

  1. 3 hal berguna yang dapat Anda lakukan dengan alat IP di Linux

  2. Bisakah Saya Mengubah Warna Tab Di Gedit?

  3. Bagaimana cara menemukan versi Fedora yang saya gunakan?

  1. Bagaimana Anda bisa mengidentifikasi chipset perangkat usb di Linux?

  2. Bagaimana Anda bisa menentukan versi terinstal dari pustaka glibc?

  3. Bagaimana saya bisa mengubah tata letak keyboard input saat berada di konsol?