Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7

Terjemahan artikel disiapake ing wayah wengi wiwitan kursus "administrator linux kab. Virtualisasi lan clustering".

DRBD (Distributed Replicated Block Device) minangka solusi panyimpenan sing disebarake, fleksibel, lan universal kanggo Linux. Iku nuduhake isi piranti pamblokiran kayata hard drive, partisi, volume logis, etc. antarane server. Iki nggawe salinan data ing rong piranti panyimpenan supaya yen salah siji gagal, data sing kapindho bisa digunakake.

Sampeyan bisa ngomong iku kaya konfigurasi RAID jaringan 1 karo disk dipetakan menyang server beda. Nanging, kerjane beda banget tinimbang RAID (malah RAID jaringan).

Wiwitane, DRBD digunakake utamane ing kluster komputer kasedhiyan dhuwur (HA), nanging wiwit versi XNUMX, bisa digunakake kanggo nyebarake solusi panyimpenan awan.

Ing artikel iki, kita bakal nerangake carane nginstal DRBD ing CentOS lan nduduhake kanthi ringkes carane nggunakake kanggo niru panyimpenan (partisi) ing rong server. Iki minangka artikel sing sampurna kanggo miwiti DRBD ing Linux.

Lingkungan tes

Kita bakal nggunakake kluster loro simpul kanggo persiyapan iki.

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

Langkah 1: Instal paket DRBD

DRBD dileksanakake minangka modul kernel Linux. Iku driver kanggo piranti pemblokiran virtual, supaya dumunung ing paling ngisor saka I / O tumpukan sistem.

DRBD bisa diinstal saka ELRepo utawa EPEL. Ayo dadi miwiti kanthi ngimpor tombol tandha paket ELRepo lan nyambungake repositori ing loro simpul kaya ing ngisor iki.

# 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

Banjur sampeyan kudu nginstal modul lan utilitas kernel DRBD ing loro simpul nggunakake:

# yum install -y kmod-drbd84 drbd84-utils

Yen sampeyan wis aktif SELinux, sampeyan kudu ngatur kabijakan kanggo exempt proses DRBD saka kontrol SELinux.

# semanage permissive -a drbd_t

Kajaba iku, yen sistem sampeyan mbukak firewall (firewalld), sampeyan kudu nambah port DRBD 7789 kanggo ngidini sinkronisasi data ing antarane rong simpul kasebut.

Jalanake printah iki kanggo simpul pisanan:

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

Banjur jalanake printah iki kanggo simpul kapindho:

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

Langkah 2: Siapke Storage Low-Level

Saiki kita wis diinstal DRBD ing loro kelenjar kluster, kita kudu nyedhiyani wilayah panyimpenan kira-kira padha ukuran ing. Iki bisa dadi partisi hard drive (utawa kabeh hard drive fisik), piranti lunak RAID, Volume logis LVM utawa jinis piranti pamblokiran liyane sing ditemokake ing sistem sampeyan.

Kanggo artikel iki, kita bakal nggawe piranti blok tes 2GB nggunakake printah dd.

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

Ayo nganggep iki minangka partisi sing ora digunakake (/ dev / sdb1) ing piranti blok kapindho (/ dev / sdb) sing disambungake menyang loro simpul.

Langkah 3. Konfigurasi DRBD

File konfigurasi utama DRBD βˆ’ /etc/drbd.conf, lan file konfigurasi tambahan bisa ditemokake ing direktori /etc/drbd.d.

Kanggo niru panyimpenan, kita kudu nambah konfigurasi sing dibutuhake ing file kasebut /etc/drbd.d/global_common.conf, sing ngemot bagean global lan umum saka konfigurasi DRBD, lan kita kudu nemtokake sumber daya ing .res berkas.

Ayo gawe salinan serep file asli ing loro simpul, banjur bukak file anyar kanggo diowahi (nggunakake editor teks sing dipilih).

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

Tambah baris ing ngisor iki kanggo loro file:

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

Simpen file banjur tutup editor.

Ayo ndeleng sedhela ing garis protokol C. DRBD ndhukung telung mode replikasi sing beda (yaiku, telung derajat sinkronisasi replikasi), yaiku:

  • protokol A: protokol replikasi asinkron; paling asring digunakake ing skenario replikasi jarak adoh.
  • protokol B: protokol rΓ©plikasi semi-sinkron utawa protokol memori sinkron.
  • protokol C: biasane digunakake kanggo simpul ing jaringan kanthi jarak cendhak; iki minangka protokol replikasi sing paling umum digunakake ing setelan DRBD.

penting: Pilihan protokol replikasi mengaruhi rong faktor penyebaran: keamanan lan latensi. Miturut kontras, throughput ora gumantung banget marang protokol replikasi sing dipilih.

Langkah 4: Tambah sumber daya

Sumber daya minangka istilah payung sing nuduhake kabeh aspek saka dataset replikasi tartamtu. Kita bakal nemtokake sumber daya ing file kasebut /etc/drbd.d/test.res.

Tambah ing ngisor iki menyang file ing loro simpul (elinga ngganti variabel kanthi nilai nyata kanggo lingkungan sampeyan).

Pay manungsa waΓ© menyang jeneng host, kita kudu nemtokake jeneng host jaringan, sing bisa dipikolehi nggunakake printah 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;
        }
}
}

