একটি লিনাক্স RAID5 অ্যারে নিরাপদে একটি এখনও-ব্যর্থ ডিস্কটি কীভাবে নিরাপদে প্রতিস্থাপন করবেন?


26

আমার 4 টি ডিস্কে একটি সফ্টওয়্যার RAID5 অ্যারে (লিনাক্স এমডি) রয়েছে।

আমি অ্যারেটিকে অবনমিত অবস্থায় না রেখে এবং যদি সম্ভব হয় তবে অনলাইনে একটি ডিস্কের একটি নতুন দিয়ে প্রতিস্থাপন করতে চাই । কীভাবে সম্ভব হবে?

এটি গুরুত্বপূর্ণ কারণ আমি চাই না:

  • অন্যান্য ডিস্কগুলিকে চাপ দেওয়ার ঝুঁকি নিন যাতে কোনও পুনর্নির্মাণের সময় ক্রাশ হতে পারে,
  • "না-সাম্য অবস্থায়" থাকার ঝুঁকি নিন যাতে আমার কিছু সময়ের জন্য সুরক্ষা জাল না থাকে।

আমি মনে করি অনলাইনে করা খুব বেশি জিজ্ঞাসা করছে এবং আমার কেবল ddপুরানো ডিস্কের ডেটা নতুন অফলাইনে কপি করা উচিত ( এবং তারপরে এটি প্রতিস্থাপন করা উচিত) তবে আমি মনে করি এটি তাত্ত্বিকভাবে সম্ভব ...

কিছু প্রসঙ্গ : এই ডিস্কগুলি প্রায় 5.5 বছরেরও বেশি সময় ধরে প্রায় অবিচ্ছিন্নভাবে ঘুরছে। তারা এখনও মুহুর্তের জন্য নিখুঁতভাবে কাজ করে এবং তারা সকলেই (দীর্ঘ) স্মার্ট আত্ম-পরীক্ষা পাস করে। তবে, এই 4 টি ডিস্কের মধ্যে একটিও বেশি দিন স্থায়ী হবে না বলে মনে করার কারণ রয়েছে (অনুমানযোগ্য ভবিষ্যতের ব্যর্থতা)।

উত্তর:


36

Mddm ব্যবহার করে 3.3

যেহেতু mdadm3.3 (2013 মুক্তি, সেপ্টেম্বর 3), যদি আপনি একটি আছে 3.2+ কার্নেল , আপনি এগিয়ে যেতে পারেন নিম্নরূপ:

# mdadm /dev/md0 --add /dev/sdc1
# mdadm /dev/md0 --replace /dev/sdd1 --with /dev/sdc1

sdd1আপনি যে ডিভাইসটি প্রতিস্থাপন করতে চান sdc1সেটি হল এটি করা পছন্দসই ডিভাইস এবং আপনার অ্যারেতে অতিরিক্ত হিসাবে ঘোষণা করতে হবে।

--withবিকল্প ঐচ্ছিক, যদি নির্দিষ্ট করা না, কোনো উপলব্ধ অতিরিক্ত ব্যবহার করা হবে।

পুরানো এমডিএডএম সংস্করণ

দ্রষ্টব্য: আপনার এখনও একটি 3.2+ কার্নেল প্রয়োজন ।

প্রথমে অতিরিক্ত হিসাবে একটি নতুন ড্রাইভ যুক্ত করুন ( যথাক্রমে আপনার RAID এবং ডিস্ক ডিভাইসটি প্রতিস্থাপন করুন md0এবং এর sdc1সাথে):

# mdadm /dev/md0 --add /dev/sdc1

তারপরে, sdd1এইভাবে একটি অনুলিপি-প্রতিস্থাপন অপারেশন শুরু করুন ( ব্যর্থ ডিভাইস হচ্ছে):

# echo want_replacement > /sys/block/md0/md/dev-sdd1/state 

ফল

সিস্টেম থেকে সব পাঠযোগ্য ব্লক কপি হবে sdd1থেকে sdc1। যদি এটি অপঠনযোগ্য ব্লকে আসে তবে এটি সমতা থেকে এটি পুনর্গঠন করবে। অপারেশন সম্পূর্ণ হয়ে গেলে, পূর্বের অতিরিক্ত (এখানে sdc1:) সক্রিয় হয়ে যাবে এবং ব্যর্থ ড্রাইভটি ব্যর্থ (এফ) হিসাবে চিহ্নিত করা হবে যাতে আপনি এটি অপসারণ করতে পারেন।

দ্রষ্টব্য: ক্রেডিট frostschutz এবং আনসার এস্জেটারম্যান যিনি মূল সমাধানটি খুঁজে পেয়েছেন ( সদৃশ প্রশ্নটি দেখুন )।

পুরানো কার্নেল

অন্যান্য উত্তরগুলি পরামর্শ দেয়:

  • জনি এর পদ্ধতির : RAID6 রূপান্তর অ্যারে, ডিস্ক, তারপর ফিরে RAID5 থেকে "প্রতিস্থাপন",
  • Hauke Laging এর পদ্ধতির : সংক্ষিপ্তভাবে নতুন ডিস্ক সঙ্গে RAID5 অ্যারে প্রস্তুত থেকে ডিস্ক অপসারণ, এটা একটি RAID1 (মিরর) অংশ করতে এবং RAID5 অ্যারে প্রস্তুত (তাত্ত্বিক) যে আয়না ড্রাইভ পুনরায় জুড়তে ...

