56.GlusterFS分布式文件系统
GlusterFS分布式文件系统
GlusterFS是一个开源的分布式文件系统,软件的结构设计良好,易于扩展和配置,通过各个模块的灵活搭配得到针对性的解决方案。可解决一下问题:网络存储,联合存储,冗余备份,大文件的负载均衡。可靠性也未经过长时间的考验,还不适合应用于提供24小时不间断服务的产品环境。目前适用于大数据量的离线应用。
GlusterFS通过infiniband RDMA或者TCP/IP的方式将许多廉价的X86主机,通过网络互联成一个并行的网络文件系统。
注释:
Brick:GFS中的存储单元,通过一个受信存储池中的服务器的一个导出目录。
Client:挂在GFS卷的设备。
Node:存放Brick的设备。
RDMA:远程直接内存访问。
GFID:GFS卷中每个文件或目录都有一个唯一的128位的数据相关联。
FUSE:是一个可加载的内核模块,支持非特权用户创建自己的文件系统而不需要修改内核代码。
GlusterFS的部署:
v 安装依赖包
#yum -y install xfsprogs fuse fuse-libs libacl-devel flex bison openssl-devel sqlite-devel libxml2
# rpm -ivh userspace-rcu-0.9.2-2.fc25.x86_64.rpm
# rpm -ivh userspace-rcu-devel-0.9.2-2.fc25.x86_64.rpm
v 安装三部曲
#./configure --prefix=/usr/local/gluster
#make && make install
v 手动指定系统找到URCU
# ldconfig
# pkg-config --libs --cflags liburcu-bp liburcu
v 定义系统变量
# vim /etc/profile
添加内容:
PATH=$PATH:/usr/local/gluster/sbin
v 开启Glusterd服务
# glusterd start
# ps aux |grep glusterd
Gluster的使用:
v Gluster群集关联
#gluster peer probe 1.1.1.1
#gluster peer probe 1.1.1.2
#gluster peer probe 1.1.1.3
v 主机添加一块硬盘,格式化与挂载
#fdisk -l
#fdisk /dev/sdb
#mkfs /dev/sdb1
#mount /dev/sdb1 /a
v 创建卷
多块磁盘组成一个卷,不做RAID
# gluster volume create renvg 1.1.1.1:/a 1.1.1.2:/b 1.1.1.3:/c
多块磁盘组成一个卷,做成RAID1
# gluster volume create renvg replica 2 1.1.1.1:/a 1.1.1.2:/b 1.1.1.3:/c
v 将卷挂载在文件夹即可
#mount -t glusterfs -o acl master:/renvg /opt/a
Gluster基本命令汇总
命令 | 描述 |
Gluster volume stop renvg | 停止卷的使用 |
Gluster volume start renvg | 开始卷的使用 |
Gluster volume delete renvg | 删除卷 |
修复卷中的磁盘
Gluster volume replace-brick renvg 1.1.1.1:/a 1.1.1.3:/new Gluster volume heal renvg full | 修复卷 |
扩展卷容量
Gluster volume add-brick renvg 1.1.1.4:/new | 在线扩展卷的容量 |
Gluster volume rebalance renvg start | 平衡数据 |
减少卷容量
Gluster volume remove-brick renvg 1.1.1.1:/a start | 在线减少卷的容量 |
Gluster volume remove-brick renvg 1.1.1.1:/a status | 查看删除卷的状态 |
Gluster volume remove-brick renvg commit | 提交移除操作 |
磁盘配额
Gluster volume quota renvg enable | 开启磁盘配额 |
Gluster volume quota renvg limit -usage /quo_a 10Gb | 设置该目录只可以使用卷的10Gb |
Gluster volume quota renvg list | 显示当前的配额使用量 |
Gluster volume quota renvg remove /quo_a | 去除目录配额 |
Gluster volume quota renvg disable | 停用磁盘配额 |
创建卷使用RAID
Gluster volume create renvg stripe 3 1.1.1.1:/a 1.1.1.2:/b 1.1.1.3:/c | RAID0 |
Gluster volume create renvg replica2 stripe 3 1.1.1.1:/a 1.1.1.2:/b 1.1.1.3:/c | RAID1+0 |
Gluster volume create renvg disperse 6 redundancy 1 1.1.1.1:/a 1.1.1.2:/b 1.1.1.3:/c | RAID5 |
Gluster volume create renvg disperse 10 redundancy 5 | RAID6 |
注:绿色的为卷的名字。