কেন RAID 0 দুটি ভিন্ন আকারের ডিস্কের সমস্ত ডিস্ক স্থান ব্যবহার করতে পারে না?


10

RAID- তে উইকিপিডিয়া নিবন্ধটি উদ্ধৃত করতে :

বিভিন্ন আকারের ডিস্কের সাহায্যে একটি RAID 0 তৈরি করা যেতে পারে তবে প্রতিটি ডিস্কের সাহায্যে অ্যারেতে যুক্ত স্টোরেজ স্পেসটি সবচেয়ে ছোট ডিস্কের আকারের মধ্যে সীমাবদ্ধ। উদাহরণস্বরূপ, যদি 100 গিগাবাইট ডিস্কটি 350 গিগাবাইট ডিস্কের সাথে একসাথে স্ট্রিপ করা হয় তবে অ্যারের আকার 200 গিগাবাইট (100 গিগাবাইট) 2) হবে।

নিবন্ধটি অবশ্য উল্লেখ করে না যে এটি কেন তাদের একসাথে রেড করতে পারে না এবং পুরো ডিস্কের স্পেস ব্যবহার করতে পারে। আমি বুঝতে পারি যে এই দুটিয়ের মধ্যে স্ট্রাইপিং লিখেছে, তবে অবশ্যই এটি দ্বিতীয় ডিস্কের পরবর্তী সেক্টরে লেখার প্রতিরোধ করা উচিত নয় , যখন অবনমিত পারফরম্যান্সে চলছে? কোনও বিকল্প রেড সিস্টেম (যেমন সফ্টওয়্যার রেড) এমন বৈশিষ্ট্য সরবরাহ করে?


আমি নিশ্চিত নই যে এটি কিছু হার্ডওয়্যার রেডের সাথে তবে সফ্টওয়্যার রেডগুলির সাথে কাজ করবে কিনা, রাইড 0 এর কিছু দিকের সুবিধা গ্রহণের জন্য দুটি বিবিধ আকারের ড্রাইভে যেমন 100 গিগাবাইট এবং একটি 350 গিগাবাইটের মতো আরও বেশি জায়গাগুলি ব্যবহার করার জন্য আপনি চেষ্টা করতে পারেন 3 বৃহত্তর ড্রাইভে 100 গিগাবাইট পার্টিশন রয়েছে এবং প্রথমটিতে 100 কেবি পার্টিশন এবং দ্বিতীয় ড্রাইভে 3 100 জিবি পার্টিশনটি স্ট্রাইপ করুন। রাইড লেভেল 0 আপনাকে পড়ার / লেখার পারফরম্যান্স বৃদ্ধির জন্য 400 জিগ ব্যবহার করতে দেবে, তবে আপনি দুটি 200 গিগাবাইট ড্রাইভ স্ট্রাইপ করলে এটি সম্ভবত কম হবে।
কিথ রেনল্ডস

সাধারণত আপনি এটি করতে চান না, বিক্ষোভের উদ্দেশ্যে আমি একটি 1 জি এবং 16 জি ফ্ল্যাশ ড্রাইভ ব্যবহার করে একটি RAID0 সেট আপ করেছি। আমি প্রতিটি ডিস্ক পূরণ করে একটি বর্ধিত পার্টিশন তৈরি করেছি। তারপরে আমি প্রতিটি ড্রাইভে একটি 981MB পার্টিশন তৈরি করেছি যতক্ষণ না সেগুলি পূর্ণ হয়। তারপরে আমি লিনাক্সের কমান্ডটি দিয়ে 16 টি পার্টিশন ব্যবহার করে একটি রেড করেছি mdadm --create --verbose /dev/md0 --chunk=512 -l0 -n16 /dev/sdd5 /dev/sde5 /dev/sde6 /dev/sde7 /dev/sde8 /dev/sde9 /dev/sde10 /dev/sde11 /dev/sde12 /dev/sde13 /dev/sde14 /dev/sde15 /dev/sde16 /dev/sde17 /dev/sde18 /dev/sde19। আমি সবেমাত্র ১GB জিবি ড্রাইভটি ব্যবহার করার চেয়ে কম জায়গা দিয়ে শেষ করেছি
কিথ রেনল্ডস

