Atur GlusterFS Distributed Replicated Volume pada CentOS 8

Dalam tutorial ini, kita akan belajar bagaimana mengatur glusterfs didistribusikan volume yang direplikasi pada CentOS 8. Gluster adalah filesystem jaringan scalable gratis dan open source yang memungkinkan Anda untuk membuat besar, solusi penyimpanan terdistribusi untuk streaming media, analisis data, dan data lainnya – dan tugas bandwidth-intensif.

Atur GlusterFS Distributed Replicated Volume pada CentOS 8

Atur GlusterFS Distributed Replicated Volume pada CentOS 8

Prasyarat

Sebelum Anda dapat melanjutkan, pastikan hal-hal berikut terpenuhi;

  1. Memiliki 6 node untuk cluster GlusterFS Anda. An even number of bricks must be used in this type of volume.
  2. Lampirkan disk ekstrak (berbeda dari / partisi) untuk digunakan dalam menyediakan unit penyimpanan Gluster ( brick)
  3. Partisi disk menggunakan LVM dan format disk/bata dengan sistem file XFS.
  4. Pastikan waktu disinkronkan di antara catatan cluster Anda
  5. Buka Port/Layanan Gluster yang diperlukan di Firewall di semua node cluster Anda.

Dalam tutorial kami sebelumnya, kami membahas cara menginstal dan mengatur cluster penyimpanan GlusterFS pada CentOS 8 dan semua persyaratan di atas. Ikuti tautan di bawah untuk memeriksanya.

Instal dan Siapkan Cluster Penyimpanan GlusterFS di CentOS 8

Jenis Volume Kilau

GlusterFS mendukung berbagai jenis volume yang menawarkan berbagai fitur. Ini termasuk;

  • 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.

Di kami sebelumnya, kami membahas cara mengatur volume penyimpanan glusterfs yang direplikasi.

Cara Mengatur Volume Gluster yang Direplikasi di CentOS 8

Atur GlusterFS Volume Replika Terdistribusi

Dalam pengaturan replika terdistribusi glusterfs, jumlah bata harus kelipatan dari jumlah replika. Juga, urutan batu bata yang ditentukan sangat penting dalam arti bahwa batu bata yang berdekatan menjadi replika satu sama lain.

Node Cluster

Di bawah ini adalah detail dari node volume Gluster terdistribusi yang kami distribusikan

# Hostname IP Address
1 gfs01.kifarunix-demo.com 192.168.56.111
2 gfs02.kifarunix-demo.com 192.168.56.112
3 gfs03.kifarunix-demo.com 192.168.57.114
4 gfs04.kifarunix-demo.com 192.168.57.113
5 gfs05.kifarunix-demo.com 192.168.57.117
6 gfs06.kifarunix-demo.com 192.168.57.118

Instal Server GlusterFS di CentOS 8

Ikuti tautan di bawah ini untuk menginstal paket server GlusterFS pada node CentOS 8;

Cara Menginstal Paket Server GlusterFS di CentOS 8

Memeriksa status server GlusterFS;

systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-15 21:56:23 EAT; 11s ago Docs: man:glusterd(8) Main PID: 2368 (glusterd) Tasks: 9 (limit: 5027) Memory: 3.9M CGroup: /system.slice/glusterd.service └─2368 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO Jun 15 21:56:22 gfs01.kifarunix-demo.com systemd[1]: Starting GlusterFS, a clustered file-system server... Jun 15 21:56:23 gfs01.kifarunix-demo.com systemd[1]: Started GlusterFS, a clustered file-system server.

Anda dapat melakukan hal yang sama pada node lain.

Buka/Izinkan Layanan/Port GlusterFS di Firewall

Buka port atau service GlusterFS di firewall untuk mengaktifkan node berkomunikasi.

  • The  24007-24008/TCP digunakan untuk komunikasi antara node;
  • 24009-24108/TCP diperlukan untuk komunikasi client.

Anda cukup menggunakan service ini, glusterfs bukannya port;

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

Memverifikasi disk cluster Penyimpanan GlusterFS

Kami menggunakan disk LVM masing-masing 4GB di seluruh node.

