首页 > 其他分享 >强烈推荐!老板再也不用担心我的数据存储了-搭建GFS

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS

时间:2022-11-17 11:31:27浏览次数:53  
标签:GFS volume node1 glusterfs test 强烈推荐 搭建 root dis


理论

优点:

分布式卷具有更好的性能高扩展性以及可靠性,而且无元服务器(存放所有目录的结构,类似书的目录,方便找到所需数据在哪个节点),某种类型的分布式卷不但支持高扩展而且,具备副本功能,提高了可靠性。

类型:
分布式卷(distribute volume) 文件分布在不同服务器,不具备冗余性;更容易扩展卷的大小

条带卷 (stripe volume) 数据被分割成更小块分布到块服务器群中的不同条带区;分布减少了负载且更小的文件加速了存取的速度;没有数据冗余

复制卷 (replica volume) 卷中所有的服务器均保存一个完整的副本;卷的副本数量可由客户创建的时候决定;至少由两个块服务器或更多服务器;具备冗余性

分布式条带卷 (distribute stripe volume) 兼具分布式卷和条带卷的功能,主要用于大文件访问处理,创建一个分布式条带卷最少需要4台服务器

分布式复制卷 (distribute replica volume) 兼具分布式卷和复制卷的功能,主要用于需要冗余的情况

条带复制卷 (stripe replica volume) 兼具分布式卷和条带卷的功能,主要用于大文件访问处理

分布式条带复制卷 (distribute stripe replica volume) 兼具分布式卷和条带卷的功能,主要用于需要冗余的情况

决定一个文件每块分多大、多少块,放到哪些节点存储块,用弹性HASH算法。

工作流程:五步骤(可简单了解)

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_02


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_03

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_04

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_运维_05

案例:

拓扑图

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_运维_06


设备列表

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_分布式_07

要求:搭建GFS为Apache服务,为其提供高可用性。

一、服务器端配置

1、 搭建环境
开启4台虚拟机,在所有节点执行以下操作
根据上述表添加磁盘,通过fdisk分区,mkfs格式化,创建相应的挂载目录,并将格式化的磁盘挂载到相应的目录中,也可修改/etc/fstab配置文件,使其永久生效。

推荐步骤:

1)配置IP地址(以node1为例)

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_运维_08

2)以虚拟机为例,设置里添加四块硬盘,使用ISO映象文件-选择glusterfs镜像文件。注意:开机添加的硬盘需要重启。

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_分布式_09

3)使用fdisk分区(以第一块为例,其余省略)

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_10


3)vim编辑脚本

[root@localhost ~]# vim install.sh

粘贴以下脚本命令:注意,配置node3和node4时,没/dev/sde1设备,删掉格式化分区命令mkfs.xfs /dev/sde1

#激活网卡
ifdown ens33;ifup ens33
systemctl stop firewalld
setenforce 0
sed -i '2a 192.168.8.134 node1' /etc/hosts
sed -i '3a 192.168.8.136 node2' /etc/hosts
sed -i '4a 192.168.8.139 node3' /etc/hosts
sed -i '5a 192.168.8.141 node4' /etc/hosts

#创建目录,格式化分区
mkdir -p /b3 /c4 /d5 /e6
mkfs.xfs /dev/sdb1
mkfs.xfs /dev/sdc1
mkfs.xfs /dev/sdd1
mkfs.xfs /dev/sde1

#配置yum仓库
cd /etc/yum.repos.d
rm -f *
cat >>z.repo<<OK
[z]
name=z
baseurl=file:///mnt
gpgcheck=0
OK

#安装软件,在所有的服务器上都要安装
#挂载光盘
mount /dev/cdrom /mnt/
echo "正在清除yum缓存...."
yum clean all &>/dev/null
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

#启动glusterfs(在所有节点上)
systemctl start glusterd
systemctl enable glusterd &>/dev/null
echo " glusterfs启动成功!"

执行,完成如下:

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_11

2、 添加node1—node4集群节点(在任意节点执行,以node1为例)

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_运维_12

3、 查看群集状态(显示除了本身,还有三个节点)

[root@node1 ~]# gluster peer status

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_13

4、 创建卷

1)创建分布式卷 (没指定卷的类型,默认创建分布式卷)

[root@localhost ~]# gluster volume create dis-volume node1:/e6 node2:/e6 force

启用卷

[root@localhost ~]# gluster volume start dis-volume

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_14


