কীভাবে ডিআরবিডি সেটআপ করবেন টু সেন্টোস 7 সার্ভারে স্টোরেজ প্রতিলিপি করতে


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

আপনি সার্ভারগুলিতে মিরর করা ডিস্কগুলির সাথে নেটওয়ার্ক RAID 1 কনফিগারেশনের মতো কিছুটা ভাবতে পারেন। যাইহোক, এটি RAID এবং এমনকি নেটওয়ার্ক RAID থেকে একেবারেই আলাদাভাবে পরিচালনা করে।

মূলত, ডিআরবিডি মূলত উচ্চ প্রাপ্যতা (এইচএ) কম্পিউটার ক্লাস্টারগুলিতে ব্যবহৃত হত, তবে 9 নং সংস্করণে এটি ক্লাউড স্টোরেজ সমাধান স্থাপনের জন্য ব্যবহার করা যেতে পারে।

এই নিবন্ধে, আমরা CentOS- এ কীভাবে DRBD ইনস্টল করব এবং দুটি সার্ভারে স্টোরেজ (পার্টিশন) প্রতিলিপি করতে কীভাবে এটি ব্যবহার করব তা সংক্ষেপে প্রদর্শন করব rate লিনাক্সে ডিআরবিডি ব্যবহার শুরু করার জন্য এটি নিখুঁত নিবন্ধ।

এই নিবন্ধটির উদ্দেশ্যে, আমরা এই সেটআপের জন্য দুটি নোড ক্লাস্টার ব্যবহার করছি।

  • নোড 1: 192.168.56.101 - tecmint.tecmint.lan
  • নোড 2: 192.168.56.102 - server1.tecmint.lan

পদক্ষেপ 1: ডিআরবিডি প্যাকেজ ইনস্টল করা

ডিআরবিডি লিনাক্স কার্নেল মডিউল হিসাবে প্রয়োগ করা হয়। এটি স্পষ্টভাবে ভার্চুয়াল ব্লক ডিভাইসের জন্য ড্রাইভার গঠন করে, তাই এটি সিস্টেমের আই/ও স্ট্যাকের ঠিক নীচে প্রতিষ্ঠিত।

ডিআরবিডি ইএলরোপো বা ইপিইএল সংগ্রহস্থলগুলি থেকে ইনস্টল করা যেতে পারে। আসুন ELRepo প্যাকেজ স্বাক্ষরকরণ কীটি আমদানি করে শুরু করা যাক এবং উভয় নোডে দেখানো হয়েছে এমনভাবে সংগ্রহস্থল সক্ষম করুন।

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

তারপরে আমরা দুটি নোডে চালিয়ে ডিআরবিডি কার্নেল মডিউল এবং ইউটিলিটিগুলি ইনস্টল করতে পারি:

# yum install -y kmod-drbd84 drbd84-utils

আপনার যদি সেলইনাক্স সক্ষম করা থাকে তবে ডিআরবিডি প্রসেসগুলি সেলইনাক্স নিয়ন্ত্রণ থেকে ছাড় দেওয়ার জন্য আপনার নীতিগুলি সংশোধন করতে হবে।

# semanage permissive -a drbd_t

তদতিরিক্ত, যদি আপনার সিস্টেমে ফায়ারওয়াল সক্ষম (ফায়ারওয়াল্ড) থাকে তবে দুটি নোডের মধ্যে ডেটা সিঙ্ক্রোনাইজেশন করার জন্য আপনাকে ফায়ারওয়ালে ডিআরবিডি পোর্ট 7777 যুক্ত করতে হবে।

প্রথম নোডে এই কমান্ডগুলি চালনা করুন:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4"  source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

তারপরে দ্বিতীয় নোডে এই কমান্ডগুলি চালনা করুন:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

পদক্ষেপ 2: নিম্ন-স্তরের সঞ্চয় সংগ্রহ করা

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

এই নিবন্ধটির উদ্দেশ্যে, আমরা dd কমান্ডটি ব্যবহার করে 2GB সাইজের একটি ডামি ব্লক ডিভাইস তৈরি করব।

 
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024

