Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů

Překlad článku byl připraven v předvečer zahájení kurzu "Správce LinuxVirtualizace a clustering.

DRBD (Distributed Replicated Block Device) je distribuované, flexibilní a univerzálně replikované úložné řešení pro LinuxZrcadlí obsah blokových zařízení, jako jsou pevné disky, oddíly, logické svazky atd., mezi servery. Vytváří kopie dat na dvou úložných zařízeních, takže pokud jedno selže, lze použít data na druhém.

Dalo by se říct, že je to něco podobného konfigurace síťového RAID 1 s disky namapovanými na různé servery. Funguje však úplně jinak než RAID (i síťový RAID).

Zpočátku se DRBD používalo hlavně v počítačových clusterech s vysokou dostupností (HA), ale počínaje verzí 9 jej lze použít k nasazení řešení cloudových úložišť.

V tomto článku vám řekneme, jak nainstalovat DRBD v CentOSa stručně si ukážeme, jak jej použít k replikaci úložiště (oddílu) mezi dvěma servery. Toto je perfektní článek pro začátek s DRBD v... Linux.

Testovací prostředí

Pro toto nastavení použijeme cluster se dvěma uzly.

  • Uzel 1: 192.168.56.101 – tecmint.tecmint.lan
  • Uzel 2: 192.168.56.102 – server1.tecmint.lan

Krok 1: Nainstalujte balíčky DRBD

DRBD je implementován jako modul jádra. LinuxJe to ovladač pro virtuální blokové zařízení, takže se nachází úplně na dně I/O zásobníku systému.

DRBD lze nainstalovat z ELRepo nebo EPEL. Začněme importem podpisového klíče balíčku ELRepo a připojením úložiště na obou uzlech, jak je znázorněno níže.

# 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

Poté musíte nainstalovat modul jádra DRBD a nástroje na oba uzly pomocí:

# yum install -y kmod-drbd84 drbd84-utils

Pokud máte připojeno SELinux, je třeba nakonfigurovat zásady pro vynětí procesů DRBD z kontroly SELinux.

# semanage permissive -a drbd_t

Kromě toho, pokud váš systém používá firewall (firewall), budete muset přidat port DRBD 7789, abyste umožnili synchronizaci dat mezi dvěma uzly.

Spusťte tyto příkazy pro první uzel:

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

Poté spusťte tyto příkazy pro druhý uzel:

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

Krok 2: Připravte nízkoúrovňové úložiště

Nyní, když máme DRBD nainstalované na obou uzlech clusteru, musíme na nich zřídit úložné oblasti přibližně stejné velikosti. Může to být oddíl pevného disku (nebo celý fyzický pevný disk), softwarové zařízení RAID, Logický svazek LVM nebo jakýkoli jiný typ blokového zařízení nalezeného ve vašem systému.

Pro tento článek vytvoříme 2GB testovací blokové zařízení pomocí příkazu dd.

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

Předpokládejme, že se jedná o nepoužívaný oddíl (/dev/sdb1) na druhém blokovém zařízení (/dev/sdb) připojeném k oběma uzlům.

Krok 3. Konfigurace DRBD

Hlavní konfigurační soubor DRBD − /etc/drbd.confa další konfigurační soubory lze nalézt v adresáři /etc/drbd.d.

Abychom úložiště replikovali, musíme do souboru přidat potřebné konfigurace /etc/drbd.d/global_common.conf, který obsahuje globální a obecné části konfigurace DRBD a my potřebujeme definovat zdroje v .res soubory.

Udělejme záložní kopii původního souboru na obou uzlech a poté otevřeme nový soubor pro úpravy (použijme textový editor dle vlastního výběru).

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

Přidejte do obou souborů následující řádky:

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

Uložte soubor a zavřete editor.

Podívejme se na chvíli na řadu protokolu C DRBD podporuje tři různé režimy replikace (tj. tři stupně synchronizace replikace), konkrétně:

  • protokol A: protokol asynchronní replikace; nejčastěji používané ve scénářích replikace na dlouhé vzdálenosti.
  • protokol B: Semisynchronní replikační protokol nebo synchronní paměťový protokol.
  • protokol C: obvykle se používá pro uzly v sítích s krátkými vzdálenostmi; toto je zdaleka nejběžněji používaný replikační protokol v nastavení DRBD.

Je to důležité,: Volba replikačního protokolu ovlivňuje dva faktory nasazení: zabezpečení a latenci. Naproti tomu propustnost významně nezávisí na zvoleném replikačním protokolu.

Krok 4: Přidejte zdroj

Zdroj je zastřešující termín, který odkazuje na všechny aspekty konkrétní replikované datové sady. V souboru definujeme náš zdroj /etc/drbd.d/test.res.

Přidejte následující do souboru na obou uzlech (nezapomeňte nahradit proměnné skutečnými hodnotami pro vaše prostředí).

Věnujte pozornost názvům hostitelů, musíme zadat název hostitele sítě, který lze získat pomocí příkazu uname -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;
        }
}
}