2)创建条带卷注意:加force选项,忽略警告强制操作,不加它,会出现下图报错

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_15


翻译:创建卷:条带卷:失败:节点1上的谋划失败。错误:正在根分区中创建块节点1:/d5。建议您不要将系统的根分区用于存储后端。或者如果您想覆盖此行为,请在命令末尾使用“force”。

节点2上的转移失败。错误:正在根分区中创建块节点2:/d5。建议您不要将系统的根分区用于存储后端。或者如果您想覆盖此行为,请在命令末尾使用“force”。gluster volume create stripe-volume node1:/d5 node2:/d5 force

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_16


翻译:卷创建:条带卷:成功:请启动卷来访问数据

未启用卷,查看卷的信息:

[root@localhost ~]# gluster volume info stripe-volume

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_运维_17


使用命令启用卷,再次查看卷的信息:

[root@localhost ~]# gluster volume start stripe-volume

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_18


3)创建复制卷

[root@localhost ~]# gluster volume create rep-volume replica 2 node3:/d5 node4:/d5 force

启用复制卷:
[root@localhost ~]# gluster volume start rep-volume

4)创建分布式条带卷

[root@localhost ~]# gluster volume create dis-stripe stripe 2 node1:/b3 node2:/b3 node3:/b3 node4:/b3 force

启用分布式条带卷:
[root@localhost ~]# gluster volume start dis-stripe

5)创建分布式复制卷

[root@localhost ~]# gluster volume create dis-rep replica 2 node1:/c4 node2:/c4 node3:/c4 node4:/c4 force

启用分布式复制卷:
[root@localhost ~]# gluster volume start dis-rep

二、客户端配置(client:192.168.8.142)

1、安装Apache服务(省略)
编辑脚本,修改hosts文件,命令如下:

sed -i '2a 192.168.8.134 node1'   /etc/hosts
sed -i '3a 192.168.8.136 node2' /etc/hosts
sed -i '4a 192.168.8.139 node3' /etc/hosts
sed -i '5a 192.168.8.141 node4' /etc/hosts

2、安装客户端软件

创建yum仓库,安装glusterfs

[root@node5 yum.repos.d]# yum -y install glusterfs glusterfs-fuse

3、测试复制卷

将其挂载到Apache的网页目录

[root@localhost ~]# mount -t glusterfs node1:rep-volume /var/www/html/

编辑网页首页内容:

[root@localhost ~]# vim /var/www/html/index.html

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_19


启动Apache服务

[root@localhost ~]# systemctl start httpd

验证:

复制卷特点之一:同一份文件保存一份或多份副本。

卷的类型如下图:

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_分布式_20


由图得知,复制卷分布在存储服务器,node3和node4的d5目录,若从两台节点服务器的目录,查到网站首页index.html文件,证明,卷创建成功!

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_21


故障模拟:若两台节点服务器的首页文件,在任意一台损失,另外复制卷的服务器仍可提供服务,实现了高可用性。

在管理员电脑,访问192.168.8.142能正常访问Apache服务

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_分布式_22


三、扩展知识(在客户端配置client:192.168.8.142)

测试gluster文件系统性能

1.创建挂载目录
[root@node5 ~]# mkdir -p /test/{dis,stripe,rep,dis_and_stripe,dis_and_rep}

2.挂载gluster文件系统

[root@node5 test]# mount -t glusterfs node1:dis-volume /test/dis
[root@node5 test]# mount -t glusterfs node1:stripe-volume /test/stripe
[root@node5 test]# mount -t glusterfs node1:rep-volume /test/rep
[root@node5 test]# mount -t glusterfs node1:dis-volume /test/dis_and_stripe
[root@node5 test]# mount -t glusterfs node1:dis-rep /test/dis_and_rep
[root@node5 test]#

3.永久挂载(重启系统)

[root@node5 test]# vim /etc/fstab //编辑配置文件

添加如下内容:
node1:dis-volume /test/dis glusterfs defaults,_netdev 0 0
node1:strip-volume /test/stripe glusterfs defaults,_netdev 0 0
node1:rep-volume /test/rep glusterfs defaults,_netdev 0 0
node1:dis-stripe /test/dis_and_stripe glusterfs defaults,_netdev 0 0
node1:dis-rep /test/dis_and_rep glusterfs defaults,_netdev 0 0

4.创建五个文件,大小43M

