This shows you the differences between two versions of the page.
|
saisp:labs:05:contents:04 [2014/03/23 19:06] alexandru.carp [04. Linux-HA] |
saisp:labs:05:contents:04 [2014/03/24 16:40] (current) alexandru.carp [04. [20p] DRBD] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== 04. Linux-HA ==== | + | ==== 04. [20p] DRBD ==== |
| - | **Linux-HA** este o solutie de clustering. Vom configura un cluster simplu, format din două noduri. | + | Dorim sa asiguram replicarea continutului pentru clusterul configurat la punctul anterior. Vom folosi DRBD. |
| - | Topologia conceptuala este cea din figura de mai sus. Observatii: | + | {{:saisp:labs:05:contents:lab05-drbd.jpg|}} |
| - | * Cele două realservere din topologia LVS vor fi configurate ca un cluster. | + | |
| - | * Directorul din topologia LVS nu mai are nici un rol aici. Inchideti masina virtuala respectiva, pentru a nu consuma resurse inutil. | + | |
| - | * Adresa IP prin care va fi accesibil serviciul HTTP este 10.0.0.50. | + | |
| - | Pachetul ''heartbeat'' este deja instalat pe **saisp-vm-2** si **saisp-vm-3**. | + | Vom folosi o legatura directa intre intefetele ''eth1'' ale nodurilor. Aceasta legatura va fi folosita pentru traficul de sincronizare si replicare al DRBD. |
| - | Este necesar ca stațiile să se poată adresa una pe cealaltă folosind doar hostname-ul. Adăugați liniile corespunzătoare în /etc/hosts: | + | Configurati adresele IP pe legatura dedicata: |
| + | <code> | ||
| + | saisp-vm-2# ip addr add 10.0.23.2/24 dev eth1 | ||
| + | saisp-vm-2# ip link set eth1 up | ||
| + | </code> | ||
| + | <code> | ||
| + | saisp-vm-3# ip addr add 10.0.23.3/24 dev eth1 | ||
| + | saisp-vm-3# ip link set eth1 up | ||
| + | </code> | ||
| + | Pachetul ''drbd8-utils'' este deja instalat. | ||
| + | |||
| + | Observati faptul ca fisierele **/etc/drbd.conf** si **/etc/drbd.d/global_common.conf** sunt deja create. | ||
| + | Noi vom defini o noua resursa, in fisierul **/etc/drbd.d/r0.res**. Resursa va avea urmatoarele caracteristici: | ||
| + | * numele resursei: **r0**; | ||
| + | * device-ul DRBD: **/dev/drbd0**; | ||
| + | * partitia de pe disc: **/dev/sdb1**; | ||
| + | * metadate stocate **intern**. | ||
| + | |||
| + | **ATENTIE!** Urmatoarele task-uri trebuie efectuate pe **ambele noduri**. | ||
| + | |||
| + | Creati fisierul **/etc/drbd.d/r0.res**, cu urmatorul continut: | ||
| <code> | <code> | ||
| - | saisp-vm-2# echo "10.0.0.30 saisp-vm-3" >> /etc/hosts | + | resource r0 { |
| + | on saisp-vm-2 { | ||
| + | device /dev/drbd0; | ||
| + | disk /dev/sdb1; | ||
| + | address 10.0.23.2:7788; | ||
| + | meta-disk internal; | ||
| + | } | ||
| + | on saisp-vm-3 { | ||
| + | device /dev/drbd0; | ||
| + | disk /dev/sdb1; | ||
| + | address 10.0.23.3:7788; | ||
| + | meta-disk internal; | ||
| + | } | ||
| + | } | ||
| </code> | </code> | ||
| + | |||
| + | Restartati serviciul **drbd**: | ||
| + | <code> | ||
| + | /etc/init.d/drbd restart | ||
| + | </code> | ||
| + | |||
| + | Initializati cu zero partitia **/dev/sdb1**: | ||
| + | <code> | ||
| + | dd if=/dev/zero of=/dev/sdb1 bs=64K | ||
| + | </code> | ||
| + | |||
| + | Creati metadatele DRBD pentru resursa **r0**: | ||
| + | <code> | ||
| + | drbdadm create-md r0 | ||
| + | </code> | ||
| + | |||
| + | Atasati resursa la block-device: | ||
| + | <code> | ||
| + | drbdadm attach r0 | ||
| + | </code> | ||
| + | |||
| + | Verificati starea DRBD: | ||
| + | <code> | ||
| + | cat /proc/drbd | ||
| + | drbd-overview | ||
| + | </code> | ||
| + | |||
| + | **ATENTIE!** Sincronizarea initiala trebuie pornita doar pe unul dintre noduri! | ||
| + | Pe nodul care este activ in cluster (are adresa 10.0.0.50 pe interfata eth0:0), porniti sincronizarea initiala: | ||
| + | <code> | ||
| + | drbdadm -- --overwrite-data-of-peer primary r0 | ||
| + | </code> | ||
| + | |||
| + | Verificati ca sincronizarea a inceput: | ||
| + | <code> | ||
| + | drbd-overview | ||
| + | </code> | ||
| + | |||
| + | In timp ce sincronizarea se efectueaza: | ||
| + | |||
| + | Creati un sistem de fisiere **ext4** pe device-ul **/dev/drbd0**. Acest lucru poate fi efectuat **doar** pe nodul de pe care ati pornit sincronizarea: | ||
| <code> | <code> | ||
| - | saisp-vm-3# echo "10.0.0.20 saisp-vm-2" >> /etc/hosts | + | mkfs.ext4 /dev/drbd0 |
| </code> | </code> | ||