Terjemahan artikel disiapake ing wayah wengi wiwitan kursus
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
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,
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
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 /dev/sdb1
:
# lsblk
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
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 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
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
# cd /mnt/DRDB_PRI/
# ls -l
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
Priksa persiyapan DRBD sing mlaku ing simpul sekunder.
Kanggo informasi luwih lengkap, deleng kaca bantuan alat administratif:
# man drbdadm
# man drbdsetup
# man drbdmeta
Pitulung:
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.
Source: www.habr.com