যে কারনে সার্ভারে RAID অনেক গুরুত্বপূর্ণ

স্টোরেজ fault tolerance এর খুব গুরুত্বপূর্ন একটি অংশ। কোন একটা সিস্টেমের কিছু কম্পোনেন্টস বা উপাদান যদি কখনও অকার্যকর হয়ে পড়ে কোন কারনে তাহলে সেই অকার্যকারিতার পরেও সেই সিস্টেমটিকে সঠিকভাবে পরিচালনা করাই হল fault tolerance. যদি কোন কোম্পানি বা অর্গানাইজেশনের ডেটা সংক্রান্ত কিছু হয়ে থাকে যেমন ডিস্ক ফেইলিওর তবে এর ফলস্বরুপ ডেটা লস হয়ে থাকে এবং এর কারনে কোম্পানির কর্ম পরিচালনায় গুরূত্বপূর্ণ প্রভাব পরে। আর এ কারনেই আমাদের নিশ্চিত করতে হয় যে যদি কোন কারনে কোন ডিস্ক ফেইলিওর হয় তবে সেটার কারনে যেন কোন ডেটা লস না হয়। আর এ সমস্যা থেকে উত্তরনের জন্য সবচাইতে সেরা উপায় হল RAID.

RAID কি?

RAID stands for Redundant Array of Independent or Inexpensive Disks. RAID ডেটার রিডানডেন্সি দিয়ে থাকে। একটি RAID সেটাপে, ডেটা কপি করা হয় বা ছড়িয়ে দেয়া হয় একের অধিক ডিস্কে তাই কোন কারনে ডেটা ফেইলিউর হলেও অন্য ডিস্কে কপি করে রাখবার জন্য ডেটাগুলো হারিয়ে যায়না । RAID একটি স্টোরেজ টেকনোলোজি যা পৃথক-পৃথক কয়েকটি ফিজিক্যাল হার্ড ডিস্ক একত্রিত করে একটি লজিকাল ড্রাইভ তৈরি করে আর এর ফলে একটি একক ইউনিটের তুলনায় আরও ভাল পারফরম্যান্স এবং অধিক নির্ভরযোগ্যতা প্রদান করে থাকে। এটি ডেটা লস এবং ডাউনটাইম হ্রাস-রোধ করার পাশাপাশি ডেটা সংরক্ষণ এবং অ্যাক্সেসের গতিও বৃদ্ধি করে। উচ্চ নির্ভরযোগ্যতাসম্পন্ন অ্যাপ্লিকেশন এবং যাদের অনেক স্টোরেজ বা বড় রকমের ডেটা স্থানান্তরের জন্য অনেক স্পিডের প্রয়োজন হয় তাদের জন্য RAID ব্যবহার আদর্শ। সমস্ত ওয়েবসাইট এবং ক্রিটিকাল অনলাইন এবং অফলাইন অ্যাপ্লিকেশনগুলির কার্যকারিতা বৃদ্ধি করতে এবং ডেটা হ্রাস বা ডাউনটাইম প্রতিরোধে RAID ব্যবহার করা উচিত। শেয়ার্ড হোস্টিং, ভিপিএস অথবা ডেডিকেটেড সার্ভারের প্রায় সব ফিজিক্যাল সার্ভারগুলোতেই ডিস্ক ড্রাইভ থাকে যেগুলো একটি RAID সেটাপে কাজ করে।
যদিও RAID প্রাথমিকভাবে সার্ভারগুলির জন্য ডিজাইন করা হয়েছিল তবুও ইনডিভিজুয়াল কেউ এবং ডেটা-ইনটেনসিভ ব্যবহারকারী যেমন ভিডিও এবং অডিও এডিটররা এটি READ এবং WRITE অপারেশন উন্নত করার লক্ষ্যে ব্যবহার করতে পারেন।

বিভিন্ন RAID Level

আপনার কাজের প্রয়োজনীয়তার উপর নির্ভর করে বিভিন্ন RAID কনফিগারেশন রয়েছে এবং প্রত্যেকটি আলাদা-আলাদা লেভেল বা স্তরের রিডানডেন্সি দিয়ে থাকে। এগুলো RAID Level হিসেবে পরিচিত।

  • স্ট্যান্ডার্ড RAID level – RAID 0,1,2,3,4,5 এবং RAID 6.
  • নন-স্টান্ডার্ড RAID level – RAID 10, 50, 53 এবং JOBD (Just a bunch of disks) RAID.
  • নেস্টেড বা হাইব্রিড RAID level – RAID 3D, Enhanced RAID 1E এবং Enhanced RAID 5E.

