GNU/Linux >> Belajar Linux >  >> Cent OS

Cara menginstal dan mengatur DRBD di CentOS

Tutorial ini menjelaskan cara menginstal dan mengatur DRBD untuk server Anda. Sebelum saya mulai, izinkan saya menjelaskan apa sebenarnya yang diwakili oleh DRBD dan kegunaannya. DRBD adalah singkatan dari Distributed Replicated Block Device, solusi penyimpanan replika berbasis perangkat lunak, tidak ada yang dibagikan, untuk mencerminkan konten perangkat blok seperti hard disk, partisi, volume logis, dll. Tujuan utama DRBD adalah memberikan solusi alternatif untuk menghadapi skenario Ketersediaan Tinggi seperti FailOver atau Pemulihan Bencana. Anda dapat melihat detail mendasar di situsnya di sini  .

1. Catatan awal


Untuk tutorial ini, saya menggunakan CentOS 6.4 versi 32bit. Contoh hasil akhir akan menunjukkan cara membuat file atau folder di dalam partisi di Server A dan berhasil menampilkan semua konten di server lain (Server B) menggunakan DRBD .

Berikut adalah sketsa arsitektur server :-

+-----------------------------------+                                                        +------------ -----------------+
| [ DRBD Server A ]                 | 192.168.43.101 | 192.168.43.102     | [ DRBD Server B ]         |
| OEL641                               +----------------------+-----------------------+      OEL642 |
| folderA                                 | | folderB                  |
+-----------------------------------+                                                      +------ -----------------------+

Tutorial ini kompatibel dengan semua versi CentOS/Redhat/Oracle Linux 6 . Server tempat Anda ingin menginstal DRBD harus memiliki perangkat blok gratis. Contoh ini menunjukkan cara mengonfigurasi dan menggunakan perangkat blok /dev/sdb1.

2. Tahap Instalasi


Sebelum kita mulai, kita perlu memperbarui sistem dan menginstal paket yang diperlukan untuk dependensi DRBD. Di bawah ini adalah perintah yang perlu dijalankan dan daftar paket yang diperbarui atau diinstal. Untuk kasus ini, kami menggunakan perintah yum untuk mendapatkan paket terbaru dari repositori CentOS publik.

yum -y update 
yum -y install gcc make automake autoconf libxslt libxslt-devel flex rpm-build kernel-devel
Menyiapkan Proses Instal
Paket gcc-4.4.7-3.el6.i686 sudah terinstal dan versi terbaru
Paket 1:make-3.81-20.el6.i686 sudah terinstal dan versi terbaru
Paket automake-1.11.1-4.el6.noarch sudah terinstal dan versi terbaru
Paket autoconf-2.63-5.1.el6.noarch sudah terinstal dan versi terbaru
Paket libxslt-1.1.26- 2.0.2.el6_3.1.i686 sudah terinstal dan versi terbaru
Paket libxslt-devel-1.1.26-2.0.2.el6_3.1.i686 sudah diinstal dan versi terbaru
Paket flex-2.5. 35-8.el6.i686 sudah terinstal dan versi terbaru
Paket rpm-build-4.8.0-32.el6.i686 sudah terinstal dan versi terbaru
Paket kernel-devel-2.6.32-358. el6.i686 sudah terinstal dan versi terbaru

Kita harus melakukan langkah di atas pada kedua server.

Setelah instalasi paket dependensi selesai di kedua server, kami akan mulai menginstal paket DRBD. Paket dapat diunduh dari  situs web ini.

Berikut langkah-langkahnya.

Pertama saya buat folder di bawah /root/ path dengan nama BUILD, BUILDROOT dll. Path ini diperlukan untuk menyimpan file rpm setelah kita membangun paket DRBD.

mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

Unduh paket DRBD.

wget http://oss.linbit.com/drbd/drbd-utils-latest.tar.gz http://oss.linbit.com/drbd/8.4/drbd-8.4.7-1.tar.gz 

Ekstrak file paket drbd-8.4.7-1.tar.gz dan drbd-utils-latest.tar.gz.

tar -zxvf drbd-8.4.7-1.tar.gz
tar -zxvf drbd-utils-latest.tar.gz

Kompilasi paket DRBD.

