一、glusterFS 簡介
glusterFS是一個開源的,scale-out的分佈式文件系統。官網:http://www.gluster.org 可能會很卡,最好弄個代理
scale-out與sacle-up架構:
scale-out:通過增加服務器的數量,以及優秀的負載均衡策略才提高服務器的性能。
scale-up :通過提高服務器的質量,如增加處理器,硬盤,內存等等手段,來提高服務器的性能。
二、glusterFS安裝
我用的電腦是ubuntu 14.04版本,直接apt-get install glusterfs-sever 就可以。但是安裝的不是最新版,所以採用了官網針對ubuntu用戶PPA的方法。
<span style="white-space:pre"> </span>sudo add-apt-repository ppa:semiosis/ubuntu-glusterfs-3.5
sudo apt-get update
sudo apt-get install glusterfs-server
這樣既可以安裝最新版的glusterfs了,我的版本是3.5.1
三、搭建集羣環境
一共有兩臺機器,IP分別爲:172.16.70.36 以及 172.16.70.175
3.1 準備工作:
機器172.16.70.36上:
新建/export/sdb1/目錄,然後將目錄掛載到隨便一塊硬盤分區上(使用mount命令),我是掛載到了/dev/sda2下面
sudo mount /dev/sda2 /export/sdb1/
然後進入到目錄/export/sdb1新建目錄brick2,新建文件file1。
機器172.16.70.36上:
新建/export/sdb1/目錄,然後將目錄掛載到隨便一塊硬盤分區上(使用mount命令),我是掛載到了/dev/sda2下面
sudo mount /dev/sda2 /export/sdb1/
然後進入到目錄/export/sdb1新建目錄brick1,新建文件file2。
3.2 搭建分佈式的volume
glusterFS支持很多類型的volume,這裏我們搭建一個最簡單的distrubuted volume。
上面的結構圖來自官方的文檔。這裏我們只不過是換了點brick的名字
以下所有操作無特殊說明均在172.16.70.36上執行,並關閉兩臺機器的防火牆
1. 首先我們新建一個trusted pool: 這是一些host的集合,在我們的例子裏就是172.16.70.36 與 172.16.70.175兩個主機的集合。
gluster peer probe 172.16.70.175
執行完畢後,到172.16.70.175上運行gluster peer status可以看到
Number of Peers: 1
Hostname: 172.16.70.36
Uuid: f2b0aec8-5454-4c95-9fe8-25bb23f2a376
State: Peer in Cluster (Connected)
說明我們的trusted pool建立成功
2. 下面我們利用之前在每一個機器上建立的brick來進行gluster volume的創建
sudo gluster volume create test-volume 172.16.70.36:/export/sdb1/brick2/ 172.16.70.175:/export/sdb1/brick1/
執行sudo gluster volume info 可以看到執行成功的信息。
3. 下面只需要將test-volume掛載到36機器上就可以使用了
在/mnt目錄下新建目錄glusterfs
然後將test-volume掛載到這個目錄上
sudo mount -t glusterfs 172.16.70.36:/test-volume /mnt/glusterfs/
然後進入到/mnt/glusterfs目錄就可以看到file1 以及 file2了,大功告成。
四、概念說明
我比較喜歡先實踐,後理論,這樣可能更有樂趣吧 個人覺的。
1. a trusted pool:上面已經說過,是一個後端host的集合,所有的glusterfs都在這個集合上進行操作
2. a node or a "server":指的是trusted pool 的一部分,不一定是一個host哦
3. a brick 對應上面的一個目錄,具有文件系統的目錄,glusterfs中brick跟文件系統是對應的,其餘的概念都是不基於文件系統的
4. an export 是指一個server的一個或一些brick的路徑
5. a gluster volume: 是brick的集合。 個人理解這個概念就是gluster的硬盤。
五、參考
1 http://www.gluster.org/documentation/Getting_started_common_criteria/
2. Gluster_File_System-3.3.0-Administration_Guide-en-US.pdf 文檔