আমরা ধরে নেব যে এটি উভয় নোডের সাথে সংযুক্ত দ্বিতীয় ব্লক ডিভাইসে (/ dev/sdb) একটি অব্যবহৃত পার্টিশন (/ dev/sdb1)।

পদক্ষেপ 3: ডিআরবিডি কনফিগার করা

ডিআরবিডি-র মূল কনফিগারেশন ফাইলটি /etc/drbd.conf এ অবস্থিত এবং অতিরিক্ত কনফিগারেশন ফাইলগুলি /etc/drbd.d ডিরেক্টরিতে পাওয়া যাবে।

স্টোরেজ প্রতিলিপি করতে, আমাদের /etc/drbd.d/global_common.conf ফাইলে প্রয়োজনীয় কনফিগারেশন যুক্ত করতে হবে যা ডিআরবিডি কনফিগারেশনের গ্লোবাল এবং সাধারণ বিভাগ রয়েছে এবং আমরা .res ফাইলগুলিতে সংস্থান সংজ্ঞা দিতে পারি।

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

# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf 

উভয় ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করুন:

global {
 usage-count  yes;
}
common {
 net {
  protocol C;
 }
}

ফাইলটি সংরক্ষণ করুন এবং তারপরে সম্পাদকটি বন্ধ করুন।

আসুন সংক্ষিপ্তভাবে লাইন প্রোটোকল সি-তে আরও আলো ছায়া করুন ডিআরবিডি তিনটি স্বতন্ত্র প্রতিরূপ মোডকে সমর্থন করে (এইভাবে তিনটি ডিগ্রি প্রতিলিখনের সিনক্রোনসিটির) যা:

  • প্রোটোকল এ: অ্যাসিনক্রোনাস প্রতিলিপি প্রোটোকল; এটি প্রায়শই দীর্ঘ দূরত্বের প্রতিরূপের পরিস্থিতিতে ব্যবহৃত হয়
  • প্রোটোকল বি: আধা-সমকালীন প্রতিলিপি প্রোটোকল ওরফে মেমরি সিঙ্ক্রোনাস প্রোটোকল
  • প্রোটোকল সি: সাধারণত স্বল্প দূরত্বের নেটওয়ার্কগুলিতে নোডের জন্য ব্যবহৃত হয়; এটি এখন পর্যন্ত, ডিআরবিডি সেটআপগুলিতে সর্বাধিক ব্যবহৃত প্রতিলিপি প্রোটোকল

গুরুত্বপূর্ণ: প্রতিলিপি প্রোটোকল নির্বাচন আপনার স্থাপনার দুটি কারণকে প্রভাবিত করে: সুরক্ষা এবং বিলম্বিতা। এবং থ্রুপুট, বিপরীতে, নির্বাচিত প্রতিলিপি প্রোটোকল থেকে মূলত স্বতন্ত্র।

পদক্ষেপ 4: একটি সংস্থান যুক্ত করা

একটি সংস্থান হ'ল সম্মিলিত শব্দ যা নির্দিষ্ট প্রতিলিপিযুক্ত ডেটা সেটের সমস্ত দিককে বোঝায়। আমরা আমাদের উত্স /etc/drbd.d/test.res নামক একটি ফাইলে সংজ্ঞায়িত করব।

উভয় নোডে ফাইলটিতে নিম্নলিখিত সামগ্রী যুক্ত করুন (আপনার পরিবেশের জন্য প্রকৃত মানগুলির সাথে সামগ্রীতে ভেরিয়েবলগুলি প্রতিস্থাপন করতে ভুলবেন না)।

হোস্টনামগুলির নোটটি নিন, আমাদের নেটওয়ার্ক হোস্টনাম নির্দিষ্ট করতে হবে যা আনাম -n কমান্ড চালিয়ে প্রাপ্ত করা যেতে পারে।

resource test {
        on tecmint.tecmint.lan {
 		device /dev/drbd0;
       		disk /dev/sdb1;
        		meta-disk internal;	
                	address 192.168.56.101:7789;
        }
        on server1.tecmint.lan  {
		device /dev/drbd0;
        		disk /dev/sdb1;
        		meta-disk internal;
                	address 192.168.56.102:7789;
        }
}
}

