Bagaimana cara mengaktifkan kembali susunan RAID5 MDADM saya?

22

Saya baru saja pindah rumah yang melibatkan pembongkaran server saya dan menghubungkan kembali. Sejak itu, salah satu array RAID5 MDADM saya tampak tidak aktif:

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

Sepertinya saya menemukan semua disk tetapi untuk beberapa alasan tidak ingin menggunakannya.

Jadi apa arti label (S) dan bagaimana saya bisa memberi tahu MDADM untuk mulai menggunakan array lagi?

[Sunting] Saya baru saja mencoba menghentikan dan merakit array dengan -v:

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

..dan memasuki kucing /proc/mdstatterlihat tidak berbeda.

[Sunting2] Tidak yakin apakah itu membantu tetapi ini adalah hasil dari memeriksa setiap disk:

root @ mserver: ~ # mdadm --examine / dev / sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       17        1      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

root @ mserver: ~ # mdadm --examine / dev / sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8      113        0      active sync   /dev/sdh1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       97        2      active sync   /dev/sdg1

   0     0       0        0        0      removed
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       33        3      active sync   /dev/sdc1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

Saya punya beberapa catatan yang menyarankan drive awalnya dirakit sebagai berikut:

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[Edit3]

Melihat melalui log terlihat seperti berikut ini terjadi (berdasarkan Update Timepada --examinehasil):

  1. sdb dan sdf tersingkir beberapa saat setelah 13:22 pada tanggal 20
  2. sdd tersingkir beberapa waktu setelah 18:37 pada tanggal 20
  3. server dimatikan beberapa saat setelah 14:00 pada tanggal 1

Mengingat bahwa dua disk turun (tampaknya) secara bersamaan saya pikir itu seharusnya cukup aman untuk mengasumsikan array tidak akan ditulis setelah titik (?) Dan sehingga relatif aman untuk memaksa itu untuk menginstal ulang di dalam pesanan yang benar? Apa perintah teraman untuk melakukannya dan apakah ada cara untuk melakukannya tanpa menulis perubahan?

Jon Cage
sumber

Jawaban:

28

The Slabel berarti disk dianggap sebagai "cadangan". Anda harus mencoba menghentikan dan memulai kembali array:

  mdadm --stop /dev/md0
  mdadm --assemble --scan

untuk merakit kembali array dan jika itu tidak berhasil, Anda mungkin perlu memperbarui mdadm.conf, lihat misalnya pertanyaan ini untuk detail tentang cara melakukannya.

Stefan Seidel
sumber
Mencobanya (dan ditambahkan -vuntuk melihat apa yang sedang terjadi) tapi semua disk yang harus ditambahkan mendapatkan tanggapan sepanjang baris berikut: mdadm: /dev/sdb1 is busy - skipping.
Jon Cage
hentikan md0 dan pasang kembali array
krizna
mencobanya - masih belum berhasil (lihat edit saya)
Jon Cage
2
Ok, sepertinya berpikir bahwa RAID tidak dimatikan dengan benar, jika Anda yakin itu tidak, coba -Ratau -f. Jika itu gagal juga, buat ulang array menggunakan mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1. Diperingatkan: Semua opsi ini dapat merusak data Anda.
Stefan Seidel
3
Yah saya pergi untuk itu dan mdadm --assemble --scan --forcebekerja. Array kembali dan berjalan dan saya memiliki akses ke data saya :)
Jon Cage
9

Pertanyaan ini agak lama, tetapi jawabannya mungkin membantu seseorang menghadapi situasi serupa. Melihat jumlah kejadian dari mdadm - output yang Anda berikan, mereka tampaknya cukup dekat (955190 - untuk sdb1 dan sdf1, 955219 untuk sde1 dan untuk sdd1 Anda punya 955205). Jika mereka di bawah 40-50, ini OK, dan dalam hal itu tindakan yang disarankan adalah merakit array Anda secara manual, memaksa mdadm untuk menerima drive meskipun ada perbedaan hitungan acara:

Hentikan array:

mdadm --stop /dev/md0

Kemudian cobalah memasang kembali array secara manual:

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

Periksa status array, untuk memeriksa apakah daftar drive / struktur OK (bagian bawah output perintah akan menunjukkan drive mana pada status apa dan di posisi mana dalam array):

mdadm --detail /dev/md0

Jika strukturnya OK, periksa kemajuan pembangunan kembali:

cat /proc/mdstat
Milen
sumber
0

Anda dapat mengaktifkan Raid md0 dengan perintah di bawah ini

mdadm -A /dev/md0

dan perintah ini untuk memperbarui file mdadm.conf

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
krizna
sumber