একটি জেডএফএস বা এলভিএম বা এমডি রিডানড্যান্ট ভিন্ন ভিন্ন স্টোরেজ প্রস্তাব


10

বেশিরভাগ লোকের আমারও একই সমস্যা রয়েছে: কীভাবে একটি নির্ভরযোগ্য ব্যক্তিগত স্টোরেজ সমাধান তৈরি করবেন তা এই সত্যের সাথে:

  1. বিপজ্জনক নিয়মিততা সহ হার্ড ড্রাইভগুলি ব্যর্থ। ফাইল হারাতে পারা যায় না।
  2. আমি সময়ে সময়ে একটি নতুন এইচডিডি কিনব। অনিবার্যভাবে, সেরা মূল্য / জিবি শেষ এইচডিডি ক্রয়ের চেয়ে আলাদা আকার different
  3. 2 এর অর্থ হ'ল সময়ের সাথে সাথে আমার কাছে ডিস্কগুলির একটি বিজাতীয় সংগ্রহ রয়েছে। আমি সেগুলি সমস্ত ব্যবহার করতে চাই এবং ব্যর্থ ডিস্কগুলি সাধারণত বড় ডিস্ক দ্বারা প্রতিস্থাপন করা হবে।

  4. ডেটা অখণ্ডতা এবং নির্ভরযোগ্যতা গতির চেয়ে আমার কাছে গুরুত্বপূর্ণ।

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

  1. আপনার ড্রাইভের সেট দেওয়া, এটিকে দুটি ডিস্কে বিভক্ত করুন, যাতে প্রতিটি সেটের ক্ষমতা যতটা সম্ভব অন্যটির কাছাকাছি থাকে।
  2. বৃহত্তর ডিস্কগুলিকে পার্টিশন করুন যেমন অন্য গ্রুপের মধ্যে ছোট ডিস্কগুলির মধ্যে একটির মতো একই আকারের একটি পার্টিশন রয়েছে।
  3. মিরর ভিজেডিগুলি তৈরি করুন যাতে প্রতিটি ডিস্কের অন্য ডিস্কে তার মিরর থাকে।

উদাহরণস্বরূপ, নতুন 2TB ড্রাইভের একটি ডিস্ক সেট, একটি পুরানো 750GB ড্রাইভ, একটি 2 পুরানো 400GB ড্রাইভ এবং একটি পুরানো 500GB ড্রাইভ বিবেচনা করুন। অনুকূল মিররযুক্ত পার্টিশনটিতে 2TB ব্যবহারযোগ্য জায়গা রয়েছে এবং নিম্নলিখিত চিত্রটিতে বর্ণিত হয়েছে যেখানে ':' পার্টিশন পৃথক করে এবং '|' ডিস্ক পৃথক:

+------------------------------------------------------------------+
| 2TB (sda1)        : (sda2)       : (sda3)       : (sda4)         |
+------------------------------------------------------------------+--+
| 750 GB (sdb)      | 400 GB (sdc) | 400 GB (sdd) | 500 GB (sde1)  :XX|
+---------------------------------------------------------------------+

আপনার zpool হিসাবে তৈরি করুন

zpool create archive mirror /dev/sda1 /dev/sdb mirror /dev/sda2 /dev/sdc mirror /dev/sda3 /dev/sdd mirror /dev/sda4 /dev/sde1

