গ্লাস্টার ফাইল সিস্টেমে কীভাবে স্ব-নিরাময় এবং পুনরায় ভারসাম্য পরিচালনা করা যায় - পার্ট 2


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

এই বৈশিষ্ট্যটি প্রতিলিপিযুক্ত ভলিউমের জন্য উপলব্ধ। মনে করুন, আমাদের একটি প্রতিলিপিযুক্ত ভলিউম [সর্বনিম্ন প্রতিলিপি গণনা 2] রয়েছে। ধরে নিন যে কিছু ব্যর্থতার কারণে প্রতিরূপের ইটগুলির মধ্যে এক বা একাধিক ইট কিছু সময়ের জন্য নেমে যায় এবং ব্যবহারকারী মাউন্ট পয়েন্ট থেকে একটি ফাইল মুছতে পারে যা কেবলমাত্র অনলাইন ইটের উপর প্রভাব ফেলবে।

পরে যখন অফলাইন ইট অনলাইনে আসে, তখন এই ফাইলটি এই ইট থেকে অপসারণ করাও প্রয়োজন, অর্থাৎ নিরাময় হিসাবে পরিচিত প্রতিরূপ ইটের মধ্যে একটি সমন্বয় সাধন করা আবশ্যক। অফলাইন ইটগুলিতে ফাইল তৈরি/পরিবর্তন করার ক্ষেত্রেও একই ঘটনা। যখনই ইট অনলাইন হয়ে যায় তখন এই পরিস্থিতিতে যত্ন নিতে গ্লাস্টারএফএসের একটি অন্তর্নির্মিত স্ব-নিরাময় ডিমন রয়েছে।

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

গ্লাস্টারএফএসে স্ব-নিরাময় করা

1. নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি প্রতিলিপিযুক্ত ভলিউম তৈরি করুন।

$ gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b

দ্রষ্টব্য: একই সার্ভারে ইট দিয়ে একটি প্রতিলিপিযুক্ত ভলিউম তৈরি করা একটি সতর্কতা বাড়িয়ে তুলতে পারে যার জন্য আপনাকে একই উপেক্ষা করতে হবে।

2. ভলিউমটি শুরু করুন এবং মাউন্ট করুন।

$ gluster volume start vol
$ mount -t glusterfs 192.168.1.16:/vol /mnt/

৩. মাউন্ট পয়েন্ট থেকে একটি ফাইল তৈরি করুন।

$ touch /mnt/foo

4. দুটি প্রতিরূপ ইট একই পরীক্ষা করুন।

$ ls /home/a/
foo
$ ls /home/b/
foo

৫. এখন ভলিউম স্থিতির তথ্য থেকে পাওয়া পিআইডি ব্যবহার করে সংশ্লিষ্ট গ্লাস্টারফস ডিমনকে হত্যা করে একটি ইটটিকে অফলাইনে প্রেরণ করুন।

$ gluster volume status vol
Status of volume: vol
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	3810 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

দ্রষ্টব্য: সার্ভারে স্ব-নিরাময় ডেমনটির উপস্থিতি দেখুন।

$ kill 3810
$ gluster volume status vol
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			N/A	  N	N/A 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

এখন দ্বিতীয় ইটটি অফলাইন।

Mount. মাউন্ট পয়েন্ট থেকে foo ফাইলটি মুছুন এবং ইটের সামগ্রীগুলি পরীক্ষা করুন।

$ rm -f /mnt/foo
$ ls /home/a
$ ls /home/b
foo

আপনি দেখতে পাচ্ছেন foo এখনও দ্বিতীয় ইটটিতে রয়েছে।

Now. এবার অনলাইনে ইটটি ফিরিয়ে আনুন।

$ gluster volume start vol force
$ gluster volume status vol
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	4110 
NFS Server on localhost				2049	  Y	4122 
Self-heal Daemon on localhost			N/A	  Y	4129

এখন ইটটি অনলাইনে।

8. ইটের সামগ্রীগুলি পরীক্ষা করুন।

$ ls /home/a/
$ ls /home/b/

স্ব-নিরাময় ডিমন দ্বারা ফাইলটি দ্বিতীয় ইট থেকে সরানো হয়েছে।

দ্রষ্টব্য: বড় ফাইলগুলির ক্ষেত্রে স্ব-নিরাময় অপারেশনটি সফলভাবে সম্পন্ন হতে কিছুক্ষণ সময় নিতে পারে। আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে নিরাময়ের স্থিতি পরীক্ষা করতে পারেন।

$ gluster volume heal vol info

গ্লাস্টারএফএসে পুনরায় ভারসাম্য সম্পাদন করা হচ্ছে

1. একটি বিতরণ ভলিউম তৈরি করুন।

$ gluster create volume distribute 192.168.1.16:/home/c

2. ভলিউমটি শুরু করুন এবং মাউন্ট করুন।

$ gluster volume start distribute
$ mount -t glusterfs 192.168.1.16:/distribute /mnt/

৩. ১০ টি ফাইল তৈরি করুন।

$ touch /mnt/file{1..10}
$ ls /mnt/
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

$ ls /home/c
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

4. ভলিউমে বিতরণ তে অন্য একটি ইট যুক্ত করুন।

$ gluster volume add-brick distribute 192.168.1.16:/home/d
$ ls /home/d

5. পুনরায় ভারসাম্য করুন।

$ gluster volume rebalance distribute start

volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.

6. বিষয়বস্তু পরীক্ষা করুন।

$ ls /home/c
file1  file2  file5  file6  file8 

$ ls /home/d
file10  file3  file4  file7  file9

ফাইলগুলি আবার ভারসাম্যযুক্ত হয়েছে।

দ্রষ্টব্য: আপনি নিম্নলিখিত আদেশটি জারি করে পুনঃ ভারসাম্য স্থিতি পরীক্ষা করতে পারেন।

$ gluster volume rebalance distribute status
Node           Rebalanced-files     size          scanned    failures    skipped   status	run time in secs 
---------      -----------          ---------     --------   ---------   -------   --------     ----------------- 
localhost          5                0Bytes           15          0         0       completed         1.00 
volume rebalance: distribute: success:

এর সাথে আমি এই সিরিজটি গ্লাস্টারএফএসে শেষ করার পরিকল্পনা করছি। স্ব-নিরাময় এবং পুনঃ ভারসাম্য বৈশিষ্ট্যগুলি সম্পর্কে আপনার সন্দেহগুলির সাথে এখানে বিনা দ্বিধায় মন্তব্য করুন।