Instal dan Siapkan Cluster Penyimpanan GlusterFS di CentOS 8

Dalam panduan ini, kita akan mempelajari cara menginstal dan mengatur cluster penyimpanan GlusterFS pada CentOS 8. GlusterFS adalah sistem file jaringan terdistribusi dan skalabel opensource yang mengelompokkan berbagai sumber daya penyimpanan disk ke dalam satu namespace global. Sangat cocok untuk tugas-tugas intensif data seperti penyimpanan cloud dan streaming media. Beberapa fitur umum untuk GlusterFS meliputi;

  • Dapat menskalakan hingga beberapa petabyte sehingga dapat menangani ribuan client.
  • Menyediakan ketersediaan tinggi melalui pencerminan data. Ini juga mendukung mekanisme penyembuhan diri yang mengembalikan data ke keadaan yang benar setelah pemulihan dengan hampir tanpa overhead.
  • Menyediakan namespace global terpadu yang mengelompokkan sumber daya disk dan memori ke dalam satu kumpulan yang memastikan I/O seimbang beban.
  • Menggunakan algoritma hash elastis untuk menemukan data di kumpulan penyimpanan sehingga penskalaan kinerja linier.
  • Menyediakan manajer volume elastis di mana data disimpan dalam volume logis yang diabstraksi dari perangkat keras dan dipartisi secara logis satu sama lain. Ini memastikan bahwa penyimpanan dapat ditambahkan atau dihapus saat data terus online tanpa gangguan aplikasi.
  • Gluster sepenuhnya sesuai dengan POSIX dan tidak memerlukan API unik apa pun untuk akses data.
  • Mendukung protokol standar industri seperti NFS, SMB, CIFS, HTTP dan FTP.

Instal dan Siapkan Cluster Penyimpanan GlusterFS di CentOS 8

Prasyarat

Pastikan Anda memiliki setidaknya tiga node penyimpanan. Periksa arsitektur penerapan kami di bawah ini.

Juga, pastikan bahwa Anda memiliki ekstrak disk virtual selain dari root disk tempat OS diinstal. Dalam kasus kami di atas, kami memiliki disk tambahan, /dev/sdb.

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 7G 0 part ├─cl-root 253:0 0 6.2G 0 lvm / └─cl-swap 253:1 0 820M 0 lvm [SWAP] sdb 8:16 0 2G 0 disk └─sdb1 8:17 0 2G 0 part sr0 11:0 1 1024M 0 rom

Jika menggunakan nama host, pastikan bahwa mereka dapat diselesaikan.

Pastikan bahwa waktu disinkronkan dengan erat antara tiga node. Jika Anda perlu mengatur server NTP Anda pada sistem CentOS 8, cukup ikuti tautan di bawah ini;

Siapkan Server NTP menggunakan Chrony di CentOS 8

Partisi dan Format Drive Penyimpanan GlusterFS

Pada setiap node GlusterFS, format dan buat sistem file di drive penyimpanan. Anda dapat menggunakan metode partisi apa pun.

Format dan buat partisi utama pada disk.

parted /dev/sdb mklabel msdos
parted -a opt /dev/sdb mkpart primary xfs 0% 100%

Buat Sistem File pada disk. XFS digunakan di sini.

mkfs.xfs /dev/sdb1 -L gfsdisk

Pasang Drive Penyimpanan GlusterFS (Batu Bata)

Pada setiap node, buat titik pemasangan untuk drive penyimpanan GlusterFS, di sini disebut bricks. Bata adalah unit dasar penyimpanan GlusterFS.

mkdir -p /export/gfsbrick

Pasang drive penyimpanan GlusterFS pada direktori bricks yang dibuat di atas.

mount /dev/sdb1 /export/gfsbrick/

Untuk mengotomatiskan drive pada boot sistem, cukup perbarui file konfigurasi /etc/fstab sebagai berikut;

echo "/dev/sdb1 /export/gfsbrick/ xfs defaults 1 2" >> /etc/fstab

