GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a nastavit DRBD na CentOS

Tento kurz vysvětluje, jak nainstalovat a nastavit DRBD pro váš server. Než začnu, dovolte mi vysvětlit, co vlastně DRBD představuje a k čemu se používá. DRBD je zkratka pro Distributed Replicated Block Device, softwarové, sdílené, replikované úložiště pro zrcadlení obsahu blokových zařízení, jako jsou pevné disky, oddíly, logické svazky atd. Hlavním účelem DRBD je poskytnout alternativní řešení setkat se se scénáři vysoké dostupnosti, jako je FailOver nebo Disaster Recovery. Základní podrobnosti si můžete prohlédnout na jeho webu zde.

1. Předběžná poznámka


Pro tento tutoriál používám CentOS 6.4 ve 32bitové verzi. Příklad konečného výsledku ukáže, jak vytvořit soubory nebo složky uvnitř oddílu na serveru A a úspěšně zobrazit veškerý obsah na jiném serveru (Server B) pomocí DRBD.

Níže je náčrt architektury serveru :-

+-----------------------------------+                                              -     --------- -----------------+
| [ DRBD Server A ]                 | 192.168.43.101 | 192.168.43.102     | [ DRBD Server B ]         |
| OEL641                               +-----------------------+-----------------------+      OEL642 |
| složkaA                                 | | složkaB                  |
+------------------------------------+                                                                        -             -----------------------+

Tento tutoriál je kompatibilní s jakoukoli verzí CentOS/Redhat/Oracle Linux 6. Je nutné, aby server, na který chcete DRBD nainstalovat, měl volné blokové zařízení. Tento příklad ukazuje, jak nakonfigurovat a používat block-device /dev/sdb1.

2. Fáze instalace


Než začneme, musíme aktualizovat systém a nainstalovat požadované balíčky pro závislosti DRBD. Níže jsou uvedeny příkazy, které je třeba spustit, a seznam balíčků, které se aktualizují nebo instalují. V těchto případech používáme příkaz yum k získání nejnovějších balíčků z veřejného úložiště CentOS.

yum -y update 
yum -y install gcc make automake autoconf libxslt libxslt-devel flex rpm-build kernel-devel
Nastavení instalačního procesu
Balík gcc-4.4.7-3.el6.i686 je již nainstalován a nejnovější verze
Balík 1:make-3.81-20.el6.i686 je již nainstalován a nejnovější verze
Balík automake-1.11.1-4.el6.noarch již nainstalován a nejnovější verze
Balík autoconf-2.63-5.1.el6.noarch je již nainstalován a nejnovější verze
Balík libxslt-1.1.26- 2.0.2.el6_3.1.i686 je již nainstalován a nejnovější verze
Balík libxslt-devel-1.1.26-2.0.2.el6_3.1.i686 je již nainstalován a nejnovější verze
Balík flex-2.5. 35-8.el6.i686 je již nainstalován a nejnovější verze
Balík rpm-build-4.8.0-32.el6.i686 již nainstalován a nejnovější verze
Balík kernel-devel-2.6.32-358. el6.i686 je již nainstalován a nejnovější verze

Výše uvedený krok musíme provést na obou serverech.

Po dokončení instalace balíčku závislostí na obou serverech začneme instalovat balíčky DRBD. Balíčky lze stáhnout z této webové stránky.

Níže jsou uvedeny kroky.

Nejprve vytvořím složku pod cestou /root/ s názvem BUILD, BUILDROOT atd. Tato cesta je potřebná k uložení souboru rpm poté, co vytvoříme balíčky DRBD.

mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

Stáhněte si balíčky DRBD.

wget http://oss.linbit.com/drbd/drbd-utils-latest.tar.gz http://oss.linbit.com/drbd/8.4/drbd-8.4.7-1.tar.gz 

Extrahujte soubory drbd-8.4.7-1.tar.gz a drbd-utils-latest.tar.gz.

tar -zxvf drbd-8.4.7-1.tar.gz
tar -zxvf drbd-utils-latest.tar.gz

Zkompilujte balíček DRBD.

cd drbd-8.4.7-1 
drbd-8.4.7-1]# značka km-rpm
...
...
Nyní máte:
/root/rpmbuild/RPMS/i686/drbd-km-debuginfo-8.4.7-1.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-km-2.6.32_358.el6.i686-8.4.7-1.i686.rpm