lvs
 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- <6.20g swap cl -wi-ao---- 820.00m  gfs drgfs -wi-ao---- <4.00g

Disk memiliki XFSsistem file dan dipasang di bawah, /data/glusterfs/.

df -hT
Filesystem Type Size Used Avail Use% Mounted on... /dev/mapper/cl-root xfs 6.2G 1.7G 4.6G 27% / /dev/sda1 ext4 976M 260M 650M 29% /boot tmpfs tmpfs 82M 0 82M 0% /run/user/0 /dev/mapper/drgfs-gfs xfs 4.0G 61M 4.0G 2% /data/glusterfs/

Untuk mengotomatiskan drive pada boot sistem, masukkan entri berikut pada /etc/fstabfile konfigurasi;

echo "/dev/mapper/drgfs-gfs /data/glusterfs xfs defaults 1 2" >> /etc/fstab

Buat Gluster TSP

Buat kilauan trusted storage pool (TSP) menggunakan  gluster peer probe perintah. Cukup untuk menyelidiki semua node cluster lain dari salah satu node;

for i in gfs{02..06}; do gluster peer probe $i; done

Anda harus sukses untuk setiap node, sesuai urutan pemeriksaannya;

peer probe: success. peer probe: success. peer probe: success. peer probe: success. peer probe: success.

Periksa status rekan Gluster

Dari node mana pun, Anda dapat menjalankan perintah status peer gluster untuk menampilkan status peer;

gluster peer status
Number of Peers: 5 Hostname: gfs02 Uuid: 148dcf14-76c9-412c-9911-aac17cc5801f State: Peer in Cluster (Connected) Hostname: gfs03 Uuid: 22d2a6ea-e3a4-49fc-8df6-bd70a9545b30 State: Peer in Cluster (Connected) Hostname: gfs04 Uuid: 89ddf393-8144-4529-81f6-98128a5f1b71 State: Peer in Cluster (Connected) Hostname: gfs05 Uuid: 53b7b05a-28ac-4dfc-8598-651dee9d2431 State: Peer in Cluster (Connected) Hostname: gfs06 Uuid: 29d2d128-5e59-4123-b265-d27ef08f024b State: Peer in Cluster (Connected)

Anda dapat memverifikasi status peering dari node lain.

Konfigurasikan Volume Penyimpanan Replika Terdistribusi

gluster volume createperintah dapat digunakan untuk membuat volume yang direplikasi terdistribusi Gluster. Sintaks dari perintah lengkapnya adalah;

gluster volume create NEW-VOLNAME [replica COUNT] [transport [tcp | rdma | tcp,rdma]] NEW-BRICK...

NOTE:

  • jumlah batu bata yang genap harus digunakan ini saat membuat volume replika terdistribusi (Kami memiliki 6 di antaranya). Artinya, jumlah batu bata harus kelipatan dari jumlah replika.
  • Urutan batu bata yang ditentukan menentukan bagaimana mereka direplikasi satu sama lain. Misalnya, jika Anda menentukan replika dua, maka itu berarti dua bata pertama yang berdekatan yang ditentukan menjadi replika (cermin) satu sama lain dan dua bata berikutnya dalam urutan copyg mereplikasi.
  • Volume replika terdistribusi dua arah TIDAK
    DIREKOMENDASIKAN karena masalah otak terbelah (inconsistency in either data or metadata (permissions, uid/gid, extended attributes etc)) Oleh karena itu, gunakan volume replikasi terdistribusi tiga arah.
  • Jika Anda memiliki beberapa bata di node cluster Anda, pastikan Anda mencantumkan bata pertama di setiap server, kemudian bata kedua di setiap server dalam urutan yang sama, dll. sehingga anggota kumpulan replika tidak ditempatkan di node yang sama.

Membuat Volume Replika Terdistribusi Tiga Arah

Untuk membuat volume replikasi terdistribusi tiga arah, kami menggunakan enam node dalam demo kami dengan replika 3. Ini berarti, 3 bata pertama yang berdekatan dengan membentuk replika, hal yang sama untuk tiga berikutnya.