Periksa pemasangannya;

df -hTP /dev/sdb1
Filesystem Type Size Used Avail Use% Mounted on /dev/sdb1 xfs 2.0G 47M 2.0G 3% /export/gfsbrick

 Instal GlusterFS 7 di CentOS 8

Instal GlusterFS Repo

Sekarang setelah bagian prasyarat selesai, lanjutkan untuk menginstal GlusterFS di semua node. GlusterFS tidak tersedia di repo default. Oleh karena itu, jalankan perintah di bawah ini untuk membuat repo.

dnf install centos-release-gluster

Aktifkan repo PowerTools agar dapat menginstal dependensi GlusterFS lain yang diperlukan.

dnf config-manager --set-enabled PowerTools

Instal paket server GlusterFS di CentOS 8 dengan menjalankan perintah di bawah ini;

dnf install glusterfs-server

Menjalankan GlusterFS di CentOS 8

Mulai dan aktifkan daemon GlusterFS untuk dijalankan pada boot sistem dengan menjalankan perintah di bawah ini;

systemctl enable --now glusterd

Untuk memeriksa status daemon GlusterFS;

systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2020-03-20 19:51:37 EAT; 12s ago Docs: man:glusterd(8) Process: 2739 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS) Main PID: 2740 (glusterd) Tasks: 9 (limit: 5047) Memory: 3.9M CGroup: /system.slice/glusterd.service └─2740 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO Mar 20 19:51:37 gfs01.kifarunix-demo.com systemd[1]: Starting GlusterFS, a clustered file-system server... Mar 20 19:51:37 gfs01.kifarunix-demo.com systemd[1]: Started GlusterFS, a clustered file-system server.

Izinkan GlusterFS di Firewall

Agar node GlusterFS dapat berkomunikasi, Anda perlu membuka port atau service GlusterFS tertentu di firewall. 24007-24008/TCPdigunakan untuk komunikasi antar node, sedangkan 24009-24108/TCPdiperlukan untuk komunikasi client. Untuk membuatnya mudah, cukup gunakan service,glusterfs.

firewall-cmd --add-service=glusterfs --permanent
firewall-cmd --reload

Konfigurasikan Kumpulan Penyimpanan Tepercaya GlusterFS

Untuk mengonfigurasi kluster penyimpanan GlusterFS, Anda harus membuat a trusted storage pool (TSP)yang pada dasarnya adalah jaringan server penyimpanan. TSP dapat dibuat dengan menambahkan node penyimpanan ke TSP menggunakan gluster peer probeperintah seperti yang ditunjukkan di bawah ini.

Untuk menyelidiki node lain, misalnya gfs02 dan gfs03 from gfs01dalam kasus kami, jalankan perintah di bawah ini. Ganti nama node yang sesuai.You can probe other nodes from any node.

gluster peer probe gfs02
gluster peer probe gfs03

Untuk memverifikasi status peering cluster, jalankan perintah di bawah ini dari node mana pun. Misal dari simpul 1, gfs01;

gluster peer status
Number of Peers: 2 Hostname: gfs01.kifarunix-demo.com Uuid: b2003be4-4bc9-4125-a2a1-0d46e4b2476f State: Peer in Cluster (Connected) Hostname: gfs02 Uuid: 6bc3b730-b7bb-4d24-865a-c33a3db4489d State: Peer in Cluster (Connected)

Untuk membuat daftar semua node dalam TSP, misalnya dari GlusterFS node 02, gfs01;

gluster pool list
UUID					Hostname 	State 6bc3b730-b7bb-4d24-865a-c33a3db4489d	gfs02 	Connected 26cdb6a4-ad15-41e7-bb72-2da0a9906fa6	gfs03 	Connected b2003be4-4bc9-4125-a2a1-0d46e4b2476f	localhost	Connected

Anda dapat menambahkan lebih banyak service atau menghapus server dari kumpulan penyimpanan GlusterFS;