কোথায়:

  • হোস্টনামে: অন বিভাগে বলা হয়েছে যেগুলি আবদ্ধ কনফিগারেশন বিবৃতিগুলি হোস্ট করে।
  • পরীক্ষা: নতুন সংস্থানটির নাম
  • ডিভাইস/dev/drbd0: ডিআরবিডি দ্বারা পরিচালিত নতুন ভার্চুয়াল ব্লক ডিভাইস নির্দিষ্ট করে।
  • ডিস্ক/দেব/এসডিবি 1: হ'ল ব্লক ডিভাইস পার্টিশন যা ডিআরবিডি ডিভাইসের ব্যাকিং ডিভাইস
  • মেটা-ডিস্ক: ডিআরবিডি যেখানে তার মেটাটাটা সঞ্চয় করে তা নির্ধারণ করে। অভ্যন্তরীণ ব্যবহারের অর্থ হ'ল ডিআরবিডি প্রকৃত উত্পাদন ডেটার মতো একই শারীরিক নিম্ন-স্তরের ডিভাইসে তার মেটা ডেটা সঞ্চয় করে
  • ঠিকানা: সম্পর্কিত নোডের আইপি ঠিকানা এবং পোর্ট নম্বর নির্দিষ্ট করে।

আরও মনে রাখবেন যে বিকল্পগুলির উভয় হোস্টের সমান মান থাকলে, আপনি সেগুলি সরাসরি সংস্থান বিভাগে নির্দিষ্ট করতে পারেন।

উদাহরণস্বরূপ উপরের কনফিগারেশনটিতে পুনর্গঠন করা যেতে পারে:

resource test {
	device /dev/drbd0;
	disk /dev/sdb1;
        	meta-disk internal;	
        	on tecmint.tecmint.lan {
 		address 192.168.56.101:7789;
        	}
        	on server1.tecmint.lan  {
		address 192.168.56.102:7789;
        		}
}

পদক্ষেপ 5: রিসোর্স আরম্ভ করা এবং সক্ষম করা

ডিআরবিডি এর সাথে যোগাযোগের জন্য, আমরা নিম্নলিখিত প্রশাসন সরঞ্জামগুলি ব্যবহার করব যা ডিআরবিডি সংস্থানগুলি কনফিগার করতে ও পরিচালনা করতে কার্নেল মডিউলটির সাথে যোগাযোগ করে:

  • দ্রবদম: ডিআরবিডি-র একটি উচ্চ-স্তরের প্রশাসনের সরঞ্জাম
  • drbdsetup: তাদের ব্যাকিং ব্লক ডিভাইসগুলির সাথে ডিআরবিডি ডিভাইসগুলি সংযুক্ত করার জন্য, তাদের ব্যাকিং ব্লক ডিভাইসগুলিকে মিরর করার জন্য ডিআরবিডি ডিভাইস জোড়া সেটআপ করার জন্য এবং ডিআরবিডি ডিভাইসগুলির চলমান কনফিগারেশন পরিদর্শন করার জন্য একটি নিম্ন-স্তরের প্রশাসনের সরঞ্জাম
  • Drbdmeta: হ'ল মেটা ডেটা ম্যানেজমেন্ট সরঞ্জাম

সমস্ত প্রাথমিক সংস্থান কনফিগারেশন যুক্ত করার পরে, আমাদের অবশ্যই উভয় নোডে সংস্থানটি আনতে হবে।

# drbdadm create-md test

এর পরে, আমাদের রিসোর্সটি সক্ষম করা উচিত, যা এর ব্যাকিং ডিভাইসের সাহায্যে সংস্থানটি সংযুক্ত করবে, তারপরে এটি প্রতিলিপি পরামিতিগুলি সেট করে এবং উত্সটিকে তার পিয়ারের সাথে সংযুক্ত করে:

# drbdadm up test

এখন আপনি যদি lsblk কমান্ডটি চালনা করেন তবে লক্ষ্য করবেন যে DRBD ডিভাইস/ভলিউম drbd0 ব্যাকিং ডিভাইস/dev/sdb1 এর সাথে সম্পর্কিত:

# lsblk

সংস্থানটি অক্ষম করতে, চালান:

# drbdadm down test

