Мақаланың аудармасы курстың басталу қарсаңында дайындалды
DRBD (Distributed Replicated Block Device) — Linux жүйесіне арналған таратылған, икемді және әмбебап қайталанатын сақтау шешімі. Ол қатты дискілер, бөлімдер, логикалық көлемдер және т.б. сияқты блоктық құрылғылардың мазмұнын көрсетеді. серверлер арасында. Ол екі сақтау құрылғысында деректердің көшірмелерін жасайды, осылайша олардың біреуі сәтсіз болса, екіншісіндегі деректерді пайдалануға болады.
Сіз бұл сияқты нәрсе деп айта аласыз
Бастапқыда DRBD негізінен қол жетімділігі жоғары (HA) компьютерлік кластерлерде қолданылды, бірақ XNUMX-нұсқадан бастап оны бұлтты сақтау шешімдерін қолдану үшін пайдалануға болады.
Бұл мақалада біз CentOS жүйесінде DRBD қалай орнату керектігін түсіндіреміз және оны екі серверде сақтауды (бөлімді) көшіру үшін қалай пайдалану керектігін қысқаша көрсетеміз. Бұл Linux жүйесінде DRBD пайдалануды бастау үшін тамаша мақала.
Сынақ ортасы
Бұл орнату үшін біз екі түйінді кластерді қолданамыз.
- 1 түйін: 192.168.56.101 – tecmint.tecmint.lan
- 2-түйін: 192.168.56.102 – server1.tecint.lan
1-қадам: DRBD бумаларын орнатыңыз
DRBD Linux ядросының модулі ретінде жүзеге асырылады. Бұл виртуалды блок құрылғысының драйвері, сондықтан ол жүйенің енгізу/шығару стекінің ең төменгі жағында орналасқан.
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 құрылғысы,
Бұл мақала үшін біз 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;
}
}
Файлды сақтаңыз, содан кейін редакторды жабыңыз.
Бір сәтке C протоколының жолын қарастырайық.DRBD үш түрлі репликация режимін (яғни, репликация синхрондылығының үш дәрежесі) қолдайды, атап айтқанда:
- A протоколы: асинхронды репликация хаттамасы; көбінесе ұзақ қашықтыққа көшіру сценарийлерінде қолданылады.
- B протоколы: Жартылай синхронды репликация протоколы немесе синхронды жады протоколы.
- C протоколы: әдетте қысқа қашықтықтағы желілердегі түйіндер үшін қолданылады; бұл DRBD параметрлерінде ең жиі қолданылатын репликация протоколы.
маңызды: Репликация протоколын таңдау екі орналастыру факторына әсер етеді: қауіпсіздік және кідіріс. Керісінше, өткізу қабілеті таңдалған репликация протоколына айтарлықтай тәуелді емес.
4-қадам: ресурс қосыңыз
Ресурс - бұл белгілі бір қайталанатын деректер жиынының барлық аспектілеріне сілтеме жасайтын қолшатыр термин. Біз өз ресурсымызды файлда анықтаймыз /etc/drbd.d/test.res
.
Екі түйіндегі файлға келесіні қосыңыз (айнымалы мәндерді ортаңыз үшін нақты мәндермен ауыстыруды ұмытпаңыз).
Хост атауларына назар аударыңыз, біз желілік хост атын көрсетуіміз керек, оны unname командасы арқылы алуға болады. -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
Метадеректер қоймасын инициализациялау
Әрі қарай біз оны іске қосуымыз керек, ол ресурсты сақтық көшірме құрылғысына қосады, содан кейін репликация параметрлерін орнатыңыз және ресурсты өз теңімен қосады:
# 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 қосу үшін қолайлы сақтауды репликациялау шешіміне айналдырады. Бұл мақалада біз DRBD-ді CentOS 7 жүйесіне қалай орнату керектігін көрсеттік және оны жадты қайталау үшін қалай пайдалану керектігін қысқаша көрсеттік. Төмендегі кері байланыс пішінін пайдаланып өз ойларыңызды бізбен бөлісуіңізге болады.
Ақпарат көзі: www.habr.com