Glusterfs初體驗

環境:

Centos 6.0-x86_64

集羣使用三臺服務器組成Glusterfs集羣,其中兩臺服務器提供NFS和Rsync服務用於備份

每臺服務器2塊網卡eth0對應內網、eth1對應外網,

Glusterfs簡介:

GlusterFS是Scale-Out存儲解決方案Gluster的核心,它是一個開源的分佈式文件系統,具有強大的橫向擴展能力,通過擴展能夠支持數PB存儲容量和處理數千客戶端。GlusterFS藉助TCP/IP或InfiniBand RDMA網絡將物理分佈的存儲資源聚集在一起,使用單一全局命名空間來管理數據。GlusterFS基於可堆疊的用戶空間設計,可爲各種不同的數據負載提供優異的性能。Glusterfs的主要特徵包括:高擴展性和高性能、高可用性、全局統一命名空間、彈性哈希算法、彈性卷管理、基於標準協議,技術實現特點包括:完全軟件實現、完整的存儲操作系統棧、用戶空間實現、模塊化堆棧式架構、原始數據格式存儲、無元數據服務設計。

Glusterfs常用卷類型如下:

哈希卷:類似於將多個文件系統組成一個卷,存儲文件是以輪詢方式進行的。

複製卷:爲卷中數據自動創建副本。

條帶卷:類似於raid0,將數據存儲在集羣中的多個成員服務器上。

哈希+複製卷:先創建哈希再用哈希卷創建複製卷。

安裝方法:

Glusterfs的安裝很簡單,可以選擇編譯安裝或者rpm包安裝,此處爲了方便就選擇rpm包安裝了

  1. 首先安裝依賴包(使用163源):

    yum -y install rpcbind libaio lvm2-devel openssl libibverbs librdmacm

  2. 安裝Glusterfs

    glusterfs-3.4.2-1.el6.x86_64.rpm           

    glusterfs-cli-3.4.2-1.el6.x86_64.rpm       

    glusterfs-fuse-3.4.2-1.el6.x86_64.rpm            

    glusterfs-rdma-3.4.2-1.el6.x86_64.rpm
    glusterfs-api-3.4.2-1.el6.x86_64.rpm       

    glusterfs-debuginfo-3.4.2-1.el6.x86_64.rpm 

    glusterfs-geo-replication-3.4.2-1.el6.x86_64.rpm 

    glusterfs-server-3.4.2-1.el6.x86_64.rpm
    glusterfs-api-devel-3.4.2-1.el6.x86_64.rpm 

    glusterfs-devel-3.4.2-1.el6.x86_64.rpm     

    glusterfs-libs-3.4.2-1.el6.x86_64.rpm

    這些包都是在官網下載的,依賴包安裝完以後可以直接使用rpm -ivh * 安裝,安裝完以後設置服務開機自啓動chkconfig glusterd on

  3. 下面來演示創建集羣、創建卷、使用系統NFS訪問、使用原生NFS訪問:

    創建集羣:

        gluster peer probe 其他服務器地址(自己不需要添加)添加集羣成員

[root@localhost 3.4]# gluster peer probe 192.168.1.2
peer probe: success: host 192.168.1.2 port 24007 already in peer list
[root@localhost 3.4]# gluster peer probe 192.168.1.3
peer probe: success: host 192.168.1.3 port 24007 already in peer list

        gluster peer status 查看集羣狀態

[root@localhost 3.4]# gluster peer status
Number of Peers: 2

Hostname: 192.168.1.2
Port: 24007
Uuid: 35eb06f8-24da-43d9-96e5-75c6a203f858
State: Peer in Cluster (Connected)

Hostname: 192.168.1.3
Port: 24007
Uuid: efe5836a-555e-4c24-ba76-4b3602d0f15c
State: Peer in Cluster (Connected)

創建卷:

首先來看看卷管理的常用命令:

創建卷幫助

        gluster volume create help 

查看卷信息:

        gluster volume info

查看卷狀態:

        gluster volume status

創建卷:

         volume create <NEW-VOLNAME> [stripe <COUNT>] [replica <COUNT>] [device vg] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK> ... [force]

啓動卷:

         gluster volume start volumename

停止卷:

         gluster volume stop volumename

下面舉例:

        gluster volume create jerryafr replica 2 192.168.1.1:/glust/er/afr 192.168.1.2:/gluster/abr

        這條命令的目的是使用1.1上的/gluster/afr和1.2上的/gluster/abr創建一個名爲jerryafr的備份卷,需要注意的是如果這兩個brick在你的os parttion上那你還要再後面加上 force 否則會報錯

        啓動卷:

        gluster volume start jerryafr

啓動起來後我們可以mount測試一下:

         mount -t glusterfs192.168.1.1:/jerryafr /media

        上面這種方法是基於fuse實現的,glusterfs當然不會只能這麼玩,還可以支持NFS,NFS又分兩種原生NFS和系統NFS。

        使用原生NFS掛載:mount -t nfs -o vers=3 192.168.1.1:/jerryafr /media

        使用此種方法要確保服務端rpcbind要打開並且要注意系統NFS不能啓動 

       使用系統NFS掛載:

       首先把卷使用glusterfs方法掛載到某個目錄

       mount -t glusterfs 192.168.1.1:/jerryafr /media

       然後修改/etc/exports文件

       例子:/media   *(rw,fsid=1235)

       然後停掉原生NFS:gluster volume set jerryafr nfs.disable on

       最後再啓動系統NFS服務即可

 

        

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章