[root@node5 ~]# dd if=/dev/zero of=demo1.log bs=43M count=1
[root@node5 ~]# dd if=/dev/zero of=demo2.log bs=43M count=1
[root@node5 ~]# dd if=/dev/zero of=demo3.log bs=43M count=1
[root@node5 ~]# dd if=/dev/zero of=demo4.log bs=43M count=1
[root@node5 ~]# dd if=/dev/zero of=demo5.log bs=43M count=1

查看文件属性:

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_23


1)卷中写入文件

[root@node5 ~]#cp demo* /test/dis
[root@node5 ~]#cp demo* /test/stripe
[root@node5 ~]#cp demo* /test/rep
[root@node5 ~]#cp demo* /test/dis_and_stripe
[root@node5 ~]#cp demo* /test/dis_and_rep

2)查看文件分布

验证分布式卷:没分片,原始大小43M,文件分布在不同服务器

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_24


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_25


验证条带卷:大小被分片成22M

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_26


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_27


验证复制卷:没有分片,原始大小43M,卷中所有的服务器均保存一个完整的副本

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_运维_28


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_29


验证分布式条带卷:大小被分片成22M,文件分布在不同服务器

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_30


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_31


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_32


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_分布式_33


验证分布式复制卷:

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_分布式_34


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_35


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_运维_36


强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_37


3)破坏性测试挂起node2节点,在客户端测试文件是否可以正常使用。

以分布式卷为例,没分片,文件分布在不同服务器(node1、node2,一旦故障损失部分数据,不具备冗余性)

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_分布式_38


4)其他维护命令查看glusterfs集群卷的列表

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_39


查看卷的状态(显示所有卷的工作状态,内容过多,仅以dis-rep卷为例)

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_服务器_40


停止/删除卷(会提示,是/否,选择y,表示确定)

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_gfs_41


设置卷的访问

仅允许192.168.8.0和10.1.1.0网段访问

强烈推荐!老板再也不用担心我的数据存储了-搭建GFS_linux_42



标签:GFS,volume,node1,glusterfs,test,强烈推荐,搭建,root,dis
From: https://blog.51cto.com/u_15815722/5860499

相关文章

  • mysql8.0.31 mgr搭建
    1. mysql下载地址:MySQL::DownloadMySQLCommunityServer2. mgr文档:MySQL::MySQL8.0ReferenceManual::18GroupReplication3.安装实例:a) 解压ta......
  • Qt搭建MQTT环境
    我只说一点,非常关键!!! 1、在下载qtmqtt时候,要选与你qt版本相同的包,不然编译总出错! 原因可看这篇文章:​​https://forum.qt.io/topic/120579/no-member-named-erroroccurred-......
  • clion环境搭建
    CLion2022.2.4破解教程详细图解https://www.hereitis.cn/articleDetails/868将上面图示的补丁的所属文件夹 /jetbra 复制电脑某个位置,小编这里放置到了默认的下载目......
  • 数据指标体系搭建步骤
    数据指标体系的搭建作为数据分析师的一项必备技能,也是最基础的能够帮助业务方的一项工作。好的数据指标体系能够监控业务变化。当业务出现问题时,数据分析师可以通过数据指标......
  • MongoDB搭建与应用
    一、单机搭建1、安装与启动#1.下载社区版MongoDB4.1.3#下载地址:https://www.mongodb.com/download-center#communitywgethttps://fastdl.mongodb.org/linux/mon......
  • Docker基础知识 (19) - Kubernetes(二) | 搭建单个 Master 集群(一主一从)
    Kubernetes,也被称为K8s或Kube,是谷歌推出的业界最受欢迎的容器管理/运维工具(容器编排器)。它是一套自动化容器管理/运维的开源平台,包括部署、调度和节点集群的扩展等。Kub......
  • 5 步!用阿里云 Serverless 搭建高质量的图片压缩工具
    作者:ReganYue本文选自“Serverless函数计算征集令”活动什么是ServerlessServerless是一种基于云计算的开发方法,它让开发人员可以专注于编写代码来解决业务问题,而不是处......
  • k8s集群搭建
    1准备三台linux服务器2docker安装三台机器全部执行docker安装操作2.1移除以前docker相关包sudoyumremovedocker\docker-client\......
  • 直播app开发搭建,centos7修改密码
    直播app开发搭建,centos7修改密码修改centos7密码1.登录到需要修改密码的服务器。2.输入passwd命令3.输入两遍密码,即可完成密码修改  [root@localhost~]#passw......
  • Eureka搭建
    一:引入<!--eureka服务端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix......