এমডিএডএম: RAID 1 তে উপাদানগুলি সরানো যায় না can't


14

এমডিএডিএম ব্যবহার করে আমার একটি RAID 1 অ্যারেতে আমার / বুট পার্টিশনটি রয়েছে। এই অ্যারে অতীতে কয়েকবার হ্রাস পেয়েছে এবং প্রতিবার আমি যখন শারীরিক ড্রাইভটি সরিয়ে ফেলি, একটি নতুন যুক্ত করি, অ্যারেটিকে স্বাভাবিক অবস্থায় আনি, এটি একটি নতুন ড্রাইভ চিঠি ব্যবহার করে। পুরানোটিকে এখনও অ্যারেতে রেখে ব্যর্থ হয়েছে। আমি আর উপস্থিত নেই এমন সমস্ত উপাদানগুলি সরিয়ে ফেলতে পারি না।

[root@xxx ~]# cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sdg1[10] sde1[8](F) sdb1[7](F) sdd1[6](F) sda1[4] sdc1[5]
      358336 blocks super 1.0 [4/3] [UUU_]

অ-অস্তিত্বের ড্রাইভ এবং পার্টিশনগুলি সরিয়ে দেওয়ার চেষ্টা করেছি এখানে। উদাহরণস্বরূপ /dev/sdb1,।

[root@xxx ~]# mdadm /dev/md0 -r /dev/sdb1
mdadm: Cannot find /dev/sdb1: No such file or directory
[root@xxx ~]# mdadm /dev/md0 -r faulty
mdadm: Cannot find 8:49: No such file or directory
[root@xxx ~]# mdadm /dev/md0 -r detached
mdadm: Cannot find 8:49: No such file or directory

8:49আমার বিশ্বাস যে দেখানো প্রধান এবং অপ্রাপ্তবয়স্ক সংখ্যাকে বোঝায় --detail, তবে এখান থেকে কোথা থেকে যাব আমি নিশ্চিত নই। আমি পুনরায় বুট করা বা এমডিএডএম পুনরায় চালু করার চেষ্টা করছি।

[root@xxx ~]# mdadm --detail /dev/md0 
/dev/md0:
        Version : 1.0
  Creation Time : Thu Aug  8 18:07:35 2013
     Raid Level : raid1
     Array Size : 358336 (350.00 MiB 366.94 MB)
  Used Dev Size : 358336 (350.00 MiB 366.94 MB)
   Raid Devices : 4
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Sat Apr 18 16:44:20 2015
          State : clean, degraded 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 3
  Spare Devices : 0

           Name : xxx.xxxxx.xxx:0  (local to host xxx.xxxxx.xxx)
           UUID : 991eecd2:5662b800:34ba96a4:2039d40a
         Events : 694

    Number   Major   Minor   RaidDevice State
       4       8        1        0      active sync   /dev/sda1
      10       8       97        1      active sync   /dev/sdg1
       5       8       33        2      active sync   /dev/sdc1
       6       0        0        6      removed

       6       8       49        -      faulty
       7       8       17        -      faulty
       8       8       65        -      faulty

দ্রষ্টব্য: অ্যারে এখনই বৈধভাবে অবনমিত হয়েছে এবং আমরা কথা বলার সাথে সাথে আমি সেখানে একটি নতুন ড্রাইভ পাচ্ছি। তবে উপরে যেমন আপনি দেখতে পাচ্ছেন, তাতে কিছু আসে যায় না। আমার এখনও /dev/sdb1এই অ্যারে থেকে সরাতে সক্ষম হওয়া উচিত ।


"মুছে ফেলা" অবস্থায় একটি ডিস্ক অপসারণ করতে আপনার একটি ফোর্স লাগবে না এবং এটি আরও গুরুতর সমস্যা লুকিয়ে রাখতে পারে। ছেড়ে দাও।

উত্তর:


16

এটি কারণ আপনার সিস্টেমে ডিভাইস নোডের অস্তিত্ব নেই (সম্ভবত ড্রাইভের মৃত্যুর পরে উদেব সেগুলি সরিয়ে ফেলে)। আপনার কীওয়ার্ড ব্যবহার করে failedবা detachedপরিবর্তে সেগুলি সরাতে সক্ষম হওয়া উচিত :

mdadm -r /dev/md0 failed     # all failed devices
mdadm -r /dev/md0 detached   # failed ones that aren't in /dev anymore

যদি আপনার এমডিএমএম সংস্করণটি এটির জন্য খুব পুরানো হয় তবে আপনি mknodডিভাইসটিকে আবার বিদ্যমান থাকতে আইজি দ্বারা এটি কাজ করতে সক্ষম হতে পারেন । অথবা, সত্যই, কেবল এটিকে এড়িয়ে যান really এটি আসলেই কোনও সমস্যা নয় এবং পরবর্তী বার পুনরায় বুট করার সময় চলে যাওয়া উচিত।