রিসোর্সের স্থিতি পরীক্ষা করতে, নিম্নলিখিত কমান্ডটি চালান (নোট করুন যে এই মুহুর্তে বেমানান/বেমানান ডিস্কের অবস্থা প্রত্যাশিত):

# drbdadm status test
OR
# drbdsetup status test --verbose --statistics 	#for  a more detailed status 

পদক্ষেপ:: প্রাথমিক ডিভাইস সিঙ্ক্রোনাইজেশনের উত্স/প্রাথমিক উত্স সেট করুন

এই পর্যায়ে, ডিআরবিডি এখন অপারেশনের জন্য প্রস্তুত। প্রাথমিক ডিভাইস সিঙ্ক্রোনাইজেশনের উত্স হিসাবে কোন নোডটি ব্যবহার করা উচিত তা এখন আমাদের তা বলা দরকার।

প্রাথমিক সম্পূর্ণ সিঙ্ক্রোনাইজেশন শুরু করতে কেবল একটি নোডে নিম্নলিখিত কমান্ডটি চালান:

# drbdadm primary --force test
# drbdadm status test

সিঙ্ক্রোনাইজেশনটি সম্পূর্ণ হয়ে গেলে, উভয় ডিস্কের স্থিতি আপটোডেট হওয়া উচিত।

পদক্ষেপ 7: ডিআরবিডি সেটআপ পরীক্ষা করা

অবশেষে, আমাদের পরীক্ষা করা দরকার ডিআরবিডি ডিভাইসটি অনুলিপি করা ডাটা স্টোরেজের জন্য ভালভাবে কাজ করবে কিনা। মনে রাখবেন, আমরা একটি খালি ডিস্ক ভলিউম ব্যবহার করেছি, সুতরাং আমাদের অবশ্যই এটি ডিভাইসটিতে একটি ফাইল সিস্টেম তৈরি করতে হবে এবং এটি মাউন্ট করতে হবে, পরীক্ষা করার জন্য যদি আমরা এটি প্রতিলিপিযুক্ত ডেটা স্টোরেজের জন্য ব্যবহার করতে পারি।

আমরা নোডে নীচের কমান্ড দিয়ে ডিভাইসে একটি ফাইল সিস্টেম তৈরি করতে পারি যেখানে আমরা প্রাথমিক পূর্ণ সিঙ্ক্রোনাইজেশন শুরু করেছি (যার প্রাথমিক ভূমিকা সহ সংস্থান রয়েছে):

# mkfs -t ext4 /dev/drbd0 

তারপরে এটি প্রদর্শিত হিসাবে মাউন্ট করুন (আপনি মাউন্ট পয়েন্ট একটি উপযুক্ত নাম দিতে পারেন):

# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/

এখন উপরের মাউন্ট পয়েন্টে কিছু ফাইল অনুলিপি করুন বা তৈরি করুন এবং ls কমান্ড ব্যবহার করে একটি দীর্ঘ তালিকা করুন:

# cd /mnt/DRDB_PRI/
# ls -l 

এরপরে, ডিভাইসটিকে আনমাউন্ট করুন (মাউন্টটি খোলা নেই তা নিশ্চিত করুন, কোনও ত্রুটি রোধ করতে এটি আনমাউন্ট করার পরে ডিরেক্টরি পরিবর্তন করুন) এবং নোডের ভূমিকাটি প্রাথমিক থেকে মাধ্যমিকতে পরিবর্তন করুন:

# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test

অন্য নোডে (যার গৌণ ভূমিকা সহ সংস্থান রয়েছে) এটিকে প্রাথমিক করুন, তারপরে ডিভাইসটি মাউন্ট করুন এবং মাউন্ট পয়েন্টের দীর্ঘ তালিকা সম্পাদন করুন। যদি সেটআপটি ঠিকঠাক কাজ করে তবে ভলিউমে সঞ্চিত সমস্ত ফাইল সেখানে থাকা উচিত:

# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls  -l 

আরও তথ্যের জন্য ব্যবহারকারীর স্থান প্রশাসনের সরঞ্জামগুলির ম্যান পৃষ্ঠাগুলি দেখুন:

# man drbdadm
# man drbdsetup
# man drbdmeta

তথ্যসূত্র: ডিআরবিডি ব্যবহারকারীর গাইড।

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