Məqalənin tərcüməsi kursun başlaması ərəfəsində hazırlanıb
DRBD (Distributed Replicated Block Device) Linux üçün paylanmış, çevik və universal olaraq təkrarlana bilən saxlama həllidir. O, sabit disklər, bölmələr, məntiqi həcmlər və s. kimi blok cihazlarının məzmununu əks etdirir. serverlər arasında. O, iki saxlama cihazında məlumatların surətlərini yaradır ki, onlardan biri uğursuz olarsa, ikincidəki məlumatlardan istifadə olunsun.
Belə bir şey deyə bilərsiniz
Əvvəlcə DRBD əsasən yüksək əlçatanlıq (HA) kompüter klasterlərində istifadə edilmişdir, lakin XNUMX-cu versiyadan başlayaraq bulud saxlama həllərinin tətbiqi üçün istifadə edilə bilər.
Bu yazıda biz CentOS-da DRBD-nin necə qurulacağını izah edəcəyik və iki server arasında yaddaşın (bölmənin) təkrarlanması üçün ondan necə istifadə olunacağını qısaca nümayiş etdirəcəyik. Bu, Linux-da DRBD ilə başlamaq üçün mükəmməl məqalədir.
Test mühiti
Bu quraşdırma üçün iki node klasterindən istifadə edəcəyik.
- Node 1: 192.168.56.101 – tecmint.tecint.lan
- Qovşaq 2: 192.168.56.102 – server1.tecmint.lan
Addım 1: DRBD paketlərini quraşdırın
DRBD Linux nüvə modulu kimi həyata keçirilir. O, virtual blok qurğusu üçün sürücüdür, ona görə də sistemin I/O yığınının ən aşağı hissəsində yerləşir.
DRBD ELRepo və ya EPEL-dən quraşdırıla bilər. ELRepo paketinin imza açarını idxal etməklə və aşağıda göstərildiyi kimi hər iki qovşaqda deponu birləşdirməklə başlayaq.
# 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
Sonra hər iki qovşaqda DRBD kernel modulunu və yardım proqramlarını aşağıdakılardan istifadə edərək quraşdırmalısınız:
# yum install -y kmod-drbd84 drbd84-utils
SELinux-u aktivləşdirsəniz, DRBD proseslərini SELinux nəzarətindən azad etmək üçün siyasətləri konfiqurasiya etməlisiniz.
# semanage permissive -a drbd_t
Əlavə olaraq, əgər sisteminiz firewall (firewall) işlədirsə, iki qovşaq arasında məlumat sinxronizasiyasına icazə vermək üçün DRBD port 7789 əlavə etməlisiniz.
Birinci node üçün bu əmrləri yerinə yetirin:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Sonra ikinci node üçün bu əmrləri yerinə yetirin:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Addım 2: Aşağı Səviyyəli Yaddaş Hazırlayın
İndi biz hər iki klaster qovşağında DRBD quraşdırdıq, biz onlarda təxminən eyni ölçülü saxlama sahələrini təmin etməliyik. Bu, sabit disk bölməsi (və ya bütün fiziki sabit disk), proqram təminatı RAID cihazı,
Bu məqalə üçün biz dd əmrindən istifadə edərək 2GB test bloku cihazı yaradacağıq.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
Tutaq ki, bu, hər iki qovşaqla əlaqəli ikinci blok cihazında (/dev/sdb) istifadə olunmamış bölmədir (/dev/sdb1).
Addım 3. DRBD-nin konfiqurasiyası
DRBD əsas konfiqurasiya faylı − /etc/drbd.conf
, və əlavə konfiqurasiya faylları kataloqda tapıla bilər /etc/drbd.d
.
Yaddaşın təkrarlanması üçün fayla lazımi konfiqurasiyaları əlavə etməliyik /etc/drbd.d/global_common.conf
DRBD konfiqurasiyasının qlobal və ümumi bölmələrini ehtiva edir və bizdə resursları müəyyən etməliyik .res
fayllar.
Hər iki qovşaqda orijinal faylın ehtiyat nüsxəsini yaradaq və sonra redaktə üçün yeni faylı açaq (seçdiyiniz mətn redaktorundan istifadə edin).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf
Hər iki fayla aşağıdakı sətirləri əlavə edin:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
Faylı yadda saxlayın və sonra redaktoru bağlayın.
Gəlin bir anlıq C protokolu xəttinə nəzər salaq.DRBD üç müxtəlif replikasiya rejimini (yəni üç dərəcə təkrarlama sinxronizasiyasını) dəstəkləyir, yəni:
- protokol A: asinxron replikasiya protokolu; ən çox uzun məsafəli replikasiya ssenarilərində istifadə olunur.
- protokol B: Yarımsinxron replikasiya protokolu və ya sinxron yaddaş protokolu.
- protokol C: adətən qısa məsafəli şəbəkələrdə qovşaqlar üçün istifadə olunur; bu günə qədər DRBD parametrlərində ən çox istifadə edilən təkrarlama protokoludur.
Vacibdir: Replikasiya protokolunun seçimi iki yerləşdirmə faktoruna təsir edir: təhlükəsizlik və gecikmə. Əksinə, ötürmə qabiliyyəti seçilmiş replikasiya protokolundan əhəmiyyətli dərəcədə asılı deyil.
Addım 4: Resurs əlavə edin
Resurs xüsusi təkrarlanan verilənlər toplusunun bütün aspektlərinə aid olan çətir terminidir. Resursumuzu faylda müəyyən edəcəyik /etc/drbd.d/test.res
.
Hər iki qovşaqdakı fayla aşağıdakıları əlavə edin (dəyişənləri mühitiniz üçün faktiki dəyərlərlə əvəz etməyi unutmayın).
Host adlarına diqqət yetirin, uname əmrindən istifadə etməklə əldə edilə bilən şəbəkə host adını göstərməliyik. -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;
}
}
}
Ü:
- host adına: Daxili konfiqurasiya bəyanatının tətbiq olunduğu bölmə.
- sınaq: Bu, yeni resursun adıdır.
- cihaz /dev/drbd0: DRBD tərəfindən idarə olunan yeni virtual blok cihazını göstərir.
- disk /dev/sdb1: Bu, DRBD cihazı üçün ehtiyat cihaz olan blok cihaz bölməsidir.
- meta disk: DRBD-nin metadatasını harada saxladığını müəyyənləşdirir. Daxili o deməkdir ki, DRBD öz metadatasını istehsaldakı faktiki məlumatlarla eyni fiziki aşağı səviyyəli cihazda saxlayır.
- ünvan: Müvafiq qovşağın IP ünvanını və port nömrəsini göstərir.
Həm də nəzərə alın ki, parametrlər hər iki hostda eyni dəyərlərə malikdirsə, onları birbaşa resurslar bölməsində təyin edə bilərsiniz.
Məsələn, yuxarıdakı konfiqurasiya aşağıdakı kimi yenidən qurula bilər:
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;
}
}
Addım 5. Resursu işə salın və işə salın
DRBD ilə qarşılıqlı əlaqə yaratmaq üçün biz aşağıdakı idarəetmə vasitələrindən istifadə edəcəyik (DRBD resurslarını konfiqurasiya etmək və idarə etmək üçün nüvə modulu ilə qarşılıqlı əlaqədə olan):
- drbdadm: DRBD yüksək səviyyəli idarəetmə vasitəsi.
- drbdsetup: DRBD cihazlarını ehtiyat cihazlarına qoşmaq, onların ehtiyat nüsxə cihazlarını əks etdirmək üçün DRBD cihaz cütlərini konfiqurasiya etmək və işləyən DRBD cihazlarının konfiqurasiyasını yoxlamaq üçün aşağı səviyyəli idarəetmə vasitəsi.
- Drbdmeta: Metadata idarəetmə aləti.
Bütün ilkin resurs konfiqurasiyalarını əlavə etdikdən sonra hər iki qovşaqda resursu işə salmalıyıq.
# drbdadm create-md test
Metadata Mağazası işə salınır
Sonra onu işə salmalıyıq, bu, resursu ehtiyat cihazına birləşdirəcək, sonra təkrarlama parametrlərini təyin edəcək və resursu həmyaşıdına birləşdirəcək:
# drbdadm up test
İndi əmri işlətsəniz /dev/sdb1
:
# lsblk
Blok cihazlarının siyahısı
Mənbəni deaktiv etmək üçün işə salın:
# drbdadm down test
Resursun vəziyyətini yoxlamaq üçün aşağıdakı əmri yerinə yetirin (disklərin statusunun bu anda gözlənildiyini qeyd edin) Uyğunsuz/uyğunsuz):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
Resursun statusu yoxlanılır
pis
Addım 6: Əsas resurs/ilkin cihaz sinxronizasiya mənbəyini təyin edin
Bu mərhələdə DRBD getməyə hazırdır. İndi cihazın ilkin sinxronizasiyasının mənbəyi kimi hansı node istifadə olunacağını müəyyən etməliyik.
İlkin tam sinxronizasiyaya başlamaq üçün yalnız bir qovşaqda aşağıdakı əmri yerinə yetirin:
# drbdadm primary --force test
# drbdadm status test
Əsas qovşağın ilkin cihaz kimi qurulması
Sinxronizasiya tamamlandıqdan sonra hər iki sürücünün vəziyyəti UpToDate olmalıdır.
Addım 7: DRBD quraşdırmasını sınaqdan keçirin
Nəhayət, DRBD cihazının təkrarlanan məlumatları saxlamaq üçün lazım olduğu kimi işləyəcəyini yoxlamalıyıq. Unutmayın ki, biz boş disk həcmindən istifadə etmişik, ona görə də cihazda fayl sistemi yaratmalı və onu təkrarlanan məlumatları saxlamaq üçün istifadə edə biləcəyimizi yoxlamaq üçün onu quraşdırmalıyıq.
İlkin tam sinxronizasiyaya başladığımız qovşaqda (əsas rolu olan resurs var) aşağıdakı əmrdən istifadə edərək cihazda fayl sistemi yaratmalıyıq:
# mkfs -t ext4 /dev/drbd0
Drbd həcmində fayl sisteminin yaradılması
Sonra onu göstərildiyi kimi quraşdırın (quraşdırma nöqtəsinə uyğun ad verə bilərsiniz):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
İndi yuxarıdakı montaj nöqtəsində bəzi faylları kopyalayın və ya yaradın və uzun bir siyahı yaradın
# cd /mnt/DRDB_PRI/
# ls -l
Əsas Drbd cildinin məzmununu sadalayın
Sonra, cihazı ayırın (quraşdırmanın açıq olmadığından əmin olun, xətaların qarşısını almaq üçün ayırdıqdan sonra kataloqu dəyişdirin) və node rolunu əsasdan ikinciliyə dəyişdirin:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test
Digər nodu (ikinci dərəcəli rolu olan resursu olan) əsas edin, sonra ona bir cihaz əlavə edin və quraşdırma nöqtələrinin uzun siyahısını verin. Quraşdırma yaxşı işləyirsə, həcmdə saxlanılan bütün fayllar orada olmalıdır:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l
İkinci dərəcəli qovşaqda işləyən DRBD quraşdırmasının yoxlanılması.
Ətraflı məlumat üçün inzibati alətlərin yardım səhifələrinə baxın:
# man drbdadm
# man drbdsetup
# man drbdmeta
Kömək:
Xülasə
DRBD son dərəcə çevik və çox yönlüdür, onu demək olar ki, hər hansı bir tətbiqə HA əlavə etmək üçün uyğun bir saxlama təkrarlama həlli edir. Bu yazıda biz CentOS 7-də DRBD-nin necə qurulacağını göstərdik və yaddaşın təkrarlanması üçün ondan necə istifadə olunacağını qısaca nümayiş etdirdik. Aşağıdakı rəy formasından istifadə edərək fikirlərinizi bizimlə bölüşməkdən çekinmeyin.
Mənbə: www.habr.com