मैं अपने MDADM RAID5 सरणी को कैसे पुन: सक्रिय करूं?


22

मैंने अभी-अभी घर को स्थानांतरित किया है जिसमें मेरे सर्वर को नष्ट करना और इसे फिर से जोड़ना शामिल है। ऐसा करने के बाद से, मेरे MDADM RAID5 सरणियों में से एक निष्क्रिय दिखाई दे रहा है:

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>

यह मुझे लगता है जैसे कि यह डिस्क के सभी मिल गया है, लेकिन किसी कारण के लिए उन्हें इस्तेमाल नहीं करना चाहता है।

तो (एस) लेबल का क्या मतलब है और मैं एमडीएडीएम को फिर से सरणी का उपयोग शुरू करने के लिए कैसे कह सकता हूं?

[संपादित करें] मैंने केवल सरणी को रोकने और संयोजन करने की कोशिश की -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.

.. और बिल्ली में प्रवेश करना /proc/mdstatअलग नहीं दिखता।

[Edit2] निश्चित नहीं है कि यह मदद करता है लेकिन यह प्रत्येक डिस्क की जांच का परिणाम है:

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

मेरे पास कुछ नोट्स हैं जो सुझाव देते हैं कि ड्राइव मूल रूप से इकट्ठे किए गए थे:

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

[Edit3]

(के आधार पर लॉग यह लग रहा है निम्नलिखित की तरह हुआ के माध्यम से देख रहे हैं Update Timeमें --examineपरिणाम):

  1. sdb और sdf को 20 वीं पर 13:22 के कुछ समय बाद खटखटाया गया
  2. sdd को 20 तारीख को 18:37 के कुछ समय बाद खटखटाया गया
  3. 1 पर 14:00 के बाद सर्वर को कुछ समय के लिए बंद कर दिया गया था

यह देखते हुए कि दो डिस्क एक साथ (जाहिरा तौर पर) नीचे चली गईं, मुझे लगता है कि यह मानने के लिए यह सुरक्षित होना चाहिए कि सरणी उस बिंदु (?) पर लिखी नहीं गई होगी और इसलिए इसे फिर से इंस्टेंट करने के लिए मजबूर करना अपेक्षाकृत सुरक्षित होना चाहिए? सही क्रम? ऐसा करने के लिए सबसे सुरक्षित आदेश क्या है और क्या कोई बदलाव लिखे बिना इसे करने का एक तरीका है?

जवाबों:


28

Sलेबल का मतलब डिस्क के रूप में "अतिरिक्त" माना जाता है। आपको सरणी को रोकने और फिर से शुरू करने का प्रयास करना चाहिए:

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

सरणी को फिर से इकट्ठा करने के लिए और अगर वह काम नहीं करता है, तो आपको अपना अपडेट करने की आवश्यकता हो सकती है mdadm.conf, उदाहरण के लिए यह विवरण देखें कि यह कैसे करना है।


कोशिश की (और कहा कि -vक्या हो रहा था देखने के लिए जोड़ा गया है), लेकिन सभी डिस्क जो जोड़ा जाना चाहिए निम्नलिखित पंक्तियों के साथ प्रतिक्रियाएं प्राप्त होती हैं mdadm: /dev/sdb1 is busy - skipping:।
जॉन केज

बस md0 बंद करो और सरणी को फिर से इकट्ठा करो
krzna

कोशिश की है कि - अभी भी कोई किस्मत नहीं है (मेरा संपादन देखें)
जॉन केज

2
ठीक है, ऐसा लगता है कि यह सोचता है कि RAID ठीक से बंद नहीं हुआ था, यदि आप सुनिश्चित हैं कि यह नहीं था, तो प्रयास करें -Rया -f। यदि वह विफल रहता है, तो भी, सरणी का उपयोग करके फिर से बनाएं mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1। सावधान रहें: ये सभी विकल्प आपके डेटा को नष्ट कर सकते हैं।
स्टीफन सेडेल

3
खैर मैं इसके लिए गया और mdadm --assemble --scan --forceकाम किया। सरणी बैक अप और चल रही है और मेरे पास मेरे डेटा तक पहुंच है :)
जॉन केज

9

यह सवाल थोड़ा पुराना है, लेकिन इसका जवाब किसी को इसी तरह की स्थिति का सामना करने में मदद कर सकता है। आपके द्वारा प्रदान किए गए mdadm --examine आउटपुट से ईवेंट की गणना को देखते हुए , वे काफी करीब लगते हैं (955190 - sdb1 और sdf1 के लिए, sde1 के लिए 955219 और sdd1 के लिए आपने 949205 प्राप्त किया है)। यदि वे 40-50 से कम हैं, तो यह ठीक है, और उस स्थिति में कार्रवाई का अनुशंसित पाठ्यक्रम मैन्युअल रूप से आपके सरणी को इकट्ठा करना है, घटना की गिनती के अंतर के बावजूद ड्राइव को स्वीकार करने के लिए mdadm को मजबूर करना:

सरणी रोकें:

mdadm --stop /dev/md0

फिर सरणी को मैन्युअल रूप से पुन: एकत्रित करने का प्रयास करें:

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

सरणी की स्थिति की जांच करें, यह जांचने के लिए कि क्या ड्राइव सूची / संरचना ठीक है (कमांड आउटपुट का निचला भाग दिखाएगा कि ड्राइव किस स्थिति में है और सरणी में किस स्थिति में है):

mdadm --detail /dev/md0

यदि संरचना ठीक है, तो पुनर्निर्माण प्रगति की जांच करें:

cat /proc/mdstat

0

आप नीचे दिए गए कमांड से RAID md0 को सक्रिय कर सकते हैं

mdadm -A /dev/md0

और यह कमांड mdadm.conf फाइल को अपडेट करने के लिए

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.