Cara Mengatur DRBD untuk Mereplikasi Penyimpanan di Dua Server CentOS 7


DRBD (singkatan dari Distributed Repliced Block Device) adalah solusi penyimpanan replikasi yang terdistribusi, fleksibel, dan serbaguna untuk Linux. Ini mencerminkan konten perangkat blok seperti hard disk, partisi, volume logis, dll. antar server. Ini melibatkan penyalinan data pada dua perangkat penyimpanan, sehingga jika salah satu perangkat gagal, data pada perangkat lainnya dapat digunakan.

Anda dapat menganggapnya seperti konfigurasi jaringan RAID 1 dengan disk yang dicerminkan ke seluruh server. Namun, cara kerjanya sangat berbeda dari RAID dan bahkan RAID jaringan.

Awalnya, DRBD terutama digunakan pada cluster komputer dengan ketersediaan tinggi (HA), namun, mulai versi 9, ini dapat digunakan untuk menerapkan solusi penyimpanan cloud.

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

Lingkungan Pengujian

Untuk tujuan artikel ini, kami menggunakan dua cluster node untuk pengaturan ini.

  • Node1: 192.168.56.101 – tecmint.tecmint.lan
  • Node2: 192.168.56.102 – server1.tecmint.lan

Langkah 1: Menginstal Paket DRBD

DRBD diimplementasikan sebagai modul kernel Linux. Ini tepatnya merupakan driver untuk perangkat blok virtual, sehingga dipasang tepat di dekat bagian bawah tumpukan I/O sistem.

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

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

Kemudian kita dapat menginstal modul kernel DRBD dan utilitasnya pada kedua node dengan menjalankan:

yum install -y kmod-drbd84 drbd84-utils

Jika Anda mengaktifkan SELinux, Anda perlu mengubah kebijakan untuk mengecualikan proses DRBD dari kontrol SELinux.

semanage permissive -a drbd_t

Selain itu, jika sistem Anda memiliki firewall yang diaktifkan (firewalld), Anda perlu menambahkan port DRBD 7789 di firewall untuk memungkinkan sinkronisasi data antara dua node.

Jalankan perintah ini pada node 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 node 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: Mempersiapkan Penyimpanan Tingkat Bawah

Sekarang kita telah menginstal DRBD pada dua node cluster, kita harus menyiapkan area penyimpanan berukuran kira-kira sama pada kedua node. Ini bisa berupa partisi hard drive (atau hard drive fisik penuh), perangkat RAID perangkat lunak, Volume Logis LVM, atau jenis perangkat blok lainnya yang ditemukan di sistem Anda.

Untuk keperluan artikel ini, kami akan membuat perangkat blok tiruan berukuran 2GB menggunakan perintah dd.

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

Kita akan berasumsi bahwa ini adalah partisi yang tidak digunakan (/dev/sdb1) pada perangkat blok kedua (/dev/sdb) yang terpasang pada kedua node.

Langkah 3: Mengonfigurasi DRBD

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

Untuk mereplikasi penyimpanan, kita perlu menambahkan konfigurasi yang diperlukan di file /etc/drbd.d/global_common.conf yang berisi bagian global dan umum dari konfigurasi DRBD dan kita dapat menentukan sumber daya di .res file.

Mari kita buat cadangan file asli di kedua node, lalu buka file baru untuk diedit (gunakan editor teks sesuai keinginan 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 di kedua file:

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

Simpan file, lalu tutup editor.

Mari kita secara singkat memberi bayangan lebih banyak pada garis protokol C. DRBD mendukung tiga mode replikasi yang berbeda (dengan demikian tiga derajat sinkronisitas replikasi) yaitu:

  • protokol A: Protokol replikasi asinkron; ini paling sering digunakan dalam skenario replikasi jarak jauh.
  • protokol B: Protokol replikasi semi-sinkron alias protokol sinkron memori.
  • protokol C: umumnya digunakan untuk node dalam jaringan jarak pendek; sejauh ini merupakan protokol replikasi yang paling umum digunakan dalam pengaturan DRBD.

Penting: Pilihan protokol replikasi memengaruhi dua faktor penerapan Anda: perlindungan dan latensi. Sebaliknya, throughput sebagian besar tidak bergantung pada protokol replikasi yang dipilih.

Langkah 4: Menambahkan Sumber Daya

Sumber daya adalah istilah kolektif yang mengacu pada semua aspek kumpulan data tertentu yang direplikasi. Kita akan mendefinisikan sumber daya kita dalam file bernama /etc/drbd.d/test.res.

Tambahkan konten berikut ke file, pada kedua node (ingat untuk mengganti variabel dalam konten dengan nilai sebenarnya untuk lingkungan Anda).

Catat nama host, kita perlu menentukan nama host jaringan yang dapat diperoleh dengan menjalankan 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;
        }
}
}