Kompilace a konfigurace balíčku.

cd ..
cd drbd-utils-8.9.6
./configure
make rpm
...
...
Nyní máte:
/root/rpmbuild/RPMS/i686/drbd-utils-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-debuginfo-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-heartbeat-8.9.6-1. el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-xen-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-km- debuginfo-8.4.7-1.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-pacemaker-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/ i686/drbd-bash-completion-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-km-2.6.32_358.el6.i686-8.4.7-1. i686.rpm
/root/rpmbuild/RPMS/i686/drbd-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-udev-8.9.6- 1.el6.i686.rpm

Přejděte na /root/rpmbuild/RPMS/i686. Balíčky rpm z kompilace tam budou existovat a nainstalují související balíčky rpm.

cd /root/rpmbuild/RPMS/i686
rpm -Uvh drbd-xen* drbd-udev* drbd-pacemaker* drbd-bash-completion* drbd-utils-*.rpm drbd-km-*. ot./min drbd-8*
Příprava... ########################################### [100 %]
1:drbd-utils #################################### ###### [ 13 %]
2:drbd-xen ############################## ############ [ 25 %]
3:drbd-udev ######################### ################## [ 38 %]
4:drbd-pacemaker ################### ######################## [ 50 %]
5:drbd-bash-completion ########### ################################ [ 63 %]
6:drbd ####### #################################### [ 75 %]
7:drbd-km- 2.6.32_358.el6.########################################### [ 88 %]
8:drbd-km-debuginfo ################################### ####### [100 %]


Po dokončení na prvním serveru proveďte stejné kroky na serveru OEL642 .

3. Fáze ověření


Nyní jsme v polovině cesty od dokončení. Pojďme se zaměřit na OEL641 konfigurační straně. Nejprve ověřte název hostitele serveru, je to důležité, protože konfigurace DRBD bude vyžadovat stejný název jako název hostitele. Níže jsou kroky:

uname -n
OEL641

Poté aktualizujte modul DRBD

modprobe drbd
lsmod |grep drbd
drbd 341783 0
libcrc32c 841 1 drbd

4. To je vše, nyní vytvoříme nový diskový oddíl, který bude fungovat jako DRDB disk. Tady mám nový disk /dev/sdb . Vytvořím oddíl /dev/sdb1 a použiji jej jako DRBD disk.

fdisk -l
Disk /dev/sdb:1073 MB, 1073741824 bajtů
255 hlav, 63 sektorů/stopa, 130 cylindrů
Jednotky =cylindry 16065 * 512 =8225280 bajtů (logická velikost sektoru) /fyzické):512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální):512 bajtů / 512 bajtů
Identifikátor disku:0x00000000
fdisk /dev/sdb
Příkaz (m pro nápovědu):n
Akce příkazu
e rozšířeno
p primární oddíl (1-4)
p
Číslo oddílu (1-4 ):1
První válec (1-130, výchozí 1):
Použití výchozí hodnoty 1
Poslední válec, +válce nebo +velikost{K,M,G} (1-130, výchozí 130):
Použije výchozí hodnotu 130
Příkaz (m pro nápovědu):p
Spouštění zařízení Start End Blocks ID System
/dev/sdb1 1 130 1044193+ 83 Linux
Příkaz (m pro nápovědu):w
Tabulka oddílů byla změněna!
Volání ioctl() pro opětovné načtení tabulky oddílů.
Synchronizace disků.
fdisk -l
Disk /dev/sdb:1073 MB, 1073741824 bajtů
255 hlav, 63 sektorů/stopa, 130 cylindrů
Jednotky =cylindry 16065 * 512 =8225280 bajtů (logická velikost sektoru) /fyzické):512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální):512 bajtů / 512 bajtů
Identifikátor disku:0x89770d51
Spouštění zařízení Start End Blocks ID System
/dev/sdb1 1 130 1044193+ 83 Linux

Po dokončení zopakujte kroky na OEL642

5. Konfigurace DRBD


