分布式文件系统--------GlusterFS最佳实战

栏目: 服务器 · 发布时间: 8年前

内容简介:分布式文件系统--------GlusterFS最佳实战

1. 背景

GlusterFS 是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数 PB存储容量处理数千客户端 。GlusterFS借助TCP/IP或InfiniBand RDMA(一种支持多并发链接的“转换线缆”技术)网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。

GlusterFS支持运行在任何标准IP网络上标准应用程序的标准客户端

分布式文件系统--------GlusterFS最佳实战

2. 优势

* 线性横向扩展和高性能

* 高可用性

* 全局统一命名空间

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

* 基于标准协议

* 完全软件实现(Software Only)

* 用户空间实现(User Space)

* 模块化堆栈式架构(Modular Stackable Architecture)

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

* 无元数据服务设计(No Metadata with the Elastic Hash Algorithm)

分布式文件系统--------GlusterFS最佳实战

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. 总结

以需求驱动技术,技术本身没有优略之分,只有业务之分。


以上所述就是小编给大家介绍的《分布式文件系统--------GlusterFS最佳实战》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Powerful

Powerful

Patty McCord / Missionday / 2018-1-25

Named by The Washington Post as one of the 11 Leadership Books to Read in 2018 When it comes to recruiting, motivating, and creating great teams, Patty McCord says most companies have it all wrong. Mc......一起来看看 《Powerful》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码