Pengenalan GlusterFS (File System) dan Instalasi di RHEL/CentOS dan Fedora


Kita hidup di dunia di mana data berkembang dengan cara yang tidak dapat diprediksi dan kita perlu menyimpan data ini, baik terstruktur maupun tidak terstruktur, dengan cara yang efisien. Sistem komputasi terdistribusi menawarkan beragam keunggulan dibandingkan sistem komputasi terpusat. Disini data disimpan secara terdistribusi dengan beberapa node sebagai server.

Konsep server metadata tidak lagi diperlukan dalam sistem file terdistribusi. Dalam sistem file terdistribusi, ia menawarkan sudut pandang umum dari semua file yang dipisahkan di antara server yang berbeda. File/direktori di server penyimpanan ini diakses dengan cara normal.

Misalnya, izin file/direktori dapat diatur seperti model izin sistem biasa, yaitu pemilik, grup, dan lain-lain. Akses ke sistem file pada dasarnya bergantung pada bagaimana protokol tertentu dirancang untuk bekerja pada sistem file yang sama.

Apa itu GlusterFS?

GlusterFS adalah sistem file terdistribusi yang ditetapkan untuk digunakan di ruang pengguna, yaitu Sistem File di Ruang Pengguna (FUSE). Ini adalah sistem file berbasis perangkat lunak yang memperhitungkan fitur fleksibilitasnya sendiri.

Lihatlah gambar berikut yang secara skematis mewakili posisi GlusterFS dalam model hierarki. Secara default protokol TCP akan digunakan oleh GlusterFS.

Keuntungan dari GlusterFS

  1. Inovasi – Ini menghilangkan metadata dan secara drastis dapat meningkatkan kinerja yang akan membantu kita menyatukan data dan objek.
  2. Elastisitas – Disesuaikan dengan pertumbuhan dan pengurangan ukuran data.
  3. Skala Linear – Tersedia hingga petabyte dan lebih.
  4. Kesederhanaan – Mudah dikelola dan tidak bergantung pada kernel saat dijalankan di ruang pengguna.

Apa yang membuat Gluster unggul di antara sistem file terdistribusi lainnya?

  1. Dapat Dijual – Tidak adanya server metadata menyediakan sistem file yang lebih cepat.
  2. Terjangkau – Dapat diterapkan pada perangkat keras komoditas.
  3. Fleksibel – Seperti yang saya katakan sebelumnya, GlusterFS adalah sistem file khusus perangkat lunak. Di sini data disimpan pada sistem file asli seperti ext4, xfs dll.
  4. Sumber Terbuka – Saat ini GlusterFS dikelola oleh Red Hat Inc, perusahaan sumber terbuka bernilai miliaran dolar, sebagai bagian dari Red Hat Storage.

Konsep penyimpanan di GlusterFS

  1. Brick – Brick pada dasarnya adalah direktori apa pun yang dimaksudkan untuk dibagikan di antara kumpulan penyimpanan tepercaya.
  2. Kumpulan Penyimpanan Tepercaya – adalah kumpulan file/direktori bersama ini, yang didasarkan pada protokol yang dirancang.
  3. Block Storage – Ini adalah perangkat yang digunakan untuk memindahkan data ke seluruh sistem dalam bentuk blok.
  4. Kluster – Di Red Hat Storage, baik klaster maupun kumpulan penyimpanan tepercaya menyampaikan arti yang sama yaitu kolaborasi server penyimpanan berdasarkan protokol yang ditentukan.
  5. Sistem File Terdistribusi – Sistem file yang datanya tersebar di berbagai node sehingga pengguna dapat mengakses file tanpa mengetahui lokasi sebenarnya dari file tersebut. Pengguna tidak merasakan sensasi akses jarak jauh.
  6. FUSE – Ini adalah modul kernel yang dapat dimuat yang memungkinkan pengguna membuat sistem file di atas kernel tanpa melibatkan kode kernel apa pun.
  7. glusterd – glusterd adalah daemon manajemen GlusterFS yang merupakan tulang punggung sistem file yang akan berjalan sepanjang waktu setiap kali server dalam keadaan aktif.
  8. POSIX – Portable Operating System Interface (POSIX) adalah keluarga standar yang ditetapkan oleh IEEE sebagai solusi kompatibilitas antar varian Unix dalam bentuk Application Programmable Interface (API).
  9. RAID – Redundant Array of Independent Disks (RAID) adalah teknologi yang meningkatkan keandalan penyimpanan melalui redundansi.
  10. Subvolume – Sebuah batu bata setelah diproses oleh setidaknya satu penerjemah.
  11. Penerjemah – Penerjemah adalah bagian kode yang melakukan tindakan dasar yang dimulai oleh pengguna dari titik pemasangan. Ini menghubungkan satu atau lebih sub volume.
  12. Volume – Volume adalah kumpulan batu bata yang logis. Semua operasi didasarkan pada berbagai jenis volume yang dibuat oleh pengguna.