cd drbd-8.4.7-1 
drbd-8.4.7-1]# buat km-rpm
...
...
Anda sekarang memiliki:
/root/rpmbuild/RPMS/i686/drbd-km-debuginfo-8.4.7-1.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-km-2.6.32_358.el6.i686-8.4.7-1.i686.rpm

Kompilasi dan konfigurasikan paket.

cd ..
cd drbd-utils-8.9.6
./configure
membuat rpm
...
...
Anda sekarang memiliki:
/root/rpmbuild/RPMS/i686/drbd-utils-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-debuginfo-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-heartbeat-8.9.6-1. el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-xen-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-km- debuginfo-8.4.7-1.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-pacemaker-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/ i686/drbd-bash-completion-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-km-2.6.32_358.el6.i686-8.4.7-1. i686.rpm
/root/rpmbuild/RPMS/i686/drbd-8.9.6-1.el6.i686.rpm
/root/rpmbuild/RPMS/i686/drbd-udev-8.9.6- 1.el6.i686.rpm

Pergi ke /root/rpmbuild/RPMS/i686. Paket rpm dari kompilasi akan ada di dalamnya dan menginstal paket rpm terkait.

cd /root/rpmbuild/RPMS/i686
rpm -Uvh drbd-xen* drbd-udev* drbd-pacemaker* drbd-bash-completion* drbd-utils-*.rpm drbd-km-*. rpm drbd-8*
Mempersiapkan... ###################################################### [100%]
1:drbd-utils ################################################# ###### [ 13%]
2:drbd-xen ########################################## ############ [ 25%]
3:drbd-udev ###################################### ################## [ 38%]
4:drbd-pacemaker ################## ####################### [ 50%]
5:drbd-bash-completion ########### ############################### [ 63%]
6:drbd ####### ################################### [ 75%]
7:drbd-km- 2.6.32_358.el6.########################################################### [ 88%]
8:drbd-km-debuginfo ############################################### ####### [100%]


Setelah selesai di server pertama, lakukan langkah yang sama di server OEL642 .

3. Tahap verifikasi


Sekarang kita  setengah jalan dari penyelesaian. Mari fokus pada OEL641 sisi konfigurasi. Pertama, verifikasi hostname server Anda, ini penting karena konfigurasi DRBD akan memerlukan nama yang sama dengan hostname-nya. Berikut langkah-langkahnya:

uname -n
OEL641

Kemudian perbarui modul DRBD

modprobe drbd
lsmod |grep drbd
drbd 341783 0
libcrc32c 841 1 drbd

4. Itu saja, sekarang kita akan membuat partisi disk baru untuk bertindak sebagai disk DRDB. Di sini saya memiliki disk baru /dev/sdb . Saya akan membuat partisi /dev/sdb1 dan menggunakannya sebagai disk DRBD.

fdisk -l
Disk /dev/sdb:1073 MB, 1073741824 byte
255 head, 63 sektor/track, 130 silinder
Satuan =silinder 16065 * 512 =8225280 byte
Ukuran sektor (logis /fisik):512 byte / 512 byte
Ukuran I/O (minimum/optimal):512 byte / 512 byte
Pengidentifikasi disk:0x00000000
fdisk /dev/sdb
Perintah (m untuk bantuan):n
Tindakan perintah
e diperpanjang
p partisi primer (1-4)
p
Nomor partisi (1-4 ):1
Silinder pertama (1-130, default 1):
Menggunakan nilai default 1
Silinder terakhir, +silinder atau +ukuran{K,M,G} (1-130, default 130):
Menggunakan nilai default 130
Perintah (m untuk bantuan):p
Perangkat Boot Mulai Akhir Blok Id Sistem
/dev/sdb1 1 130 1044193+ 83 Linux
Perintah (m untuk bantuan):w
Tabel partisi telah diubah!
Memanggil ioctl() untuk membaca ulang tabel partisi.
Menyinkronkan disk.
fdisk -l
Disk /dev/sdb:1073 MB, 1073741824 byte
255 head, 63 sektor/track, 130 silinder
Satuan =silinder 16065 * 512 =8225280 byte
Ukuran sektor (logis /fisik):512 byte / 512 byte
Ukuran I/O (minimum/optimal):512 byte / 512 byte
Pengidentifikasi disk:0x89770d51
Perangkat Boot Mulai Akhir Blok Id Sistem
/dev/sdb1 1 130 1044193+ 83 Linux

