DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón

A cikk fordítása a tanfolyam kezdetének előestéjén készült "Linux rendszergazda. Virtualizáció és klaszterezés".

A DRBD (Distributed Replicated Block Device) egy elosztott, rugalmas és univerzálisan replikálható tárolási megoldás Linuxhoz. A blokkeszközök, például merevlemezek, partíciók, logikai kötetek stb. tartalmát tükrözi. szerverek között. Két tárolóeszközön készít másolatokat az adatokról, így ha az egyik meghibásodik, a másodikon lévő adatok használhatók.

Mondhatni valami ilyesmi hálózati RAID konfiguráció 1 különböző szerverekre leképezett lemezekkel. Ez azonban teljesen másképp működik, mint a RAID (akár hálózati RAID).

A DRBD-t kezdetben főleg magas rendelkezésre állású (HA) számítógép-fürtökben használták, azonban a XNUMX-es verziótól kezdve felhőalapú tárolási megoldások telepítésére is használható.

Ebben a cikkben elmagyarázzuk, hogyan kell telepíteni a DRBD-t a CentOS rendszerre, és röviden bemutatjuk, hogyan használható a tárolás (partíció) replikálására két kiszolgálón. Ez a tökéletes cikk a DRBD használatának megkezdéséhez Linuxon.

Tesztkörnyezet

Ehhez a beállításhoz két csomópontos klasztert fogunk használni.

  • 1. csomópont: 192.168.56.101 – tecmint.tecmint.lan
  • 2. csomópont: 192.168.56.102 – server1.tecmint.lan

1. lépés: Telepítse a DRBD-csomagokat

A DRBD Linux kernelmodulként van megvalósítva. Ez egy virtuális blokk eszköz illesztőprogramja, tehát a rendszer I/O veremének legalján található.

A DRBD telepíthető az ELRepo-ból vagy az EPEL-ből. Kezdjük az ELRepo csomag aláíró kulcsának importálásával, és mindkét csomóponton a lerakat csatlakoztatásával az alábbiak szerint.

# 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

Ezután telepítenie kell a DRBD kernel modult és segédprogramokat mindkét csomóponton a következő használatával:

# yum install -y kmod-drbd84 drbd84-utils

Ha engedélyezve van a SELinux, akkor be kell állítania a házirendeket, hogy mentesítse a DRBD-folyamatokat a SELinux-vezérlés alól.

# semanage permissive -a drbd_t

Ezenkívül, ha a rendszeren tűzfal (tűzfal) fut, akkor hozzá kell adnia a 7789-es DRBD-portot, hogy lehetővé tegye az adatok szinkronizálását a két csomópont között.

Futtassa ezeket a parancsokat az első csomóponthoz:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4"  source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

Ezután futtassa ezeket a parancsokat a második csomóponthoz:

# 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. lépés: Készítse elő az alacsony szintű tárolást

Most, hogy mindkét fürtcsomópontra telepítettük a DRBD-t, körülbelül azonos méretű tárolóterületeket kell biztosítanunk rajtuk. Ez lehet egy merevlemez-partíció (vagy egy teljes fizikai merevlemez), egy szoftveres RAID-eszköz, LVM logikai kötet vagy bármely más típusú blokkolóeszköz, amely a rendszerén található.

Ehhez a cikkhez egy 2 GB-os tesztblokk-eszközt fogunk létrehozni a dd paranccsal.

# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024

Tegyük fel, hogy ez egy nem használt partíció (/dev/sdb1) egy második blokkeszközön (/dev/sdb), amely mindkét csomóponthoz kapcsolódik.

3. lépés: DRBD konfigurálása

DRBD fő konfigurációs fájl − /etc/drbd.conf, és további konfigurációs fájlok találhatók a könyvtárban /etc/drbd.d.

A tárhely replikálásához hozzá kell adnunk a szükséges konfigurációkat a fájlhoz /etc/drbd.d/global_common.conf, amely a DRBD konfiguráció globális és általános szakaszait tartalmazza, és meg kell határoznunk az erőforrásokat .res fájlokat.

Készítsünk biztonsági másolatot az eredeti fájlról mindkét csomóponton, majd nyissa meg az új fájlt szerkesztésre (használjon egy tetszőleges szövegszerkesztőt).

# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf 

Adja hozzá a következő sorokat mindkét fájlhoz:

global {
 usage-count  yes;
}
common {
 net {
  protocol C;
 }
}

Mentse el a fájlt, majd zárja be a szerkesztőt.

Nézzük egy pillanatra a C protokoll sorát. A DRBD három különböző replikációs módot (azaz a replikációs szinkron három fokát) támogat, nevezetesen:

  • A protokoll: aszinkron replikációs protokoll; leggyakrabban nagy távolságú replikációs forgatókönyvekben használják.
  • B protokoll: Félszinkron replikációs protokoll vagy szinkron memóriaprotokoll.
  • C protokoll: általában kis távolságú hálózatok csomópontjaihoz használják; ez messze a leggyakrabban használt replikációs protokoll a DRBD beállításokban.

Fontos: A replikációs protokoll kiválasztása két telepítési tényezőt érint: a biztonságot és a késleltetést. Ezzel szemben az átviteli sebesség nem függ jelentősen a kiválasztott replikációs protokolltól.

4. lépés: Adjon hozzá egy erőforrást

Az erőforrás egy gyűjtőfogalom, amely egy adott replikált adatkészlet minden aspektusára utal. Meghatározzuk az erőforrásunkat a fájlban /etc/drbd.d/test.res.

Adja hozzá a következőket a fájlhoz mindkét csomóponton (ne felejtse el lecserélni a változókat a környezet tényleges értékeire).

Ügyeljünk a gazdagépnevekre, meg kell adnunk a hálózati állomásnevet, amelyet az uname paranccsal kaphatunk meg -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;
        }
}
}

ahol:

  • a gazdagépnéven: Az on szakasz, amelyre a beágyazott konfigurációs utasítás vonatkozik.
  • teszt: Ez az új erőforrás neve.
  • eszköz /dev/drbd0: DRBD által kezelt új virtuális blokkeszközt jelez.
  • lemez /dev/sdb1: Ez egy blokkeszköz-partíció, amely a DRBD-eszköz biztonsági mentési eszköze.
  • meta-lemez: Meghatározza, hogy a DRBD hol tárolja a metaadatait. A belső azt jelenti, hogy a DRBD a metaadatait ugyanazon a fizikai alacsony szintű eszközön tárolja, mint a tényleges termelési adatok.
  • cím: A megfelelő csomópont IP-címét és portszámát jelzi.

Vegye figyelembe azt is, hogy ha a paraméterek mindkét gazdagépen azonos értékekkel rendelkeznek, akkor közvetlenül az erőforrások részben adhatja meg őket.

Például a fenti konfiguráció átstrukturálható a következőre:

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. lépés: Inicializálja és indítsa el az erőforrást

A DRBD-vel való interakcióhoz a következő adminisztrációs eszközöket fogjuk használni (amelyek kölcsönhatásba lépnek a kernelmodullal a DRBD-erőforrások konfigurálásához és adminisztrálásához):

  • drbdadm: DRBD magas szintű adminisztrációs eszköz.
  • drbdsetup: Alacsonyabb szintű adminisztrációs eszköz a DRBD-eszközök és a biztonsági mentési eszközök csatlakoztatására, a DRBD-eszközök párjainak konfigurálására, hogy azok tükrözzék a biztonsági mentési eszközeiket, valamint a futó DRBD-eszközök konfigurációjának ellenőrzésére.
  • Drbdmeta: Metaadatkezelő eszköz.

Az összes kezdeti erőforrás-konfiguráció hozzáadása után meg kell hívnunk az erőforrást mindkét csomóponton.

# drbdadm create-md test

DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón
A metaadattár inicializálása

Ezután le kell futtatnunk, amely csatlakoztatja az erőforrást a biztonsági mentési eszközéhez, majd beállítja a replikációs paramétereket, és csatlakoztatja az erőforrást a társához:

# drbdadm up test

Most, ha futtatja a parancsot lsblk, észreveheti, hogy a DRBD eszköz/kötet drbd0 a biztonsági mentési eszközhöz van társítva /dev/sdb1:

# lsblk

DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón
A blokkeszközök listája

Az erőforrás letiltásához futtassa:

# drbdadm down test

Az erőforrás állapotának ellenőrzéséhez futtassa a következő parancsot (vegye figyelembe, hogy a lemezek állapota ezen a ponton várható Inkonzisztens/Konzisztens):

# drbdadm status test
OR
# drbdsetup status test --verbose --statistics 	#for  a more detailed status

DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón
Egy erőforrás állapotának ellenőrzése bekapcsolva
gonosz

6. lépés: Állítsa be az elsődleges erőforrás/kezdeti eszközszinkronizálási forrást

Ebben a szakaszban a DRBD készen áll a használatra. Most meg kell adnunk, hogy melyik csomópont legyen a kezdeti eszközszinkronizálás forrása.

Futtassa a következő parancsot csak egy csomóponton a kezdeti teljes szinkronizálás megkezdéséhez:

# drbdadm primary --force test
# drbdadm status test

DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón
Az elsődleges csomópont beállítása kezdeti eszközként
A szinkronizálás befejezése után mindkét meghajtó állapotának UpToDate-nek kell lennie.

7. lépés: A DRBD beállításának tesztelése

Végül ellenőriznünk kell, hogy a DRBD-eszköz megfelelően működik-e a replikált adatok tárolásához. Ne feledje, hogy üres lemezkötetet használtunk, ezért létre kell hoznunk egy fájlrendszert az eszközön, és fel kell csatolnunk, hogy ellenőrizzük, tudjuk-e használni replikált adatok tárolására.

Létre kell hoznunk egy fájlrendszert az eszközön a következő paranccsal azon a csomóponton, ahol a kezdeti teljes szinkronizálást elindítottuk (amelynek van egy erőforrása az elsődleges szereppel):

# mkfs -t ext4 /dev/drbd0

DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón
Fájlrendszer létrehozása a Drbd köteten

Ezután rögzítse a képen látható módon (adhat megfelelő nevet a rögzítési pontnak):

# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/

Most másoljon vagy hozzon létre néhány fájlt a fenti csatolási pontban, és készítsen egy hosszú listát ls parancsokat:

# cd /mnt/DRDB_PRI/
# ls -l 

DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón
Sorolja fel a fő Drbd-kötet tartalmát

Ezután válassza le az eszközt (győződjön meg arról, hogy a csatlakoztatás nincs nyitva, a hibák elkerülése érdekében a leválasztás után módosítsa a könyvtárat), és módosítsa a csomópont szerepét elsődlegesről másodlagosra:

# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test

Tegye elsődlegesnek a másik csomópontot (amelynek másodlagos szerepű erőforrása van), majd csatoljon hozzá egy eszközt, és adja ki a csatlakozási pontok hosszú listáját. Ha a beállítás jól működik, a köteten tárolt összes fájlnak ott kell lennie:

# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls  -l 

DRBD beállítása tárolási replikációhoz két CentOS 7-kiszolgálón
A másodlagos csomóponton futó DRBD-beállítás ellenőrzése.

További információért tekintse meg az adminisztrációs eszközök súgóoldalait:

# man drbdadm
# man drbdsetup
# man drbdmeta

FAQ: DRBD felhasználói kézikönyv.

Összegzés

A DRBD rendkívül rugalmas és sokoldalú, így egy tárolási replikációs megoldás, amely szinte bármilyen alkalmazáshoz alkalmas HA hozzáadására. Ebben a cikkben bemutattuk, hogyan kell telepíteni a DRBD-t CentOS 7 rendszerre, és röviden bemutattuk, hogyan kell használni tárolási replikációhoz. Nyugodtan ossza meg velünk gondolatait az alábbi visszajelzési űrlap segítségével.

Tudjon meg többet a tanfolyamról.

Forrás: will.com

Hozzászólás