ডেটা পুনরুদ্ধার এবং ব্যর্থ সফ্টওয়্যার RAID পুনর্নির্মাণ কিভাবে - অংশ 8


এই RAID সিরিজের পূর্ববর্তী নিবন্ধগুলিতে আপনি শূন্য থেকে RAID নায়কের কাছে গিয়েছিলেন। আমরা কয়েকটি নির্দিষ্ট সফ্টওয়্যার RAID কনফিগারেশন পর্যালোচনা করেছি এবং আপনার নির্দিষ্ট দৃশ্যের উপর নির্ভর করে আপনি কেন একজন বা অন্যটির দিকে ঝুঁকবেন তার কারণগুলি সহ প্রতিটিগুলির প্রয়োজনীয়তাগুলি ব্যাখ্যা করেছি।

এই গাইডটিতে আমরা যখন ডিস্কের ব্যর্থতার ক্ষেত্রে ডেটা ক্ষতি ছাড়াই একটি সফ্টওয়্যার RAID অ্যারে পুনর্নির্মাণ করব তা নিয়ে আলোচনা করব discuss বংশবৃদ্ধির জন্য, আমরা কেবল একটি RAID 1 সেটআপ বিবেচনা করব - তবে ধারণা এবং আদেশগুলি সমস্ত ক্ষেত্রে একইভাবে প্রযোজ্য।

আরও এগিয়ে যাওয়ার আগে, দয়া করে নিশ্চিত করুন যে আপনি এই সিরিজের অংশ 3 তে প্রদত্ত নির্দেশাবলী অনুসরণ করে একটি RAID 1 অ্যারে সেট করেছেন: লিনাক্সে কীভাবে RAID 1 (মিরর) সেটআপ করবেন।

আমাদের বর্তমান ক্ষেত্রে একমাত্র তারতম্যগুলি হ'ল:

1) সেই নিবন্ধে (v6.5) ব্যবহৃত সংস্করণের চেয়ে CentOS (v7) এর একটি আলাদা সংস্করণ এবং
2)/dev/sdb এবং/dev/sdc (প্রতিটি 8 জিবি) এর জন্য বিভিন্ন ডিস্ক মাপ।

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

আপনি এটি চালিয়ে ঠিক করতে পারেন:

# restorecon -R /mnt/raid1

RAID পর্যবেক্ষণ স্থাপন করা হচ্ছে

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

প্রথমে পরামর্শের একটি শব্দ। এমনকি আপনি যখন আপনার RAID গুলির স্থিতি পরীক্ষা করতে/proc/mdstat পরিদর্শন করতে পারেন, ততক্ষণে একটি আরও ভাল এবং সময় সাশ্রয় করার পদ্ধতি রয়েছে যা মনিটর + স্ক্যান মোডে এমডিএমডিএম চালিয়ে থাকে যা পূর্বনির্ধারিত প্রাপকের কাছে ইমেলের মাধ্যমে সতর্কতা প্রেরণ করবে।

এটি সেট আপ করতে, /etc/m دادm.conf এ নিম্নলিখিত লাইনটি যুক্ত করুন:

