GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal DRBD di CentOS Linux

Apa itu DRBD?

DRBD (Distributed Replicated Block Device) adalah paket perangkat lunak untuk sistem berbasis Linux. Ini digunakan untuk mereplikasi perangkat penyimpanan dari satu node ke node lain melalui jaringan.

Ini dapat memberikan bantuan untuk menangani Pemulihan Bencana dan Kegagalan. DRBD dapat dipahami sebagai ketersediaan tinggi untuk perangkat keras dan dapat dilihat sebagai pengganti penyimpanan bersama jaringan.

Bagaimana cara kerja DRBD?

Misalkan kita ingin mengelompokkan partisi penyimpanan pada dua sistem CentOS, kita memerlukan perangkat blok (seperti /dev/sdb1) pada kedua sistem. Sistem tersebut didefinisikan sebagai node Primer dan node Sekunder (dapat beralih node Primer dan Sekunder).

DRBD menggunakan perangkat blok virtual (seperti drbd0) untuk berbagi perangkat blok /dev/sdb1 dari kedua sistem. Node utama adalah node tempat drive virtual drbd0 dipasang untuk tujuan membaca/menulis.

Pertama kita perlu menginstal paket DRBD yang digunakan untuk membuat drbd0 disk virtual. Kita dapat memformatnya sebagai sistem file xfs atau ext3 untuk menggunakan perangkat /dev/drbd0. Perangkat drbd0 dikonfigurasi untuk menggunakan perangkat blok /dev/sdb1 pada kedua sistem. Kami sekarang hanya bekerja pada perangkat drbd0.

Karena drbd0 hanya dapat dipasang pada node Primer, konten hanya dapat diakses dari node utama pada satu waktu. Bagaimanapun jika sistem utama mogok, kami mungkin kehilangan file sistem, tetapi perangkat virtual drbd0 akan tersedia. Kita dapat mengganti node sekunder yang awalnya menjadi node primer, dan dapat mengakses kontennya lagi.

Menggunakan DRBD di CentOS

Tutorial ini dilakukan pada CentOS 7 tetapi harus bekerja untuk versi CentOS lainnya juga. Baca ini untuk mempelajari cara memeriksa versi CentOS.

Persyaratan

  • Sistem terinstal dua CentOS
  • Perangkat blok gratis seperti /dev/sdb1 di kedua sistem (lebih disukai dengan ukuran yang sama)
  • Selinux Permisif atau dinonaktifkan
  • port 7788 diizinkan di firewall
  • Node harus berada dalam jaringan yang sama.

Instalasi

Di sini kita mengikuti instalasi dengan menambahkan repositori epel karena paket drbd tidak tersedia di distribusi CentOS.

$ rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Tambahkan juga kunci GPG di kedua node. GPG-key adalah kunci publik yang digunakan untuk mengenkripsi komunikasi antar node.

$ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org

Sekarang kita dapat menggunakan yum untuk menginstal paket drbd. Kita harus mengidentifikasi versi drbd yang didukung oleh kernel kita. Periksa versi drbd yang tersedia untuk kernel Anda:

$ yum info *drbd* | grep Name

Outputnya seperti:

Sekarang instal versi drbd yang diperlukan bersama dengan modul kernel yang diperlukan.

$ yum -y install drbd84-utils kmod-drbd84

Verifikasi apakah modul kernel dimuat atau tidak.

$ lsmod | grep -i drbd

Jika respons dari perintah di atas memberikan output kosong, maka modul kernel tidak dimuat. Anda perlu me-reboot sistem dan mencoba:

$ modprobe drbd

modprobe adalah perintah yang secara cerdas menambah atau menghapus modul dari kernel Linux. Untuk membuat modul dimuat selama setiap boot, systemd-modules-load layanan digunakan. Jadi, buat file bernama drbd.conf  di dalam /etc/modulesload.d.

$ echo drbd > /etc/modules-load.d/drbd.conf

Mengonfigurasi DRBD

File konfigurasi DRBD terletak di /etc/drbd.d/

Secara default, /etc/drbd.d/global_common.conf  tersedia secara global yang berisi konfigurasi global atau utama. File konfigurasi lainnya disebut file resource dengan ekstensi *.res.

Sekarang kita membuat file konfigurasi sumber daya di kedua node untuk menggunakan drbd untuk perangkat blok yang kita tentukan.

Mari kita buat file sumber daya bernama linuxhandbook.res

$ vi /etc/drbd.d/linuxhandbook.res

salin dan tempel konten di bawah ini ke file sumber daya

resource linuxhandbook {
protocol C;          
on node1 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 10.20.222.14:7788;
                meta-disk internal;
                }
on node2 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 10.20.222.15:7788;
                meta-disk internal;
                }
} 

Di sini,

  • linuxhandbook adalah nama sumber daya. Nama sumber daya harus selalu unik.
  • protokol C digunakan untuk komunikasi sinkron. Ini adalah  protokol replikasi yang sepenuhnya sinkron. Protokol lain yang tersedia adalah protokol A dan protokol B.
  1. protokol A :Protokol replikasi asinkron. Umumnya lebih disukai untuk node dalam jaringan jarak jauh.
  2. protokol B :Protokol replikasi semi-sinkron. Disebut juga sebagai protokol sinkron Memori.
  3. protokol C :lebih disukai untuk node dalam jaringan jarak pendek.
  • node 1 dan node2 adalah nama host dari masing-masing node. Gunakan hanya untuk mengidentifikasi blok.
  • perangkat /dev/drbd0 adalah perangkat logis yang dibuat untuk digunakan sebagai  perangkat.
  • disk /dev/sdb1 adalah perangkat blok fisik yang akan ditempati drbd0.
  • alamat 10.20.222.14:7788 dan alamat 10.20.222.15:7788 adalah alamat ip dari dua node masing-masing  dengan port tcp terbuka 7788.
  • meta-internal disk digunakan untuk mendefinisikan penggunaan Meta data internal disk.

