1.1 分布式文件系统
1.1.1 什么是分布式文件系统
相对于本机端的文件系统而言,分布式文件系统(英语:Distributed file system, DFS),或是网络文件系统(英语:Network File System),是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。
在这样的文件系统中,客户端并非直接访问底层的数据存储区块,而是通过网络,以特定的通信协议和服务器沟通。借由通信协议的设计,可以让客户端和服务器端都能根据访问控制清单或是授权,来限制对于文件系统的访问。
1.1.2 glusterfs是什么
Gluster是一个分布式文件系统。它是各种不同的存储服务器之上的组合,这些服务器由以太网或无限带宽技术Infiniband以及远程直接内存访问RDMA互相融汇,最终所形成的一个大的并行文件系统网络。
它有包括云计算在内的多重应用,诸如:生物医药科学,文档存储。Gluster是由GNU托管的自由软件,证书是AGPL。Gluster公司是Gluster的首要商业赞助商,且提供商业产品以及基于Gluster的解决方案。
1.1.3 安装环境
CentOS Linux release 7.2.1511 (Core) gs_1 10.0.0.101
CentOS Linux release 7.2.1511 (Core) gs_2 10.0.0.102
1.1.4 安装glusterfs服务端
[root@gs_1 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 指定安装的yum源
[root@gs_1 ~]# yum install centos-release-gluster -y
[root@gs_1 ~]# yum install glusterfs-server -y
#配置信任池
[root@gs_1 ~]# systemctl stop firewalld ######firewall-cmd --add-service=glusterfs --permanent && firewall-cmd --reload
[root@gs_1 ~]# getenforce
Disabled
[root@gs_1 ~]# systemctl restart glusterd
[root@gs_1 ~]# gluster peer probe 10.0.0.101
peer probe: success. Probe on localhost not needed
[root@gs_1 ~]# gluster peer probe 10.0.0.102
peer probe: success.
#查看
[root@gs_1 ~]# gluster peer status
Number of Peers: 1
Hostname: 10.0.0.102
Uuid: 41fb331e-4103-4b02-b88a-c0f3c7eecfc1
State: Peer in Cluster (Connected)
#创建目录
[root@gs_1 ~]# mkdir -p /uusafe
[root@gs_1 ~]# gluster volume create uusafe replica 2 10.0.0.101:/uusafe 10.0.0.102:/uusafe force #10.0.0.101:卷名
volume create: uusafe: success: please start the volume to access data
#如果报错 在后面加上force,这是因为我们创建的uusafe在系统盘,这个在gluster的默认情况下是不允许的,生产环境下也尽可能的与系统盘分开,如果必须这样请使用force
#启动卷
[root@gs_1 ~]# gluster volume start uusafe
volume start: uusafe: success
1.1.5 安装glusterfs客户端
[root@db01 ~]# yum install -y glusterfs glusterfs-fuse
#挂载/uusafe
[root@db01 ~]# mkdir -p /uusafe
[root@db01 ~]# mount -t glusterfs 10.0.0.101:/uusafe /uusafe
#第二台机器
[root@db02 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@db02 ~]# yum install -y glusterfs glusterfs-fuse
[root@db02 ~]# mkdir -p /uusafe
[root@db02 ~]# mount -t glusterfs 10.0.0.101:uusafe /uusafe
#开机自动挂载
[root@db01 uusafe]# tail -1 /etc/fstab
10.0.0.101:/uusafe /uusafe glusterfs defaults,_netdev 0 0
#基本完成了文件同步
1.1.6 glusterfs常用命令
#添加磁盘
gluster volume add-brick dht-vol1 10.20.0.200:/brick1/b1
rebalance 同步数据
gluster volume rebalance dht-vol1 start
#删除磁盘
gluster volume remove-brick dht-vol1 10.20.0.200:/brick1/b1
gluster volume rebalance dht-vol1 start
#删除卷
先停止 在删除
复制代码
# gluster volume stop dht-vol1
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: dht-vol1: success
# gluster volume delete dht-vol1
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: dht-vol1: success
# gluster volume info
No volumes present
#查看卷状态信息
gluster volume info
#启动卷
gluster volume start dht-vol1
#停止卷
gluster volume stop dht-vol1