Artikel ini menjelaskan proses penginstalan dan konfigurasi CentOS 7 dengan GlusterFS di AArch64. GlusterFS adalah filesystem open source dan scale-out yang menggabungkan beberapa server penyimpanan menggunakan Infiband atau TCP dan membuat satu filesystem jaringan besar.
Persyaratan
Untuk mengonfigurasi GlusterFS, Anda memerlukan dua atau lebih server (AArch64) dengan CentOS 7 terinstal. Server dapat berupa fisik atau virtual. Saya menggunakan dua server virtual di sini dan mengatur nama host mereka sebagai 'gfs1' dan 'gfs2'. Konektivitas jaringan harus aktif di keduanya. Setiap node harus memiliki perangkat penyimpanan. Dalam contoh yang digunakan dalam artikel ini, disk penyimpanan virtual dengan masing-masing 2 GB pada node digunakan.
Tambahkan alamat IP dan nama host server ke /etc/hosts di kedua node.
45.79.161.123 gfs1
45.79.174.123 gfs2
Instalasi GlusterFS
Sebelum melanjutkan instalasi, kita perlu mengaktifkan repositori EPEL (Paket Exta untuk Enterprise Linux) dan GlusterFS di kedua server untuk menyelesaikan dependensi eksternal pada saat instalasi. Jika Anda hanya mengaktifkan repositori GlusterFS dan tidak mengaktifkan repositori EPEL maka kemungkinan Anda akan mendapatkan pesan kesalahan berikut saat menginstal glusterfs-server:
Error: Package: glusterfs-server-3.7.0-2.el7.x86_64 (glusterfs-epel)
Requires: liburcu-cds.so.1()(64bit)
Error: Package: glusterfs-server-3.7.0-2.el7.x86_64 (glusterfs-epel)
Requires: liburcu-bp.so.1()(64bit)
Mengaktifkan reopsitory EPEL di CentOS:
Gunakan wget untuk mengambil file yang diperlukan dan menginstalnya menggunakan rpm.
[root@gfs1 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
--2015-05-26 10:35:33-- http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Resolving dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.24, 209.132.181.25, 209.132.181.23, ...
Connecting to dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.24|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14524 (14K) [application/x-rpm]
Saving to: epel-release-7-5.noarch.rpm
100%[======================================>] 14,524 --.-K/s in 0.06s
2015-05-26 10:35:33 (239 KB/s) - ˜epel-release-7-5.noarch.rpm saved [14524/14524]
[root@localhost ~]# rpm -ivh epel-release-7-5.noarch.rpm
warning: epel-release-7-5.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:epel-release-7-5 ################################# [100%]
Mengaktifkan repositori GlusterFS:
[root@gfs1 ~]# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
--2015-05-26 10:37:49-- http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
Resolving download.gluster.org (download.gluster.org)... 50.57.69.89
Connecting to download.gluster.org (download.gluster.org)|50.57.69.89|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1055 (1.0K) [text/plain]
Saving to: /etc/yum.repos.d/glusterfs-epel.repo
100%[======================================>] 1,055 --.-K/s in 0s
2015-05-26 10:37:49 (81.2 MB/s) - /etc/yum.repos.d/glusterfs-epel.repo saved [1055/1055]
Ikuti langkah-langkah yang disebutkan di bawah ini di kedua server:
Instal glusterfs di keduanya:
[root@gfs1 ~]# yum install glusterfs-server
Sekarang, mulai daemon glusterfs:
root@gfs1 ~]# service glusterd start
Redirecting to /bin/systemctl start glusterd.service
Verifikasi apakah layanan telah berhasil dimulai:
[root@gfs1 ~]# service glusterd status
Redirecting to /bin/systemctl status glusterd.service
glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; disabled)
Active: active (running) since Tue 2015-05-26 10:42:08 UTC; 38s ago
Process: 13418 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid (code=exited, status=0/SUCCESS)
Main PID: 13419 (glusterd)
CGroup: /system.slice/glusterd.service
13419 /usr/sbin/glusterd -p /var/run/glusterd.pid
May 26 10:42:08 localhost.localdomain systemd[1]: Started GlusterFS, a cluste...
Hint: Some lines were ellipsized, use -l to show in full.
Nonaktifkan SELinux, jika diaktifkan, dengan mengubah “SELINUX=disabled” atau “SELINUX=permissive” pada file /etc/sysconfig/selinux.
Selanjutnya, bersihkan iptables.
[root@gfs1 ~]# iptables -F
Sekarang, buat partisi yang identik di kedua node. Disini saya menggunakan partisi /dev/xvdc dengan ukuran 2GB.
fdisk /dev/xvdc
Buat partisi baru menggunakan opsi 'n'. Pilih opsi 'p' untuk partisi primer dan kemudian ikuti opsi default. Setelah selesai, pilih 'w' untuk menyimpan data ke disk dan keluar.
Buat sistem file pada partisi yang baru dibuat:
mkfs.ext4 /dev/xvdc1
Pasang di direktori bernama /data/brick:
[root@gfs1 ~]# mkdir -p /data/brick
[root@gfs1 ~]# mount /dev/xvdc1 /data/brick
Tambahkan ini ke entri fstab untuk mempertahankan pemasangan setelah reboot.
[root@gfs1 ~]# echo "/dev/xvdc1 /data/brick ext4 defaults 0 0" >> /etc/fstab
Sekarang, kita perlu mengonfigurasi kumpulan tepercaya.
Konfigurasi
Kita perlu membuat kumpulan penyimpanan tepercaya dari server gluster yang menyediakan batu bata untuk volume.
Jalankan perintah di bawah ini pada server pertama:
[root@gfs1 ~]# gluster peer probe gfs2
peer probe: success.
Jalankan di server kedua:
[root@gfs2 ~]# gluster peer probe gfs1
peer probe: success.
Verifikasi kumpulan penyimpanan:
[root@gfs1 ~]# gluster pool list
UUID Hostname State
4d1d974d-4c75-424c-a788-7f0e71002e02 gfs2 Connected
473b1bc5-b8c0-4cea-ac86-568a77d0edf0 localhost Connected
Menyiapkan volume GlusterFS:
Untuk mengatur volume, cukup menjalankan perintah di bawah ini hanya pada salah satu server. Saya menggunakan server pertama (gfs1) di sini.
[root@gfs1 ~]# gluster volume status
No volumes present
Saya membuat volume yang direplikasi dalam contoh ini. Ini memberikan ketersediaan dan keandalan yang tinggi. Untuk detail lebih lanjut tentang berbagai jenis volume, silakan lihat halaman komunitas gluster.
[root@gfs1 ~]# mkdir /data/brick/gvol0
[root@gfs1 ~]# gluster volume create gvol0 replica 2 gfs1:/data/brick/gvol0 gfs2:/data/brick/gvol0
volume create: gvol0: success: please start the volume to access data.
Mulai volume yang baru dibuat
[root@localhost ~]# gluster volume start gvol0
volume start: gvol0: success
Verifikasi detailnya:
[root@localhost ~]# gluster volume info
Volume Name: gvol0
Type: Replicate
Volume ID: 4a61822d-75cf-402b-bad4-19ae57626673
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gfs1:/data/brick/gvol0
Brick2: gfs2:/data/brick/gvol0
Options Reconfigured:
performance.readdir-ahead: on
Ya, Anda hampir sampai! Anda hanya perlu memasang volume yang baru dibuat pada titik pemasangan mana pun dan mulai menggunakannya.
[root@gfs1 ~]# mount -t glusterfs gfs1:/gvol0 /mnt
[root@gfs2 ~]# mount -t glusterfs gfs1:/gvol0 /mnt
Salin beberapa data ke volume terpasang dari salah satu server dan verifikasi bahwa itu juga dapat diakses dari server lain.
[root@gfs1 ~]# cp /var/log/yum.log /mnt
[root@gfs2 mnt]# ls
yum.log
Kesimpulan
Selamat! Anda telah menyelesaikan konfigurasi GlusterFS pada sistem CentOS7 Anda. Titik mount ini sekarang bertindak sebagai sistem file tunggal yang dapat digunakan untuk membuat, mengedit, atau menghapus file dari salah satu node. Seluruh proses instalasi dan setup cukup sederhana dan tidak memakan banyak waktu. Jika Anda menginginkan sumber daya tambahan di GlusterFS, Anda dapat merujuk ke gluster.org