উত্তর:


11

ক্ষুদ্রতম ডিস্কের আকারের মধ্যে আকার সীমাবদ্ধ হওয়ার কারণটি স্ট্রাইপগুলি "পর্যায়ক্রমে" লেখা হয় এবং একই আকার হওয়া আবশ্যক with

একটি দুটি ডিস্ক সিস্টেমে, সমস্ত বিজোড় স্ট্রাইপগুলি একটি ডিস্কে থাকে এবং অন্যটি এমনকি থাকে। ডিস্কের মধ্যে বিকল্প, বিজোড় / এমনকি / বিজোড় / এমনকি / ... রচনা করে

স্ট্রাইপগুলি একই আকার এবং জোড়যুক্ত (দুটি ডিস্কের জন্য) হওয়া আবশ্যক, আপনি সর্বাধিক ব্যবহারযোগ্য 2 * (সবচেয়ে ছোট ডিস্কের আকার) এর মধ্যে সীমাবদ্ধ।


3

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

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

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


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

ঠিক আছে, আপনি আপডেট এখনও এটি ব্যাখ্যা করেন নি। স্ট্রিপিং কীভাবে কাজ করে আমি তার সাথে পরিচিত, তবে এটি ব্যাখ্যা করে না যে কেন এটি কেবলমাত্র সিঙ্গল-ডিস্ক মোডে ছাড়তে পারে না (স্ট্যান্ডার্ড সিঙ্গল-ডিস্ক পারফরম্যান্স সহ) একবারে ছোট ডিস্কটি পূর্ণ হয়ে যায়। ভলিউম বিস্তৃত উল্লেখ করার জন্য ধন্যবাদ - এটি দরকারী বলে মনে হচ্ছে।
বহুবর্ষীয়

1
কারণ কীভাবে RAID কাজ করে। আপনি যদি সত্যিই চাইতেন তবে আপনি যা করতে পারেন তা 0 তে RAID করতে পারতেন, তারপরে ফাঁকা স্থানের সাথে একটি ভলিউম তৈরি করুন, তারপরে RAID এবং অতিরিক্ত ভলিউমটি স্প্যান করুন। তবে আমি মনে করি না যে কোনও RAID কন্ট্রোলার আপনাকে এটি করতে দেবে। আপনি হার্ডওয়্যার এবং সফ্টওয়্যার RAID এর সংমিশ্রণে এটি করতে সক্ষম হতে পারেন।
কেল্টারি

1
-1 "এই বৃদ্ধির কর্মক্ষমতা, এটা পড়া বা লেখা শেষ করতে পূর্ববর্তী ডিস্ক জন্য অপেক্ষা করতে স্বল্পতা হিসাবে" RAID 0-একই বিভিন্ন আকারের দুটি হার্ড ডিস্ক জন্য বলা যেতে পারে
Celeritas

2
@Polynomial এটি RAID 0 হবে না 0. আপনি জিজ্ঞাসা করেছেন কেন RAID 0 সমস্ত ডিস্কের স্থান ব্যবহার করতে পারে না এবং তারপরে আপনি "কেন এটি কেবল পারেন না ..." প্রতিক্রিয়া জানান। এটি RAID 0 কারণ এটি করতে পারে না এটি যদি অন্য কিছু করে, তবে এটি অন্য কিছু হবে।
ডেভিড শোয়ার্জ 21

0

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

রেড -0: স্ট্রাইপিং। ডেটা প্রতিটি ব্লক RAID ডিভাইসের প্রতিটি সদস্য জুড়ে বিভক্ত হয়। অতিরিক্ত কাজ নয়, তাই এটি সস্তা ডিস্কের মাত্র একটি অ্যারে বেশি, সস্তা ডিস্কের রিন্ডন্ড্যান্ট অ্যারে নয়।

