জেডএফএস: জিপুলের সমস্ত ডিস্কের উপর zvol পুনরায় বিতরণ করবেন?


12

এমন কোনও উপায় আছে যার মাধ্যমে জেডএফএসকে তার জপুলের সমস্ত ডিস্কের উপর একটি প্রদত্ত ফাইল সিস্টেম পুনরায় বিতরণের জন্য অনুরোধ করা যেতে পারে?

আমি এমন একটি দৃশ্যের কথা ভাবছি যেখানে আমার কাছে একটি নির্দিষ্ট আকারের জেডএফএস ভলিউম রয়েছে যা এফসির মাধ্যমে লুন হিসাবে রফতানি হয়। বর্তমান জপুলটি ছোট, মাত্র দুটি 1 টিবি মিররড ডিস্ক এবং জেডভোল মোট 750 জিবি। যদি আমি হঠাৎ করে zpool এর আকারটি প্রসারিত করতে পারি, 12 1TB ডিস্ক, আমি বিশ্বাস করি যে zvol এখনও কার্যকরভাবে কেবলমাত্র প্রথম দুটি স্পিন্ডলে 'আটকানো' থাকবে।

আরও স্পিন্ডেলস দেওয়া হয়েছে = আরও আইওপিএস, এর সুবিধা নিতে আমি 12 টি স্পিনডেলের Zvol কে 'পুনরায় বিতরণ' করতে কোন পদ্ধতিটি ব্যবহার করতে পারি?

উত্তর:


8

আপনার ডেটাটি পুনরায় ভারসাম্য বর্ধনের জন্য প্রসারিত zpool এ আবার লিখতে হবে। অন্যথায়, সময় পার হওয়ার সাথে সাথে আপনার লেখাগুলি পুরো পুল জুড়ে বিতরণ করা হবে।


আমি মনে করি না যে এটি করার একটি দ্রুত এবং সহজ উপায় আছে ...?

7
zfs send | zfs recv
দ্য ওয়াবিট

আমি যাচ্ছি যে পরীক্ষা - বিশ্বাস করতে পারবেন না এত সহজ কিছু এটি করতে পারে। :)
17

3
ফিরে রিপোর্ট করুন, আমি এটি কখনও করেনি এবং খুব কৌতূহলী।
স্ট্রেঞ্জউইল

3

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


4
আমার অভিজ্ঞতায়, এটি সত্য নয়। কোনও 'নির্ধারিত পার্টিশন' না থাকাকালীন, জেডএফএস ক্লায়েন্ট আইও অনুরোধগুলির বাইরে নিজের ইচ্ছার প্রায় ডেটা স্থানান্তর করবে না। যদি আপনি বর্ণিত দৃশ্যটি তৈরি করেন, আরও ডিস্ক যুক্ত করুন এবং তারপরে মূল LUN এ কিছু ভারী আইও করুন, আপনি কেবল অ্যারেতে প্রথম দুটি ডিস্কে ক্রিয়াকলাপ দেখতে পাবেন, কারণ সেখানেই ডেটা রয়েছে। ew white উল্লেখ করেছেন যে সময়ের সাথে সাথে এটি ভারসাম্যহীন হয়, তবে এটি করার একটি দ্রুত উপায় আছে কিনা তা জানতে আগ্রহী।
10'10

1
আমি অস্পষ্ট থাকলে দুঃখিত। অবশ্যই, বিদ্যমান ডেটা যাদুকরীভাবে সরবে না। কেবলমাত্র আপডেট হওয়া ডেটা সমানভাবে স্থানান্তরিত হবে। এটিই "নতুন আইওএস" দিয়েছিলাম। যতদূর বিদ্যমান স্থিতিশীল তথ্য সম্পর্কিত, যতক্ষণ ব্লকগুলি একাধিকবার পড়া হয় ততক্ষণ ক্যাশে কার্যকারিতাও উন্নত করবে।
jlliagre

0

এটি ew white এর উত্তরের "ধারাবাহিকতা":

আপনার ডেটাটি পুনরায় ভারসাম্য বর্ধনের জন্য প্রসারিত zpool এ আবার লিখতে হবে

আমি আমার উবুন্টু 14.04 হোস্টটিতে এটি স্বয়ংক্রিয় করতে একটি পিএইচপি স্ক্রিপ্ট লিখেছি ( গিথুব উপলভ্য )।

