Özet
Bu yazıda Ubuntu üzerine GlusterFS ile bir replicated volume’ün 2 node üzerine nasıl kurulacağını anlatmaya çalışacağım. Hemen hemen tüm Debian based sistemlerde benzer şekilde kurulum yapılabileceği gibi Redhat based sistemlerde de yapı çok farklı değildir. Sadece kullanılan paket yöneticileri farklı olacaktır.
GlusterFS nedir?
GlusterFS aslen Gluster firması tarafından geliştirilmiş 2011 yılında da Redhat tarafından satın alınmış bir çeşit NAS (network-attached storage) dosya sistemidir. GNU GPL lisanslı bir üründür ve bilindiği kadarıyla enterprise seviyede dahi birçok firma tarafından kullanılmaktadır. Hali hazırda iyi işler yapabilen bir sistemken bir de Redhat tarafından satın alınıp geliştirilmesine devam edilmesi ve yine büyük firmalar tarafından da desteklenmesi sebebiyle günden güne daha stabil, daha hızlı, daha güvenli ve daha kullanışlı olmuştur. Yaklaşık 3 yıldır aktif olarak kullandığım bir sistem olduğu için gelişimine bizzat tanıklık etmiş olduğumu söyleyebilirim. Gerek doküman bulma gerek IRC vb. platformlarda destek alma konusunda herhangi bir sıkıntı yaşamadım. Kadim dostum Alper Yalçıner sayesinde uzun yıllardır kullandığım freeNode serverlarında ben daha önce böyle organize bir ekip görmedim. Düzenli toplantılar, sürekli bug ayıklamalar vs. vs.. Uzun lafın kısası GlusterFS enterprise seviyede bir storage sistemi ve ücretsiz…
Tanımlar
Bu yazıda kullanılan bazı kısaltmaların karşılığı şu şekilde olacaktır;
Ubuntu : Ubuntu 14.04.3 LTS
GlusterFS : glusterfs-3.7
server1 : server1.fikridal.com : 192.168.1.1
server2 : server2.fikridal.com : 192.168.1.2
Paket Kurulumu
Server1 ve Server2’de aşağıdaki komutları çalıştırınız;
add-apt-repository ppa:gluster/glusterfs-3.7 apt-get update apt-get install glusterfs-server
Gluster repolarını sistemimize ekledik ve paketlistemizi güncelledik. Daha sonra glusterfs-server paketini sistemimize kurduk. Bu adımları her iki serverda da uygulamalısınız. Eğer ikiden fazla node üzerinde çalıştırmak istiyorsanız tüm sunucularınıza bu paket kurulumunu yapmalısınız.
Kurulum işleminden sonra yapılması gereken ilk adım sunuculara birbirini tanıtmaktır. Bunun için server1’de aşağıdaki komutu çalıştırınız;
gluster peer probe server2.fikridal.com
bu komutu sadece server1’de çalıştırmış olmanız yeterlidir. İşin özünde clusterınızda yer alan herhangi bir serverdan bir diğerini eklemek yeterlidir.
Probe successful
Çalıştırdığınız komutun çıktısı yukarıdaki gibi olmalıdır. Sonuçlarını görmek için şu komutu çalıştırmalıyız;
gluster peer status
ve çıktısı;
Number of Peers: 1
Hostname: server2.fikridal.com
Uuid: a0566de2-3b34-6d2f-644f-29ec767080dd State: Peer in Cluster (Connected)
şeklinde olmalıdır. Artık clusterımızı oluşturduğumuza göre Volume oluşturmalıyız ve datanın nerede tutulacağını göstermeliyiz.
gluster volume create cluster replica 2 transport tcp server1.fikridal.com:/mnt/cluster server2.fikridal.com:/mnt/cluster
Yukarıdaki komutla birlikte cluster isminde bir gluster volume yarattık ve node olarak server1 ve server2 adreslerini verdik, datanın tutulacağı dizin olarakta /mnt/cluster pathini belirttik ve replica parametresi ile bu volume’ün iki sunucuda birer replika halinde olacağını belirttik.
Creation of volume cluster has been successful. Please start the volume to access data.
cluster isimli volume hazır, şimdi datalarımıza erişmek için volume’ü start etmeliyiz;
gluster volume start cluster
Bu komuttan sonra volume’ün start olduğuna dair şu çıktıyı almalıyız;
Starting volume cluster has been successful
Şimdi oluşturduğumuz volume’ün bilgilerine ve durumuna bakalım;
gluster volume info cluster
Volume Name: cluster
Type: Replicate
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: server1.fikridal.com:/mnt/cluster
Brick2: server2.fikridal.com:/mnt/cluster
Yukarıdaki bilgiler Gluster volume’e ait detaylardır, volume üzerinde yapacağınız tüm değişiklikleri, opsiyonları bu komut ile görebilirsiniz.
Durum bilgisi almak için çalıştıracağınız komut ise;
gluster vol status cluster
Yukarıdaki komutu çalıştırdığınızda aldığınız çıktıda tüm briklerin birer port (4915x) alıp up (Y)olduğuna dikkat etmeniz yeterli olacaktır.
Status of volume: cluster
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick 192.168.1.1:/mnt/cluster 49155 0 Y 24628
Brick 192.168.1.2:/mnt/cluster 49155 0 Y 9544
NFS Server on localhost 2049 0 Y 24592
Self-heal Daemon on localhost N/A N/A Y 24604
NFS Server on 192.168.1.1 2049 0 Y 8839
Self-heal Daemon on 192.168.1.1 N/A N/A Y 9529
Task Status of Volume cluster
——————————————————————————
There are no active volume tasks
Şimdi herhangi bir node üzerinde bir test dosyası oluşturabiliriz.
root@server1:~# echo "merhaba gluster" > /mnt/cluster/test.txt
ve diğer serverda dosyamızı görelim;
root@server2:~# cat /mnt/cluster/test.txt
merhaba gluster
Tebrikler artık kendinize ait bir storage sisteminiz var.
GlusterFS hakkında detaylı bilgi almak için aşağıdaki linkleri kullanabilirsiniz;
https://en.wikipedia.org/wiki/GlusterFS
Fikri DAL
No responses yet