Misalnya, untuk menambahkan server baru, Anda perlu menyelidikinya dari simpul yang sudah ada di kumpulan. Gantiserver-name demikian.

gluster peer probe serv
er-name

Untuk melepaskan server dari kumpulan;

gluster peer detach server-name

Atur Volume Penyimpanan GlusterFS

Volume penyimpanan GlusterFS dapat dibuat dari batu bata yang dibuat di atas. Dalam hal ini, kami telah membuat batu bata yang dipasang /export/gfsbrickdi setiap simpul.

Jenis Volume Penyimpanan GlusterFS

Ada pengaturan konfigurasi yang berbeda untuk dipertimbangkan saat membuat volume penyimpanan GlusterFS tergantung pada berbagai kebutuhan operasional.

  • Distributed: File didistribusikan di seluruh batu bata dalam volume.
  • Replicated: File direplikasi di seluruh bata dalam volume. Ini memastikan ketersediaan dan keandalan penyimpanan yang tinggi.
  • Distributed Replicated: File didistribusikan di seluruh bata yang direplikasi dalam volume. Memastikan keandalan tinggi, skalabilitas, dan kinerja membaca yang lebih baik.
  • Arbitrated Replicated: File direplikasi di dua bata dalam satu set replika dan hanya metadata yang direplikasi ke bata ketiga. Memastikan konsistensi data.
  • Dispersed: File tersebar di batu bata dalam volume.
  • Distributed Dispersed: Data didistribusikan di seluruh sub-volume yang tersebar.

Volume GlusterFS dapat dibuat menggunakan perintah;

gluster volume create <NEW-VOLNAME> [stripe <COUNT>] [[replica <COUNT> [arbiter <COUNT>]]|[replica 2 thin-arbiter 1]] [disperse [<COUNT>]] [redundancy <COUNT>] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK>...<TA-BRICK>

Konsultasikan man glusteruntuk lebih jelasnya.

Atur Volume Penyimpanan GlusterFS yang Direplikasi

Dalam demo ini, kita akan mempelajari cara mengatur volume penyimpanan glusterfs yang direplikasi.

Buat titik pemasangan untuk volume pada batu bata on each cluster node.Dalam kasus kami, bata kami dipasang di /export/gfsbrick.

mkdir /export/gfsbrick/gfsvol01

Selanjutnya, buat volume penyimpanan yang direplikasi. Misalnya, untuk membuat volume penyimpanan GlusterFS yang direplikasi dengan tiga node yang disebut gfsvol01;

gluster volume create gfsvol01 replica 3 transport tcp gfs01:/export/gfsbrick/gfsvol01 gfs02:/export/gfsbrick/gfsvol01 gfs03:/export/gfsbrick/gfsvol01

Anda dapat menjalankan perintah dari simpul mana pun, mengganti nama rekan-rekan lain dan bata terkait yang sesuai.

Jika semuanya berjalan dengan baik, Anda akan mendapatkan output seperti;

volume create: gfsvol01: success: please start the volume to access data

Setelah itu, mulai volume GlusterFS. Ganti gfsvol01dengan nama volume Anda.

gluster volume start gfsvol01

Verifikasi Volume GlusterFS

Setelah Anda membuat dan memulai volume, Anda dapat memverifikasi dengan menjalankan perintah di bawah ini dari node mana pun di cluster.

gluster volume info all
Volume Name: gfsvol01 Type: Replicate Volume ID: 9361067e-da82-411c-9c83-2ab1c2b888aa Status: Started Snapshot Count: 0 Number of Bricks: 1 x 3 = 3 Transport-type: tcp Bricks: Brick1: gfs01:/export/gfsbrick/gfsvol01 Brick2: gfs02:/export/gfsbrick/gfsvol01 Brick3: gfs03:/export/gfsbrick/gfsvol01 Options Reconfigured: transport.address-family: inet storage.fips-mode-rchecksum: on nfs.disable: on performance.client-io-threads: off