Berbagai Jenis Volume

Representasi berbagai jenis volume dan kombinasi di antara jenis volume dasar ini juga diperbolehkan seperti yang ditunjukkan di bawah ini.

Volume Replikasi Terdistribusi

Representasi volume yang direplikasi terdistribusi.

Instalasi GlusterFS di RHEL/CentOS dan Fedora

Pada artikel ini, kami akan menginstal dan mengkonfigurasi GlusterFS untuk pertama kalinya untuk ketersediaan penyimpanan yang tinggi. Untuk ini, kami menggunakan dua server untuk membuat volume dan mereplikasi data di antara keduanya.

Langkah :1 Miliki setidaknya dua node

  1. Instal CentOS 6.5 (atau OS lainnya) pada dua node.
  2. Tetapkan nama host dengan nama “server1” dan “server2“.
  3. Koneksi jaringan yang berfungsi.
  4. Disk penyimpanan pada kedua node bernama “/data/brick“.

Langkah 2: Aktifkan Repositori EPEL dan GlusterFS

Sebelum Menginstal GlusterFS di kedua server, kita perlu mengaktifkan repositori EPEL dan GlusterFS untuk memenuhi ketergantungan eksternal. Gunakan tautan berikut untuk menginstal dan mengaktifkan repositori epel di kedua sistem.

  1. Cara Mengaktifkan Repositori EPEL di RHEL/CentOS

Selanjutnya, kita perlu mengaktifkan repositori GlusterFs di kedua server.

wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

Langkah 3: Menginstal GlusterFS

Instal perangkat lunak di kedua server.

yum install glusterfs-server

Mulai daemon manajemen GlusterFS.

service glusterd start

Sekarang periksa status daemon.

service glusterd status
Contoh Keluaran
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

Langkah 4: Konfigurasi SELinux dan iptables

Buka '/etc/sysconfig/selinux' dan ubah SELinux ke mode “permisif ” atau “disabled ” di kedua server. Simpan dan tutup file.

This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
    enforcing - SELinux security policy is enforced.
    permissive - SELinux prints warnings instead of enforcing.
    disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
    targeted - Targeted processes are protected,
    mls - Multi Level Security protection.
SELINUXTYPE=targeted

Selanjutnya, bersihkan iptables di kedua node atau perlu mengizinkan akses ke node lain melalui iptables.

iptables -F

Langkah 5: Konfigurasikan Kumpulan Tepercaya

Jalankan perintah berikut di 'Server1'.

gluster peer probe server2

Jalankan perintah berikut di 'Server2'.

gluster peer probe server1

Catatan: Setelah kumpulan ini terhubung, hanya pengguna tepercaya yang dapat menyelidiki server baru ke dalam kumpulan ini.

Langkah 6: Siapkan Volume GlusterFS

Pada server1 dan server2.

mkdir /data/brick/gv0

Buat volume Di server mana pun dan mulai volume. Di sini, saya telah menggunakan 'Server1'.

gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
gluster volume start gv0

Selanjutnya, konfirmasikan status volume.

gluster volume info

Catatan: Jika volume tidak dimulai, pesan kesalahan dicatat di bawah '/var/log/glusterfs' pada satu atau kedua server.

Langkah 7: Verifikasi Volume GlusterFS

Pasang volume ke direktori di bawah '/mnt'.

mount -t glusterfs server1:/gv0 /mnt

Sekarang Anda dapat membuat, mengedit file pada titik mount sebagai satu tampilan sistem file.

Fitur GlusterFS

  1. Self-heal – Jika salah satu brick dalam volume yang direplikasi tidak aktif dan pengguna memodifikasi file di dalam brick lainnya, daemon pemulihan mandiri otomatis akan beraksi segera setelah brick tersebut dipasang berikutnya waktu dan transaksi yang terjadi selama waktu henti disinkronkan.
  2. Penyeimbangan ulang – Jika kita menambahkan blok baru ke volume yang sudah ada, yang sebelumnya berisi sejumlah besar data, kita dapat melakukan operasi penyeimbangan ulang untuk mendistribusikan data di antara semua blok termasuk blok yang baru ditambahkan.
  3. Replikasi geografis – Menyediakan cadangan data untuk pemulihan bencana. Inilah konsep volume master dan slave. Sehingga jika master sedang down seluruh datanya bisa diakses melalui slave. Fitur ini digunakan untuk menyinkronkan data antar server yang terpisah secara geografis. Menginisialisasi sesi replikasi geografis memerlukan serangkaian perintah gluster.

Berikut adalah tangkapan layar berikut yang memperlihatkan modul Geo-replikasi.

Tautan Referensi

Beranda GlusterFS

Itu saja untuk saat ini!. Tetap perbarui untuk penjelasan rinci tentang fitur-fitur seperti Self-heal dan Re-balance, Geo-replication, dll di artikel saya yang akan datang.