Konfigurasi harus sama pada kedua node.

Sekarang, kita perlu menginisialisasi penyimpanan meta data pada setiap node:

$ drbdadm create-md linuxhandbook

Jika ini memberikan pesan kesalahan, maka Anda harus membuat file data dummy secara manual, dan coba perintah di atas setelahnya.

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

Perintah dd digunakan untuk membuat file acak dari memori yang ditentukan. Perintah create-md harus berhasil setelahnya.

Setelah perangkat logis dapat digunakan, pasang perangkat drbd0 ke disk sdb1 di kedua node. Lihat keluaran lsblk

$ lsblk

outputnya harus seperti ini

Jika tidak, lampirkan perangkat drbd0 ke disk sdb1 melalui file sumber daya.

$ drbdadm attach linuxhandbook
or
$ drbdadm up linuxhandbook

Once again try,
$ lsblk

Mulai dan aktifkan layanan drbd di kedua node.

$ systemctl start drbd
$ systemctl enable drbd

Jika drbd start mungkin cepat untuk satu node dan membutuhkan waktu untuk node lain .

Menyiapkan node Primer dan Sekunder

DRDB hanya menggunakan satu node pada satu waktu sebagai node utama di mana membaca dan menulis dapat dibentuk sebelumnya.

Kami pertama-tama akan menentukan node 1 sebagai node utama.

$ drbdadm primary linuxhandbook --force

Periksa status proses drbd:

$ cat /proc/drbd 
or 
$ drbd-overview

Outputnya seperti:

Berikut informasi yang kami dapat :

  • saat ini simpul mana yang utama dan mana yang sekunder.
  • proses sinkronisasi data.
  • status perangkat drbd seperti:Tidak Konsisten, Terbaru, Tanpa Disk.

Node lain, node2 secara otomatis disetel sebagai node sekunder. Lihat status proses ikhtisar drbd.

Langkah utama yang belum kami lakukan adalah memformat perangkat drbd0. Ini hanya dapat dilakukan pada salah satu node.

Di sini, kami memformat drbd0 sebagai ext3 dengan perintah mkfs. sistem file xfs juga berfungsi. Sebaiknya kita menggunakan jenis disk yang sama dengan /dev/sdb1.

$ mkfs -t ext3 /dev/drbd0

Sekarang,  lagi di node utama, (misalnya, ini adalah node1 dalam tutorial ini) kita harus memasang perangkat drbd0 agar dapat bekerja di dalamnya.

$ mount /dev/drbd0  /mnt 

you can select your required mount point instead of /mnt. for example, I can mount the /dev/drbd0 device to /var/lib/mysql to use it for mysql database drbd.

CATATAN :Selalu ingat prosesnya. Pertama, Anda harus menjadikan node sebagai yang utama untuk DRBD. Dan kemudian pasang perangkat drbd0 ke sistem Anda dan Anda diizinkan untuk melakukan tindakan pada perangkat. Tanpa menjadikan node sebagai yang utama, Anda tidak dapat memasang perangkat drb0 tidak dapat menggunakan konten perangkat itu.

Menguji proses DRBD

Setelah drbd diatur di kedua node dan satu node dijadikan primer. Kami memasang perangkat ke /mnt lokasi. Sekarang buat file untuk menguji sinkronisasi node drbd.

$ touch  /mnt/drbdtest.txt
$ ll /mnt/

Setelah ini, kita akan menetapkan node1 sebagai sekunder dan node2 sebagai primer. Proses ini serupa dicerminkan. Pada node 1 (misalnya node utama), unmount perangkat /dev/drbd0, menjadikannya sekunder. Pada node2 (misalnya node sekunder), jadikan node utama, dan mount ke lokasi yang diperlukan.

di simpul 1

$ umount  /mnt
$ drbdadm secondary linuxhandbook

di simpul 2:

$ drbdadm primary linuxhandbook
$ mount /dev/drbd0  /mnt

Setelah berhasil mount di node2, cek file di folder /mnt. Anda harus melihat file drbdtest.txt (dibuat di node1).

$ ll  /mnt/

Jika Anda ingin memiliki antarmuka GUI untuk mengelola dan memvisualisasikan node cluster drbd, Anda dapat menggunakan LCMC (Linux Cluster Management Console).

Itu dia! Anda telah berhasil mengimplementasikan DRBD di sistem Anda. Jika masih ada pertanyaan, Anda dapat berkomentar di bawah di bagian komentar.

Penulis :Rishi Raj Gautam adalah pecinta Linux dan aktivis open-source.


Linux
  1. Cara debootstrap di CentOS Linux

  2. Cara menginstal Erlang di Rocky Linux/Alma Linux/CentOS 8

  3. Cara menginstal Ansible di CentOS 8 Linux

  1. Cara menginstal redmine di RHEL 8 / CentOS 8 Linux

  2. Cara menginstal PHP 8 di CentOS 8 Linux

  3. Cara Menginstal Kernel Linux 5.0 di CentOS 7

  1. Cara menginstal asterisk di RHEL 8 / CentOS 8 Linux

  2. Cara menginstal wireshark di RHEL 8 / CentOS 8 Linux

  3. Cara Menginstal Java di RHEL 8 / CentOS 8 Linux