রেড -২: মিররিং। অ্যারের প্রতিটি ডিস্কে ডেটা প্রতিটি ব্লক সংরক্ষণ করা হয়। এটি কেবলমাত্র দুটি ডিস্কের সাথেই তৈরি করে। RAID 1/0 বা কেবল RAID 10 মিররিং এবং স্ট্রাইপিংয়ের সংমিশ্রণ এবং দুটির বেশি ডিস্কের সুবিধা নিতে ব্যবহার করা যেতে পারে।

RAID-5: সমতা। ডেটা প্রতিটি ব্লক RAID ডিভাইসের প্রতিটি সদস্যের মধ্যে বিভক্ত হয় + একটি ডিস্ক সমতা জন্য উত্সর্গীকৃত।

রেড -6: ডাবল প্যারিটি: রাইড -5 হিসাবে একই, তবে দুটি প্যারিটি ডিস্ক সহ।

এটাই. রাইড আকারের মিস-মিল বা কোনও কিছু সম্পর্কে কী করবেন তা বর্ণনা করে না, তবে স্ট্রাইপিং কেবলমাত্র সমান আকারের ডিস্কগুলির সাথে কাজ করে। সাধারণত এটি ঘুরে দেখার উপায় হ'ল আপনি আলাদা ডিস্ক ড্রাইভ হিসাবে বাম ওভার স্পেস ব্যবহার করতে পারেন।

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

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


0
A RAID 0 can be created with disks of differing sizes, but the storage
space added to the array by each disk is limited to the size of the
smallest disk.

এটি সত্য হতে পারে এবং বেশিরভাগ RAID0 বাস্তবায়নের ক্ষেত্রে এটি সত্য। তবে সবার জন্য নয়।

RAID 0 ব্যবহারের জন্য দুটি কারণ রয়েছে:

  1. একাধিক ডিস্ককে একটি বড় ভলিউমে সংযুক্ত করুন।
  2. কর্মক্ষমতা.

বিকল্প 2 সর্বাধিক সাধারণ এবং আমি মনে করি এটি প্রায় সমস্ত বর্তমান RAID 0 বাস্তবায়নে ব্যবহৃত হয়। প্রযুক্তিগত ব্যাখ্যা হ'ল তথ্যটি ডিস্কের মধ্যে পর্যায়ক্রমে লেখা হয়।

প্রযুক্তিবিহীন উপায়ে: ডিস্কগুলিকে দুটি বই হিসাবে ভাবেন। এই বইগুলির অ্যাক্সেসের সীমাবদ্ধতা (পড়ার / লেখার) গতি রয়েছে। তারপরে বরং দুটি 100 পৃষ্ঠার বইগুলিকে আমরা দুটি বইয়ে পুনরায় ফর্ম্যাট করি তবে পৃষ্ঠাগুলি পুনর্নবীকরণ করি যাতে সমস্ত বইয়ের সংখ্যা একটি বইতে এবং অন্য বইতে সমস্ত বিজোড় সংখ্যায় লেখা থাকে।

এখন আমাদের নতুন 'আর0 বই' আচরণ করছে এটি যদি পৃষ্ঠার সংখ্যার দ্বিগুণ এবং গতির দ্বিগুণ একক বই হয়।


বিকল্প 1 'বই থেকে পিছনে পিছনে আঠালো' এর মতো সহজ হতে পারে। এক্ষেত্রে আপনার কোনও গতি বাড়েনি তবে আপনি বিভিন্ন পৃষ্ঠা গণনা সহ বইগুলি আঠালো করতে পারেন। ১৯৯০ সালের মতো আমি কিছু 'RAID0' বাস্তবায়ন মনে করি But তবে বেশিরভাগ লোকেরা 'যথাযথ RAID 0' বিবেচনা করবেন না।

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