glusterFS 分佈式文件系統初探

一、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 文檔

發佈了20 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章