建设手机网站的目的,广告制作行业发展前景,厦门seo百度快照优化,沈阳网站建设黑酷科技目录
一 实验环境
二 4台服务端准备工作
1#xff0c;66,77,88,99 四台机器加4块磁盘
2#xff0c; scan 刷新磁盘供电接口 并查看
3#xff0c;改主机名#xff0c;方便后续操作
4#xff0c;为加快访问速度 写hosts文件 做映射#xff08;55客户机也写66,77,88,99 四台机器加4块磁盘
2 scan 刷新磁盘供电接口 并查看
3改主机名方便后续操作
4为加快访问速度 写hosts文件 做映射55客户机也写
5将每个服务端新加的磁盘 格式化并分区
6所有机器本地yum 安装gfs
7添加节点到存储信任池中在 node1 节点上操作
8创建卷(在一台node上操作即可)
8.1 创建分布式卷
8.2 创建条带卷
8.3 创建复制卷
8.4 创建分布式条带卷
8.5 创建分布式复制卷
三 55客户端步骤
1客户端挂载 Gluster 文件系统
1.1客户端需要先做一下步骤
1.2 临时挂载Gluster 文件系统
1.3 永久挂载
四 测试 Gluster 文件系统
1.1 如何检测 得造数据
1.2 将测试数据 复制到所有的卷挂载点
2 查看文件分布
2.1 查看分布式卷
2.2 查看条带卷
2.3 查看复制卷
2.4 查看分布式条带卷
2.5 查看分布式复制卷分布
五 破坏性测试
1.1 分布式卷数据查看
1.2 条带卷查看
1.3 查看分布式条带卷
1.4 查看分布式复制卷
六 扩展其他的维护命令
七 总结 GlusterFS 支持七种卷即分布式卷理解为通过hash算法达到把数据存放到brick、条带卷(理解为将数据切片)、复制卷就是raid1、分布式条带卷(将数据切片再分布式)、分布式复制卷复制数据再分布式、条带复制卷和分布式条带复制卷。
生产环境中 企业80% 用分布式 复制卷 最少4台机器 20% 因为机器不够 用复制卷 一 实验环境
首先需要4台机器66,77,88,99做服务端因为分布式复制和分布式条带 最少需要4台机器安装gfs 提供5大逻辑卷
再用一台55机器 做客户端分别访问这5大逻辑卷 二 4台服务端准备工作
166,77,88,99 四台机器加4块磁盘 2 scan 刷新磁盘供电接口 并查看 3改主机名方便后续操作 4为加快访问速度 写hosts文件 做映射55客户机也写 传给其他机器 5将每个服务端新加的磁盘 格式化并分区
这里为了简略直接写/opt/fdisk.sh脚本 代码如下
#!/bin/bash
NEWDEVls /dev/sd* | grep -o sd[b-z] | uniq
for VAR in $NEWDEV
doecho -e n\np\n\n\n\nw\n | fdisk /dev/$VAR /dev/nullmkfs.xfs /dev/${VAR}1 /dev/nullmkdir -p /data/${VAR}1 /dev/nullecho /dev/${VAR}1 /data/${VAR}1 xfs defaults 0 0 /etc/fstab
done
mount -a /dev/null脚本解释先过滤出 除sda 的磁盘 启用for循环 VAR 变量调用刚刚的磁盘名 进入fdisk 分区页面 echo -e 免交互 \n 是换行的意思 再mkfs 格式化 创建挂载点的文件夹 永久挂载 写到 /etc/fstab 文件中 mount -a 重新挂载一次 将脚本传给其他服务端 给脚本加执行权限 执行脚本 查看是否分区成功 6所有机器本地yum 安装gfs
生产环境基本是内网需要手搓本地元安装gfs 这边利用脚本快速到目的。
脚本代码如下
#!/bin/bash
function backuprepo {
cd /etc/yum.repos.d
mkdir repo.bak
mv *.repo repo.bak
#mount /dev/sr0 /mnt /dev/null
}makeglfsrepo(){
echo [glfs]
name glfs
baseurlfile:///opt/gfsrepo
enabled1
gpgcheck0 glfs.repo
}useglfsrepo (){
yum clean all /dev/null
yum makecache /dev/null}install () {yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service
}
#main
backuprepo
makeglfsrepo
useglfsrepo
install脚本解释backuprepo makeglfsrepo useglfsrepo install 这四个都是函数名先定义函数再调用函数。 重点介绍下 install 函数中的 yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma 意思是 使用YUM命令无交互式地-y选项安装GlusterFS客户端、服务器、FUSE模块允许非特权用户挂载GlusterFS卷以及RDMA远程直接内存访问支持提高GlusterFS性能。 #将gfsrepo 软件上传到/opt目录下 解压 给脚本加执行权限 执行脚本 所有机器成功运行gfs 注意如果是网络元下载 gfs
#yum -y install centos-release-gluster #如采用官方 YUM 源安装可以直接指向互联网仓库若出现报错故障原因是版本过高导致 将原来的gfs卸载重新安装 7添加节点到存储信任池中在 node1 节点上操作
gluster: 命令行工具用于管理和监控GlusterFS集群。peer probe: 子命令组合用于向GlusterFS集群中添加一个新的对等节点。 #在每个Node节点上查看群集状态 gluster peer status 8创建卷(在一台node上操作即可)
#根据规划创建如下卷
卷名称 卷类型Brick fenbushi分布式卷node1(/data/sdb1)、node2(/data/sdb1) tiaodai条带卷node1(/data/sdc1)、node2(/data/sdc1)fuzhi复制卷node3(/data/sdb1)、node4(/data/sdb1) fbstd分布式条带卷node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1) fbsfz分布式复制卷node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1)
查看卷列表 gluster volume list 8.1 创建分布式卷
#创建分布式卷没有指定类型默认创建的是分布式卷 #启动新建分布式卷 #查看创建分布式卷信息 8.2 创建条带卷
指定类型为 stripe数值为 2且后面跟了 2 个 Brick Server所以创建的是条带卷
启动条带 查看条带卷信息 8.3 创建复制卷
#指定类型为 replica数值为 2且后面跟了 2 个 Brick Server所以创建的是复制卷
启动复制卷 查看复制卷信息 8.4 创建分布式条带卷
#指定类型为 stripe数值为 2而且后面跟了 4 个 Brick Server是 2 的两倍所以创建的是分布式条带卷
启动分布式条带卷‘ 查看分布式条带卷信息 8.5 创建分布式复制卷
指定类型为 replica数值为 4而且后面跟了 4 个 Brick Server所以创建的是分布式复制卷
启动 分布式复制 查看分布式复制卷 信息
注意 我这边指定类型为 replica数值为 4 意思就是会复制4分 再分布式到四台机器上 三 55客户端步骤
1客户端挂载 Gluster 文件系统
1.1客户端需要先做一下步骤
① 安装gfs客户端软件
② 创建挂载目录 ③ 配置 /etc/hosts 文件 做服务端ip 的映射 加快速度 1.2 临时挂载Gluster 文件系统
首先在服务端查看所有的逻辑卷 gluster volume list 临时挂载(前面的fenbushi 是卷名 后面的是挂载的文件夹) 查看挂载情况df -Th
这边可以看到 分布式条带有20G 因为是由4个5G的盘组成
分布式复制只有5G 是因为是由4个5G的盘组成但是是1乘以4bricks 的形式。一份数据4个brick都复制可用容量就是5G 1.3 永久挂载
vim /etc/fstab node1:fenbushi /test/fenbushi glusterfs defaults,_netdev 0 0 node1:tiaodai /test/taiodai glusterfs defaults,_netdev 0 0 node1:fuzhi /test/fuzhi glusterfs defaults,_netdev 0 0 node1:fbstd /test/fbstd glusterfs defaults,_netdev 0 0 node1:fbsfz /test/fbsfz glusterfs defaults,_netdev 0 0 四 测试 Gluster 文件系统
1.1 如何检测 得造数据
(命令 dd if/dev/zero of/opt/demo1.log bs1M count40 的作用是在 /opt 目录下创建一个名为 demo1.log、大小为40兆字节的空文件其中填充的内容全部为零字节。这种操作常用于测试、初始化磁盘、创建大文件占位符等场景。) 1.2 将测试数据 复制到所有的卷挂载点 2 查看文件分布 2.1 查看分布式卷
数据被分布式存储
node1(/data/sdb1) node2(/data/sdb1) 2.2 查看条带卷
数据被分片
node1(/data/sdc1) node2(/data/sdc1) 2.3 查看复制卷
数据没有被分片 有副本 有冗余
node3(/data/sdb1) node4(/data/sdb1) 2.4 查看分布式条带卷
#数据被分片50% 没副本 没冗余
node1(/data/sdd1) node2(/data/sdd1) node3(/data/sdd1) node4(/data/sdd1) 2.5 查看分布式复制卷分布
#数据没有被分片 有副本 有冗余
node1(/data/sde1) node2(/data/sde1) node3(/data/sde1) node4(/data/sde1) 五 破坏性测试
#挂起 node2 节点即77机器或者关闭glusterd服务来模拟故障亲测要挂起 [rootnode2 ~]# systemctl stop glusterd.service 然后在客户端上查看文件是否正常 1.1 分布式卷数据查看
#在客户机上发现少了demo5.log文件这个是在node2上的 1.2 条带卷查看
#无法访问 1.3 查看分布式条带卷
#无法访问分布条带卷不具备冗余性 1.4 查看分布式复制卷
数据正常 上述实验测试凡是带复制数据相比而言数据比较安全 六 扩展其他的维护命令
1查看GlusterFS卷 gluster volume list
2查看所有卷的信息 gluster volume info
3查看所有卷的状态 gluster volume status
4停止一个卷 gluster volume stop dis-stripe
5删除一个卷注意删除卷时需要先停止卷且信任池中不能有主机处于宕机状态否则删除不成功 gluster volume delete dis-stripe
6设置卷的访问控制 #仅拒绝 gluster volume set dis-rep auth.deny 192.168.80.100
#仅允许 gluster volume set dis-rep auth.allow 192.168.80.* #设置192.168.80.0网段的所有IP地址都能访问dis-rep卷分布式复制卷 安装报错版本过高先解除依赖关系
yum remove glusterfs-api.x86_64 glusterfs-cli.x86_64 glusterfs.x86_64 glusterfs-libs.x86_64 glusterfs-client-xlators.x86_64 glusterfs-fuse.x86_64 -y 七 总结
分布式卷以文件为单位通过hash散列在各个Brick中不具备冗余 条带卷把文件数据进行分块轮询的分布在各个Brick中不具备冗余能力 复制卷把文件进行Brick中做镜像存储具备冗余能力 分布式条带卷不具备冗余能力至少要4个服务器Brick≥2 条带的2倍 分布式复制卷具备冗余能力至少4台Brick Brick数量≥2 副本数的2倍