Setelah selesai, ulangi langkah-langkah di OEL642

5. Konfigurasi DRBD


Sekarang kita sampai pada langkah terakhir yaitu konfigurasi DRBD. Pada dasarnya, kita perlu mengatur disk partisi dan server mana yang harus bertindak di bawah modul DRBD. Untuk melakukan itu, kami akan membuat file tanggapan seperti di bawah ini dan salin ke OEL642 sehingga kedua server memiliki konfigurasi yang sama.

cd /etc/drbd.d/
vi s1.res
resource s1 {
pada OEL641 {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.43.101:7799;
meta- disk internal;
}
pada OEL642 {
device /dev/drbd1;
disk /dev/sdb1;
address 192.168.43.102:7799;
meta-disk internal;
}
}

Salin file dengan scp ke server kedua:

scp /etc/drbd.d/s1.res [dilindungi email]:/etc/drbd.d/s1.res

Setelah selesai, kita perlu menginisialisasi partisi di kedua server. Berikut langkah-langkahnya:

drbdadm create-md s1
menginisialisasi log aktivitas
TIDAK menginisialisasi bitmap
Menulis data meta...
Blok data meta drbd baru berhasil dibuat.
berhasil

s1 adalah nama resource yang kita definisikan di file s1.res di atas.

Silakan masuk ke server OEL642 dan lakukan langkah yang sama dari atas:

drbdadm create-md s1
menginisialisasi log aktivitas
TIDAK menginisialisasi bitmap
Menulis data meta...
Blok data meta drbd baru berhasil dibuat.
berhasil


Sekarang kembali ke server OEL641 dan kita bisa memulai layanan DRBD. Berikut langkah-langkahnya :-

/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p mount fstype
[[email protected] ~]# /etc/init.d/drbd start
Memulai sumber daya DRBD:[
buat res :s1
menyiapkan disk:s1
menyesuaikan disk:s1
menyesuaikan net:s1
]
..........
* ************************************************** ************
Skrip startup DRBD menunggu node peer muncul.
- Jika node ini sudah menjadi cluster yang terdegradasi sebelum
reboot , batas waktu adalah 0 detik. [degr-wfc-timeout]
- Jika peer tersedia sebelum reboot, timeout
adalah 0 detik. [wfc-timeout]
(Nilai ini untuk resource 's1'; 0 detik -> tunggu selamanya)
Untuk membatalkan menunggu masukkan 'yes' [ 26]:
.


Perhatikan di atas bahwa layanan DRBD belum dimulai. Ini karena server OEL641 sedang mencari layanan DRBD di OEL642 .

Oleh karena itu selama waktu ini, harap masuk ke OEL642 dan mulai layanan DRBD dengan cara yang sama seperti yang Anda lakukan pada OEL641 . Anda akan melihat bahwa sekali layanan DRBD di OEL642 dimulai, layanan DRBD di OEL641 akan berhenti menunggu dan mulai juga.

Setelah selesai, status layanan DRBD akan ditampilkan seperti di bawah ini di kedua server:

/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p terpasang fstype
1:s1 Terhubung C Sekunder/Sekunder Tidak Konsisten/Tidak Konsisten


Sekarang lakukan langkah-langkah di bawah ini di server OEL641 hanya. Ini untuk menginisialisasi siapa yang akan menjadi server utama awal.

drbdadm -- --overwrite-data-of-peer primer s1
/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p terpasang fstype
... disinkronkan:0.8% (1037872/1044124)K
1:s1 SyncSource Primer/Sekunder UpToDate/Inconsistent C

Kemudian periksa OEL642:

/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p terpasang fstype
... disinkronkan:12,2% (921244/1044124)K
1:s1 SyncTarget Sekunder/Utama Inkonsisten/UpToDate C


Anda akan melihat dalam laporan status di atas bahwa sekarang server OEL641 telah diverifikasi sebagai Utama dan OEL642 sebagai server Sekunder.

Ini berarti bahwa sekarang file atau folder apa pun yang telah kita buat di bawah partisi DRBD di server OEL641 akan disinkronkan ke partisi DRBD di OEL642 .

6. Fase Pengujian DRBD

Sekarang, kita telah sampai pada bagian terakhir yaitu pengujian layanan DRBD untuk memastikannya memenuhi tujuannya.