Nyní se dostáváme k poslednímu kroku, kterým je konfigurace DRBD. V zásadě musíme nastavit, který diskový oddíl a server má fungovat pod modulem DRBD. Za tímto účelem vytvoříme níže uvedený soubor odpovědí a zkopírujeme jej do OEL642 takže oba servery mají stejnou konfiguraci.

cd /etc/drbd.d/
vi s1.res
zdroj s1 {
na OEL641 {
zařízení /dev/drbd1;
disk /dev/sdb1;
adresa 192.168.43.101:7799;
meta- interní disk;
}
na OEL642 {
zařízení /dev/drbd1;
disk /dev/sdb1;
adresa 192.168.43.102:7799;
interní meta-disk;
}
}

Zkopírujte soubor s scp na druhý server:

scp /etc/drbd.d/s1.res [e-mail chráněný]:/etc/drbd.d/s1.res

Po dokončení musíme inicializovat oddíl na obou serverech. Níže jsou kroky:

drbdadm create-md s1
inicializace protokolu aktivit
NEInicializuje se bitmapa
Zapisování metadat...
Nový blok metadat DRBD byl úspěšně vytvořen.
úspěch

s1 je název zdroje, který jsme definovali v souboru s1.res výše.

Přihlaste se prosím k serveru OEL642 a proveďte stejné kroky shora:

drbdadm create-md s1
inicializace protokolu aktivit
NEInicializuje se bitmapa
Zapisování metadat...
Nový blok metadat DRBD byl úspěšně vytvořen.
úspěch


Nyní se vraťte na server OEL641 a můžeme spustit službu DRBD. Níže jsou kroky:-

stav /etc/init.d/drbd
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p připojený fstype
[[email protected] ~]# /etc/init.d/drbd start
Spouštění zdrojů DRBD:[
vytvořit res :s1
připravit disk:s1
upravit disk:s1
upravit síť:s1
]
..........
* ******************************************************* ************
Spouštěcí skript DRBD čeká, až se objeví rovnocenné uzly.
- Pokud byl tento uzel již před
rebootem degradovaným clusterem , časový limit je 0 sekund. [degr-wfc-timeout]
- Pokud byl peer dostupný před restartem, časový limit
je 0 sekund. [wfc-timeout]
(Tyto hodnoty jsou pro zdroj 's1'; 0 s -> čekat navždy)
Chcete-li zrušit čekání, zadejte 'yes' [ 26]:
.


Všimněte si výše, že služba DRBD se ještě nespustila. Důvodem je server OEL641 hledá službu DRBD na OEL642 .

Proto se během této doby přihlaste do OEL642 a spusťte službu DRBD stejným způsobem jako om OEL641 . Všimnete si, že jakmile bude služba DRBD poskytnuta na OEL642 je spuštěna, služba DRBD na OEL641 přestane čekat a začne také.

Po dokončení se stav služby DRBD na obou serverech zobrazí jako níže:

stav /etc/init.d/drbd
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p připojený fstype
1:s1 Připojeno Sekundární/Sekundární Nekonzistentní/Nekonzistentní C


Nyní proveďte níže uvedené kroky na serveru OEL641 pouze. Toto slouží k inicializaci toho, kdo bude prvním primárním serverem.

drbdadm -- --overwrite-data-of-peer primary s1
/etc/init.d/drbd status
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p připojený fstype
... synchronizováno:0,8 % (1037872/1044124)K
1:s1 SyncSource Primární/Sekundární Aktualizováno/Nekonzistentní C

Poté zkontrolujte OEL642:

stav /etc/init.d/drbd
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p namontovaný fstype
... synchronizováno:12,2 % (921244/1044124)K
1:s1 SyncTarget Sekundární/Primární Nekonzistentní/UpToDate C


Ve výše uvedené zprávě o stavu si všimnete, že server je nyní OEL641 byl ověřen jako primární a OEL642 jako sekundární server.

To znamená, že nyní jakékoli soubory nebo složky, které jsme vytvořili v oddílu DRBD na serveru OEL641 bude synchronizován s oddílem DRBD na OEL642 .

6. Fáze testování DRBD

Nyní jsme se dostali k poslední části, kterou je testování služby DRBD, abychom se ujistili, že splňuje cíl.

Nejprve připojíme oddíl DRBD.

Níže uvedené kroky proveďte jednou na primárním serveru OEL641 POUZE!