MAILADDR [email <domain or localhost>

আমার ক্ষেত্রে:

MAILADDR [email 

মনিটর + স্ক্যান মোডে এমডিএডএম চালানোর জন্য, নিম্নলিখিত ক্রন্টব এন্ট্রিটিকে রুট হিসাবে যুক্ত করুন:

@reboot /sbin/mdadm --monitor --scan --oneshot

ডিফল্টরূপে, mddm প্রতি 60 সেকেন্ডে RAID অ্যারে পরীক্ষা করে এবং যদি কোনও সমস্যা খুঁজে পায় তবে একটি সতর্কতা প্রেরণ করবে। সেকেন্ডের পরিমাণের সাথে উপরের ক্রোনটব এন্ট্রিতে --delay বিকল্পটি যুক্ত করে আপনি এই আচরণটি সংশোধন করতে পারেন (উদাহরণস্বরূপ, --ডিলে 1800 মানে 30 মিনিট)।

অবশেষে, নিশ্চিত হয়ে নিন যে আপনি কোনও মেল ব্যবহারকারী এজেন্ট (এমইউএ) ইনস্টল করেছেন, যেমন মুট বা মেলেক্স। অন্যথায়, আপনি কোনও সতর্কতা পাবেন না।

এক মিনিটের মধ্যে আমরা দেখতে পাব যে এমডিএডএম প্রেরিত একটি সতর্কতা কেমন দেখাচ্ছে।

একটি ব্যর্থ RAID স্টোরেজ ডিভাইস সিমুলেটেড এবং প্রতিস্থাপন

RAID অ্যারেতে স্টোরেজ ডিভাইসগুলির একটিতে ইস্যু অনুকরণ করার জন্য, আমরা নীচে --manage এবং --set- ত্রুটিযুক্ত বিকল্পগুলি ব্যবহার করব:

# mdadm --manage --set-faulty /dev/md0 /dev/sdc1  

এর ফলে/dev/sdc1 এর ফলশ্রুতি হিসাবে চিহ্নিত হবে, যেমন আমরা/proc/mdstat এ দেখতে পারি:

আরও গুরুত্বপূর্ণ, আমরা একই সতর্কতা সহ কোনও ইমেল সতর্কতা পেয়েছি কিনা তা দেখতে দিন:

এই ক্ষেত্রে, আপনাকে সফ্টওয়্যার RAID অ্যারে থেকে ডিভাইসটি সরিয়ে ফেলতে হবে:

# mdadm /dev/md0 --remove /dev/sdc1

তারপরে আপনি এটিকে মেশিন থেকে শারীরিকভাবে সরাতে এবং একটি অতিরিক্ত অংশ (/ dev/sdd, যেখানে fd টাইপের বিভাজন আগে তৈরি করা হয়েছিল) দিয়ে প্রতিস্থাপন করতে পারেন:

# mdadm --manage /dev/md0 --add /dev/sdd1

ভাগ্যক্রমে আমাদের জন্য, সিস্টেমটি সবেমাত্র অংশটি যোগ করে স্বয়ংক্রিয়ভাবে অ্যারের পুনর্নির্মাণ শুরু করবে। আমরা এটি/dev/sdb1 কে ত্রুটিযুক্ত হিসাবে চিহ্নিত করে, অ্যারে থেকে সরিয়ে, এবং ফাইলটি tecmint.txt/mnt/raid1 এ এখনও অ্যাক্সেসযোগ্য কিনা তা নিশ্চিত করে এটি পরীক্ষা করতে পারি:

# mdadm --detail /dev/md0
# mount | grep raid1
# ls -l /mnt/raid1 | grep tecmint
# cat /mnt/raid1/tecmint.txt

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

কঠোরভাবে প্রয়োজনীয় না হওয়া সত্ত্বেও, একটি অতিরিক্ত ডিভাইস হাতে রাখা একটি দুর্দান্ত ধারণা, যাতে ত্রুটিযুক্ত ডিভাইসটি একটি ভাল ড্রাইভের সাথে প্রতিস্থাপনের প্রক্রিয়াটি একটি স্ন্যাপে করা যায়। এটি করতে, আসুন/dev/sdb1 এবং/dev/sdc1 পুনরায় যুক্ত করুন:

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

অপ্রয়োজনীয় ক্ষতি থেকে উদ্ধার করা

যেমনটি আগেই ব্যাখ্যা করা হয়েছে, এমডাডেম স্বয়ংক্রিয়ভাবে ডেটা পুনর্নির্মাণ করবে যখন একটি ডিস্ক ব্যর্থ হয়। কিন্তু অ্যারেতে 2 টি ডিস্ক ব্যর্থ হলে কী হবে? আসুন/dev/sdb1 এবং/dev/sdd1 কে ত্রুটিযুক্ত হিসাবে চিহ্নিত করে এই জাতীয় দৃশ্যের অনুকরণ করি:

# umount /mnt/raid1
# mdadm --manage --set-faulty /dev/md0 /dev/sdb1
# mdadm --stop /dev/md0
# mdadm --manage --set-faulty /dev/md0 /dev/sdd1

অ্যারে যেমন তৈরি হয়েছিল ঠিক একইভাবে পুনরায় তৈরি করার চেষ্টা করা হয়েছে (বা --assume-clean বিকল্পটি ব্যবহার করে) ডেটা ক্ষতি হতে পারে, সুতরাং এটি একটি শেষ রিসোর্ট হিসাবে ছেড়ে দেওয়া উচিত।

আসুন/dev/sdb1 থেকে ডেটা পুনরুদ্ধার করার চেষ্টা করা যাক, উদাহরণস্বরূপ, একটি অনুরূপ ডিস্ক পার্টিশনে (/ dev/sde1 - এর জন্য প্রয়োজন যে ddrescue ব্যবহার করে/dev/sde তে fd টাইপের একটি পার্টিশন তৈরি করতে হবে):

# ddrescue -r 2 /dev/sdb1 /dev/sde1

দয়া করে নোট করুন যে এই মুহুর্ত পর্যন্ত, আমরা RAID অ্যারের অংশ ছিল এমন পার্টিশনগুলি/dev/sdb বা/dev/sdd স্পর্শ করিনি।

এখন আসুন/dev/sde1 এবং/dev/sdf1 ব্যবহার করে অ্যারেটি পুনরায় তৈরি করা যাক:

# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[e-f]1

দয়া করে মনে রাখবেন যে একটি বাস্তব পরিস্থিতিতে, আপনি সাধারণত ডিভাইসের নামগুলি মূল অ্যারের সাথে ব্যবহার করবেন, অর্থাত্/dev/sdb1 এবং/dev/sdc1 ব্যর্থ ডিস্কগুলি নতুনগুলির সাথে প্রতিস্থাপনের পরে।

এই নিবন্ধে আমি ব্র্যান্ড নতুন ডিস্কগুলির সাথে অ্যারেটি পুনরায় তৈরি করতে এবং আসল ব্যর্থ ড্রাইভগুলির সাথে বিভ্রান্তি এড়াতে অতিরিক্ত ডিভাইসগুলি বেছে নেওয়ার পছন্দ করেছি।

অ্যারে লেখা চালিয়ে যেতে হবে কিনা জানতে চাইলে Y লিখে টাইপ করুন এবং এন্টার টিপুন। অ্যারে শুরু করা উচিত এবং আপনার এটির অগ্রগতিটি দেখতে সক্ষম হওয়া উচিত:

# watch -n 1 cat /proc/mdstat

প্রক্রিয়াটি সম্পূর্ণ হলে, আপনার রেডের সামগ্রীটি অ্যাক্সেস করতে সক্ষম হওয়া উচিত:

সারসংক্ষেপ

এই নিবন্ধে আমরা কীভাবে RAID ব্যর্থতা এবং অপ্রয়োজনীয় লোকসানগুলি থেকে পুনরুদ্ধার করব তা পর্যালোচনা করেছি। তবে আপনাকে মনে রাখতে হবে যে এই প্রযুক্তিটি স্টোরেজ সমাধান এবং ব্যাকআপগুলি প্রতিস্থাপন করে না।

এই গাইডটিতে বর্ণিত নীতিগুলি সমস্ত RAID সেটআপগুলিতে একইভাবে প্রযোজ্য, পাশাপাশি সেই ধারণাগুলিও যা আমরা এই সিরিজের পরবর্তী এবং চূড়ান্ত গাইড (RAID পরিচালন) তে কভার করব।

এই নিবন্ধটি সম্পর্কে আপনার যদি কোনও প্রশ্ন থাকে তবে নীচে মন্তব্য ফর্মটি ব্যবহার করে আমাদের একটি নোটটি নির্দ্বিধায় ফেলে দিন। আমরা আপনার কাছ থেকে শ্রবণ করার জন্য উন্মুখ!