Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна

Нийтлэлийн орчуулгыг курс эхлэхийн өмнөх өдөр бэлтгэсэн "Linux администратор. Виртуалчлал ба кластерчлал".

DRBD (Distributed Replicated Block Device) нь Linux-д зориулсан тархсан, уян хатан, түгээмэл хуулбарлах хадгалах шийдэл юм. Энэ нь хатуу диск, хуваалт, логик хэмжээ гэх мэт блок төхөөрөмжүүдийн агуулгыг тусгадаг. серверүүдийн хооронд. Энэ нь хоёр хадгалах төхөөрөмж дээр өгөгдлийн хуулбарыг үүсгэдэг бөгөөд хэрэв тэдгээрийн аль нэг нь бүтэлгүйтвэл хоёр дахь дээрх өгөгдлийг ашиглах боломжтой болно.

Та ийм зүйл гэж хэлж болно сүлжээний RAID тохиргоо 1 өөр серверт буулгасан дискүүдтэй. Гэсэн хэдий ч, энэ нь RAID (сүлжээний RAID хүртэл) -ээс тэс өөр ажилладаг.

Эхэндээ DRBD-ийг ихэвчлэн өндөр хүртээмжтэй (HA) компьютерийн кластеруудад ашигладаг байсан боловч XNUMX-р хувилбараас эхлэн үүл хадгалах шийдлүүдийг ашиглахад ашиглаж болно.

Энэ нийтлэлд бид DRBD-ийг CentOS дээр хэрхэн суулгах талаар тайлбарлаж, хоёр сервер дээр хадгалах (хуваалт) хуулбарлахад хэрхэн ашиглахыг товч харуулах болно. Энэ бол Линукс дээр DRBD-ийг эхлүүлэх төгс нийтлэл юм.

Туршилтын орчин

Энэ тохиргоонд бид хоёр зангилааны кластер ашиглах болно.

  • Зангилаа 1: 192.168.56.101 – tecmint.tecmint.lan
  • Зангилаа 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-г идэвхжүүлсэн бол DRBD процессуудыг SELinux хяналтаас чөлөөлөхийн тулд бодлогыг тохируулах хэрэгтэй.

# semanage permissive -a drbd_t

Нэмж хэлэхэд, хэрэв таны систем галт хана (галт хана) ажиллуулж байгаа бол хоёр зангилааны хооронд өгөгдөл синхрончлохыг зөвшөөрөхийн тулд DRBD порт 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 төхөөрөмж, LVM логик хэмжээ эсвэл таны системээс олдсон бусад төрлийн блок төхөөрөмж.

Энэ нийтлэлд бид dd командыг ашиглан 2 ГБ туршилтын блок төхөөрөмж үүсгэх болно.

# 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;
 }
}

Файлыг хадгалаад засварлагчийг хаа.

Протоколын С мөрийг хэсэг хугацаанд харцгаая.DRBD нь гурван өөр хуулбарлах горимыг (өөрөөр хэлбэл хуулбарлах синхрончлолын гурван градус) дэмждэг.

  • протокол А: асинхрон хуулбарлах протокол; ихэвчлэн алсын зайн хуулбарлах хувилбаруудад ашиглагддаг.
  • протокол 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;
        }
}
}

хаана:

  • хостын нэр дээр: Оруулсан тохиргооны мэдэгдэл хамаарах on хэсэг.
  • туршилтын: Энэ бол шинэ нөөцийн нэр юм.
  • төхөөрөмж /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

Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна
Мета мэдээллийн дэлгүүрийг эхлүүлж байна

Дараа нь бид үүнийг ажиллуулах хэрэгтэй бөгөөд энэ нь нөөцийг нөөц төхөөрөмждөө холбож, дараа нь хуулбарлах параметрүүдийг тохируулж, нөөцийг үе тэнгийнхэнтэйгээ холбоно.

# drbdadm up test