Pertama, mari kita mount partisi DRBD.

Lakukan langkah-langkah di bawah ini sekali di server utama OEL641 HANYA!

mkfs.ext3 /dev/drbd1
...
...
Menulis tabel inode:selesai
Membuat jurnal (4096 blok):selesai
Menulis superblok dan informasi akuntansi sistem file:selesai


Ini memformat partisi dengan sistem file ext3.

Sekarang buat folder dan pasang partisi DRBD ke dalamnya.

mkdir /folderA
mount /dev/drbd1 /folderA
df -h
Ukuran Sistem File yang Digunakan Tersedia Penggunaan% Dipasang pada
/dev/drbd1 1004M 18M 936M 2% /folderA
cd /folderA/
ls -h
hilang+ditemukan

Seperti yang ditunjukkan di atas, folder baru bernama folderA telah berhasil dibuat.

Sekarang mari kita buat file dengan ukuran 30Mb di dalam folder:

dd if=/dev/zero of=/folderA/testfile bs=1M count=30
30+0 catatan masuk
30+0 catatan keluar
31457280 byte (31 MB) disalin, 0,178448 dtk, 176 MB/dtk
ls -lh
total 31jt
drwx------. 2 root root 16K 21 Agustus 08:55 hilang+ditemukan
-rw-r--r--. 1 root root 30M 21 Agustus 09:09 testfile


Ini sudah menjadi prasyarat, mari kita mulai menguji prosesnya.

Sebagai hasil akhir, setelah kita mount partisi DRBD di server OEL642 , file pengujian harus ada di dalam folder.

Sekarang mari kita unmount partisi DRBD di OEL641 dan menjadikannya sebagai keadaan sekunder. Status sekunder berarti Anda tidak dapat memasang partisi DRBD ke Sistem Operasi untuk digunakan.

/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p terpasang fstype
1:s1 Terhubung Primer/Sekunder UpToDate/UpToDate C /folderA ext3
umount /folderA
drbdadm secondary s1
/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p terpasang fstype
1:s1 Terhubung Sekunder/Sekunder UpToDate/UpToDate C


Sekarang kedua server DRBD berada dalam status sekunder. Ayo pergi ke server OEL642 dan ubah dari status Sekunder ke Primer.

Pertama buat folder kosong dan mount ke partisi DRBD di OEL642 :

mkdir /folderB
cd /folderB
ls -lh
total 0
/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p terpasang fstype
1:s1 Terhubung Sekunder/Sekunder UpToDate/UpToDate C
drbdadm primer s1
/etc/init.d/drbd status
driver drbd dimuat OK; status perangkat:
versi:8.4.7-1 (api:1/proto:86-101)
GIT-hash:3a6a769340ef93b1ba2792c6461250790795db49 dibuat oleh [dilindungi email], 20-08-2016 01:23:44
m:res cs ro ds p terpasang fstype
1:s1 Terhubung Primer/Sekunder UpToDate/UpToDate C
mount /dev/drbd1 /folderB
df -h
Ukuran Sistem File yang Digunakan Tersedia Penggunaan% Dipasang pada
/dev/mapper/vg_oel641-lv_root
96G 3.5G 88G 4% /
tmpfs 640M 80K 640M 1% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
/dev/drbd1 1004M 48M 906M 5% /folderB
ls -lh /folderB/
total 31jt
drwx------. 2 root root 16K 21 Agustus 08:55 hilang+ditemukan
-rw-r--r--. 1 root root 30M 21 Agustus 09:09 testfile


Setelah Anda berhasil memasang partisi DRBD ke folder baru Anda, Anda akan melihat bahwa file yang Anda buat di server OEL641 sebelum otomatis ada!


SELESAI! Anda telah berhasil menyiapkan dan mengonfigurasi DRBD di CentOS!


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara Menginstal penggalian di CentOS 7 dan 8

  3. Cara menginstal Node.js dan NPM di CentOS

  1. Cara Instal Node.js dan NPM di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Redis di CentOS 7

  3. Cara Menginstal dan Mengonfigurasi GitLab di CentOS 7

  1. Cara Instal dan Konfigurasi Redmine di CentOS 7

  2. Cara Instal Node.js dan npm di CentOS 8

  3. Cara Menginstal dan Mengonfigurasi Redis di CentOS 8