Terjemahan artikel disiapkan pada malam dimulainya kursus
DRBD (Perangkat Blok Replikasi Terdistribusi) adalah solusi penyimpanan terdistribusi, fleksibel, dan dapat 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 pada perangkat kedua dapat digunakan.
Bisa dibilang seperti itu
Awalnya, DRBD digunakan terutama di cluster komputer ketersediaan tinggi (HA), namun, mulai versi XNUMX, DRBD dapat digunakan untuk menerapkan solusi penyimpanan cloud.
Pada artikel ini, kami akan menjelaskan 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 DRBD di Linux.
Lingkungan Uji
Kami akan menggunakan cluster dua node untuk pengaturan ini.
- Node 1: 192.168.56.101 – tecmint.tecmint.lan
- Node 2: 192.168.56.102 – server1.tecmint.lan
Langkah 1: Instal paket DRBD
DRBD diimplementasikan sebagai modul kernel Linux. Ini adalah driver untuk perangkat blok virtual, sehingga terletak di bagian paling bawah tumpukan I/O sistem.
DRBD dapat diinstal dari ELRepo atau EPEL. Mari kita mulai dengan mengimpor kunci penandatanganan paket ELRepo dan menghubungkan repositori di 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 DRBD dan utilitas pada kedua node menggunakan:
# yum install -y kmod-drbd84 drbd84-utils
Jika SELinux diaktifkan, Anda perlu mengonfigurasi kebijakan untuk mengecualikan proses DRBD dari kontrol SELinux.
# semanage permissive -a drbd_t
Selain itu, jika sistem Anda menjalankan firewall (firewalld), Anda perlu menambahkan port DRBD 7789 untuk memungkinkan sinkronisasi data antara dua node.
Jalankan perintah ini untuk 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 untuk 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: Siapkan Penyimpanan Tingkat Rendah
Sekarang kita telah menginstal DRBD pada kedua node cluster, kita harus menyediakan area penyimpanan dengan ukuran yang kira-kira sama pada kedua node tersebut. Ini bisa berupa partisi hard drive (atau seluruh hard drive fisik), perangkat RAID perangkat lunak,
Untuk artikel ini, kami akan membuat perangkat blok uji 2GB menggunakan perintah dd.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
Mari kita asumsikan ini adalah partisi yang tidak digunakan (/dev/sdb1) pada perangkat blok kedua (/dev/sdb) yang terhubung ke kedua node.
Langkah 3. Mengonfigurasi DRBD
File konfigurasi utama DRBD - /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.conf
, yang berisi bagian global dan umum dari konfigurasi DRBD, dan kita perlu mendefinisikan sumber daya di dalamnya .res
file.
Mari buat salinan cadangan file asli di kedua node, lalu buka file baru untuk diedit (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 lalu tutup editor.
Mari kita lihat sejenak garis protokol C. DRBD mendukung tiga mode replikasi yang berbeda (yaitu, sinkronisasi tiga derajat replikasi), yaitu:
- protokol A: protokol replikasi asinkron; paling sering digunakan dalam skenario replikasi jarak jauh.
- protokol B: Protokol replikasi semi-sinkron atau protokol memori sinkron.
- protokol C: biasanya digunakan untuk node dalam jaringan dengan jarak pendek; sejauh ini merupakan protokol replikasi yang paling umum digunakan dalam pengaturan DRBD.
Ini penting: Pilihan protokol replikasi mempengaruhi dua faktor penerapan: keamanan dan latensi. Sebaliknya, throughput tidak bergantung secara signifikan pada protokol replikasi yang dipilih.
Langkah 4: Tambahkan sumber daya
Sumber daya adalah istilah umum yang mengacu pada semua aspek kumpulan data tertentu yang direplikasi. Kami akan menentukan sumber daya kami di file /etc/drbd.d/test.res
.
Tambahkan yang berikut ini ke file di kedua node (ingatlah untuk mengganti variabel dengan nilai sebenarnya untuk lingkungan Anda).
Perhatikan nama host, kita perlu menentukan 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;
}
}
}
di mana:
- pada nama host: Bagian on yang menerapkan pernyataan konfigurasi bertingkat.
- uji: Ini adalah nama sumber daya baru.
- perangkat /dev/drbd0: Menunjukkan 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 metadatanya. Internal berarti DRBD menyimpan metadatanya pada perangkat fisik tingkat rendah yang sama dengan data aktual dalam produksi.
- alamat: Menunjukkan alamat IP dan nomor port dari node yang bersangkutan.
Perhatikan juga bahwa jika parameter memiliki nilai yang sama di 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. Inisialisasi dan luncurkan sumber daya
Untuk berinteraksi dengan DRBD kita akan menggunakan alat administrasi berikut (yang berinteraksi dengan modul kernel untuk mengkonfigurasi dan mengelola sumber daya DRBD):
- drbdadm: Alat administrasi tingkat tinggi DRBD.
- drbdsetup: Alat administrasi tingkat rendah untuk menghubungkan perangkat DRBD ke perangkat cadangannya, mengonfigurasi pasangan perangkat DRBD untuk mencerminkan perangkat cadangannya, dan untuk memverifikasi konfigurasi perangkat DRBD yang sedang berjalan.
- Drbdmeta: Alat manajemen metadata.
Setelah menambahkan semua konfigurasi sumber daya awal, kita harus memanggil sumber daya di kedua node.
# drbdadm create-md test
Menginisialisasi Penyimpanan Metadata
Selanjutnya kita perlu menjalankannya, yang akan menghubungkan sumber daya ke perangkat cadangannya, lalu mengatur parameter replikasi dan menghubungkan sumber daya ke rekannya:
# drbdadm up test
Sekarang jika Anda menjalankan perintah /dev/sdb1
:
# lsblk
Daftar perangkat blok
Untuk menonaktifkan sumber daya, jalankan:
# drbdadm down test
Untuk memeriksa status sumber daya, jalankan perintah berikut (perhatikan bahwa status disk diharapkan pada saat ini Tidak Konsisten/Tidak Konsisten):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
Memeriksa status sumber daya aktif
kejahatan
Langkah 6: Tetapkan sumber sinkronisasi sumber daya utama/perangkat awal
Pada tahap ini, DRBD siap dijalankan. Sekarang kita perlu menentukan 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
Menetapkan node utama sebagai perangkat awal
Setelah sinkronisasi selesai, status kedua drive akan menjadi UpToDate.
Langkah 7: Menguji pengaturan DRBD
Terakhir, kita perlu memeriksa apakah perangkat DRBD akan berfungsi sesuai kebutuhan untuk menyimpan data yang direplikasi. Ingatlah bahwa kita menggunakan volume disk yang kosong, jadi kita harus membuat sistem file pada perangkat dan memasangnya untuk memeriksa apakah kita dapat menggunakannya untuk menyimpan data yang direplikasi.
Kita perlu membuat sistem file pada perangkat menggunakan perintah berikut pada node tempat kita memulai sinkronisasi penuh awal (yang memiliki sumber daya dengan peran utama):
# mkfs -t ext4 /dev/drbd0
Membuat sistem file pada volume Drbd
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 buat daftar panjang
# cd /mnt/DRDB_PRI/
# ls -l
Buat daftar isi volume Drbd utama
Selanjutnya, unmount perangkat (pastikan mount tidak terbuka, ubah direktori setelah unmount untuk menghindari kesalahan) dan ubah peran node dari primer ke sekunder:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test
Jadikan node lain (yang memiliki sumber daya dengan peran sekunder) sebagai node utama, lalu sambungkan perangkat ke node tersebut dan keluarkan daftar panjang titik pemasangan. Jika pengaturan berfungsi dengan baik, semua file yang disimpan di 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
Memeriksa pengaturan DRBD yang berjalan pada node sekunder.
Untuk informasi lebih lanjut, lihat halaman bantuan alat administratif:
# man drbdadm
# man drbdsetup
# man drbdmeta
Bantuan:
Ringkasan
DRBD sangat fleksibel dan serbaguna, menjadikannya solusi replikasi penyimpanan yang cocok untuk menambahkan HA ke hampir semua aplikasi. Pada artikel ini, kami menunjukkan cara menginstal DRBD di CentOS 7 dan mendemonstrasikan secara singkat cara menggunakannya untuk replikasi penyimpanan. Jangan ragu untuk menyampaikan pemikiran Anda kepada kami menggunakan formulir umpan balik di bawah.
Sumber: www.habr.com