Kami mengkonfigurasi DRBD untuk replikasi penyimpanan di dua server CentOS 7

Terjemahan artikel ini disiapkan pada awal kursus "Administrator Linux. Virtualisasi dan Clustering " .








DRBD (Distributed Replicated Block Device) adalah solusi penyimpanan terdistribusi, fleksibel, dan direplikasi secara universal untuk Linux. Ini mencerminkan konten perangkat blok seperti hard drive, partisi, volume logis, dll. antar server. Ini membuat salinan data pada dua perangkat penyimpanan sehingga jika salah satu dari mereka gagal, data di sisi lain dapat digunakan.



Kita dapat mengatakan bahwa ini adalah sesuatu seperti konfigurasi jaringan RAID 1 dengan disk yang dipetakan ke server yang berbeda. Namun, ini bekerja sangat berbeda dari RAID (bahkan jaringan).



Awalnya, DRBD digunakan terutama dalam cluster komputer ketersediaan tinggi (HA), namun, dimulai dengan versi sembilan, dapat digunakan untuk menggunakan solusi penyimpanan cloud.



Pada artikel ini, kami akan memandu Anda bagaimana cara menginstal DRBD pada CentOS dan secara singkat menunjukkan cara menggunakannya untuk mereplikasi penyimpanan (partisi) di dua server. Ini adalah artikel yang sempurna untuk memulai dengan DRBD di Linux.



Lingkungan uji



Kami akan menggunakan cluster dua simpul untuk pengaturan ini.



  • Simpul 1: 192.168.56.101 - tecmint.tecmint.lan
  • Simpul 2: 192.168.56.102 - server1.tecmint.lan


Langkah 1: Instal paket DRBD



DRBD diimplementasikan sebagai modul kernel Linux. Ini adalah driver perangkat blok virtual, sehingga ia berada di bagian paling bawah dari tumpukan I / O sistem.



DRBD dapat diinstal dari ELRepo atau EPEL. Mari kita mulai dengan mengimpor kunci penandatanganan paket ELRepo dan menghubungkan repositori pada kedua node seperti yang ditunjukkan di bawah ini.



# 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




Maka Anda perlu menginstal modul kernel dan utilitas DRBD pada kedua node menggunakan:



# yum install -y kmod-drbd84 drbd84-utils


Jika Anda telah mengaktifkan SELinux, Anda perlu mengonfigurasi kebijakan untuk membebaskan proses DRBD dari kontrol SELinux.



# semanage permissive -a drbd_t


Juga, jika sistem Anda menjalankan firewalld, Anda perlu menambahkan port DRBD 7789 untuk memungkinkan sinkronisasi data antara kedua node.



Jalankan perintah ini di simpul pertama:



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


Kemudian jalankan perintah ini pada simpul kedua:



# 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. Siapkan penyimpanan tingkat rendah



Sekarang kita telah menginstal DRBD pada kedua node cluster, kita harus menyiapkan area penyimpanan pada mereka dengan ukuran yang kira-kira sama. Ini bisa berupa partisi hard disk (atau seluruh hard disk fisik), perangkat RAID perangkat lunak , volume logis LVM, atau jenis perangkat blok lain yang ditemukan di sistem Anda.



Untuk tutorial ini, kita akan membuat perangkat uji blok 2 GB menggunakan perintah dd.



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


Mari kita asumsikan itu adalah partisi yang tidak digunakan (/ dev / sdb1) pada perangkat blok kedua (/ dev / sdb) yang terhubung ke kedua node.



Langkah 3. Mengkonfigurasi DRBD



File konfigurasi DRBD utama adalah /etc/drbd.conf, dan file konfigurasi tambahan dapat ditemukan di direktori /etc/drbd.d.



Untuk mereplikasi penyimpanan, kita perlu menambahkan konfigurasi yang diperlukan ke file /etc/drbd.d/global_common.confyang berisi bagian konfigurasi DRBD global dan umum, dan kita perlu mendefinisikan sumber daya dalam .resfile.



Cadangkan file asli pada kedua node dan kemudian buka file baru untuk mengedit (gunakan editor teks pilihan Anda).



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


Tambahkan baris berikut ke kedua file:



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


Simpan file dan kemudian tutup editor.



Mari kita fokuskan secara singkat pada garis protokol C. DRBD mendukung tiga mode replikasi yang berbeda (mis. Tiga tingkat sinkronisasi replikasi), yaitu:



  • protokol A: protokol replikasi asinkron; paling umum digunakan dalam skenario replikasi jarak jauh.
  • protokol B: protokol replikasi semi-sinkron atau protokol memori sinkron.
  • protokol C: Biasanya digunakan untuk node pada jaringan jarak pendek; sejauh ini protokol replikasi yang paling umum digunakan dalam pengaturan DRBD.


Penting : Pilihan protokol replikasi memengaruhi dua faktor penyebaran: keamanan dan latensi. Sebaliknya, throughput sebagian besar independen dari protokol replikasi yang dipilih.



Langkah 4. Menambahkan sumber daya



Sumber daya adalah istilah kolektif yang mengacu pada semua aspek dari dataset tertentu yang direplikasi. Kami akan menentukan sumber daya kami dalam file /etc/drbd.d/test.res.



Tambahkan berikut ini ke file pada kedua node (ingat untuk mengganti variabel dengan nilai aktual untuk lingkungan Anda).



Perhatikan nama host, kita perlu memberikan nama host jaringan yang dapat diperoleh dengan menggunakan perintah 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;
        }
}
}


Dimana:



  • on hostname : Bagian di mana pernyataan konfigurasi bersarang milik.
  • tes : Ini adalah nama sumber daya baru.
  • device / dev / drbd0 : Menentukan perangkat blok virtual baru yang dikelola oleh DRBD.
  • disk / dev / sdb1 : Ini adalah partisi perangkat blok yang merupakan perangkat cadangan untuk perangkat DRBD.
  • meta-disk : mendefinisikan di mana DRBD menyimpan metadata-nya. Internal berarti DRBD menyimpan metadata-nya pada perangkat fisik tingkat rendah yang sama dengan data aktual dalam produksi.
  • address : menentukan alamat IP dan nomor port dari host yang sesuai.


Perhatikan juga bahwa jika parameter memiliki nilai yang sama pada kedua host, Anda dapat menentukannya langsung di bagian sumber daya.



Sebagai contoh, konfigurasi di atas dapat di refactored ke:



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. Inisialisasi dan memulai sumber daya



Untuk berinteraksi dengan DRBD, kami akan menggunakan alat administrasi berikut (yang berinteraksi dengan modul kernel untuk mengkonfigurasi dan mengelola sumber daya DRBD):



  • drbdadm : Alat administrasi DRBD tingkat tinggi.
  • drbdsetup : Alat administrasi tingkat rendah untuk menghubungkan perangkat DRBD ke perangkat cadangan mereka, mengkonfigurasi pasangan perangkat DRBD untuk mencerminkan perangkat cadangan mereka, dan untuk memeriksa konfigurasi menjalankan perangkat DRBD.
  • Drbdmeta : alat manajemen metadata.


Setelah menambahkan semua konfigurasi sumber daya awal, kita perlu memanggil sumber daya pada kedua node.



# drbdadm create-md test




Menginisialisasi toko metadata



Selanjutnya, kita harus memulainya, yang akan menghubungkan sumber daya ke perangkat cadangannya, kemudian mengatur parameter replikasi dan menghubungkan sumber daya ke rekannya:



# drbdadm up test


Sekarang jika Anda menjalankan perintah lsblk , Anda akan melihat bahwa perangkat DRBD / volume drbd0 dikaitkan dengan perangkat cadangan /dev/sdb1:



# lsblk




Daftar perangkat blokir



Untuk menonaktifkan sumber daya, jalankan:



# drbdadm down test


Untuk memeriksa status sumber daya, jalankan perintah berikut (perhatikan bahwa kondisi tidak konsisten / tidak konsisten diharapkan pada saat ini ):



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




Memeriksa status sumber daya untuk

kejahatan




Langkah 6: Mengatur sumber daya utama / sumber sinkronisasi perangkat awal



Pada titik ini, DRBD siap untuk digunakan. Sekarang kita perlu menentukan simpul mana yang harus digunakan sebagai sumber sinkronisasi perangkat awal.



Jalankan perintah berikut ini hanya pada satu simpul untuk memulai sinkronisasi penuh awal:



# drbdadm primary --force test
# drbdadm status test




Mengatur Node Utama sebagai Perangkat Mulai

Setelah sinkronisasi selesai, status kedua disk harus UpToDate.



Langkah 7: menguji pengaturan DRBD



Akhirnya, kita perlu memeriksa apakah perangkat DRBD akan berfungsi sebagaimana mestinya untuk menyimpan data yang direplikasi. Ingatlah bahwa kami menggunakan volume disk kosong, jadi kami harus membuat sistem file pada perangkat dan memasangnya untuk melihat apakah kami dapat menggunakannya untuk menyimpan data yang direplikasi.



Kita perlu membuat sistem file pada perangkat menggunakan perintah berikut pada node dari mana kita memulai sinkronisasi penuh awal (yang memiliki sumber daya dengan peran utama):



# mkfs -t ext4 /dev/drbd0




Buat sistem file pada volume Drbd



Lalu mount seperti yang ditunjukkan (Anda dapat memberikan nama mount point yang sesuai):



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


Sekarang salin atau buat beberapa file pada titik mount di atas dan buat daftar panjang dengan perintah ls :



# cd /mnt/DRDB_PRI/
# ls -l 




Daftar isi volume Drbd primer



Selanjutnya, lepas pemasangan perangkat (pastikan pemasangan tidak terbuka, ubah direktori setelah lepas pemasangan untuk menghindari kesalahan) dan ubah peran simpul dari primer ke sekunder:



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


Buat simpul lain (yang memiliki sumber daya dengan peran sekunder) primer, lalu pasang perangkat ke dalamnya dan jalankan daftar panjang titik pemasangan. Jika pengaturan berfungsi dengan baik, semua file yang disimpan pada volume harus ada di sana:



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




Memeriksa pengaturan DRBD yang berjalan pada node sekunder.



Untuk informasi lebih lanjut, lihat halaman manual alat administrasi:



# man drbdadm
# man drbdsetup
# man drbdmeta


Bantuan: Panduan Pengguna DRBD .



Ringkasan



DRBD sangat fleksibel dan serbaguna, menjadikannya solusi replikasi penyimpanan yang cocok untuk menambahkan HA ke hampir semua aplikasi. Pada artikel ini, kami menunjukkan kepada Anda cara menginstal DRBD pada CentOS 7 dan secara singkat menunjukkan cara menggunakannya untuk mereplikasi penyimpanan. Silakan berbagi pemikiran Anda dengan kami menggunakan formulir umpan balik di bawah ini.






Pelajari lebih lanjut tentang kursus.







All Articles