分布式文件体系--------GlusterFS最佳实战51CTO博客 - 亚美娱乐

分布式文件体系--------GlusterFS最佳实战51CTO博客

2019-03-06 09:59:54 | 作者: 飞双 | 标签: 创立,数据,装置 | 浏览: 2335

1. 布景

    GlusterFS 是一个开源的散布式文件体系,具有强壮的横向扩展才能,经过扩展可以支撑数PB存储容量和处理数千客户端。GlusterFS凭借TCP/IP或InfiniBand RDMA(一种支撑多并发链接的“转化线缆”技能)网络将物理散布的存储资源集合在一起,运用单一大局命名空间来办理数据。GlusterFS根据可堆叠的用户空间规划,可为各种不同的数据负载供给优异的功能。

      GlusterFS支撑运转在任何规范IP网络上规范使用程序的规范客户端


2. 优势

 * 线性横向扩展和高功能

  * 高可用性

  * 大局一致命名空间

  * 弹性哈希算法和弹性卷办理

  * 根据规范协议

  * 彻底软件完成(Software Only)

  * 用户空间完成(User Space)

  * 模块化仓库式架构(Modular Stackable Architecture)

  * 原始数据格式存储(Data Stored in Native Formats)

  * 无元数据效劳规划(No Metadata with the Elastic Hash Algorithm)


3. 环境

      server_1   CentOS 7.2.1511 (Core)  192.168.60.201

      server_2   CentOS 7.2.1511 (Core)  192.168.60.202


4. 装置

   * server_1 装置centos-release-gluster

[root@server_1 ~]# yum install centos-release-gluster -y


   * server_1 装置 glusterfs-server

[root@server_1 ~]# yum install glusterfs-server -y

   * server_1 发动 glusterfs-server 效劳

[root@server_1 ~]# systemctl start glusterd


   * server_2 装置centos-release-gluster

[root@server_2 ~]# yum install centos-release-gluster -y


   * server_2 装置 glusterfs-server

[root@server_2 ~]# yum install glusterfs-server -y


   * server_2 发动 glusterfs-server 效劳

[root@server_2 ~]# systemctl start glusterd

   


5. 树立信赖池 [ 信赖单向树立即可 ]

   * server_1 对 server_2 树立信赖

[root@server_1 ~]# gluster peer probe 192.168.60.202
peer probe: success.


 * 检查信赖池树立状况

[root@server_1 ~]# gluster peer status
Number of Peers: 1

Hostname: 192.168.60.202
Uuid: 84d98fd8-4500-46d3-9d67-8bafacb5898b
State: Peer in Cluster (Connected)

[root@server_2 ~]# gluster peer status
Number of Peers: 1

Hostname: 192.168.60.201
Uuid: 20722daf-35c4-422c-99ff-6b0a41d07eb4
State: Peer in Cluster (Connected)

 

6. 创立散布式卷 

   * server_1 和 server_2 创立数据寄存目录

[root@server_1 ~]# mkdir -p /data/exp1
[root@server_2 ~]# mkdir -p /data/exp2


  * 运用指令创立散布式卷,命名为test-volume

[root@server_1 ~]# gluster volume create test-volume 192.168.60.201:/data/exp1 192.168.60.202:/data/exp2 force
volume create: test-volume: success: please start the volume to access data


  * 检查卷信息

[root@server_1 ~]# gluster volume info test-volume
 
Volume Name: test-volume
Type: Distribute
Volume ID: 457ca1ff-ac55-4d59-b827-fb80fc0f4184
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: 192.168.60.201:/data/exp1
Brick2: 192.168.60.202:/data/exp2
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

[root@server_2 ~]# gluster volume info test-volume
 
Volume Name: test-volume
Type: Distribute
Volume ID: 457ca1ff-ac55-4d59-b827-fb80fc0f4184
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: 192.168.60.201:/data/exp1
Brick2: 192.168.60.202:/data/exp2
Options Reconfigured:
transport.address-family: inet
nfs.disable: on


  * 发动卷

