Perluas larik Linux MD RAID 10 untuk menggunakan disk yang lebih besar

11

Dari apa yang saya pahami ini mungkin, tetapi saya tidak dapat menemukan jawaban langsung di mana pun tentang bagaimana tepatnya melakukannya, dan saya tidak ingin mengambil risiko kehilangan data dengan melakukan eksperimen sendiri, jadi saya bertanya di sini.

Saya memiliki server rumah dengan lima disk yang menjalankan CentOS. Salah satunya adalah SSD yang memegang OS. Keempat disk yang tersisa adalah hard drive 4TB yang dikonfigurasi dalam RAID10 dengan mdraid. Sistem file yang digunakan adalah xfs.

Saya sedang mempertimbangkan untuk mencoba mengganti disk 4TB dengan yang 8TB. Apa sebenarnya yang perlu dilakukan untuk membuat penggantian ini terjadi tanpa harus mengkonfigurasi ulang RAID baru dan kehilangan data?

Details output:

[root@fluttershy ~]# mdadm -D /dev/md127
/dev/md127:
        Version : 1.2
  Creation Time : Mon Apr 18 12:46:24 2016
     Raid Level : raid10
     Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
  Used Dev Size : 3906885632 (3725.90 GiB 4000.65 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Jun 13 11:04:41 2016
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : fluttershy:data  (local to host fluttershy)
           UUID : aa8f857a:g8bd0344:06d2f6d3:bac01a46
         Events : 13440

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync set-A   /dev/sda1
       1       8       17        1      active sync set-B   /dev/sdb1
       2       8       33        2      active sync set-A   /dev/sdc1
       3       8       49        3      active sync set-B   /dev/sdd1
Kefka
sumber

Jawaban:

14

Selesaikan langkah-langkah berikut untuk setiap disk; ganti /dev/sda1dengan disk lain sesuai kebutuhan. Anda harus menyelesaikan semua langkah ini untuk satu disk sebelum Anda dapat melanjutkan ke disk berikutnya.

  • Tandai disk sebagai gagal sehingga MD berhenti menggunakannya: mdadm --manage /dev/md127 --fail /dev/sda1
  • Hapus disk dari array: mdadm --manage /dev/md127 --remove /dev/sda1
  • Ganti disk secara fisik.
  • Partisi disk baru menggunakan tipe 0xDAdengan satu partisi yang mencakup seluruh disk.
  • Tambahkan disk baru ke array: mdadm --manage /dev/md127 --add /dev/sda1

MD akan membangun kembali array setelah Anda menambahkan disk pengganti. Pastikan pembangunan kembali selesai sebelum Anda melanjutkan ke disk berikutnya. Anda dapat memeriksa status array dengan menjalankan cat /proc/mdstat.

Setelah semua disk diganti dan array dibangun kembali, perluas array untuk mengisi kapasitas maksimum semua disk mdadm --grow /dev/md127 --size=max. Anda dapat mengubah ukuran sistem file dari sana untuk mengisi RAID yang diperluas; dalam kasus Anda, gunakan xfs_growfsperintah.

Informasi lebih lanjut tentang bagaimana untuk tumbuh array MD tersedia di Linux RAID wiki .

Seperti halnya tugas manipulasi disk lain, Anda harus mengambil cadangan sebelum memulai.

bwDraco
sumber
1
Mungkin tambahkan cara Anda memeriksa progres pembangunan kembali ->tim@MushaV3 ~ $ cat /proc/mdstat Personalities : [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] md1 : active raid1 sdb1[0] sda1[1] 131008 blocks [2/2] [UU] bitmap: 0/1 pages [0KB], 65536KB chunk
djsmiley2kStaysInside
2

Anda ingin menukar setiap disk satu per satu terlebih dahulu.

Untuk melakukan ini Anda akan 'gagal' masing-masing disk, dan menggantinya dengan itu penggantian 8Tb baru, jika Anda memiliki port cadangan, Anda dapat menambahkan disk tambahan, kemudian minta mdadm 'ganti' di tempat daripada menghapus disk dari serangan dan memiliki risiko kegagalan yang lebih tinggi.

Pertanyaan ini merinci cara terbaik yang dapat saya temukan untuk melakukannya dengan 'aman'

Setelah Anda melakukan ini, Anda hanya perlu memperluas FS yang ada ke ruang yang baru dibuat. Tampaknya perintah untuk ini adalah 'xfs_growfs' namun saya belum punya pengalaman dengan xfs untuk menjelaskan bagaimana tepatnya Anda melakukan ini.

Seperti biasa, siapkan cadangan (dan serangan bukan cadangan!).

djsmiley2kStaysInside
sumber
Diatur dengan serangan 10 dan mdraid, apakah ruang ekstra itu bahkan dikenali? Haruskah saya bertukar dua sekaligus, satu dari masing-masing pasangan cermin?
Kefka
Anda hanya menambahkan ruang setelah menukar semua disk, dan kemudian ya itu akan dikenali.
djsmiley2kStaysInside