मुलायम RAID से ड्राइव निकालें


11

मेरे पास RAID में 3 SSD ड्राइव के साथ एक समर्पित सर्वर है। बिल्ली / प्रॉड / mdstat का आउटपुट:

    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
      106738624 blocks [3/3] [UUU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
      5497792 blocks [3/3] [UUU]

md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
      259008 blocks [3/3] [UUU]

unused devices: <none>

? बिना किसी डेटा को खोए एक ड्राइव को सॉफ्ट रेड से सुरक्षित तरीके से कैसे हटाया जा सकता है ? मैं सबसे महत्वपूर्ण डेटा मिरर किए रहते हुए, इसे पुन: स्वरूपित करने के लिए और इसे स्वतंत्र रूप से उपयोग करने के लिए सरणी से एक ड्राइव निकालना चाहूंगा।

अग्रिम में धन्यवाद

जवाबों:


20

आपको वहां एक तीन-तरफा दर्पण मिला है: प्रत्येक ड्राइव में सभी डेटा की पूरी प्रतिलिपि है। ड्राइव आप निकालना चाहते हैं यह मानते हुए है /dev/sdc, और आप सभी तीन सरणियों से इसे हटाने के लिए चाहते हैं, आप के लिए निम्न चरणों का पालन होता है /dev/sdc1, /dev/sdc2और /dev/sdc4

चरण 1: ड्राइव को सरणी से निकालें। आप किसी ऐक्टिव डिवाइस को किसी ऐरे से नहीं निकाल सकते, इसलिए आपको इसे पहले फेल करने की जरूरत है।

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

चरण 2: RAID मेटाडेटा को मिटा दें ताकि कर्नेल इसे फिर से जोड़ने की कोशिश न करे:

wipefs -a /dev/sdc1

चरण 3: सरणी को सिकोड़ें ताकि यह केवल एक दो-तरफा दर्पण हो, न कि तीन-तरफा दर्पण एक लापता ड्राइव के साथ:

mdadm --grow /dev/md1 --raid-devices=2

इसे लिखने से /dev/md4पहले आपको लिखने के इरादे वाले बिटमैप को हटाने की आवश्यकता हो सकती है (मैनुअल इस पर स्पष्ट नहीं है), जिस स्थिति में आप चरण 3 से ठीक पहले ऐसा करेंगे mdadm --grow /dev/md4 --bitmap=none, उसके बाद इसे वापस रख दें mdadm --grow /dev/md4 --bitmap=internal


क्या यह डिस्क पर मौजूद डेटा को संरक्षित करता है जिसे आप हटाते हैं? यानी क्या आप उस डेटा तक पहुंच सकते हैं जो अलग डिस्क से भी RAID पर था?
कोई भी

2
@ कोई नहीं, यदि आप हटाए गए ड्राइव से डेटा पढ़ना चाहते हैं, तो आपको चरण 2 को छोड़ देना चाहिए। वस्तुतः सभी डेटा चलने के बाद भी रहता है wipefs(यह फाइलसिस्टम मान्यता के लिए आवश्यक कुछ प्रमुख बाइट्स को मिटा देता है), लेकिन इसे पढ़ना एक अभ्यास बन जाता है डेटा रिकवरी के बजाय ड्राइव में प्लग करने की बात है।
मार्क

0

आदमी mdadm:

   -r, --remove
          remove listed devices.  They must  not  be  active.   i.e.  they
          should be failed or spare devices.

          As well as the name of a device file (e.g.  /dev/sda1) the words
          failed, detached and names like set-A can be given to  --remove.
          The  first  causes  all failed device to be removed.  The second
          causes any device which is no longer  connected  to  the  system
          (i.e  an  'open'  returns  ENXIO) to be removed.  The third will
          remove a set as describe below under --fail.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.