Pengantar
Drbd adalah sistem penyimpanan terdistribusi yang direplikasi untuk platform Linux. Ini diimplementasikan sebagai driver kernel, beberapa aplikasi manajemen userspace, dan beberapa skrip shell. Ini secara tradisional digunakan dalam cluster komputer ketersediaan tinggi (HA). Namun, dimulai dengan DRBD versi 9, juga dapat menggunakannya untuk membuat kumpulan penyimpanan yang ditentukan perangkat lunak yang lebih besar yang berfokus pada integrasi cloud.
Jika Anda menggunakan kernel virtual sebagai bagian dari mesin virtual, Anda perlu mengkompilasi modul drbd secara manual. Mungkin lebih mudah untuk menginstal paket server-Linux di dalam mesin virtual. Periksa panduan pengguna drbd dan MySQL.
Buat buku pedoman untuk menginstal semua persyaratan
Playbook yang disediakan hanyalah contoh tugas untuk memberikan urutan pengaturan cluster.
# cat > drbd.setupcentos8.yml
---
- hosts: all
gather_facts: no
become: true
tasks:
- hostname:
name: "{{ ansible_hostname }}"
- get_url:
url: https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
dest: /tmp/elrepo-release-8.el8.elrepo.noarch.rpm
- name: install repo
command: rpm -ivh /tmp/elrepo-release-8.el8.elrepo.noarch.rpm
ignore_errors: yes
- command: rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
ignore_errors: yes
- shell: echo drbd > /etc/modules-load.d/drbd.conf
- yum:
name: "{{ item }}"
state: present
loop:
- drbd90-utils
- kmod-drbd90
- lvm2
- policycoreutils-python-utils
- systemd:
name: firewalld
state: stopped
enabled: no
- selinux_permissive:
name: drbd_t
no_reload: false
permissive: true
- lvg:
vg: drbdvg
pvs: /dev/sdb
- lvol:
vg: drbdvg
lv: drbdlv
size: +100%FREE
Hapus konfigurasi default global dari instalasi.
Pindahkan file dan buat file konfigurasi baru.
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.back
Buat konfigurasi baru yang Anda butuhkan
File konfigurasi pada tutorial ini.
# cat > /etc/drbd.d/global_common.conf
global {
usage-count no;
}
common {
net {
protocol C;
}
}
Buat file konfigurasi sumber daya
Perhatikan bahwa sumber daya harus berupa nama file sebagai praktik standar. Dalam tutorial ini, kita akan menggunakan drbd0.
#cat > /etc/drbd.d/drbd0.res
resource drbd0 {
protocol C;
net {
verify-alg sha256;
}
on node1 {
device /dev/drbd0;
disk /dev/drbdv/lvdrdb;
node-id 0;
address 192.168.55.61:7788;
meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/drbdv/lvdrdb;
node-id 1;
address 192.168.55.62:7788;
meta-disk internal;
}
on node3 {
device /dev/drbd0;
node-id 2;
disk /dev/drbdv/lvdrdb;
address 192.168.55.63:7788;
meta-disk internal;
}
connection-mesh {
hosts node1 node2 node3;
}
}
Parameter persyaratan sumber daya sederhana untuk penyiapan berkerumun
Silakan periksa parameter yang diperlukan untuk pengaturan pilihan Anda
- pada host-name [uname -n]
- node-id [pengidentifikasi simpul unik. rentang 0 hingga 16]
- disk {[disk] | tidak ada}
- alamat [address-family] address:port
Buat perangkat blok drbd
Perintah ini akan membuat perangkat blok yang diperlukan.
Aktifkan perangkat drbd di semua node
Aktifkan perangkat dengan menjalankan perintah yang dinyatakan di bawah ini.
Periksa status drbd
Ini akan menampilkan status perangkat di semua node.
Konfigurasikan siapa yang akan menjadi node utama.
Ini akan mengonfigurasi dari mana sinkronisasi harus disalin.
Periksa status cluster
Sekarang perangkat disinkronkan.
Buat sistem file dari perangkat drbd di perangkat utama
Ini akan menjadi yang digunakan untuk pengelompokan. Perhatikan bahwa hanya siapa saja dari cluster yang dapat dipilih.
Sekarang mount direktori mysql ke perangkat drbd
Data akan dibagikan ke semua node.
Pindahkan sumber daya dari node1 ke node2
Perhatikan bahwa layanan MySQL harus dihentikan terlebih dahulu sebelum migrasi sumber daya.