mkfs.ext3 /dev/drbd1
...
...
Zápis tabulek inodů:hotovo
Vytváření žurnálu (4096 bloků):hotovo
Zápis superbloků a účetních informací souborového systému:hotovo


Toto zformátuje oddíl pomocí souborového systému ext3.

Nyní vytvořte složku a připojte k ní oddíl DRBD.

mkdir /folderA
mount /dev/drbd1 /folderA
df -h
Velikost souborového systému Použitá dostupnost, využití % Namontováno na
/dev/drbd1 1004M 18M 936M 2% /složkaA
cd /folderA/
ls -h
ztraceno+nalezeno

Jak je uvedeno výše, nová složka s názvem folderA byla úspěšně vytvořena.

Nyní vytvoříme soubor o velikosti 30 Mb ve složce:

dd if=/dev/zero of=/folderA/testfile bs=1M počet=30
30+0 záznamů v
30+0 záznamů ven
31457280 bajtů (31 MB) zkopírováno, 0,178448 s, 176 MB/s
ls -lh
celkem 31 mil.
drwx------. 2 kořenový kořen 16K 21. srpna 08:55 ztraceno+nalezeno
-rw-r--r--. 1 kořenový kořen 30M 21. srpna 09:09 testovací soubor


Toto byly předpoklady, začněme proces testovat.

Jako konečný výsledek, jakmile připojíme oddíl DRBD na server OEL642 , testovací soubor by měl existovat ve složce.

Nyní odpojíme oddíl DRBD v OEL641 a udělejte jej jako sekundární stav. Sekundární stav znamená, že nebudete moci připojit oddíl DRBD do operačního systému, který chcete použít.

stav /etc/init.d/drbd
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p připojeno fstype
1:s1 Připojeno Primární/Sekundární UpToDate/UpToDate C /folderA ext3
umount /folderA
drbdadm sekundární s1
stav /etc/init.d/drbd
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p namontované fstype
1:s1 Připojeno Sekundární/Sekundární UpToDate/UpToDate C


Nyní jsou oba servery DRBD v sekundárním stavu. Pojďme na server OEL642 a změňte jej ze sekundárního na primární.

Nejprve vytvořte prázdnou složku a připojte se k oddílu DRBD na OEL642 :

mkdir /folderB
cd /folderB
ls -lh
celkem 0
stav /etc/init.d/drbd
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p namontované fstype
1:s1 Připojeno Sekundární/Sekundární UpToDate/UpToDate C
Primární stav drbdadm s1
/etc/init.d/drbd
ovladač drbd načten OK; stav zařízení:
verze:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 sestavení [e-mailem chráněno], 202016:08 44
m:res cs ro ds p namontované fstype
1:s1 Připojeno Primární/Sekundární UpToDate/UpToDate C
připojit /dev/drbd1 /folderB
df -h
Velikost souborového systému Použitá Avail Využití % Namontováno na
/dev/mapper/vg_oel641-lv_root
96G 3,5G 88G 4% /
tmpfs 640M 80K 640M 1% /dev/shm
/dev/sda1 485M 32M 428M 7% /bota
/dev/drbd1 1004M 48M 906M 5% /složkaB
ls -lh /složkaB/
celkem 31 mil.
drwx------. 2 kořenový kořen 16K 21. srpna 08:55 ztraceno+nalezeno
-rw-r--r--. 1 kořenový kořen 30M 21. srpna 09:09 testovací soubor


Jakmile úspěšně připojíte oddíl DRBD do své nové složky, všimnete si, že soubor, který jste vytvořili na serveru OEL641 předtím, než automaticky existoval!


HOTOVO! Úspěšně jste nastavili a nakonfigurovali DRBD na CentOS!


Cent OS
  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat dig na CentOS 7 a 8

  3. Jak nainstalovat Node.js a NPM na CentOS

  1. Jak nainstalovat Node.js a NPM na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Redis na CentOS 7

  3. Jak nainstalovat a nakonfigurovat GitLab na CentOS 7

  1. Jak nainstalovat a nakonfigurovat Redmine na CentOS 7

  2. Jak nainstalovat Node.js a npm na CentOS 8

  3. Jak nainstalovat a nakonfigurovat Redis na CentOS 8