搭建GlusterFS集群-Distributed Volumes

来源:互联网 发布:文章标签数据库设计 编辑:程序博客网 时间:2024/05/18 05:03
在你配置glusterfs的volume之前,你需要先创建一个由存储服务器组成的可以信任的存储池,glusterfs服务必须运行在每一台加入存储池的服务器上。

    加入一台服务器到可信任存储池

    命令:gluster peer probe server-name

    在GlusterFS-Server1上加入两台服务器到存储池中,在GlusterFS-Server1上不需要设置加入自己,只需要设置要加入进来的服务器。在加入进来的服务器上会看到GlusterFS-Server1的。

 
1gluster peer probe GlusterFS-Server2
2gluster peer probe GlusterFS-Server3

    如下图:

    检查加入可信任存储池中的服务器状态

    命令:gluster peer status

 

1gluster peer status

    如下图:

    从存储池中移除一台服务器

    命令:gluster peer detach server

1gluster peer detach GlusterFS-Server3

    如图:

创建glusterfs的volume,volume是bricks的逻辑集合,每一个bricks都是在信任的存储池中服务器上导出的目录,当创建volume的时候,你必须指定volume由那些bricks组成。

 

创建一个新volume

    命令:gluster volume create NEW-VOLNAME [stripe COUNT | replica COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK1 NEW-BRICK2 NEW-BRICK3

    在GlusterFS中有五中类型的volume可以被创建:

    Distributed:分布式卷,文件通过hash算法随机的分布到由bricks组成的卷上。

    Replicated:复制式卷,类似raid1,replica数必须等于volume中brick所包含的存储服务器数,可用性高。

 

  Striped:条带式卷,类似与raid0,stripe数必须等于volume中brick所包含的存储服务器数,文件被分成数据块,以Round Robin的方式存储在bricks中,并发粒度是数据块,大文件性能好。

    Distributed Striped:分布式的条带卷,volume中brick所包含的存储服务器数必须是stripe的倍数(>=2倍),兼顾分布式和条带式的功能。

    Distributed Replicated:分布式的复制卷,volume中brick所包含的存储服务器数必须是 replica 的倍数(>=2倍),兼顾分布式和复制式的功能。

 

下面开始构建Distributed Volumes

      只需要在volume中的一台存储服务器上操作,我们选择在GlusterFS-Server1上操作

      分布式的卷把文件分布的存放在整个卷的bricks中,分布式卷一般用于扩展存储或者数据冗余要求不高的地方,但是如果存储服务器或者磁盘故障,分布式的卷会导致严重的数据丢失。文件在分布式卷中是随机存放的,默认使用tcp协议。

     创建一个分布式的卷,包含GlusterFS-Server1:/opt/Server1、GlusterFS-Server2:/opt/Server2、GlusterFS-Server3:/opt/Server3等目录。

 
1gluster volume create test-volume GlusterFS-Server1:/opt/Server1 GlusterFS-Server2:/opt/Server2 GlusterFS-Server3:/opt/Server3

    如图:

    查看创建的卷的信息

    命令:gluster volume info

 
1gluster volume info

    如图:可以看到在GlusterFS-Server2/GlusterFS-Server3中可以看到相同的信息

    在创建完volume之后,就该启动创建的卷了:

    启动volumes

    命令:gluster volume start volume-name

    也可以在卷中的其他存储机器上启动卷,我们在GlusterFS-Server3上启动test-volume

 
1gluster volume start test-volume

     如图:

设置glusterfs客户端 访问数据

       glusterfs提供了三种方式访问存储服务器的数据:

       Gluster Native Client:这种方式提供了高并发、高性能、高传输速率的方式。

       NFS:可以使用NFS V3版本访问数据,你需要在客户端和服务端安装 nfs-common软件包。

       CIFS:在windows下使用,类似与samba,samab客户端须在客户端安装。

客户端其实和服务端一样,服务端既可以做服务端也可以做客户端,都需要fuse,检查fuse模块是否被加载:

 
1dmesg | grep-i fuse

     手动挂载卷

           在命令行指定的存储挂载服务器是用来获取gluster的卷配置文件的,随后客户端会直接和配置文件中提到的服务器进行通讯。所以只要是卷中的服务器都可以挂载。

          挂载test-volume卷到/mnt目录:

 
1mount -t glusterfs GlusterFS-Server1:/test-volume /mnt

          如图:

     在客户端的/mnt目录建一批测试文件:

 
1cd /mnt
2touch test{1,2,3,4,5,6,7,8,9}

      如图:

      然后观察存储服务端文件的分布情况 因为我挂载的是分布式卷,文件在卷中是随机存放的,所以可以看到是无规律的。

 

 

原创粉丝点击