আমি কীওয়ার্ডগুলি ব্যবহার করে চেষ্টা করেছি, আপনি মূল পোস্টে এটি আমাকে যে আউটপুট দিয়েছেন তা দেখতে পারেন। আমি একবার দেখে নেব mknod। হ্যাঁ, এটি সম্ভবত কোনও সমস্যা নয়, তবে আমি ওসিডি, লোল।
সজন পরীখ

হ্যাঁ, আমি এই কাজটি করতে mknod ব্যবহার করেছি এবং এটি কাজ করেছে।
সাজান পরীখ

@ সাজনপরিখ সত্যই, কোনওভাবেই আমি লাইনগুলি মিস করে দেখিয়ে দিয়েছি যে আপনি ইতিমধ্যে ব্যর্থ এবং আলাদা করার চেষ্টা করেছেন। খুশি যে mknod কাজ করেছে।
ডারোবার্ট

6

আমি mknodযা করতে পেরেছি তা mdadmহল @ डरবার্টের মতো সন্ধান করা ডিভাইসগুলি তৈরি করার পরামর্শ দেওয়া হয়েছিল। আমি চেষ্টা করেছি যে বড় / ছোট সংখ্যাটি এমডিএম আমাকে বলছিল যে এটি কাজ না করা পর্যন্ত আমি যে বিভিন্ন ড্রাইভের অক্ষরগুলি সরাতে চাইছিলাম তা খুঁজে পেতে পারে না।

mknod /dev/sde1 b 8 17

তারপরে আমাকে --forceএটির উপাদানটি সরানোর জন্য বিকল্পটি ব্যবহার করতে হবে।

mdadm /dev/md0 --remove --force /dev/sde1

তারপরে, আমি সেই তৈরি ব্লক ডিভাইসটি সরিয়েছি।

rm /dev/sde1

হুম ... 8:17 হ'ল এসডিবি 1। (8:65 sde1) তবে এটি খুব অনুপস্থিত ছিল, তাই আমি অনুমান করি যে এটি কাজ করে ...
ডারোবার্ট

এটি আমার পক্ষে কাজ করেনি, mdadmঅবিরত বলেছিলেন: "ডিভাইস বা রিসোর্স ব্যস্ত", তবে এটি আমাকে জাল ব্লক ডিভাইস দিয়ে নয়, বরং একটি "সত্য" ব্লক ডিভাইস যেমন একটি লুপব্যাক মাউন্ট ইমেজ দিয়ে খাওয়ানোর চেষ্টা করেছিল। এই মুহুর্তে, আমি আবিষ্কার করেছি যে আমার কাছে বাসি /dev/loopছিল যা এখনও অবনমিত অ্যারেতে একটি ফাইল ব্যবহার করে। আমি এটিকে বিযুক্ত করেছিলাম এবং অবশেষে mdadmআমাকে অ্যারেটি থামিয়ে দিন। Horay! এটি পড়ার জন্য প্রত্যেকের জন্য mdadm, এ জাতীয় ঝাঁকুনির জন্য সর্বদা একটি যৌক্তিক ব্যাখ্যা থাকে , সুতরাং কোনও বাসি প্রক্রিয়া / ফাইল / মাউন্টপয়েন্ট / এনএফএস হ্যান্ডলার / খোলা ব্যাশ / লুপব্যাক ডিভাইস / ইত্যাদি সন্ধান করুন। এখনও অবনমিত অ্যারে ব্যবহার করে। :)
এভিও

আমি নকল / দেব / এসডিবি 2 ডিভাইসটি এমকেএনড করতে ঠিক একই প্রধান এবং গৌণ সংস্করণগুলি (আমার ক্ষেত্রে 8:18) ব্যবহার করতে সক্ষম হয়েছি। এর পরে, m دادm --remove / proc / mdstat থেকে / dev / sdb2 এর বাসি রেকর্ডটি মোছা হয়েছে। Rm / dev / sdb2 সাফল্যের পরে মনে রাখবেন - অপসারণ কর্ম।
ILIV

3

অ্যারেতে ডিস্কের সংখ্যা হ্রাস করে আপনি ঠিক করতে পারেন:

আমার ক্ষেত্রে আমি অভিযান -1 অ্যারেটি /dev/md0দিয়ে /dev/sda1"সরানো" করেছি। কেবল একটি ড্রাইভ ব্যবহার করতে আমি কেবল এটি সঙ্কুচিত করেছি:

mdadm -G /dev/md0 --raid-devices=1 --force

এর পরে সরানো সত্যই সরানো হয়েছে (আর কোনও সরানো রেখা নেই mdadm --detail)


যদিও আপনাকে এই পদ্ধতির সাথে সাবধানতা অবলম্বন করতে হবে। - ড্রয়েড-ডিভাইসগুলি সংশোধন করার আগে আপনি কোন ধরণের রেড ব্যবহার করছেন তা ভালভাবে বুঝতে পারেন।
ILIV
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.