Dalam pengaturan kami, kami menamai direktori data bata sebagai gfsbrick. Direktori data ini akan dibuat jika tidak ada.Replace the names accordingly dalam perintah berikut.

gluster volume create dist-repl-gfs replica 3 transport tcp  gfs01:/data/glusterfs/brick01 gfs02:/data/glusterfs/brick02  gfs03:/data/glusterfs/brick03 gfs04:/data/glusterfs/brick04  gfs05:/data/glusterfs/brick05 gfs06:/data/glusterfs/brick06

Jika semuanya baik-baik saja, Anda akan mendapatkan pesan tentang keberhasilan pembuatan volume.

volume create: dist-repl-gfs: success: please start the volume to access data

Memulai volume GlusterFS yang Direplikasi Terdistribusi

Anda dapat memulai volume Anda dengan perintah mulai volume gluster. Ganti  dist-repl-gfs dengan nama volume Anda.

gluster volume start dist-repl-gfs

Dan begitulah, volume start: dist-repl-gfs: success. Volume Anda naik.

Verifikasi Volume GlusterFS

Anda dapat memverifikasi volume GlusterFS dengan gluster volume infoperintah.

gluster volume info all
Volume Name: dist-repl-gfs Type: Distributed-Replicate Volume ID: 45f4416d-9842-4352-8802-b280a243036b Status: Started Snapshot Count: 0 Number of Bricks: 2 x 3 = 6 Transport-type: tcp Bricks: Brick1: gfs01:/data/glusterfs/brick01 Brick2: gfs02:/data/glusterfs/brick02 Brick3: gfs03:/data/glusterfs/brick03 Brick4: gfs04:/data/glusterfs/brick04 Brick5: gfs05:/data/glusterfs/brick05 Brick6: gfs06:/data/glusterfs/brick06 Options Reconfigured: transport.address-family: inet storage.fips-mode-rchecksum: on nfs.disable: on performance.client-io-threads: off

Untuk mendapatkan status volume;

gluster volume status dist-repl-gfs
Status of volume: dist-repl-gfs Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick gfs01:/data/glusterfs/brick01 49152 0 Y 4510 Brick gfs02:/data/glusterfs/brick02 49152 0 Y 4194 Brick gfs03:/data/glusterfs/brick03 49152 0 Y 4078 Brick gfs04:/data/glusterfs/brick04 49152 0 Y 4080 Brick gfs05:/data/glusterfs/brick05 49152 0 Y 5330 Brick gfs06:/data/glusterfs/brick06 49152 0 Y 4077 Self-heal Daemon on localhost N/A N/A Y 4532 Self-heal Daemon on gfs03 N/A N/A Y 4099 Self-heal Daemon on gfs02 N/A N/A Y 4215 Self-heal Daemon on gfs04 N/A N/A Y 4101 Self-heal Daemon on gfs05 N/A N/A Y 5359 Self-heal Daemon on gfs06 N/A N/A Y 4098 Task Status of Volume dist-repl-gfs ------------------------------------------------------------------------------ There are no active volume tasks

Untuk membuat daftar informasi tambahan tentang batu bata;

gluster volume status dist-repl-gfs detail
Status of volume: dist-repl-gfs ------------------------------------------------------------------------------ Brick : Brick gfs01:/data/glusterfs/brick01 TCP Port : 49152 RDMA Port : 0 Online : Y Pid : 4510 File System : xfs Device : /dev/mapper/drgfs-gfs Mount Options : rw,seclabel,relatime,attr2,inode64,noquota Inode Size : 512 Disk Space Free : 3.9GB Total Disk Space : 4.0GB Inode Count : 2095104 Free Inodes : 2095086 ------------------------------------------------------------------------------ Brick : Brick gfs02:/data/glusterfs/brick02 TCP Port : 49152...

Memasang Volume Penyimpanan GlusterFS pada Client

Setelah volume replika terdistribusi diatur, Anda kemudian dapat memasangnya di client dan mulai menulis data ke dalamnya.

Untuk tujuan mendemonstrasikan cara memasang volume glusterfs, kami akan menggunakan client CentOS 8.