Ini dia. Anda telah berhasil menginstal dan menyiapkan kluster penyimpanan GlusterFS yang direplikasi.

Ingin mengatur jenis volume GlusterFS yang berbeda? Konsultasikan dokumentasi GlusterFS tentang pengaturan jenis volume.

Pelajari cara mengatur volume penyimpanan terdistribusi yang direplikasi GlusterFS dengan mengikuti tautan di bawah ini;

Atur GlusterFS Distributed Replicated Volume pada CentOS 8

Jika ada, Anda selalu dapat memeriksa file log, /var/log/glusterfs/glusterd.log untuk apapun akan menjadi masalah.

Instal dan Atur client GlusterFS di CentOS 8

Sekarang setelah Anda menjalankan cluster penyimpanan GlusterFS, Anda dapat menyiapkan client untuk dapat menggunakan penyimpanan ini. Volume Gluster dapat diakses menggunakan Gluster Native Client atau melalui NFS v3.

Dalam demo ini, kita akan belajar cara menggunakan client GlusterFS asli di CentOS 8.

Instal repositori GlusterFS di CentOS 8

dnf install centos-release-gluster

Jalankan pembaruan sistem;

dnf update

Instal Gluster Native Client di CentOS 8

dnf install glusterfs glusterfs-fuse

Memasang Volume Penyimpanan Gluster pada Client

Untuk memasang volume penyimpanan Gluster secara manual pada client, gunakan perintah;

mount -t glusterfs HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR

Di mana:

  • –t glusterfs menentukan sistem file GlusterFS.
  • HOSTNAME-OR-IPADDRESSadalah simpul gluster, misalnya gfs01, gf02 atau gfs03. Pastikan nama host dapat dipecahkan.
  • /VOLNAMEadalah nama volume penyimpanan GlusterFS misalnya gfsvol01dalam demo ini.
  • MOUNTDIR adalah titik pemasangan pada client.

Jadi, untuk memasang volume penyimpanan Gluster dari glusterfs node 01, gfs01, perintah mount kami akan seperti;

mkdir /media/gfs
mount -t glusterfs gfs01:/gfsvol01 /media/gfs/

Konfirmasikan pemasangan;

df -hT
Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 1.4G 0 1.4G 0% /dev tmpfs tmpfs 1.4G 0 1.4G 0% /dev/shm tmpfs tmpfs 1.4G 9.9M 1.4G 1% /run tmpfs tmpfs 1.4G 0 1.4G 0% /sys/fs/cgroup /dev/mapper/cl-root xfs 8.0G 5.7G 2.4G 71% / /dev/sda1 ext4 976M 244M 666M 27% /boot... gfs01:/gfsvol01 fuse.glusterfs 2.0G 67M 2.0G 4% /media/gfs

Untuk secara otomatis memasang volume penyimpanan GlusterFS, Anda dapat memperbarui /etc/fstabdengan baris;

gfs01:/gfsvol01 /media/gfs/ glusterfs defaults,_netdev 0 0

Di mana _netdev memastikan bahwa sistem file tidak dipasang sampai jaringan diaktifkan dan dijalankan.

Dalam panduan kami berikutnya, kami akan membahas cara memasang volume penyimpanan GlusterFS pada client menggunakan NFS.

Itu menandai akhir dari panduan kami tentang cara menginstal dan mengatur cluster penyimpanan GlusterFS di CentOS 8.

Referensi

Panduan Memulai Cepat GlusterFS

Tutorial Terkait

Siapkan Cluster Penyimpanan Tiga Node Ceph di Ubuntu 18.04

Instal dan Atur GlusterFS di Ubuntu 18.04

Cara Mengkonfigurasi Server NFS di Server Ubuntu 18.04

Cara Menginstal dan Mengonfigurasi Server NFS di RHEL/CentOS 7

Instal dan Konfigurasikan Perangkat Blok Ceph di Ubuntu 18.04