GlusterFS Centos Native istemci Kurulumu

Daha önceki makelemizde

GlusterFS Cluster’ını kurmuştuk. Şimdi sıra geldi cluster’ımızda yer alan depolama birimlerimize dışarıdan erişmeye. Bu makelede Centos 7 Minimal kurulu bir sistemde GlusterFS birimlerini nasıl bağlayabileceğimizi göreceğiz.

GlusterFS’e native istemci ya da NFS v3 üzerinden erişim olmak üzere iki şekilde istemciler tarafında kullanılabilir. Bu iki yöntemde Native client önemli bir performans avantajına sahiptir ve tavsiye edilen yöntemdir. Aşağıdaki adımlar takip edilerek GlusterFS native istemci kurulumu yapılabilir.

Kuruluma başlarken öncelikle işletim sisteminde FUSE modülün yüklü olup olmadığı kontrol edilmelidir;

dmesg | grep -i fuse

Bu komut için aşağıdakine benzer bir çıktı alınması durumunda FUSE modülü sistemde kuruludur;

fuse init (API version 7.13)

Bu çıktı alınmaması durumunda aşağıdaki şekilde FUSE loadable kernel modülü (LKM) yüklenir;

modprobe fuse

fuse-init

fuse modünün restartlar sonrası da aktik olması sağlanır;

echo fuse >> /etc/modules-load.d/fuse.conf

Fuse LKM kontrolü/yüklemesi sonrasında aşağıdaki komutla ön gereksinimler kurulur;

sudo yum -y install openssh-server wget fuse fuse-libs openib libibverbs

GlusterFS TCP/UDP 24007 ve 24008 portlarının tüm Gluster sunucularına açık olmasını bekler. Buna ek; olarak her bir brick için 49152’de başlayarak bir portun açık olmasını gerekmektedir.

Örneğin; 5 brick bulunuyorsa 49152-49156 arası portların açık olması gerekmektedir.

Bu duruma istinaden, Iptables’ın aktif olması durumunda aşağıdaki komutlarla gerekli istisna tanımları yapılır;

sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24008 -j ACCEPT
sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 49152:49156 -j ACCEPT

Gluster download sayfasından indirilen glusterfs, glusterfs-fuse, and glusterfs-rdma RPM paketleri kurulur. Örneğin;

sudo rpm -i glusterfs-3.8.5-1.x86_64
sudo rpm -i glusterfs-fuse-3.8.5-1.x86_64
sudo rpm -i glusterfs-rdma-3.8.5-1.x86_64

Not: RMDA modülü sadece Infiniband kullanımlarında gerekmektedir.

Volume’leri Bağlama

Kurulumlar sonrasında elle ya da otomatik olarak volume’lerin sisteme bağlayarak kurulumu test edebilirsiniz.

Volume’leri Elle Bağlama

Daha önceden oluşturulmuş bir volume’ü elle bağlamak için aşağıdaki komut kullanılabilir;

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

Örneğin;

mount -t glusterfs server1:/test-volume /mnt/glusterfs

Not: Bu komutunda çalışması sırasında “Usage: mount.glusterfs” mesajı almanız durumunda mount point oluşturmadığınız anlaşılmalıdır. Bu durumda öncelikle aşağıdaki komut çalıştırılmalıdır;

mkdir /mnt/glusterfs

Mount işleminde virgülle ayrılmış şekilde aşağıdaki parametreler verilebilir;

backupvolfile-server=Yedek Volfile sunucu adı
volfile-max-fetch-attempts=deneme sayısı
log-level=Log seviyesi
log-file=Log Dosyası
transport=Transport Türü
direct-io-mode=[enable|disable]
use-readdirp=[yes|no]

Örneğin;

mount -t glusterfs -o backupvolfile-server=volfile_server2,use-readdirp=no,volfile-max-fetch-attempts=2,log-level=WARNING,log-file=/var/log/gluster.log server1:/test-volume /mnt/glusterfs

Volume’leri Otomatik Bağlama

Bu seçenekle sistemin her yeniden başlatma sonrasında volume’leri otomatik bağlaması sağlanabilir. Bunun için /etc/fstab dosyasına aşağıdaki formatta bir girdi eklenmelidir;

HOSTNAME-YA_DA-IPADRES:/VOLNAME MOUNTDIR glusterfs defaults,_netdev 0 0

Örneğin;

server1:/test-volume /mnt/glusterfs glusterfs defaults,_netdev 0 0

Elle volume ekleme yöntemine benzer olarak otomatik eklemede de aşağıdaki parametreler kullanılabilir;

log-level=Log Seviyesi
log-file=Log Dosyası
transport=Transport Türü
direct-io-mode=[enable|disable]
use-readdirp=no

örneğin;

HOSTNAME-YA_DA-IPADRES:/VOLNAME MOUNTDIR glusterfs defaults,_netdev,log-level=WARNING,log-file=/var/log/gluster.log 0 0

Kontrol

Mount İşlemi aşağıdaki komutlarla kontrol edilebilir;

mount

başarılı işlemler ardından komut çıktısında aşağıdakine benzer bir çıktı görülecektir;

server1:/test-volume on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072

df komutu ile kontrol yapılabilir. Örneğin;

# df -h /mnt/glusterfs
Filesystem               Size Used Avail Use% Mounted on
server1:/test-volume     28T 22T 5.4T 82% /mnt/glusterfs

Fatih Boy

Ankara'da yaşayan Fatih, kendi şirketinde özellikle bankacılık, sigortacılık ve otomotiv sektörlerinde IT danışmanlıkları vermektedir. Devops, ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.