Одоо та тушаалыг ажиллуулбал lsblk, DRBD төхөөрөмж/эзлэхүүн drbd0 нь нөөц төхөөрөмжтэй холбоотой болохыг та анзаарах болно /dev/sdb1:

# lsblk

Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна
Блок төхөөрөмжүүдийн жагсаалт

Нөөцийг идэвхгүй болгохын тулд дараахыг ажиллуулна уу:

# drbdadm down test

Нөөцийн төлөвийг шалгахын тулд дараах командыг ажиллуулна уу (энэ үед дискний төлөв байдал үүснэ гэдгийг анхаарна уу. Тогтворгүй/Тогтворгүй):

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

Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна
Нөөцийн төлөвийг шалгаж байна
хорон муу

Алхам 6: Үндсэн нөөц/эхний төхөөрөмжийн синхрончлолын эх үүсвэрийг тохируулна уу

Энэ үе шатанд DRBD ажиллахад бэлэн байна. Одоо бид аль зангилааг төхөөрөмжийн анхны синхрончлолын эх үүсвэр болгон ашиглах ёстойг тодорхойлох хэрэгтэй.

Эхний бүрэн синхрончлолыг эхлүүлэхийн тулд дараах тушаалыг зөвхөн нэг зангилаа дээр ажиллуулна уу:

# drbdadm primary --force test
# drbdadm status test

Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна
Үндсэн зангилааг анхны төхөөрөмж болгон тохируулах
Синхрончлол дууссаны дараа хоёр хөтчийн төлөв UpToDate байх ёстой.

Алхам 7: DRBD тохиргоог турших

Эцэст нь бид хуулбарласан өгөгдлийг хадгалахын тулд шаардлагатай бол DRBD төхөөрөмж ажиллах эсэхийг шалгах хэрэгтэй. Бид хоосон дискний эзэлхүүнийг ашигласан гэдгийг санаарай, тиймээс бид төхөөрөмж дээр файлын системийг үүсгэж, үүнийг хуулбарласан өгөгдлийг хадгалахад ашиглаж чадах эсэхийг шалгах хэрэгтэй.

Бид анхны бүрэн синхрончлолыг эхлүүлсэн (үндсэн үүрэг бүхий нөөцтэй) зангилаа дээрх дараах тушаалыг ашиглан төхөөрөмж дээр файлын системийг үүсгэх хэрэгтэй.

# mkfs -t ext4 /dev/drbd0

Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна
Drbd эзлэхүүн дээр файлын систем үүсгэх

Дараа нь зурагт заасны дагуу холбоно (та холбох цэгийг тохирох нэрээр өгч болно):

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

Одоо дээрх холбох цэг дээр зарим файлыг хуулж эсвэл үүсгээд урт жагсаалт гарга ls тушаалууд:

# cd /mnt/DRDB_PRI/
# ls -l 

Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна
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 

Хоёр CentOS 7 сервер дээр хадгалалтын хуулбарлах DRBD-г тохируулж байна
Хоёрдогч зангилаа дээр ажиллаж байгаа DRBD тохиргоог шалгаж байна.

Дэлгэрэнгүй мэдээллийг удирдлагын хэрэгслийн тусламжийн хуудаснаас үзнэ үү:

# man drbdadm
# man drbdsetup
# man drbdmeta

Тусламж: DRBD хэрэглэгчийн гарын авлага.

Хураангуй

DRBD нь маш уян хатан, олон талт бөгөөд бараг бүх програмд ​​HA нэмэхэд тохиромжтой хадгалах хуулбарлах шийдэл болгодог. Энэ нийтлэлд бид DRBD-ийг CentOS 7 дээр хэрхэн суулгахыг харуулсан бөгөөд үүнийг хадгалах хуулбарлахад хэрхэн ашиглахыг товч харуулсан. Доорх санал хүсэлтийн маягтыг ашиглан бидэнтэй санал бодлоо чөлөөтэй хуваалцаарай.

Хичээлийн талаар илүү ихийг мэдэж аваарай.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх