glusterFS 分布式文件系统初探

来源:互联网 发布:js 图片跨域 编辑:程序博客网 时间:2024/04/28 15:45

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

0 0
原创粉丝点击