এটি হল সুইফট-রিং-বিল্ডার যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
swift-ring-builder - ওপেনস্ট্যাক-সুইফট রিং নির্মাতা
সাইনোপিসিস
swift-ring-builder <...>
বর্ণনাঃ
সুইফ্ট-রিং-বিল্ডার ইউটিলিটি সুইফ্ট স্টোরেজ তৈরি, অনুসন্ধান এবং ম্যানিপুলেট করতে ব্যবহৃত হয়
রিং রিং-বিল্ডার ডিভাইসগুলিতে পার্টিশন নির্ধারণ করে এবং একটি অপ্টিমাইজড পাইথন লেখে
সার্ভারে পাঠানোর জন্য ডিস্কে একটি জিজিপড, আচারযুক্ত ফাইলের গঠন। সার্ভার
প্রক্রিয়াগুলি মাঝে মাঝে ফাইলের পরিবর্তনের সময় পরীক্ষা করে এবং তাদের মধ্যে পুনরায় লোড করে-
প্রয়োজন অনুসারে রিং কাঠামোর মেমরি কপি। কারণ রিং-বিল্ডার কীভাবে পরিচালনা করেন
রিং পরিবর্তন, একটি সামান্য পুরানো রিং ব্যবহার করে সাধারণত শুধুমাত্র তিনটি মানে একটি
পার্টিশনের একটি উপসেটের প্রতিলিপিগুলি ভুল হবে, যা সহজেই কাজ করা যেতে পারে
কাছাকাছি.
রিং-বিল্ডার রিং তথ্য এবং অতিরিক্ত সহ তার নিজস্ব বিল্ডার ফাইল রাখে
ভবিষ্যতের রিং তৈরির জন্য প্রয়োজনীয় ডেটা। একাধিক ব্যাকআপ কপি রাখা খুবই গুরুত্বপূর্ণ
এই নির্মাতা ফাইলের. একটি বিকল্প হল বিল্ডার ফাইলগুলি প্রতিটি সার্ভারে অনুলিপি করা
রিং ফাইল নিজেরাই কপি করা। আরেকটি হল বিল্ডার ফাইল আপলোড করা
ক্লাস্টার নিজেই। একটি বিল্ডার ফাইলের সম্পূর্ণ ক্ষতির অর্থ হবে একটি নতুন রিং তৈরি করা
স্ক্র্যাচ, প্রায় সমস্ত পার্টিশন বিভিন্ন ডিভাইসে বরাদ্দ করা হবে, এবং তাই
সঞ্চিত প্রায় সমস্ত ডেটা নতুন অবস্থানে প্রতিলিপি করতে হবে। সুতরাং, একটি থেকে পুনরুদ্ধার
বিল্ডার ফাইল হারানো সম্ভব, কিন্তু ডেটা স্পষ্টভাবে একটি বর্ধিত জন্য অপাগ্য হবে
সময়।
'সুইফ্ট-রিং-বিল্ডার-সেফ' হিসাবে আমন্ত্রণ করা হলে বিল্ডার ফাইল ধারণকারী ডিরেক্টরি প্রদত্ত
লক করা হবে (ফাইল প্যারেন্ট ডিরেক্টরিতে একটি .lock ফাইলের মাধ্যমে)। এটি একটি মৌলিক প্রদান করে
সুইফ্ট-রিং-বিল্ডার (বা অন্যান্য ইউটিলিটি যা
বিল্ডার/রিং ফাইলগুলি লিখতে বা পড়ার চেষ্টা করা থেকে এই লকটি পর্যবেক্ষণ করুন
অপারেশন চলছে। এটি এমন পরিবেশে কার্যকর হতে পারে যেখানে রিং ব্যবস্থাপনা রয়েছে
স্বয়ংক্রিয় হয়েছে কিন্তু অপারেটরকে এখনও রিংগুলির সাথে ম্যানুয়ালি ইন্টারঅ্যাক্ট করতে হবে৷
অনুসন্ধান
ফর্ম হতে পারে:
d z - : / _
যেকোনো অংশ ঐচ্ছিক, তবে আপনাকে অবশ্যই অন্তত একটি, উদাহরণ অন্তর্ভুক্ত করতে হবে:
d74 ডিভাইস আইডি 74 এর সাথে মেলে
z1 জোন 1-এ ডিভাইসের সাথে মেলে
z1-1.2.3.4 ip 1 এর সাথে জোন 1.2.3.4 এর ডিভাইসগুলিকে মেলে
1.2.3.4 ip 1.2.3.4 এর সাথে যেকোন জোনে ডিভাইসগুলিকে মেলে
z1:5678 পোর্ট 1 ব্যবহার করে জোন 5678-এ ডিভাইসের সাথে মেলে
:5678 পোর্ট 5678 ব্যবহার করে এমন ডিভাইসের সাথে মেলে
/sdb1 ডিভাইসের নাম sdb1-এর সাথে মেলে
_চকচকে মেটা ডেটাতে চকচকে ডিভাইসের সাথে মেলে
_'snet: 5.6.7.8' মেটা ডেটাতে snet: 5.6.7.8 ডিভাইসের সাথে মেলে
[::1] ip ::1 এর সাথে যেকোন জোনের ডিভাইসগুলিকে মেলে
z1-[::1]:5678 আইপি ::1 এবং পোর্ট 1 এর সাথে জোন 5678 এর ডিভাইসগুলিকে মেলে
সবচেয়ে নির্দিষ্ট উদাহরণ:
d74z1-1.2.3.4:5678/sdb1_"snet: 5.6.7.8"
নের্ড ব্যাখ্যা:
আইপি ব্যতীত সমস্ত আইটেমের জন্য তাদের একক অক্ষর উপসর্গ প্রয়োজন, এই ক্ষেত্রে -
ডিভাইস আইডি বা জোনও অন্তর্ভুক্ত না হলে এটি ঐচ্ছিক।
কম্যান্ডস
রিং এবং ভিতরে থাকা ডিভাইসগুলি সম্পর্কে তথ্য দেখায়৷
অনুসন্ধান
ম্যাচিং ডিভাইস সম্পর্কে তথ্য দেখায়.
যোগ z - : / _
যোগ r z - : / _
যোগ -আর -z -i -পি -d -মি -w
প্রদত্ত তথ্যের সাথে রিংটিতে একটি ডিভাইস যুক্ত করে। কোন পার্টিশন বরাদ্দ করা হবে না
'রিব্যালেন্স' চালানো না হওয়া পর্যন্ত নতুন ডিভাইসে। এটি তাই আপনি একাধিক করতে পারেন
ডিভাইস পরিবর্তন এবং তাদের সব শুধুমাত্র একবার ভারসাম্য.
সৃষ্টি
সৃষ্টি করে 2^ সহ পার্টিশন এবং .
একটি পার্টিশনকে একাধিকবার সরানো সীমাবদ্ধ করার জন্য ঘন্টার সংখ্যা।
তালিকা_অংশ [ ] ..
যে কোনো ডিভাইসে বরাদ্দ করা সমস্ত পার্টিশনের একটি 2 কলাম তালিকা প্রদান করে
প্রদত্ত অনুসন্ধান মানগুলির সাথে মেলে। প্রথম কলামটি নির্ধারিত পার্টিশন নম্বর
এবং দ্বিতীয় কলাম হল সেই পার্টিশনের জন্য ডিভাইসের মিলের সংখ্যা। তালিকা হল
সর্বাধিক সংখ্যা থেকে কমপক্ষে ম্যাচ অর্ডার করা হয়েছে। অনেকগুলো ডিভাইস থাকলে মিলবে
বিরুদ্ধে, এই কমান্ড চালানোর জন্য কিছু সময় নিতে পারে.
rebalance
সম্প্রতি করা হয়নি এমন পার্টিশনগুলিকে পুনরায় বরাদ্দ করে রিংটি পুনরায় ভারসাম্যপূর্ণ করার প্রচেষ্টা
পুনরায় নিয়োগ
অপসারণ
রিং থেকে ডিভাইস(গুলি) সরিয়ে দেয়। এটি সাধারণত একটি ডিভাইসের জন্য ব্যবহার করা উচিত
যে ব্যর্থ হয়েছে. আপনি যে ডিভাইসটিকে ডিকমিশন করতে চান, তার ওজন সেট করা ভালো
0 থেকে, এটির সমস্ত ডেটা নিষ্কাশনের জন্য অপেক্ষা করুন, তারপর এই রিমুভ কমান্ডটি ব্যবহার করুন। এই হবে না
'পুনরায় ভারসাম্য' চালানো না হওয়া পর্যন্ত কার্যকর হবে। এটি তাই আপনি একাধিক ডিভাইস তৈরি করতে পারেন
পরিবর্তন এবং তাদের সব শুধুমাত্র একবার rebalance.
সেট_তথ্য : / _
ডিভাইসের তথ্য রিসেট করে। এই তথ্য পার্টিশন বরাদ্দ করতে ব্যবহার করা হয় না, তাই
আপনি নতুন ডিভাইসের সাথে বর্তমান রিংটি পুনরায় লেখার জন্য পরে 'write_ring' ব্যবহার করতে পারেন
তথ্য যে কোনো অংশ ফাইনালে ঐচ্ছিক
: / _ প্যারামিটার; আপনি যা পরিবর্তন করতে চান তা দিন। জন্য
instance set_info d74 _"snet: 5.6.7.8" শুধুমাত্র ডিভাইস আইডির জন্য মেটা ডেটা আপডেট করবে
74.
সেট_মিনিট_পার্ট_আওয়ার
পরিবর্তন করে দেওয়া . এটি যদিও দীর্ঘ সেট করা উচিত
একটি সম্পূর্ণ প্রতিলিপি/আপডেট চক্র লাগে। আমরা এটি আরো নির্ধারণ করার জন্য একটি উপায় কাজ করছি
লগ স্ক্যান করার চেয়ে সহজ।
সেট_ওজন
ডিভাইসের ওজন রিসেট করে। ডিভাইসে বা থেকে কোনো পার্টিশন পুনরায় বরাদ্দ করা হবে না
'রিব্যালেন্স' চালানোর পর পর্যন্ত। এটি তাই আপনি একাধিক ডিভাইস পরিবর্তন করতে পারেন এবং
শুধু একবার তাদের সব rebalance.
সত্যতা সমর্থন করা
শুধু রিং উপর বৈধতা রুটিন চালায়.
write_ring
শুধু বিতরণযোগ্য রিং ফাইলটি পুনরায় লিখুন। এটি একটি পরে স্বয়ংক্রিয়ভাবে সম্পন্ন হয়
সফল পুনঃভারসাম্য, তাই সত্যিই এটি শুধুমাত্র এক বা একাধিক 'set_info' এর পরেই কার্যকর
যখন কোন ভারসাম্যের প্রয়োজন হয় না তখন কল করে কিন্তু আপনি নতুন ডিভাইস পাঠাতে চান
তথ্য।
দ্রুত তালিকা: যোগ করুন create list_parts রিব্যালেন্স রিমুভ সার্চ সেট_ইনফো
set_min_part_hours set_weight validate write_ring
প্রস্থান কোড: 0 = রিং পরিবর্তিত হয়েছে, 1 = রিং পরিবর্তন হয়নি, 2 = ত্রুটি
উপস্থাপনা
সুইফট রিং সম্পর্কে আরও গভীর ডকুমেন্টেশন এবং সামগ্রিকভাবে Openstack-Swift
এ পাওয়া যাবে http://swift.openstack.org/overview_ring.html,
http://swift.openstack.org/admin_guide.html# ম্যানেজিং-দ্য-রিং এবং
http://swift.openstack.org
onworks.net পরিষেবা ব্যবহার করে অনলাইনে swift-ring-builder ব্যবহার করুন