এটি 4 মিররযুক্ত ভিজেডি তৈরি করে। ডিস্কগুলির মধ্যে যে কোনও একটি ব্যর্থ হলে, এটি প্রতিস্থাপন করা যেতে পারে (যে কোনও আকারের ডিস্ক সহ) এবং অনুপস্থিত পার্টিশনগুলি পুনরায় তৈরি করতে পার্টিশন করা যেতে পারে। জেডএফএস ভিদেবদের একটি পুলে যোগ করা যেতে পারে তবে তা সরানো যায় না তা গুরুত্বপূর্ণ । সুতরাং যদি সম্ভব হয় তবে, যখন কেউ একটি নতুন ড্রাইভ কিনে, আপনি বিদ্যমান ভিডিএভিগুলিকে পুনরায় সাজিয়ে রাখতে চান। ধরা যাক পরবর্তী ক্রয়টি ছিল 3 টিবি ড্রাইভ। আপনার অনুকূল কনফিগারেশনটি 3.5 টিবি ব্যবহারযোগ্য, যা নিম্নলিখিত চিত্রটিতে বর্ণিত রয়েছে। এটি এখন 5 ভিডিপি জোড়া। এটি যথাযথ বিভাজন এবং ক্রমান্বয়ে ব্যর্থ ও ড্রাইভগুলি পুনরায় ভাগ করার মাধ্যমে অর্জন করা যেতে পারে।

+--------------------------------------------------------------+-------------+
| 3 TB (sdf1)       : (sdf2)      : (sdf3)      : (sdf4)       | 500GB (sde) |
+--------------------------------------------------------------+-------------+-+
| 2TB (sda1)        | 400GB (sdb) | 400GB (sdc) | 750GB (sdd1) : (sdd2)      :X| 
+------------------------------------------------------------------------------+

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

এই পদ্ধতিতে কোন মন্তব্য? একটি ভাল স্ক্রিপ্ট ড্রাইভের ক্ষতিহীন বরাদ্দ এবং পুনর্বিন্যাস পরিচালনা করতে পারে। এলভিএম বনাম এমডি বনাম জেডএফএস সম্পর্কে কোনও মন্তব্য? ফলাফল অদ্ভুতভাবে বিভক্ত অ্যারের কর্মক্ষমতা সম্পর্কে কোন মন্তব্য? একই ড্রাইভে একাধিক পার্টিশন জুড়ে ডেটা ব্যবস্থা কী অতিরিক্ত মাথা চাওয়া এবং তাড়াতাড়ি ব্যর্থতার কারণ হতে পারে?

বিটিআরএফএস ডেভস: প্রত্যেকে এটি চায় এবং এলভিএম বা এমডি প্রযুক্তিগতভাবে প্রয়োজনীয় নয় (এবং আমার মতে সাব-অনুকূল)। অপ্রয়োজনীয় ভিন্ন ভিন্ন অ্যারে বজায় রাখা সহজ করা বিটিআরএফএসের জন্য একটি হত্যাকারী বৈশিষ্ট্য হবে। এটি এলভিএম / এমডি / জেডএফএসের মতো হ্যাক। রিসিভার / রিসাইঙ্ক হ্রাস করা ব্যাপকভাবে কাম্য।

হ্যাঁ, এটি অবশ্যই একটি দরিদ্র লোকের দ্রোবো। এর জন্য কারও ডেডিকেটেড হার্ডওয়ারের দরকার নেই ...

উত্তর:


4

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

উপরের জেডএফএস প্রস্তাবের তুলনায় দুটি অর্ধেক ফলাফল লেখার ফলাফল তৈরি করতে এমডি লাইনার অ্যারে বা এলভিএম ব্যবহার করে, তবে অসুবিধাটি হ'ল এলভিএম এবং এমডি ডেটা কোথায় সংরক্ষণ করেছে তা সম্পর্কে কোনও ধারণা নেই। ডিস্ক ব্যর্থতা বা আপগ্রেড হওয়ার ক্ষেত্রে অ্যারের এক দিক সম্পূর্ণরূপে ধ্বংস এবং পুনরায় সংযোজন / পুনরুদ্ধার করা আবশ্যক, তারপরে অন্য দিকটি অনুসরণ করা উচিত। (উদাহরণস্বরূপ, রিসাইঙ্ক / রিসিলিভারকে 2 * (অ্যারের আকার) অনুলিপি করতে হবে)

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

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

এটি হাত দ্বারা করা ক্লান্তিকর তবে কয়েকটি ভাল স্ক্রিপ্টগুলির সাহায্যে সহজ।

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