2
mdadm --add--replaceকাজ করতে হবে আগে এখনও প্রয়োজন । ( mdadm3.3, উবুন্টু 15.10)। যদি আপনি না --addপরে --replace, কপি যত তাড়াতাড়ি একটি অতিরিক্ত যোগ করা হয় আরম্ভ করা হবে। (ডিভাইসটি "প্রতিস্থাপন চায়" হিসাবে চিহ্নিত থাকে)।
পিটার কর্ডস

3

এটি প্রয়োজনীয়তাগুলি পূরণ করা সম্ভব হতে পারে

  1. অনলাইন
  2. যেটি প্রতিস্থাপন করা হবে তা বাদ দিয়ে কোনও ডিস্ককে চাপ দিন না

তবে নীচেরগুলি কাজ করতে পারলেও সম্ভবত আপনি "বইগুলিতে" ধরণের কোনও সুপারিশ পাবেন না ...

ধারণা:

  1. অ্যারের বাইরে ডিস্ক ওলডি নিন (অল্প মুহূর্তের জন্য): mdadm --manage /dev/raid5 --fail /dev/OLD
  2. ওল্ড এবং নতুন ডিস্কগুলি থেকে একটি নতুন এমডি ডিভাইস (RAID-1) তৈরি করুন: mdadm --build /dev/md42 --level=mirror --raid-devices=2 /dev/OLD /dev/NEW
  3. RAID-1 পিছনে অ্যারেতে রাখুন (/ dev / OLD এর পরিবর্তে): mdadm --manage /dev/raid5 --re-add /dev/md42

কী হওয়া উচিত :-)

  1. RAID-5 সিঙ্কে / dev / md42 পায়। এটি বেশি সময় নেয় না।
  2. RAID-5 আবার স্বাভাবিকভাবে চালু হয় (তবে ধীর)।
  3. / dev / NEW / dev / OLD এর সাথে সিঙ্ক হয়।

সিঙ্কের অগ্রগতি ( cat /proc/mdstatবা mdadm --monitor) দেখুন। সিঙ্কটি সমাপ্ত হলে RAID-1 RAID-5 এর বাইরে রাখুন, RAID-1 বন্ধ করুন, RAID-5 এ পুনরায় যুক্ত / dev / NEW যুক্ত করুন। সবকিছু ঠিকঠাক থাকলে সমস্যা এড়াতে ম্যানড্রয়েড সুপারব্লকগুলি / dev / ওএলডি ওভাররাইট করুন:mdadm --zero-superblock

সতর্কতা: দ্রুত বিআইডি -5 সিঙ্কটি কেবলমাত্র আপনি বিটম্যাপ ব্যবহার করলেই কাজ করতে পারে। আপনার যদি না থাকে তবে প্রথমে ডামি RAID-5 (বিটম্যাপ ছাড়াই) দিয়ে আরও ভাল করে পরীক্ষা করুন। অথবা একটি যোগ করুন। কমপক্ষে একটি বাহ্যিক যুক্ত করা সম্ভব হবে। অন্যথায় ডিভাইসগুলি পরিবর্তন করার আগে RAID-5 বন্ধ করা প্রয়োজন হতে পারে। আপনি যদি RAID-5 থেকে বুট করেন তবে এটি কিছুটা জটিল হয়ে উঠবে।


3

আপনি যদি RAID-6 (1 টির পরিবর্তে 2 টি প্যারিটি ডিস্ক) চালাতে আপত্তি করেন না এবং আপনি m دادmin 3.1.x বা তারও বেশি উচ্চতর চালাচ্ছেন তবে একটি অতিরিক্ত প্যারিটি ডিস্ক যুক্ত করতে আপনি আপনার RAID-5 অ্যারেটিকে RAID-6 এ রূপান্তর করতে পারেন । তবে এটি পুনর্নির্মাণের সময় চাপের মধ্যে অ্যারে রাখবে। লেখার সময় আপডেট করার মতো আরও প্যারিটি ডিস্ক থাকার কারণে এটিতে কিছু কার্য সম্পাদনমূলক প্রভাব রয়েছে।

তবে যদি এটি সফলভাবে সম্পন্ন হয়, তবে আপনি নিজের ব্যর্থতা ডিস্কটি জায়গায় রাখতে পারেন এবং শেষ পর্যন্ত এটি ব্যর্থ হয়ে গেলে আপনি এখনও অ্যারের জন্য সাম্য সুরক্ষা পেয়েছেন। আমার মনে হয় আপনি যদি RAID6 হিসাবে রাখার অপেক্ষা না করেন তবে আপনি RAID6 থেকে অ্যারেটিকে RAID5 এ রূপান্তর করতে পারবেন।

অ্যারেটিকে RAID-5 হিসাবে রাখার এবং অ্যারাকে অবনমিত মোডে না রেখে ডিস্কটি প্রতিস্থাপন করার কোনও অনলাইন উপায় আমি জানি না, কারণ আমি মনে করি আপনাকে এটি প্রতিস্থাপন করতে ব্যর্থ হিসাবে চিহ্নিত করতে হবে। আপনার ডিডি কপি ধারণাটি এটি করার উপায় হতে পারে।


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