[root@server_1 ~]# gluster volume start test-volume
volume start: test-volume: success



7. 创立仿制卷  [ 比照Raid 1 ]

   * server_1 和 server_2 创立数据寄存目录

[root@server_1 ~]# mkdir -p /data/exp3
[root@server_2 ~]# mkdir -p /data/exp4


   * 运用指令创立仿制卷,命名为repl-volume

[root@server_1 ~]# gluster volume create repl-volume replica 2 transport tcp 192.168.60.201:/data/exp3 192.168.60.202:/data/exp4 force
volume create: repl-volume: success: please start the volume to access data


   * 检查卷信息

[root@server_1 ~]# gluster volume info repl-volume
 
Volume Name: repl-volume
Type: Replicate
Volume ID: 1924ed7b-73d4-45a9-af6d-fd19abb384cd
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 192.168.60.201:/data/exp3
Brick2: 192.168.60.202:/data/exp4
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

[root@server_2 ~]# gluster volume info repl-volume
 
Volume Name: repl-volume
Type: Replicate
Volume ID: 1924ed7b-73d4-45a9-af6d-fd19abb384cd
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 192.168.60.201:/data/exp3
Brick2: 192.168.60.202:/data/exp4
Options Reconfigured:
transport.address-family: inet
nfs.disable: on


  * 发动卷

[root@server_1 ~]# gluster volume start repl-volume
volume start: repl-volume: success


8. 创立条带卷  [ 比照Raid 0 ]

   * server_1 和 server_2 创立数据寄存目录

[root@server_1 ~]# mkdir -p /data/exp5
[root@server_2 ~]# mkdir -p /data/exp6


   * 运用指令创立仿制卷,命名为raid0-volume

[root@server_1 ~]# gluster volume create raid0-volume stripe 2 transport tcp 192.168.60.201:/data/exp5 192.168.60.202:/data/exp6 force
volume create: raid0-volume: success: please start the volume to access data


     *  检查卷信息

[root@server_1 ~]# gluster volume info raid0-volume
 
Volume Name: raid0-volume
Type: Stripe
Volume ID: 13b36adb-7e8b-46e2-8949-f54eab5356f6
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 192.168.60.201:/data/exp5
Brick2: 192.168.60.202:/data/exp6
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

[root@server_2 ~]# gluster volume info raid0-volume
 
Volume Name: raid0-volume
Type: Stripe
Volume ID: 13b36adb-7e8b-46e2-8949-f54eab5356f6
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 192.168.60.201:/data/exp5
Brick2: 192.168.60.202:/data/exp6
Options Reconfigured:
transport.address-family: inet
nfs.disable: on


  * 发动卷

[root@server_1 ~]# gluster volume start raid0-volume
volume start: raid0-volume: success



9. 客户端使用

   * 装置glusterfs-cli

[root@client ~]# yum install glusterfs-cli -y

  

   * 创立挂载目录

[root@client ~]# mkdir /mnt/g1 /mnt/g2 /mnt/g3


   * 挂载卷

[root@server_1 ~]# mount.glusterfs 192.168.60.201:/test-volume /mnt/g1
[root@server_1 ~]# mount.glusterfs 192.168.60.202:/repl-volume /mnt/g2
[root@server_1 ~]# mount.glusterfs 192.168.60.201:/raid0-volume /mnt/g3


10. 扩展卷

  * 创立寄存目录

[root@server_1 ~]# mkdir -p /data/exp9


  * 扩展卷

[root@server_1 ~]# gluster volume add-brick test-volume 192.168.60.201:/data/exp9 force
volume add-brick: success


  * 从头均衡

[root@server_1 ~]# gluster volume rebalance test-volume start
volume rebalance: test-volume: success: Rebalance on test-volume has been started successfully. Use rebalance status command to check status of the rebalance process.
ID: 008c3f28-d8a1-4f05-b63c-4543c51050ec



11. 总结



以需求驱动技能,技能自身没有优略之分,只要事务之分。


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表亚美娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章