glusterfs分布式存储

glusterfs简介
Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端。是整合了许多存储块(server)通过Infiniband RDMA或者 Tcp/Ip方式互联的一个并行的网络文件系统。

特征:
容量可以按比例的扩展,且性能却不会因此而降低。
廉价且使用简单,完全抽象在已有的文件系统之上。
扩展和容错设计的比较合理,复杂度较低
适应性强,部署方便,对环境依赖低,使用,调试和维护便利

存储类型:
文件存储
通常支持POSIX接口(如glusterfs,但GFS、HDFS是非POSIX接口的),可以像普通文件系统(如ext4)那样访问,但又比普通文件系统多了并行化访问的能力和冗余机制。主要的分布式文件存储系统有TFS、cephfs、glusterfs和HDFS等。主要存储非结构化数据,如普通文件、图片、音视频等。可以采用NFS和CIFS等协议访问,共享方便。NAS是文件存储类型。

块存储
这种接口通常以QEMU Driver或者Kernel Module的方式存在,主要通过qemu或iscsi协议访问。主要的块存储系统有ceph块存储、sheepdog等。主要用来存储结构化数据,如数据库数据。数据共享不方便。DAS和SAN都是块存储类型。

对象存储
对象存储系统综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势。以对象作为基本的存储单元,向外提供RESTful数据读写接口,常以网络服务的形式提供数据访问。主要的对象存储系统有AWS、swift和ceph对象存储。主要用来存储非结构化数据。

Glusterfs
Glusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可支持数PB存储容量和数千客户端,通过Infiniband RDMA 或Tcp/Ip 方式将许多廉价的x86 主机,通过网络互联成一个并行的网络文件系统。具有可扩展性、高性能、高可用性等特点

作者:timothyue1
链接:https://www.jianshu.com/p/a33ff57f32df
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

安装glusterfs,全部机器都要装 这里指的是 node1和node2
[root@linux-node1 ~]#yum install centos-release-gluster
[root@linux-node1 ~]#yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

#启动gluster服务,gluster机器都要重启
[root@linux-node1 ~]# service glusterd start
[root@linux-node2 ~]# service glusterd start

Trusted Storage Pools创建
在开始创建ClusterFS卷之前,需要创建一个称之为Trusted Storage的池,是一个可信的网络存储服务器,可以理解为集群。为卷提供bricks。
gluster peer probe<主机名或者IP地址>,建议是IP地址,或者内网用DNS做主机名解析,或者在/etc/hosts做好绑定。
[root@linux-node1 ~]# gluster peer probe 10.0.0.16
peer probe: success

查资源池
[root@linux-node1 ~]# gluster peer status
Number of Peers: 1
Hostname: 10.0.0.16
Uuid: 87d88002-a9eb-43e4-8bee-5487d96046c5
State: Peer in Cluster (Connected)

把别人加进来
[root@linux-node1 ~]#gluster peer probe 10.0.0.16

GlusterFS Volumes创建
GlusterFS的卷共有三种基本类型,可以组合共7种类型,其中Distributed、Replicated、Strped、为基本类型。Distributed Striped、Distributed Replicated、Distributed Striped Replicated、Striped Replicated。为组合类型。

创建Volumes使用以下命令进行:
gluster volume create NEW-VOLNAME [stripe COUNT | replica COUNT]
[transport [tcp | rdma | tcp,rdma]] NEW-BRICK1 NEW-BRICK2 NEW-BRICK3

本文为了测试7种卷类型,需要在各个服务器分别创建7个目录。
[root@linux-node1 ~]# mkdir /data && cd /data && mkdir type{1,2,3,4,5,6,7}/exp{1,2,3,4,5,6,7} –p
[root@linux-node2 ~]# mkdir /data && cd /data && mkdir type{1,2,3,4,5,6,7}/exp{1,2,3,4,5,6,7} -p

分布式卷创建 有一个节点挂了。那个节点东西没有了
[root@linux-node1 data]# gluster volume create test1-volume 10.0.0.15:/data/type1/exp1 10.0.0.16:/data/type1/exp1 force
volume create: test1-volume: success: please start the volume to access data

查看卷信息
[root@linux-node1 data]# gluster volume info test1-volume
Volume Name: test1-volume
Type: Distribute
Volume ID: 29727033-5f07-401f-a592-554665dff248
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: 10.0.0.15:/data/type1/exp1
Brick2: 10.0.0.16:/data/type1/exp1
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on

启动卷
[root@linux-node1 data]# gluster volume start test1-volume
volume start: test1-volume: success

创建挂载点
[root@linux-node1 data]# mkdir /mnt/glusterfs/ type1 –p

mount挂载
[root@linux-node1 data]# mount.glusterfs 10.0.0.16:/test1-volume /mnt/glusterfs/type1/

创建点文件
[root@linux-node1 type1]# touch {1…7}.txt
[root@linux-node1 type1]# ls
1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt

模仿多快硬盘如下:
[root@linux-node2 type1]# gluster volume create test11-volume 10.0.0.15:/data/type1/exp2 10.0.0.15:/data/type1/exp3 10.0.0.16:/data/type1/exp2 10.0.0.16:/data/type1/exp3 force
volume create: test11-volume: success: please start the volume to access data

[root@linux-node2 type1]# gluster volume start test11-volume
volume start: test11-volume: success
[root@linux-node2 type1]# gluster volume info test11-volume
[root@linux-node1 exp1]# mkdir /mnt/glusterfs/type11

[root@linux-node1 exp1]# mount.glusterfs 10.0.0.16:/test11-volume /mnt/glusterfs/type11
[root@linux-node1 exp1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.1G 2.2G 5.6G 29% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 36M 145M 20% /boot
10.0.0.16:/test1-volume
17G 4.4G 12G 28% /mnt/glusterfs/type1
10.0.0.16:/test11-volume
17G 4.4G 12G 28% /mnt/glusterfs/type11

日常维护命令
#看下节点有没有在线
gluster volume status nfsp

#启动完全修复
gluster volume heal gv2 full

#查看需要修复的文件
gluster volume heal gv2 info

#查看修复成功的文件
gluster volume heal gv2 info healed

#查看修复失败的文件
gluster volume heal gv2 heal-failed

#查看主机的状态
gluster peer status

#查看脑裂的文件
gluster volume heal gv2 info split-brain

#激活quota功能
gluster volume quota gv2 enable

#关闭quota功能
gulster volume quota gv2 disable

#目录限制(卷中文件夹的大小)
gluster volume quota limit-usage /data/30MB --/gv2/data

#quota信息列表
gluster volume quota gv2 list

#限制目录的quota信息
gluster volume quota gv2 list /data

#设置信息的超时时间
gluster volume set gv2 features.quota-timeout 5

#删除某个目录的quota设置
gluster volume quota gv2 remove /data

备注:quota功能,主要是对挂载点下的某个目录进行空间限额。如:/mnt/gulster/data目录,而不是对组成卷组的空间进行限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值