glusterfs

QQ: 1226032602
E-mail: 1226032602@qq.com

glusterfs

https://www.gluster.org/
https://docs.gluster.org/en/latest/Install-Guide/Setup_virt/

glusterfs概述

1. 什么是Gluster

Gluster是一个横向扩展的分布式文件系统,可将来自多个服务器的磁盘存储资源整合到一个全局名称空间中,可以根据存储消耗需求快速调配额外的存储。它将自动故障转移作为主要功能

当您修复发生故障的服务器并使其恢复联机状态时,除了等待外,您无需执行任何操作即可恢复数据。与此同时,您的数据的最新副本继续从仍在运行的节点获取。

Gluster数据可以从几乎任何地方访问,可以使用传统的NFS,Windows客户端的SMB / CIFS或我们自己的本地GlusterFS(客户机上需要一些附加软件包)

2. 企业应用场景

媒体数据:文档、图片、音频、视频
共享存储:云储存、虚拟化存储、HPC(高性能计算)
大数据:日志文件、RFID(射频识别)数据

3. 优点

缩放到几PB
处理数千个客户
POSIX兼容
可以使用任何支持扩展属性的ondisk文件系统
使用NFS和SMB等行业标准协议访问
提供复制,配额,地理复制,快照和bitrot检测
允许优化不同的工作量
开源

4. 缺点

不适用于存储大量小文件的场景,因为GlusterFS的设计之初就是用于存储大数据的,对小文件的优化不是很好,推荐保存单个文件至少1MB以上的环境,如果是大量小文件的场景建议使用FastDFS、MFS等

gluster安装配置

https://docs.gluster.org/en/latest/Quick-Start-Guide/Quickstart/
https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart

环境准备

两台名为server1和server2的服务器上的CentOS 7
两个虚拟磁盘,一个用于OS安装(sda),另一个用于服务GlusterFS存储(sdb)

格式化磁盘

CentOS6需要安装

yum install xfsprogs

在两个节点上都执行

mkfs.xfs -i size=512 /dev/sdb
mkdir -p /bricks/brick1

/etc/fstab

[root@server1 ~]# tail -1 /etc/fstab 
/dev/sdb /bricks/brick1       xfs   defaults        0 0

挂载

mount -a

安装GlusterFS并启动

三台服务器上都安装
安装gluster源

yum install centos-release-gluster

安装glusterfs

yum install glusterfs-server

启动

systemctl start glusterd.service

hosts解析

三台都做
/etc/hosts

10.0.0.201 server1
10.0.0.202 server2
172.16.1.51     db01
172.16.1.31     nfs01
172.16.1.41     backup

添加服务器

nfs01:

gluster peer probe backup
gluster peer probe db01

查看对等状态

gluster peer status

删除服务器

gluster peer detach <server>

查看服务器列表

gluster pool list

gluster UUID

[root@server1 ~]# cat /var/lib/glusterd/glusterd.info 
UUID=9c8f138a-d502-4b69-9b84-61bd81286ea6
operating-version=31202

建立GlusterFS卷

https://docs.gluster.org/en/latest/CLI-Reference/cli-main/

三台机器都执行

mkdir /bricks/brick1/gv0
mkdir /bricks/brick1/gv1

任意一台机器执行
创建复制卷

gluster volume create gv0 replica 2 nfs01:/bricks/brick1/gv0 db01:/bricks/brick1/gv0 force
gluster volume create gv1 replica 3 nfs01:/bricks/brick1/gv1 db01:/bricks/brick1/gv1 backup:/bricks/brick1/gv1 force
gluster volume create gv1 replica 3 arbiter 1 nfs01:/bricks/brick1/gv1 db01:/bricks/brick1/gv1 backup:/bricks/brick1/gv1 force

启动卷

gluster volume start gv0
gluster volume start gv1

查看信息

gluster volume info

日志

tail -f /var/log/glusterfs/glusterd.log

https://docs.gluster.org/en/latest/Administrator%20Guide/

glusterfs客户端

安装

yum install centos-release-gluster
yum install glusterfs glusterfs-fuse glusterfs-rdma

hosts解析
/etc/hosts

10.0.0.201     server1
10.0.0.202     server2
172.16.1.51     db01
172.16.1.31     nfs01
172.16.1.41     backup

挂载

mount -t glusterfs server1:/gv0 /mnt/
mount -t glusterfs -o backup-volfile-servers=10.10.98.34:10.10.98.35 10.10.98.36:gv0 /g1

gluster Volume Commands

volume create volname [options] bricks    创建卷

volume start volname [force]            启动卷

volume stop volname                  停止卷

volume info [volname]                 查看卷信息

volumes status[volname]               查看卷状态

volume list                          查看卷列表

volume add-brick brick-1 ... brick-n      扩容

volume remove-brick brick-1 ... brick-n \<start|stop|status|commit|force>     缩减

volume delete volname                删除卷

glusterfs volume 模式

默认模式

默认模式,既DHT, 也叫 分布卷: 将文件已hash算法随机分布到 一台服务器节点中存储

gluster volume create test-volume server1:/exp1 server2:/exp2

图片

复制模式

复制模式,既AFR, 创建volume 时带 replica x 数量: 将文件复制到 replica x 个节点中。

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2

图片

条带模式

条带模式,既Striped, 创建volume 时带 stripe x 数量: 将文件切割成数据块,分别存储到 stripe x 个节点中 ( 类似raid 0 )。

gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2

图片

分布式条带模式

分布式条带模式(组合型),最少需要4台服务器才能创建。 创建volume 时 stripe 2 server = 4 个节点: 是DHT 与 Striped 的组合型。

gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

图片

分布式复制模式

分布式复制模式(组合型), 最少需要4台服务器才能创建。 创建volume 时 replica 2 server = 4 个节点:是DHT 与 AFR 的组合型。

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

图片

条带复制卷模式

条带复制卷模式(组合型), 最少需要4台服务器才能创建。 创建volume 时 stripe 2 replica 2 server = 4 个节点: 是 Striped 与 AFR 的组合型。

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

图片

三种模式混合

三种模式混合, 至少需要8台 服务器才能创建。 stripe 2 replica 2 , 每4个节点 组成一个 组。

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8

图片

修复

#查看这个卷是否在线

gluster volume status test2

#启动完全修复

gluster volume heal test2 full
gluster volume heal gv1 full

#查看需要修复的文件

gluster volume heal test2 info 

#查看修复成功的文件

gluster volume heal test2 info healed

#查看修改失败的文件

gluster volume heal test2 info heal-failed 

#查看脑裂的文件

gluster volume heal test2 info split-brain
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wuxingge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值