İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması

Məqalənin tərcüməsi kursun başlaması ərəfəsində hazırlanıb Linux administratoru. Virtuallaşdırma və Klasterləşdirmə».

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 şəbəkə RAID konfiqurasiyası 1 müxtəlif serverlərə uyğunlaşdırılmış disklərlə. Bununla belə, RAID-dən (hətta şəbəkə RAID-dən) tamamilə fərqli işləyir.

Ə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ı, LVM məntiqi həcmi və ya sisteminizdə tapılan hər hansı digər blok cihazı növü.

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.confDRBD 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

İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması
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 lsblk, siz DRBD cihazının/həcminin drbd0 ehtiyat nüsxə cihazı ilə əlaqəli olduğunu görəcəksiniz /dev/sdb1:

# lsblk

İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması
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

İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması
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

İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması
Ə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

İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması
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 ls əmrləri:

# cd /mnt/DRDB_PRI/
# ls -l 

İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması
Ə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 

İki CentOS 7 serverində yaddaşın təkrarlanması üçün DRBD-nin qurulması
İ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: DRBD istifadəçi təlimatı.

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.

Kurs haqqında ətraflı məlumat əldə edin.

Mənbə: www.habr.com

Добавить комментарий