Ada berbagai metode di mana volume Penyimpanan Gluster dapat diakses. Ini termasuk useran;

  • Client GlusterFS Asli
  • Sistem File Jaringan (NFS) v3
  • Blok Pesan Server (SMB)

Kami akan menggunakan metode client Native GlusterFS dalam kasus ini.

Instal client asli GlusterFS di CentOS 8

dnf install glusterfs glusterfs-fuse

Setelah instalasi selesai, buat titik pemasangan volume Penyimpanan Gluster. Kami menggunakan, /mnt/glusterfssebagai titik pemasangan.

mkdir /mnt/glusterfs

Sebelum Anda dapat melanjutkan untuk memasang volume Gluster, pastikan bahwa semua node dapat dijangkau dari client.

Pemasangan dapat dilakukan dengan menggunakan mountperintah dan menentukan jenis sistem file sebagai glusterfsdan node dan nama volume.

mount -t glusterfs gfs01:/dist-repl-gfs /mnt/glusterfs

Untuk pemasangan otomatis saat boot, masukkan baris di bawah pada /etc/fstab, menggantikan volume penyimpanan glusterfs tertentu dan titik pemasangan.

gfs01:/dist-repl-gfs /mnt/glusterfs/ glusterfs defaults,_netdev 0 0

NOTEbahwa Anda dapat mengonfigurasi server volfile cadangan di client dengan menggunakan backup-volfile-serversopsi mount.

  • backup-volfile-servers=<volfile_server2>:<volfile_server3>:…:<volfile_serverN>
  • Jika opsi ini ditentukan saat memasang client sekering seperti yang ditunjukkan di atas, ketika server volfile pertama gagal, server yang ditentukan dalam  backup-volfile-servers opsi digunakan sebagai server volfile untuk memasang client hingga pemasangan berhasil.
mount -t glusterfs -o backup-volfile-servers=server2:server3:......:serverN server1:/VOLUME-NAME MOUNT-POINT

Ini mungkin terlihat seperti;

mount -t glusterfs -o backup-volfile-servers=gfs02:gfs03 gfs01:/dist-repl-gfs /mnt/glusterfs

Konfirmasikan pemasangan;

df -hT -P /mnt/glusterfs/

Menguji Volume yang Dipasang

Untuk menguji distribusi dan replikasi data pada volume penyimpanan gluster terdistribusi yang direplikasi yang dipasang pada client, kami akan membuat beberapa file palsu;

cd /mnt/glusterfs/

Buat file;

for i in {1..10};do echo hello > "File${i}.txt"; done

Verifikasi file yang disimpan di bata setiap node.

Same data (replication) on the first three bricks;

[[email protected] ~]# ls /data/glusterfs/brick01/ File1.txt File3.txt File5.txt File6.txt File8.txt
[[email protected] ~]# ls /data/glusterfs/brick02/ File1.txt File3.txt File5.txt File6.txt File8.txt
[[email protected] ~]# ls /data/glusterfs/brick03/ File1.txt File3.txt File5.txt File6.txt File8.txt

Same data (replication) on the next three bricks;

[[email protected] ~]# ls /data/glusterfs/brick04/ File10.txt File2.txt File4.txt File7.txt File9.txt
[[email protected] ~]# ls /data/glusterfs/brick05/ File10.txt File2.txt File4.txt File7.txt File9.txt
[[email protected] ~]# ls /data/glusterfs/brick06/ File10.txt File2.txt File4.txt File7.txt File9.txt

Dan begitulah cara data didistribusikan dan direplikasi di glusterfs didistribusikan volume penyimpanan yang direplikasi.

Itu menandai akhir dari panduan kami tentang cara mengat
ur glusterfs didistribusikan volume yang direplikasi pada CentOS 8.

Referensi

Menyiapkan Volume GlusterFS

Membuat Volume Replika Terdistribusi Red Hat Gluster Storage

Tutorial Terkait

Instal dan Siapkan Cluster Penyimpanan GlusterFS di CentOS 8

Instal dan Atur GlusterFS di Ubuntu 18.04

Instal dan Konfigurasikan Perangkat Blok Ceph di Ubuntu 18.04

Cara menginstal dan Mengonfigurasi Server Penyimpanan iSCSI di Ubuntu 18.04