ing pundi:

  • ing jeneng host: Ing bagean sing statement konfigurasi nested ditrapake.
  • test: Iki jeneng sumber anyar.
  • piranti /dev/drbd0: Nuduhake piranti pamblokiran virtual anyar sing dikelola dening DRBD.
  • disk /dev/sdb1: Iki minangka partisi piranti pamblokiran sing minangka piranti serep kanggo piranti DRBD.
  • meta-disk: Nemtokake ngendi DRBD nyimpen metadata sawijining. Internal tegese DRBD nyimpen metadata ing piranti tingkat rendah fisik sing padha karo data nyata ing produksi.
  • alamat: Nuduhake alamat IP lan nomer port saka simpul sing cocog.

Elinga uga yen paramèter duwe nilai sing padha ing loro host, sampeyan bisa nemtokake langsung ing bagean sumber daya.

Contone, konfigurasi ing ndhuwur bisa distruktur maneh dadi:

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

Langkah 5. Initialize lan miwiti sumber

Kanggo sesambungan karo DRBD, kita bakal nggunakake alat administrasi ing ngisor iki (sing sesambungan karo modul kernel kanggo ngatur lan ngatur sumber daya DRBD):

  • drbdadm: Alat administrasi tingkat dhuwur DRBD.
  • drbdsetup: Alat administrasi tingkat ngisor kanggo nyambungake piranti DRBD menyang piranti serep, ngonfigurasi pasangan piranti DRBD kanggo nggambarake piranti serep, lan kanggo verifikasi konfigurasi piranti DRBD sing mlaku.
  • Drbdmeta: Alat manajemen metadata.

Sawise nambahake kabeh konfigurasi sumber daya dhisikan, kita kudu njaluk sumber daya ing loro simpul.

# drbdadm create-md test

Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7
Inisialisasi Toko Metadata

Sabanjure, kita kudu mbukak, sing bakal nyambungake sumber daya menyang piranti serep, banjur nyetel paramèter replikasi lan nyambungake sumber daya menyang kanca:

# drbdadm up test

Saiki yen sampeyan mbukak printah lsblk, sampeyan bakal weruh yen piranti DRBD / volume drbd0 digandhengake karo piranti serep /dev/sdb1:

# lsblk

Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7
Dhaptar piranti pamblokiran

Kanggo mateni sumber daya, mbukak:

# drbdadm down test

Kanggo mriksa status sumber daya, jalanake printah ing ngisor iki (cathetan yen status disk wis samesthine ing titik iki Ora konsisten / ora konsisten):

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

Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7
Priksa status sumber daya ing
ala

Langkah 6: Setel sumber utama / sumber sinkronisasi piranti wiwitan

Ing tahap iki, DRBD wis siyap. Saiki kita kudu nemtokake simpul sing kudu digunakake minangka sumber sinkronisasi piranti awal.

Jalanake perintah ing ngisor iki mung siji simpul kanggo miwiti sinkronisasi lengkap awal:

# drbdadm primary --force test
# drbdadm status test

Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7
Nyetel simpul utama minangka piranti wiwitan
Sawise sinkronisasi rampung, status loro drive kudu UpToDate.

Langkah 7: Nguji persiyapan DRBD

Pungkasan, kita kudu mriksa apa piranti DRBD bakal bisa digunakake kanggo nyimpen data sing ditiru. Elinga yen kita nggunakake volume disk kosong, dadi kita kudu nggawe sistem file ing piranti lan dipasang kanggo mriksa yen kita bisa nggunakake kanggo nyimpen data replicated.

Kita kudu nggawe sistem file ing piranti kanthi nggunakake printah ing ngisor iki ing simpul ing ngendi kita miwiti sinkronisasi lengkap awal (sing nduweni sumber daya karo peran utama):

# mkfs -t ext4 /dev/drbd0

Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7
Nggawe sistem file ing volume Drbd

Banjur pasang minangka ditampilake (sampeyan bisa menehi titik gunung jeneng sing cocog):

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

Saiki nyalin utawa nggawe sawetara file ing titik gunung ndhuwur lan nggawe dhaptar dawa karo ls dhawuh:

# cd /mnt/DRDB_PRI/
# ls -l 

Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7
Dhaptar isi volume Drbd utama

Sabanjure, copot piranti kasebut (priksa manawa gunung ora mbukak, ganti direktori sawise unmount kanggo nyegah kesalahan) lan ganti peran simpul saka primer menyang sekunder:

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

Nggawe simpul liyane (sing nduweni sumber daya karo peran sekunder) utami, banjur masang piranti menyang lan ngetokake dhaftar dawa saka TCTerms gunung. Yen persiyapan mlaku kanthi becik, kabeh file sing disimpen ing volume kudu ana:

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

Nyetel DRBD kanggo replikasi panyimpenan ing rong server CentOS 7
Priksa persiyapan DRBD sing mlaku ing simpul sekunder.

Kanggo informasi luwih lengkap, deleng kaca bantuan alat administratif:

# man drbdadm
# man drbdsetup
# man drbdmeta

Pitulung: Manual pangguna DRBD.

Ringkesan

DRBD banget fleksibel lan serbaguna, dadi solusi replikasi panyimpenan sing cocog kanggo nambah HA ing meh kabeh aplikasi. Ing artikel iki, kita nuduhake carane nginstal DRBD ing CentOS 7 lan kanthi ringkes nuduhake cara nggunakake kanggo replikasi panyimpenan. Bebas bae kanggo nuduhake pikirane karo kita nggunakake formulir saran ing ngisor iki.

Sinau luwih lengkap babagan kursus kasebut.

Source: www.habr.com

Add a comment