kde:

  • na jméno hostitele: Sekce on, na kterou se vztahuje příkaz vnořené konfigurace.
  • test: Toto je název nového zdroje.
  • zařízení /dev/drbd0: Označuje nové virtuální blokové zařízení spravované DRBD.
  • disk /dev/sdb1: Toto je oddíl blokového zařízení, který je záložním zařízením pro zařízení DRBD.
  • meta-disk: Definuje, kam DRBD ukládá svá metadata. Interní znamená, že DRBD ukládá svá metadata na stejné fyzické nízkoúrovňové zařízení jako skutečná data v produkci.
  • adresa: Označuje IP adresu a číslo portu odpovídajícího uzlu.

Všimněte si také, že pokud mají parametry stejné hodnoty na obou hostitelích, můžete je zadat přímo v sekci zdrojů.

Výše uvedená konfigurace může být například restrukturalizována na:

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;
        		}
}

Krok 5. Inicializujte a spusťte prostředek

Pro interakci s DRBD použijeme následující nástroje pro správu (které spolupracují s modulem jádra za účelem konfigurace a správy prostředků DRBD):

  • drbdadm: Nástroj pro správu na vysoké úrovni DRBD.
  • drbdsetup: Nástroj pro správu nižší úrovně pro připojení zařízení DRBD k jejich zálohovacím zařízením, konfiguraci párů zařízení DRBD tak, aby odrážela jejich záložní zařízení, a pro ověření konfigurace běžících zařízení DRBD.
  • Drbdmeta: Nástroj pro správu metadat.

Po přidání všech počátečních konfigurací prostředků musíme prostředek vyvolat na obou uzlech.

# drbdadm create-md test

Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů
Inicializace úložiště metadat

Dále jej musíme spustit, čímž se prostředek připojí k jeho záložnímu zařízení, poté nastavíme parametry replikace a připojíme prostředek k jeho peer:

# drbdadm up test

Nyní, pokud spustíte příkaz lsblk, zjistíte, že zařízení DRBD/svazek drbd0 je spojeno se zálohovacím zařízením /dev/sdb1:

# lsblk

Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů
Seznam blokových zařízení

Chcete-li zakázat prostředek, spusťte:

# drbdadm down test

Chcete-li zkontrolovat stav prostředku, spusťte následující příkaz (všimněte si, že v tomto okamžiku se očekává stav disků Nekonzistentní/Nekonzistentní):

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

Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů
Kontrola stavu zdroje zapnuta
zlo

Krok 6: Nastavte primární zdroj/zdroj synchronizace počátečního zařízení

V této fázi je DRBD připraveno jít. Nyní musíme určit, který uzel by měl být použit jako zdroj počáteční synchronizace zařízení.

Spusťte následující příkaz pouze na jednom uzlu, abyste zahájili počáteční úplnou synchronizaci:

# drbdadm primary --force test
# drbdadm status test

Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů
Nastavení primárního uzlu jako počátečního zařízení
Po dokončení synchronizace by měl být stav obou jednotek UpToDate.

Krok 7: Testování nastavení DRBD

Nakonec musíme zkontrolovat, zda zařízení DRBD bude fungovat podle potřeby pro ukládání replikovaných dat. Pamatujte, že jsme použili prázdný diskový svazek, takže musíme na zařízení vytvořit souborový systém a připojit jej, abychom zkontrolovali, zda jej můžeme použít k ukládání replikovaných dat.

Potřebujeme vytvořit souborový systém na zařízení pomocí následujícího příkazu v uzlu, kde jsme spustili počáteční úplnou synchronizaci (který má prostředek s primární rolí):

# mkfs -t ext4 /dev/drbd0

Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů
Vytvoření systému souborů na svazku Drbd

Poté jej připojte podle obrázku (bodu připojení můžete dát vhodný název):

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

Nyní zkopírujte nebo vytvořte nějaké soubory ve výše uvedeném bodu připojení a vytvořte dlouhý seznam s ls příkazy:

# cd /mnt/DRDB_PRI/
# ls -l 

Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů
Vypište obsah hlavního svazku Drbd

Dále odpojte zařízení (ujistěte se, že připojení není otevřené, po odpojení změňte adresář, abyste předešli chybám) a změňte roli uzlu z primárního na sekundární:

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

Nastavte druhý uzel (který má zdroj se sekundární rolí) jako primární, pak k němu připojte zařízení a zadejte dlouhý seznam přípojných bodů. Pokud nastavení funguje správně, měly by tam být všechny soubory uložené na svazku:

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

Konfigurace DRBD pro replikaci úložiště na dvou CentOS 7 serverů
Kontrola nastavení DRBD spuštěného na sekundárním uzlu.

Další informace naleznete na stránkách nápovědy nástrojů pro správu:

# man drbdadm
# man drbdsetup
# man drbdmeta

FAQ: Uživatelský manuál DRBD.

Shrnutí

DRBD je extrémně flexibilní a všestranné, což z něj činí řešení replikace úložiště vhodné pro přidání HA prakticky do jakékoli aplikace. V tomto článku jsme ukázali, jak nainstalovat DRBD v CentOS 7 a stručně jsme ukázali, jak jej použít pro replikaci úložiště. Neváhejte se s námi podělit o své názory pomocí níže uvedeného formuláře pro zpětnou vazbu.

Zjistěte více o kurzu.

Zdroj: www.habr.com

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster