Úvod
Drbd je distribuovaný replikovaný úložný systém pro platformu Linux. Je implementován jako ovladač jádra, několik aplikací pro správu uživatelského prostoru a některé skripty shellu. Tradičně se používá v počítačových clusterech s vysokou dostupností (HA). Přesto, počínaje DRBD verze 9, jej lze také použít k vytváření větších softwarově definovaných úložných fondů se zaměřením na cloudovou integraci.
Pokud používáte virtuální jádro jako součást virtuálního stroje budete muset modul drbd zkompilovat ručně. Může být jednodušší nainstalovat balíček Linux-server do virtuálního počítače. Zkontrolujte uživatelskou příručku drbd a MySQL.
Vytvořte příručku pro instalaci všech požadavků
Poskytnutá příručka je pouze ukázkový úkol, který poskytuje sekvenci pro nastavení clusteru.
# cat > drbd.setupcentos8.yml
---
- hosts: all
gather_facts: no
become: true
tasks:
- hostname:
name: "{{ ansible_hostname }}"
- get_url:
url: https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
dest: /tmp/elrepo-release-8.el8.elrepo.noarch.rpm
- name: install repo
command: rpm -ivh /tmp/elrepo-release-8.el8.elrepo.noarch.rpm
ignore_errors: yes
- command: rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
ignore_errors: yes
- shell: echo drbd > /etc/modules-load.d/drbd.conf
- yum:
name: "{{ item }}"
state: present
loop:
- drbd90-utils
- kmod-drbd90
- lvm2
- policycoreutils-python-utils
- systemd:
name: firewalld
state: stopped
enabled: no
- selinux_permissive:
name: drbd_t
no_reload: false
permissive: true
- lvg:
vg: drbdvg
pvs: /dev/sdb
- lvol:
vg: drbdvg
lv: drbdlv
size: +100%FREE
Odstraňte globální výchozí konfiguraci z instalace.
Přesuňte soubor a vytvořte nový konfigurační soubor.
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.back
Vytvořte novou požadovanou konfiguraci
Konfigurační soubor v tomto tutoriálu.
# cat > /etc/drbd.d/global_common.conf
global {
usage-count no;
}
common {
net {
protocol C;
}
}
Vytvořte konfigurační soubor prostředků
Všimněte si, že jako standardní postup by měl být zdrojem název souboru. V tomto tutoriálu budeme používat drbd0.
#cat > /etc/drbd.d/drbd0.res
resource drbd0 {
protocol C;
net {
verify-alg sha256;
}
on node1 {
device /dev/drbd0;
disk /dev/drbdv/lvdrdb;
node-id 0;
address 192.168.55.61:7788;
meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/drbdv/lvdrdb;
node-id 1;
address 192.168.55.62:7788;
meta-disk internal;
}
on node3 {
device /dev/drbd0;
node-id 2;
disk /dev/drbdv/lvdrdb;
address 192.168.55.63:7788;
meta-disk internal;
}
connection-mesh {
hosts node1 node2 node3;
}
}
Parametr požadavku na jednoduchý zdroj pro klastrové nastavení
Zkontrolujte prosím požadované parametry pro váš výběr nastavení
- na název-hostitele [uname -n]
- id-uzlu [jedinečný identifikátor uzlu. rozsah 0 až 16]
- disk {[disk] | žádný}
- adresa [address-family] adresa:port
Vytvořit blokové zařízení drbd
Tento příkaz vytvoří požadované blokové zařízení.
Povolit zařízení drbd na všech uzlech
Povolte zařízení provedením příkazu uvedeného níže.
Zkontrolujte stav drbd
Tím se zobrazí stav zařízení na všech uzlech.
Nakonfigurujte, kdo bude primárním uzlem.
Tím se nakonfiguruje, odkud se má synchronizace zkopírovat.
Zkontrolujte stav clusteru
Nyní jsou zařízení synchronizována.
Vytvořte souborový systém ze zařízení drbd na primárním disku
To bude ten, který se použije pro shlukování. Všimněte si, že lze vybrat pouze kohokoli z clusteru.
Nyní připojte adresář mysql k zařízení drbd
Data budou sdílena mezi všemi uzly.
Přesunout zdroj z node1 do node2
Všimněte si, že služba MySQL by měla být zastavena před migrací zdrojů.