Di mana :

  • pada nama host: bagian on menyatakan di mana pernyataan konfigurasi terlampir akan dihosting.
  • test: adalah nama sumber daya baru.
  • device /dev/drbd0: menentukan perangkat blok virtual baru yang dikelola oleh DRBD.
  • disk /dev/sdb1: adalah partisi perangkat blok yang merupakan perangkat pendukung untuk perangkat DRBD.
  • meta-disk: Menentukan tempat DRBD menyimpan metadatanya. Menggunakan Internal berarti DRBD menyimpan meta datanya pada perangkat fisik tingkat rendah yang sama dengan data produksi sebenarnya.
  • alamat: menentukan alamat IP dan nomor port dari masing-masing node.

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

Misalnya konfigurasi di atas dapat direstrukturisasi menjadi:

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: Menginisialisasi dan Mengaktifkan Sumber Daya

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

  • drbdadm: alat administrasi tingkat tinggi DRBD.
  • drbdsetup: alat administrasi tingkat rendah untuk memasang perangkat DRBD dengan perangkat blok pendukungnya, untuk menyiapkan pasangan perangkat DRBD untuk mencerminkan perangkat blok pendukungnya, dan untuk memeriksa konfigurasi perangkat DRBD yang sedang berjalan.
  • Drbdmeta: adalah alat pengelolaan data meta.

Setelah menambahkan semua konfigurasi sumber daya awal, kita harus memunculkan sumber daya di kedua node.

drbdadm create-md test

Selanjutnya, kita harus mengaktifkan sumber daya, yang akan melampirkan sumber daya dengan perangkat pendukungnya, lalu menetapkan parameter replikasi, dan menghubungkan sumber daya ke rekannya:

drbdadm up test

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

lsblk

Untuk menonaktifkan sumber daya, jalankan:

drbdadm down test

Untuk memeriksa status sumber daya, jalankan perintah berikut (perhatikan bahwa status disk Tidak Konsisten/Tidak Konsisten diperkirakan terjadi pada saat ini):

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

Langkah 6: Tetapkan Sumber Daya Utama/Sumber Sinkronisasi Perangkat Awal

Pada tahap ini, DRBD kini siap dioperasikan. Kita sekarang perlu memberi tahu node mana yang harus digunakan sebagai sumber sinkronisasi perangkat awal.

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

drbdadm primary --force test
drbdadm status test

Setelah sinkronisasi selesai, status kedua disk seharusnya UpToDate.

Langkah 7: Menguji Pengaturan DRBD

Terakhir, kita perlu menguji apakah perangkat DRBD akan berfungsi dengan baik untuk penyimpanan data yang direplikasi. Ingat, kita menggunakan volume disk yang kosong, oleh karena itu kita harus membuat sistem file pada perangkat, dan memasangnya, untuk menguji apakah kita dapat menggunakannya untuk penyimpanan data yang direplikasi.

Kita dapat membuat sistem file pada perangkat dengan perintah berikut, pada node tempat kita memulai sinkronisasi penuh awal (yang memiliki sumber daya dengan peran utama):

mkfs -t ext4 /dev/drbd0 

Kemudian pasang seperti yang ditunjukkan (Anda dapat memberi nama yang sesuai pada titik pemasangan):

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

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

cd /mnt/DRDB_PRI/
ls -l 

Selanjutnya, lepaskan perangkat (pastikan pemasangan tidak terbuka, ubah direktori setelah melepasnya untuk mencegah kesalahan apa pun) dan ubah peran simpul dari utama menjadi < kuat>sekunder:

umount /mnt/DRDB_PRI/
cd
drbdadm secondary test

Di node lain (yang memiliki sumber daya dengan peran sekunder), jadikan sebagai yang utama, lalu pasang perangkat di sana dan lakukan daftar panjang titik pemasangan. Jika pengaturannya berfungsi dengan baik, semua file yang disimpan dalam volume seharusnya ada di sana:

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

Untuk informasi lebih lanjut, lihat halaman manual alat administrasi ruang pengguna:

man drbdadm
man drbdsetup
man drbdmeta
Ringkasan

DRBD sangat fleksibel dan serbaguna, menjadikannya solusi replikasi penyimpanan yang cocok untuk menambahkan HA ke hampir semua aplikasi. Dalam artikel ini, kami telah menunjukkan cara menginstal DRBD di CentOS 7 dan secara singkat mendemonstrasikan cara menggunakannya untuk mereplikasi penyimpanan. Jangan ragu untuk menyampaikan pemikiran Anda kepada kami melalui formulir umpan balik di bawah.