Конфигурирање на DRBD за реплицирање на складирање на два CentOS 7 сервери

Преводот на статијата е подготвен во пресрет на почетокот на курсот „Администратор Linux. Виртуелизација и кластерирање.

DRBD (Дистрибуиран реплициран блок уред) е дистрибуирано, флексибилно и универзално реплицирано решение за складирање за LinuxГи отсликува содржините на блок-уредите како што се тврди дискови, партиции, логички простори итн. помеѓу серверите. Создава копии од податоци на два уреди за складирање, така што ако едниот откаже, податоците на вториот можат да се користат.

Може да се каже дека е нешто слично мрежна RAID конфигурација 1 со дискови мапирани на различни сервери. Сепак, работи сосема поинаку од RAID (дури и мрежен RAID).

Првично, DRBD се користеше главно во компјутерски кластери со висока достапност (HA), меѓутоа, почнувајќи од верзијата 9, може да се користи за распоредување решенија за складирање облак.

Во оваа статија ќе ви кажеме како да инсталирате DRBD во CentOS, и накратко ќе покажеме како да го користите за реплицирање на складирање (партиција) на два сервера. Ова е совршена статија за да започнете со DRBD во Linux.

Тестна средина

Ќе користиме кластер со два јазли за ова поставување.

  • Јазол 1: 192.168.56.101 - tecmint.tecmint.lan
  • Јазол 2: 192.168.56.102 - server1.tecmint.lan

Чекор 1: Инсталирајте DRBD пакети

DRBD е имплементиран како модул на јадрото. LinuxТоа е драјвер за виртуелен блок уред, па затоа се наоѓа на самото дно од 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

Ако имате SE поврзанLinux, треба да конфигурирате политики за да ги исклучите DRBD процесите од SE контролатаLinux.

# 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 логичен волумен или кој било друг тип на уред за блокирање пронајден на вашиот систем.

За оваа статија, ќе создадеме уред за тест блок од 2 GB користејќи ја командата dd.

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

Да претпоставиме дека ова е неискористена партиција (/dev/sdb1) на втор блок уред (/dev/sdb) поврзан со двата јазли.

Чекор 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 поддржува три различни начини на репликација (т.е. три степени на синхронизација на репликација), имено:

  • протокол А: протокол за асинхрона репликација; најчесто се користат во сценарија за репликација на долги растојанија.
  • протокол Б: Протокол за полу-синхрони репликација или протокол за синхрона меморија.
  • протокол 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):

  • дрбдадм: Алатка за администрација на високо ниво на DRBD.
  • drbdsetup: Административна алатка од пониско ниво за поврзување на DRBD уреди со нивните резервни уреди, конфигурирање на парови DRBD уреди за да ги рефлектираат нивните резервни уреди и за потврдување на конфигурацијата на DRBD уредите што работат.
  • Дрбдмета: Алатка за управување со метаподатоци.

Откако ќе ги додадеме сите почетни конфигурации на ресурсите, мора да го повикаме ресурсот на двата јазли.

# drbdadm create-md test

Конфигурирање на DRBD за реплицирање на складирање на два CentOS 7 сервери
Иницијализирање на продавницата за метаподатоци

Следно, треба да го извршиме, што ќе го поврзе ресурсот со неговиот резервен уред, потоа ќе ги постави параметрите за репликација и ќе го поврзе ресурсот со неговиот врсник:

# drbdadm up test

Сега ако ја извршите командата lsblk, ќе забележите дека DRBD уредот/волуменот drbd0 е поврзан со уредот за резервна копија /dev/sdb1:

# lsblk

Конфигурирање на DRBD за реплицирање на складирање на два CentOS 7 сервери
Список на блок уреди

За да оневозможите ресурс, извршете:

# drbdadm down test

За да го проверите статусот на ресурсот, извршете ја следнава команда (забележете дека статусот на дисковите се очекува во овој момент Неконзистентен/Неконзистентен):

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

Конфигурирање на DRBD за реплицирање на складирање на два CentOS 7 сервери
Вклучена е проверка на статусот на ресурс
злобни

Чекор 6: Поставете го примарниот извор/почетниот извор за синхронизација на уредот

Во оваа фаза, DRBD е подготвен да оди. Сега треба да одредиме кој јазол треба да се користи како извор на почетната синхронизација на уредот.

Извршете ја следнава команда на само еден јазол за да ја започнете почетната целосна синхронизација:

# drbdadm primary --force test
# drbdadm status test

Конфигурирање на DRBD за реплицирање на складирање на два CentOS 7 сервери
Поставување на примарниот јазол како почетен уред
Откако ќе заврши синхронизацијата, состојбата на двата диска треба да биде UpToDate.

Чекор 7: Тестирање на поставувањето DRBD

Конечно, треба да провериме дали уредот DRBD ќе работи колку што е потребно за складирање на реплицираните податоци. Запомнете дека користевме празен волумен на дискот, затоа мора да создадеме датотечен систем на уредот и да го монтираме за да провериме дали можеме да го користиме за складирање на реплицирани податоци.

Треба да создадеме датотечен систем на уредот користејќи ја следнава команда на јазолот каде што ја започнавме почетната целосна синхронизација (кој има ресурс со примарна улога):

# mkfs -t ext4 /dev/drbd0

Конфигурирање на DRBD за реплицирање на складирање на два CentOS 7 сервери
Креирање датотечен систем на волуменот Drbd

Потоа монтирајте го како што е прикажано (можете на точката за монтирање да и дадете соодветно име):

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

Сега копирајте или креирајте некои датотеки во горната точка за монтирање и направете долг список со ls команди:

# cd /mnt/DRDB_PRI/
# ls -l 

Конфигурирање на DRBD за реплицирање на складирање на два CentOS 7 сервери
Наведете ја содржината на главниот волумен на 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 за реплицирање на складирање на два CentOS 7 сервери
Проверка на поставувањето DRBD што работи на секундарниот јазол.

За повеќе информации, видете ги страниците за помош на административните алатки:

# man drbdadm
# man drbdsetup
# man drbdmeta

Помош: Упатство за употреба на DRBD.

Краток преглед

DRBD е исклучително флексибилен и разноврсен, што го прави решение за репликација на складирање погодно за додавање HA на практично секоја апликација. Во оваа статија, покажавме како да инсталирате DRBD во CentOS 7, и накратко демонстрираше како да се користи за репликација на складирање. Слободно споделете ги вашите мисли со нас користејќи го формуларот за повратни информации подолу.

Дознајте повеќе за курсот.

Извор: www.habr.com

Купете доверлив хостинг за сајтови со DDoS заштита, VPS VDS сервери 🔥 Купете сигурен веб-хостинг со DDoS заштита, VPS VDS сервери | ProHoster