এই আর্টিকেলটিতে সবচাইতে বেশি ব্যবহৃত ও জনপ্রিয় কয়েকটি RAID (RAID 1, RAID 5, RAID 6 এবং RAID 10) নিয়ে আলোচনা করব।

RAID 0

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

What is RAID 0
RAID 0 – স্ট্রিপিং

RAID Level 1

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

What is RAID 1
RAID 1 – ডেটা মিররিং

উপরের ছবিটিতে আমরা দেখতে পাচ্ছি ১ম ডিস্কের ডেটা হুবহু ২য় ডিস্কে কপি হয়েছে। আপনি নিজের ইচ্ছেমত ড্রাইভ রাখতে পারবেন। এটির দুর্দান্ত পারফরম্যান্স রয়েছে তবে প্রচুর স্টোরেজ স্পেস ব্যবহার করে। যেমন দুই বা ততোধিক ড্রাইভের উপযুক্ত জায়গার জন্য, আপনি কেবল একটি ব্যবহার করতে পারেন

RAID Level 5

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

What is RAID 5
RAID 5 – প্যারিটি

উপরের ছবিটিতে আমরা দেখতে পাচ্ছি প্যারিটি ব্যবহার করে ৪টি ডিস্কে ডেটা ছড়িয়ে পড়েছে। RAID 5 এর একটি নেতিবাচক দিক রয়েছে আর সেটি হল, যেহেতু পুরো ডিস্ক সমান পরিমান প্যারিটি সংরক্ষণ করতে ব্যবহৃত হয় তাই এই অ্যারেতে সংরক্ষণ করা যেতে পারে এমন সমষ্টিগত ডেটার পরিমাণ এটি কমিয়ে দেয়।উদাহরণস্বরূপ, আমরা যদি চারটি ডিস্ক ব্যবহার করি এবং যদি এই চারটি ডিস্কের চারটিই 1 টেরাবাইট করে হয় তবে চারটি ডিস্ক মোট 4 টেরাবাইট হয়। কিন্ত একটি RAID 5 সেটাপে ডেটা সংরক্ষণের জন্য যে পরিমাণ স্টোরেজ ব্যবহৃত হবে তা 3 টেরাবাইট সমপরিমান হবে কারণ একটি সম্পূর্ণ ডিস্কের সমতুল্য পরিমান ব্যবহৃত হবে শুধু প্যারিটি স্টোর করার কাজেই।

RAID Level 6

RAID 6 ব্যবহার করার জন্য আপনার চার বা তার অধিক ডিস্ক থাকতে হবে। RAID 6 হ’ল RAID 5 এর মতই যেখানে সমস্ত ডিস্কে ডেটা স্ট্রাইপ করা হয় এবং সমস্ত ডিস্কে প্যারিটি স্প্রেড হয়। তবে পার্থক্যটি হ’ল, RAID 6-এ প্যারিটি সমস্ত ডিস্কে দু’বার করে ছড়িয়ে পড়ে এবং এই ডাবল প্যারিটির কারণটি হল এটি যেন একই সাথে দুটি ডিস্ক ফেইলিওর হ্যান্ডেল করতে পারে। সুতরাং RAID 6-এ, যদি একই সাথে দুটি ডিস্ক ফেইলিওর হয়, যা খুব বিরল তবে কোনও ডেটা নষ্ট হবে না এবং আপনাকে যা করতে হবে তা হ’ল, ফেইলড ডিস্কগুলি রিপ্লেস করা এবং তারপরে RAID 6 অন্য ডিস্কগুলি থেকে ডাবল প্যারিটি ব্যবহার করে নতুন ডিস্কগুলিতে ডেটা পুনর্নির্মাণ করবে। উদাহরণস্বরূপ, RAID 6-এ যদি 4-টি ড্রাইভ ব্যবহার করা হয় তাহলে এর অর্থ এই যে দুটি ড্রাইভ অ্যাকচুয়াল ডেটা স্টোরেজের জন্য ব্যবহৃত হবে এবং বাকি দুটি ড্রাইভ ডাবল প্যারিটিং-এর জন্য ব্যবহার করা হবে। সুতরাং যদি এই ডিস্কগুলির প্রতিটি 1 টেরাবাইট করে হয় তাহলে 4 টি ড্রাইভ টোটাল 4 টেরাবাইট সমান হবে এবং এরমধ্যে কেবলমাত্র 2 টেরাবাইট ডেটা স্টোর করতে এবং অন্য 2 টেরাবাইট ডাবল প্যারিটি স্টোর করার জন্য ব্যবহৃত হবে। এটিও লক্ষ্য করা জরুরী যে RAID 5 এবং RAID 6 এর READ পারফরম্যান্স প্রায় একই রকম তবে WRITING ডেটার ক্ষেত্রে RAID 6 খুব বেশি সাফার করে থাকে কারণ, যেহেতু RAID 6 এর দুটি স্বতন্ত্র প্যারিটি ব্লক লিখতে হয় একটির জায়গায় আর তাই এর WRITE পারফরম্যান্স RAID 5 এর তুলনায় অনেক ধীর।

What is RAID 6
RAID 6 – ডাবল প্যারিটি

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

RAID 10

এটি RAID 1 এবং RAID 0 এর সমন্বয় করে। RAID 10 এর ক্ষেত্রে আপনাকে সর্বনিম্ন চারটি ডিস্ক ব্যবহার করতে হবে। একটি RAID 10 সেটাপে চারটি ডিস্ক ব্যবহার করা হলে , দুটি ডিস্কের একটি সেট RAID 1 সেটাপ ব্যবহার করে মিররিং করে থাকে আর তারপরে দুটি ডিস্কের দুটি সেট-ই RAID 0 ব্যবহার করে ডেটা স্ট্রাইপ করে থাকে। সুতরাং RAID 10 fault tolerance এর সুবিধা RAID 1 থেকে নিয়ে থাকে এবং RAID 0 থেকে স্পিডের সুবিধা নিয়ে থাকে। তবে একটি RAID 10 এর ডাউনসাইড হ’ল, আপনি কেবলমাত্র 50% ক্যাপাসিটি আপনার ডেটা স্টোরেজ এর জন্য ব্যবহার করতে পারবেন।

What is RAID 10
RAID 10 – মিররিং এবং স্ট্রিপিং

যেসব কোম্পানি হাই পারফরমেন্স এবং ডেটা সিকিউরিটি চায় তাদের জন্য RAID 10 ব্যবহার করা আদর্শজনক।

একটি বিষয় উল্লেখ্য যে কনজ্যুমার লেভেলে RAID 6 এবং10 ব্যবহার করা হয় না, এদিক দিয়ে RAID 1 এবং 5-ই সবচেয়ে জনপ্রিয়।

RAID ব্যবহারের সুবিধা ও অসুবিধা

সুবিধা

RAID ব্যবহারের সবচাইতে বড় সুবিধা হচ্ছে ডেটা ফেইলিওর হলেও এটি অনবরত কাজ চালিয়ে যায় কোনপ্রকার বাধা ছাড়াই। আমরা নিশ্চয়ই বড় সেই ট্রাকগুলো দেখেছি যেগুলো এক সেট চাকার পরিবর্তে দুই সেট চাকা ব্যবহার করে। এর কারনে পথিমধ্যে যদি একটা চাকা নষ্টও হয়ে যায় তারপরেও ট্রাকটি কোন রকম থামা ছাড়াই চালিয়ে যেতে পারে অপর চাকার সাহায্য নিয়ে। RAID এর কাজও ঠিক এমন ট্রাক এর মতন।

অসুবিধা

  • খরচ – যেহেতু একের অধিক ডিস্কের প্রয়োজন হয় তাই এটি খরচ দ্বিগুন বাড়িয়ে দেয়।
  • ফিজিক্যালি বিপর্যয় – RAID কখনও ফিজিক্যাল বিপর্যয় থেকে আপনার ডেটা প্রটেক্ট করতে পারবে না। যদি আপনার মেশিনে আগুন লাগে বা পানির কারনে বা অন্য কোন কারনে ক্ষতিগ্রস্থ হয় তাহলে এর ফলে আপনি আপনার কোন ডেটা ফেরত পাবেন না।
  • ভাইরাস – ভাইরাস বা র‍্যানসমওয়্যার এসব থেকে RAID আপনার ডেটা বাচাতে পারবে না। যেহেতু RAID অন্য ডিস্কে ডেটা ছড়িয়ে ফেলে তাই যদি কোন কারনে একটি ডিস্কে ভাইরাস অ্যাটাক করে তাহলে সেগুলো বাকি ডিস্কেও ছড়িয়ে পড়ে।

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

ধন্যবাদ।