පාඨමාලා ආරම්භයට ආසන්න දිනක ලිපියේ පරිවර්තනය සකස් කරන ලදී
DRBD (Distributed Replicated Block Device) යනු Linux සඳහා බෙදා හරින ලද, නම්යශීලී සහ විශ්වීය වශයෙන් අනුවර්තනය කළ හැකි ගබඩා විසඳුමකි. එය දෘඪ තැටි, කොටස්, තාර්කික වෙළුම් වැනි බ්ලොක් උපාංගවල අන්තර්ගතය පිළිබිඹු කරයි. සේවාදායකයන් අතර. එය ගබඩා උපාංග දෙකක දත්ත පිටපත් සාදන අතර ඉන් එකක් අසමත් වුවහොත් දෙවැන්නෙහි දත්ත භාවිතා කළ හැකිය.
එය එවැනි දෙයක් යැයි ඔබට පැවසිය හැකිය
මුලදී, DRBD ප්රධාන වශයෙන් භාවිතා කරන ලද්දේ ඉහළ ලබා ගත හැකි (HA) පරිගණක පොකුරු වල, කෙසේ වෙතත්, XNUMX වන අනුවාදයෙන් පටන් ගෙන, එය වලාකුළු ආචයන විසඳුම් යෙදවීමට භාවිතා කළ හැක.
මෙම ලිපියෙන්, අපි CentOS මත DRBD ස්ථාපනය කරන්නේ කෙසේද සහ සේවාදායකයන් දෙකක් හරහා ගබඩා කිරීම (කොටස) ප්රතිනිර්මාණය කිරීමට එය භාවිතා කරන්නේ කෙසේද යන්න කෙටියෙන් නිරූපණය කරන්නෙමු. ලිනක්ස් හි DRBD සමඟ ආරම්භ කිරීමට හොඳම ලිපිය මෙයයි.
පරීක්ෂණ පරිසරය
මෙම සැකසුම සඳහා අපි ද්වි නෝඩ් පොකුරක් භාවිතා කරමු.
- අංක 1: 192.168.56.101 - tecmint.tecmint.lan
- Node 2: 192.168.56.102 – server1.tecmint.lan
පියවර 1: DRBD පැකේජ ස්ථාපනය කරන්න
DRBD ලිනක්ස් කර්නල් මොඩියුලයක් ලෙස ක්රියාත්මක වේ. එය අතථ්ය බ්ලොක් උපාංගයක් සඳහා වන ධාවකයකි, එබැවින් එය පද්ධතියේ I/O තොගයේ ඉතා පහළින් පිහිටා ඇත.
DRBD ELRepo හෝ EPEL වෙතින් ස්ථාපනය කළ හැක. 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
එවිට ඔබට නෝඩ් දෙකෙහිම DRBD කර්නල් මොඩියුලය සහ උපයෝගිතා ස්ථාපනය කිරීමට අවශ්ය වේ:
# yum install -y kmod-drbd84 drbd84-utils
ඔබ SELinux සක්රීය කර ඇත්නම්, ඔබ SELinux පාලනයෙන් DRBD ක්රියාවලි නිදහස් කිරීමට ප්රතිපත්ති වින්යාස කිරීම අවශ්ය වේ.
# semanage permissive -a drbd_t
අතිරේකව, ඔබේ පද්ධතිය ෆයර්වෝලයක් (ෆයර්වෝල්ඩ්) ක්රියාත්මක කරන්නේ නම්, නෝඩ් දෙක අතර දත්ත සමමුහුර්ත කිරීමට ඉඩ දීමට ඔබට DRBD port 7789 එක් කිරීමට අවශ්ය වනු ඇත.
පළමු නෝඩය සඳහා මෙම විධානයන් ක්රියාත්මක කරන්න:
# 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: පහත් මට්ටමේ ගබඩාවක් සූදානම් කරන්න
දැන් අපි පොකුරු නෝඩ් දෙකෙහිම DRBD ස්ථාපනය කර ඇති බැවින්, අපි ඒවා මත දළ වශයෙන් එකම ප්රමාණයේ ගබඩා ප්රදේශ සැපයිය යුතුය. මෙය දෘඪ තැටි කොටසක් (හෝ සම්පූර්ණ භෞතික දෘඪ තැටියක්), මෘදුකාංග RAID උපාංගයක් විය හැක.
මෙම ලිපිය සඳහා, අපි dd විධානය භාවිතයෙන් 2GB පරීක්ෂණ වාරණ උපාංගයක් නිර්මාණය කරමු.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
මෙය නෝඩ් දෙකටම සම්බන්ධ වූ දෙවන බ්ලොක් උපාංගයක (/dev/sdb) භාවිතයට නොගත් කොටසක් (/dev/sdb1) යැයි උපකල්පනය කරමු.
පියවර 3. DRBD වින්යාස කිරීම
DRBD ප්රධාන වින්යාස ගොනුව - /etc/drbd.conf
, සහ අමතර වින්යාස ගොනු නාමාවලියෙහි සොයාගත හැක /etc/drbd.d
.
ගබඩාව ප්රතිනිර්මාණය කිරීම සඳහා, අපි ගොනුවට අවශ්ය වින්යාසයන් එක් කළ යුතුය /etc/drbd.d/global_common.conf
, DRBD වින්යාසයේ ගෝලීය සහ සාමාන්ය කොටස් අඩංගු වන අතර, අපට සම්පත් නිර්වචනය කිරීමට අවශ්ය වේ .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;
}
}
ගොනුව සුරකින්න, ඉන්පසු සංස්කාරකය වසා දමන්න.
අපි මොහොතකට ප්රොටෝකෝලය C රේඛාව දෙස බලමු, DRBD විවිධ ප්රතිනිර්මාණ ක්රම තුනකට (එනම්, අනුරූ සමමුහුර්ත අංශක තුනක්) සහය දක්වයි, එනම්:
- ප්රොටෝකෝලය A: අසමමුහුර්ත අනුරූකරණ ප්රොටෝකෝලය; බොහෝ විට දිගු දුර අනුරූ අවස්ථා වලදී භාවිතා වේ.
- ප්රොටෝකෝලය B: අර්ධ සමමුහුර්ත අනුරූ ප්රොටෝකෝලය හෝ සමමුහුර්ත මතක ප්රොටෝකෝලය.
- ප්රොටෝකෝලය C: සාමාන්යයෙන් කෙටි දුරක් සහිත ජාල වල නෝඩ් සඳහා භාවිතා වේ; මෙය DRBD සිටුවම් වල බහුලව භාවිතා වන අනුකරණ ප්රොටෝකෝලය වේ.
වැදගත්: ප්රතිනිර්මාණ ප්රොටෝකෝලය තේරීම යෙදවීමේ සාධක දෙකකට බලපායි: ආරක්ෂාව සහ ප්රමාදය. ප්රතිවිරුද්ධ ලෙස, ප්රතිදානය තෝරාගත් අනුකරණ ප්රොටෝකෝලය මත සැලකිය යුතු ලෙස රඳා නොපවතී.
පියවර 4: සම්පතක් එක් කරන්න
සම්පත් යනු විශේෂිත අනුරූ දත්ත කට්ටලයක සියලුම අංගයන් සඳහා යොමු වන කුඩ පදයකි. අපි ගොනුව තුළ අපගේ සම්පත නිර්වචනය කරන්නෙමු /etc/drbd.d/test.res
.
නෝඩ් දෙකෙහිම ගොනුවට පහත දෑ එක් කරන්න (ඔබේ පරිසරය සඳහා වන සත්ය අගයන් සමඟ විචල්යයන් ප්රතිස්ථාපනය කිරීමට මතක තබා ගන්න).
සත්කාරක නාම වෙත අවධානය යොමු කරන්න, අපි uname විධානය භාවිතයෙන් ලබා ගත හැකි ජාල සත්කාරක නාමය සඳහන් කළ යුතුය. -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: DRBD විසින් කළමනාකරණය කරන නව අතථ්ය වාරණ උපාංගයක් දක්වයි.
- තැටිය /dev/sdb1: මෙය DRBD උපාංගය සඳහා උපස්ථ උපාංගයක් වන බ්ලොක් උපාංග කොටසකි.
- මෙටා තැටිය: DRBD එහි පාර-දත්ත ගබඩා කරන්නේ කොතැනද යන්න නිර්වචනය කරයි. අභ්යන්තර යන්නෙන් අදහස් කරන්නේ DRBD එහි පාර-දත්ත නිෂ්පාදනයේ සත්ය දත්ත ලෙස එකම භෞතික පහත් මට්ටමේ උපාංගයක ගබඩා කරන බවයි.
- ලිපිනය: අදාල නෝඩයේ IP ලිපිනය සහ වරාය අංකය දක්වයි.
ධාරක දෙකෙහිම පරාමිති එකම අගයන් තිබේ නම්, ඔබට ඒවා කෙලින්ම සම්පත් අංශයේ සඳහන් කළ හැකි බව සලකන්න.
උදාහරණයක් ලෙස, ඉහත වින්යාසය ප්රතිව්යුහගත කළ හැක්කේ:
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. සම්පත ආරම්භ කර දියත් කරන්න
DRBD සමඟ අන්තර් ක්රියා කිරීමට අපි පහත පරිපාලන මෙවලම් භාවිතා කරන්නෙමු (DRBD සම්පත් වින්යාස කිරීමට සහ පරිපාලනය කිරීමට කර්නල් මොඩියුලය සමඟ අන්තර් ක්රියා කරයි):
- drbdadm: DRBD ඉහළ මට්ටමේ පරිපාලන මෙවලම.
- drbdsetup: DRBD උපාංග ඒවායේ උපස්ථ උපාංග වෙත සම්බන්ධ කිරීම, DRBD උපාංග යුගල ඒවායේ උපස්ථ උපාංග පරාවර්තනය කිරීම සඳහා වින්යාස කිරීම සහ ධාවනය වන DRBD උපාංගවල වින්යාසය සත්යාපනය කිරීම සඳහා පහළ මට්ටමේ පරිපාලන මෙවලමකි.
- Drbdmeta: පාරදත්ත කළමනාකරණ මෙවලම.
සියලුම ආරම්භක සම්පත් වින්යාසයන් එකතු කිරීමෙන් පසු, අපි නෝඩ් දෙකෙහිම සම්පත ඉල්ලා සිටිය යුතුය.
# drbdadm create-md test
පාරදත්ත ගබඩාව ආරම්භ කිරීම
මීලඟට අපට එය ක්රියාත්මක කිරීමට අවශ්ය වේ, එමඟින් සම්පත එහි උපස්ථ උපාංගයට සම්බන්ධ කරයි, ඉන්පසු අනුරූකරණ පරාමිතීන් සකසා සම්පත එහි සම වයසේ මිතුරන්ට සම්බන්ධ කරයි:
# drbdadm up test
දැන් ඔබ විධානය ක්රියාත්මක කරන්නේ නම් /dev/sdb1
:
# lsblk
බ්ලොක් උපාංග ලැයිස්තුව
සම්පතක් අක්රිය කිරීමට, ධාවනය කරන්න:
# drbdadm down test
සම්පතක තත්ත්වය පරීක්ෂා කිරීම සඳහා, පහත විධානය ක්රියාත්මක කරන්න (මෙම අවස්ථාවේදී තැටිවල තත්ත්වය අපේක්ෂා කරන බව සලකන්න. නොගැලපෙන / නොගැලපෙන):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
සම්පතක තත්ත්වය පරීක්ෂා කිරීම
නරකයි
පියවර 6: ප්රාථමික සම්පත්/ආරම්භක උපාංග සමමුහුර්තකරණ මූලාශ්රය සකසන්න
මෙම අදියරේදී, DRBD යාමට සූදානම්ය. දැන් අපි ආරම්භක උපාංග සමමුහුර්තකරණයේ මූලාශ්රය ලෙස භාවිතා කළ යුත්තේ කුමන නෝඩයද යන්න සඳහන් කළ යුතුය.
ආරම්භක සම්පූර්ණ සමමුහුර්තකරණය ආරම්භ කිරීමට පහත විධානය එක් නෝඩයක් මත ක්රියාත්මක කරන්න:
# drbdadm primary --force test
# drbdadm status test
මූලික උපාංගය ලෙස ප්රාථමික නෝඩය සැකසීම
සමමුහුර්තකරණය සම්පූර්ණ වූ පසු, ධාවක දෙකෙහිම තත්ත්වය UpToDate විය යුතුය.
පියවර 7: DRBD සැකසුම පරීක්ෂා කිරීම
අවසාන වශයෙන්, අපි DRBD උපාංගය ප්රතිනිර්මාණය කළ දත්ත ගබඩා කිරීමට අවශ්ය පරිදි ක්රියා කරයිද යන්න පරීක්ෂා කළ යුතුය. අපි හිස් තැටි පරිමාවක් භාවිතා කළ බව මතක තබා ගන්න, එබැවින් අපි උපාංගය මත ගොනු පද්ධතියක් සාදා එය අනුරූ දත්ත ගබඩා කිරීමට භාවිතා කළ හැකිදැයි පරීක්ෂා කිරීමට එය සවි කළ යුතුය.
අපි මූලික සම්පූර්ණ සමමුහුර්තකරණය ආරම්භ කළ නෝඩයේ පහත විධානය භාවිතා කර උපාංගයේ ගොනු පද්ධතියක් නිර්මාණය කළ යුතුය (මෙහි මූලික භූමිකාව සමඟ සම්පතක් ඇත):
# mkfs -t ext4 /dev/drbd0
Drbd පරිමාව මත ගොනු පද්ධතියක් නිර්මාණය කිරීම
ඉන්පසු එය පෙන්වා ඇති පරිදි සවි කරන්න (ඔබට මවුන්ට් පොයින්ට් එකට සුදුසු නමක් දිය හැක):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
දැන් ඉහත මවුන්ට් පොයින්ට් එකේ ෆයිල් කිහිපයක් කොපි කර හෝ සාදාගෙන දිගු ලැයිස්තුවක් සාදන්න
# cd /mnt/DRDB_PRI/
# ls -l
ප්රධාන Drbd පරිමාවේ අන්තර්ගතය ලැයිස්තුගත කරන්න
මීලඟට, උපාංගය ගලවන්න (උදුන විවෘත නොවන බවට වග බලා ගන්න, දෝෂ මඟහරවා ගැනීම සඳහා සවිකිරීමෙන් පසු නාමාවලිය වෙනස් කරන්න) සහ නෝඩ් භූමිකාව ප්රාථමික සිට ද්විතියික දක්වා වෙනස් කරන්න:
# 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
ද්විතියික නෝඩය මත ධාවනය වන DRBD සැකසුම පරීක්ෂා කිරීම.
වැඩි විස්තර සඳහා, පරිපාලන මෙවලම් උපකාර පිටු බලන්න:
# man drbdadm
# man drbdsetup
# man drbdmeta
උදවු:
සාරාංශය
DRBD අතිශයින්ම නම්යශීලී සහ බහුකාර්ය වේ, එය ඕනෑම යෙදුමකට පාහේ HA එකතු කිරීම සඳහා සුදුසු ගබඩා අනුරූකරණ විසඳුමක් බවට පත් කරයි. මෙම ලිපියෙන්, අපි CentOS 7 මත DRBD ස්ථාපනය කරන්නේ කෙසේදැයි පෙන්වා දුන් අතර ගබඩා අනුරූකරණය සඳහා එය භාවිතා කරන්නේ කෙසේදැයි කෙටියෙන් නිරූපණය කළෙමු. පහත ප්රතිපෝෂණ පෝරමය භාවිතා කර ඔබගේ අදහස් අප සමග බෙදා ගැනීමට නිදහස් වන්න.
මූලාශ්රය: www.habr.com