একজনকে কেবল sudo apt-get install php5-cliপ্রথমে যুক্তি হিসাবে আপনার পুলের ডেটাতে পথটি অতিক্রম করে স্ক্রিপ্টটি দিয়ে পিএইচপি সিএলআই সরঞ্জাম ইনস্টল করতে হবে । যেমন

php main.php /path/to/my/files

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

স্ক্রিপ্ট ব্যবহারের কারণ

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

এমনকি ড্রাইভের ব্যবহার কীভাবে অর্জন করা যায় তা আমি কীভাবে বলতে পারি?

সময়ের সাথে সাথে আইওস্ট্যাট সরঞ্জামটি ব্যবহার করুন (যেমন iostat -m 5) এবং লেখাগুলি পরীক্ষা করুন। যদি সেগুলি একই হয় তবে আপনি এমনকি একটি বিস্তৃতি অর্জন করেছেন। নীচের স্ক্রিনশটেও এগুলি পুরোপুরি পুরোপুরি নয় কারণ আমি RAID 10 এ 2 জোড়া 3TB ড্রাইভ নিয়ে 4TB এর একটি জুটি চালাচ্ছি, তাই দুটি 4 গুলি আরও কিছুটা লেখা হবে। এখানে চিত্র বর্ণনা লিখুন

যদি আপনার ড্রাইভের ব্যবহার "ভারসাম্যহীন" হয়, তবে আইওস্যাট নীচের স্ক্রিনশটের মতো আরও কিছু দেখাবে যেখানে নতুন ড্রাইভগুলি অসতর্কভাবে লেখা হচ্ছে। আপনি এটিও বলতে পারেন যে সেগুলি নতুন ড্রাইভ কারণ পঠনসংখ্যার সংখ্যা 0 রয়েছে কারণ তাদের কাছে কোনও ডেটা নেই। এখানে চিত্র বর্ণনা লিখুন

স্ক্রিপ্টটি নিখুঁত নয়, কেবলমাত্র এক কর্মচঞ্চল, তবে এটি আমার মধ্যে কাজ করবে যতক্ষণ না জেডএফএস একদিন বিটিআরএফএসের (রিং আঙ্গুলগুলি) যেমন পুনরুক্তি বৈশিষ্ট্যটি প্রয়োগ করে।


হায় ... বাহ ...
ewwhite

0

আচ্ছা এটি হ্যাকের সামান্য বিষয় তবে আপনি zvol ব্যবহার করে মেশিনটি বন্ধ করে দিয়েছেন, আপনি zfs বার.জভল নামক লোকালহোস্টের একটি স্থানীয় ফাইলে ফাইল সিস্টেমটি প্রেরণ করতে পারেন, এবং তারপরে আপনি আবার ফাইল ব্যাক সিস্টেমটি পাবেন। এটি আপনার জন্য ডেটা ভারসাম্যপূর্ণ করা উচিত।

zfs send tank/bar > bar.zvol

zfs receive tank/bar < bar.zvol

-1

আমি যে সর্বোত্তম সমাধানটি পেয়েছি তা হ'ল প্রসারিত পুলটিতে আপনার অর্ধেক নকল করা এবং তারপরে মূল সদৃশ ডেটা মুছতে।


3
তুমি কি বিস্তারিত বলতে পারো?
ew white

@ রেকো: জেডভোলগুলি ফাইল সিস্টেম নয় তাই আপনি সেগুলিতে ডেটা মুছতে বা সদৃশ করতে পারবেন না। আপনি ডেটা ওভাররাইট করতে পারেন তবে আপনি এটি একই বিষয়বস্তু না করে যা এটি কার্যকরভাবে অন্তর্নিহিত ভলিউমগুলিতে ডেটা বিস্তৃত করতে পারে না তা ক্ষতিগ্রস্থ করবে, তবে ইহাই হ'ল এক বছর আগে ইঙ্গিত দিয়েছে suggested
jlliagre

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

1
ভিডিওয়াদের উপর ডেটা আবার বিতরণ করা একটি বৈধ অনুরোধ। আমি আশঙ্কা করছি আপনি এখনও মিস করছেন প্রশ্নটি zvols সম্পর্কিত, ফাইল সিস্টেম নয়। আপনি কোনও ভলিউমের ডেটা সদৃশ করতে বা মুছতে পারবেন না, এটি বোঝা যায় না।
jlliagre

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