linux怎么查看本机内存大小
225
2022-11-10
搭建 GFS 分布式文件系统-----实操
一、GlusterFS 简介:
GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
开源的分布式文件系统;由存储服务器、客户端以及 NFS/Samba 存储网关组成;(1)GlusterFS 特点:
扩展性和高性能;高可用性;全局统一命名空间;弹性卷管理;基于标准协议(2)模块化堆栈架构:
(1)通过 HASH 算法得到一个32位的整数;(2)划分为 N 个连接的子空间,每个空间对应一个 Brick;(3)弹性 HASH 算法的优点:(4)保证数据平均分布在每一个 Brick 中;(5)解决了对元数据服务器的依赖,进而解决了单点故障以及服访问瓶颈。
二、GlusterFS 的卷类型:
(1)分布式卷:
(1)没有对文件进行分块处理;(2)通过扩展文件属性保存 HASH值;(3)支持的底层文件系统有 ext3 、ext4 、ZFS 、XFS等特点:
(1)文件分布在不同的服务器,不具备冗余性;(2)更容易和廉价地扩展卷的大小;(3)单点故障会造成数据丢失;(4)依赖底层的数据保护。(2)条带卷:
(1)根据偏移量将文件分为 N 块(N个条带节点),轮询的存储在每个 Brick (2)Server 节点;(3)存储大文件时,性能尤为突出;(4)不具备冗余性,类似 raid0特点:
(1)数据被分割成更小块分布到块服务器群中的不同条带区;(2)分布减少了负载且更小的文件加速了存取的速度;(3)没有数据冗余(3)复制卷:
(1)同一个文件保存一份或多分副本;(2)复制模式因为要保存副本,所以磁盘利用率较低;(3)多个节点上的存储空间不一致,那么将安装木桶效应取最低节点的容量(4)作为该卷的总容量特点:
(1)卷中所有的服务器均保存一个完整的副本;(2)卷的副本数量可由客户创建的时候决定;(3)至少由两个块服务器或更多服务器;(4)具备容灾性。(4)分布式条带卷:
(1)兼顾分布式和条带卷的功能;(2)主要用于大文件访问处理;(3)至少最少需要 4 台服务器。(5)分布式复制卷:
(1)兼顾分布式卷和复制卷的功能;(2)用于需要冗余的情况下
三、GlusterFS 实操走起:
vim disk.sh //挂载磁盘脚本,一键操作 #! /bin/bash echo "the disks exist list:" fdisk -l |grep '磁盘 /dev/sd[a-z]' echo "==================================================" PS3="chose which disk you want to create:" select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit do case $VAR in sda) fdisk -l /dev/sda break ;; sd[b-z]) #create partitions echo "n p w" | fdisk /dev/$VAR #make filesystem mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null #mount the system mkdir -p /data/${VAR}"1" &> /dev/null echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab mount -a &> /dev/null break ;; quit) break;; *) echo "wrong disk,please check again";; esac done
2、在四台 node 节点上的操作(1)修改主机名(node1、node2、node3、node4),并关闭防火墙等。
(2)编辑 hosts 文件(当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。),添加主机名和 IP地址
vim /etc/hosts 192.168.220.172 node1 192.168.220.131 node2 192.168.220.140 node3 192.168.220.136 node4
(3)编写 yum 源的库,安装 GlusterFS :
cd /opt/ mkdir /abc mount.cifs //192.168.10.157/MHA /abc //远程挂载到本地 cd /etc/yum.repos.d/ mkdir bak mv Cent* bak/ //将原来的源都移到新建的文件夹中 vim GLFS.repo //新建一个源 [GLFS] name=glfs baseurl=file:///abc/gfsrepo gpgcheck=0 enabled=1
(4)安装软件包
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
(5)开启服务
systemctl start glusterd systemctl status glusterd
ntpdate ntp1.aliyun.com //时间同步
添加存储信任池,只要在一台主机上添加其他三台节点即可:这是在 node1 节点上的操作:
gluster peer probe node2 gluster peer probe node3 gluster peer probe node4 gluster peer status //查看所有节点状态
四、创建各种卷
1、建分布式卷
gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force //利用node1和node2上的两块磁盘创建;dis-vol为磁盘名;force表示强制 gluster volume start dis-vol //启动 gluster volume info dis-vol //查看状态
2、建条带卷
gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force gluster volume start stripe-vol gluster volume info stripe-vol
3、建复制卷
gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force gluster volume start rep-vol gluster volume info rep-vol
4、分布式条带卷
gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force gluster volume start dis-stripe gluster volume info dis-stripe
5、分布式复制卷
gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force gluster volume start dis-rep gluster volume info dis-rep
6、客户端配置(1)关闭防火墙
(2)配置安装 GFS 源:
cd /opt/ mkdir /abc mount.cifs //192.168.10.157/MHA /abc //远程挂载到本地 cd /etc/yum.repos.d/ vim GLFS.repo //新建一个源 [GLFS] name=glfs baseurl=file:///abc/gfsrepo gpgcheck=0 enabled=1
(3)安装软件包
yum -y install glusterfs glusterfs-fuse
(4)修改 hosts文件:
vim /etc/hosts 192.168.220.172 node1 192.168.220.131 node2 192.168.220.140 node3 192.168.220.136 node4
(5)创建临时挂载点:
mkdir -p /text/dis //递归创建一个挂载点 mount.glusterfs node1:dis-vol /text/dis/ //挂载分布式卷 mkdir /text/strip mount.glusterfs node1:stripe-vol /text/strip/ //挂载条带卷 mkdir /text/rep mount.glusterfs node3:rep-vol /text/rep/ //挂载复制卷 mkdir /text/dis-str mount.glusterfs node2:dis-stripe /text/dis-str/ //挂载分布式条带卷 mkdir /text/dis-rep mount.glusterfs node4:dis-rep /text/dis-rep/ //挂载分布式复制卷
五、测试各个卷
(1)创建 5 个40M 的文件:
dd if=/dev/zero of=/demo1.log bs=1M count=40 dd if=/dev/zero of=/demo2.log bs=1M count=40 dd if=/dev/zero of=/demo3.log bs=1M count=40 dd if=/dev/zero of=/demo4.log bs=1M count=40 dd if=/dev/zero of=/demo5.log bs=1M count=40
(2)创建的 5 个文件分别复制到不同的卷上:
cp /demo* /text/dis cp /demo* /text/strip cp /demo* /text/rep/ cp /demo* /text/dis-str cp /demo* /text/dis-rep
1、分布式卷所有文件都在;2、复制卷所有文件都在;3、挂载分布式条带卷只有 demo5.log 一个文件了,丢失了4个;4、挂载分布式复制卷所有文件都在;5、条带卷所有文件都丢失了。(5)其他操作:
1、删除卷(先停止,再删除):
gluster volume stop 卷名 gluster volume delete 卷名
2、黑白名单设置:
gluster volume set 卷名 auth.reject 192.168.220.100 //拒绝某台主机挂载 gluster volume set 卷名 auth.allow 192.168.220.100 //允许某台主机挂载
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~