GFS部署实验

目录

1、部署环境

​编辑

2、更改节点名称

3、准备环境

4、磁盘分区,并挂载

5. 做主机映射--/etc/hosts/

6. 复制脚本文件

7. 执行脚本完成分区

8. 安装客户端软件

1. 创建gfs

2. 安装解压源包

3. 安装 gfs

4. 开启服务

9、 添加节点到存储信任池中

10、创建卷

1. 规划创建卷

2.创建分布式卷

3.创建条带卷

4. 创建复制卷

5.创建分布式条带卷

6.创建分布式复制卷

7.查看卷列表

11、部署客户端--7-1

1.复制文件并解压

2. 建立元数据

3.安装 

4.创建挂载目录

5. 给客户端做主机名映射

6.挂载Gluster文件系统

12、测试Gluster文件系统

1.在5个卷中写入文件

13、查看文件分布

1. 查看分布式文件分布

2.查看条带卷文件分布

3.查看复制卷分布

4.查看分布式条带卷分布

5.查看分布式复制卷分布

14.破坏性测试

1.挂起node2

15.客户端查看破坏结果

1.查看分布式数据

2.查看条带卷数据

3.查看复制卷数据

4.查看分布式条带卷数据

5.查看分布式复制卷数据

16、总结

1.查看GlusterFS卷

2.查看所有卷的信息

3.查看所有卷的状态

4.停止一个卷

5.删除一个卷,注意:删除卷时,需要先停止卷,且信任池中不能有主机处于宕机状态,否则删除不成功

6.设置卷的访问控制


1、部署环境

Node1节点:node1/192.168.91.102		  磁盘: /dev/sdb1			挂载点: /data/sdb1/dev/sdc1					/data/sdc1/dev/sdd1					/data/sdd1/dev/sde1					/data/sde1Node2节点:node2/192.168.91.103		  磁盘: /dev/sdb1			挂载点: /data/sdb1/dev/sdc1					/data/sdc1/dev/sdd1					/data/sdd1/dev/sde1					/data/sde1Node3节点:node3/192.168.91.104		  磁盘: /dev/sdb1			挂载点: /data/sdb1/dev/sdc1					/data/sdc1/dev/sdd1					/data/sdd1/dev/sde1					/data/sde1Node4节点:node4/192.168.91.105   	  磁盘: /dev/sdb1			挂载点: /data/sdb1/dev/sdc1					/data/sdc1/dev/sdd1					/data/sdd1/dev/sde1					/data/sde1=====客户端节点:192.168.91.100=====

给四个服务器,每台添加4块硬盘 

[root@localhost ~]# ls /dev/sd*

2、更改节点名称

node1(192.168.91.102)

[root@localhost ~] # hostnamectl set-hostname node1
[root@localhost ~] # bash

node2(192.168.91.103)

[root@localhost ~] # hostnamectl set-hostname node2
[root@localhost ~] # bash

node3(192.168.91.104)

[root@localhost ~] # hostnamectl set-hostname node3
[root@localhost ~] # bash

node4(192.168.91.105)

[root@localhost ~] # hostnamectl set-hostname node4
[root@localhost ~] # bash

3、准备环境

关闭防火墙和selinux

[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# setenforce 0

4、磁盘分区,并挂载

vim /opt/fdisk.sh
#!/bin/bash
NEWDEV=`ls /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

chmod +x /opt/fdisk.sh

5. 做主机映射--/etc/hosts/

echo "192.168.91.102 node1" >> /etc/hosts
echo "192.168.91.103 node2" >> /etc/hosts
echo "192.168.91.104 node3" >> /etc/hosts
echo "192.168.91.105 node4" >> /etc/hosts

6. 复制脚本文件

[root@node1 opt]# scp fdisk.sh node2:/opt/
[root@node1 opt]# scp fdisk.sh node3:/opt/
[root@node1 opt]# scp fdisk.sh node4:/opt/

7. 执行脚本完成分区

8. 安装客户端软件

1. 创建gfs

cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bakvim glfs.repo[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1

yum clean all && yum makecache

2. 安装解压源包

3. 安装 gfs

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

yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

4. 开启服务

systemctl start glusterd.service 
systemctl enable glusterd.service
systemctl status glusterd.service

9、 添加节点到存储信任池中

#只要在一台Node节点上添加其它节点即可

gluster peer probe node2
gluster peer probe node3
gluster peer probe node4gluster peer status

在7-2一台主机上添加信任,其他主机会自动添加

10、创建卷

1. 规划创建卷

============================根据以下规划创建卷=============================
卷名称 				卷类型				Brick
fenbushi	 		分布式卷			node1(/data/sdb1)、node2(/data/sdb1)
tiaodai	            条带卷			node1(/data/sdc1)、node2(/data/sdc1)
fuzhi			    复制卷			node3(/data/sdb1)、node4(/data/sdb1)
fbs-td			    分布式条带卷		node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1)
fbs-fz				分布式复制卷		node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1)

2.创建分布式卷

#创建分布式卷,没有指定类型,默认创建的是分布式卷[root@node1 ~]# gluster volume create fenbushi node1:/data/sdb1 node2:/data/sdb1 force
volume create: fenbushi: success: please start the volume to access data
[root@node1 ~]# gluster volume list
fenbushi
[root@node1 ~]# gluster volume start fenbushi 
volume start: fenbushi: success
[root@node1 ~]# gluster volume info fenbushi Volume Name: fenbushi
Type: Distribute
Volume ID: 0438fb36-e99c-4845-a702-18202498660a
Status: Started
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdb1
Brick2: node2:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# 

3.创建条带卷

[root@node1 ~]# gluster volume create tiaodai stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
volume create: tiaodai: success: please start the volume to access data
[root@node1 ~]# gluster volume start tiaodai 
volume start: tiaodai: success
[root@node1 ~]# gluster volume info tiaodai Volume Name: tiaodai
Type: Stripe
Volume ID: f64b6b6a-dadd-427f-8806-6e7dff448b66
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdc1
Brick2: node2:/data/sdc1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# 

4. 创建复制卷

[root@node1 ~]# gluster volume create fuzhi replica 2 node3:/data/sdb1 node4:/data/sdb1 force
volume create: fuzhi: success: please start the volume to access data
[root@node1 ~]# gluster volume start fuzhi 
volume start: fuzhi: success
[root@node1 ~]# gluster volume info fuzhi Volume Name: fuzhi
Type: Replicate
Volume ID: 3cdffb32-a007-41c6-8e19-dbc17878ea12
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node3:/data/sdb1
Brick2: node4:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# 

5.创建分布式条带卷

[root@node1 ~]# gluster volume create fbs-td stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
volume create: fbs-td: success: please start the volume to access data
[root@node1 ~]# gluster volume start fbs-td
volume start: fbs-td: success
[root@node1 ~]# gluster volume info fbs-td Volume Name: fbs-td
Type: Distributed-Stripe
Volume ID: b389f9b9-12bf-4ffd-a05a-d4a126a37cb4
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdd1
Brick2: node2:/data/sdd1
Brick3: node3:/data/sdd1
Brick4: node4:/data/sdd1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# 

6.创建分布式复制卷

[root@node1 ~]# gluster volume create fbs-fz replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force
volume create: fbs-fz: success: please start the volume to access data
[root@node1 ~]# gluster volume start fbs-fz
volume start: fbs-fz: success
[root@node1 ~]# gluster volume info fbs-fzVolume Name: fbs-fz
Type: Distributed-Replicate
Volume ID: f6913316-f886-4f4b-8e53-94feaf448587
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: node1:/data/sde1
Brick2: node2:/data/sde1
Brick3: node3:/data/sde1
Brick4: node4:/data/sde1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# 

7.查看卷列表

gluster volume list

11、部署客户端--7-1

1.复制文件并解压

2. 建立元数据

cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bakvim glfs.repo[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1

[root@localhost opt]# yum clean all && yum makecache

3.安装 

yum -y install glusterfs glusterfs-fuse

4.创建挂载目录

mkdir -p /test/{fenbushi,tiaodai,fbs-td,fuzhi,fbs-fz}

5. 给客户端做主机名映射

192.168.91.102 node1
192.168.91.103 node2
192.168.91.104 node3
192.168.91.105 node4

6.挂载Gluster文件系统

#临时挂载

[root@localhost opt]# mount.glusterfs node1:fenbushi /test/fenbushi/
[root@localhost opt]# mount.glusterfs node1:tiaodai /test/tiaodai/
[root@localhost opt]# mount.glusterfs node1:fuzhi /test/fuzhi/
[root@localhost opt]# mount.glusterfs node1:fbs-td /test/fbs-td/
[root@localhost opt]# mount.glusterfs node1:fbs-fz /test/fbs-fz/

df   -h###查看挂载效果

12、测试Gluster文件系统

1.在5个卷中写入文件

cd /opt
dd if=/dev/zero of=/opt/demo1.log bs=1M count=40
dd if=/dev/zero of=/opt/demo2.log bs=1M count=40
dd if=/dev/zero of=/opt/demo3.log bs=1M count=40
dd if=/dev/zero of=/opt/demo4.log bs=1M count=40
dd if=/dev/zero of=/opt/demo5.log bs=1M count=40

[root@localhost opt]# cp /opt/demo* /test/fenbushi/
[root@localhost opt]# cp /opt/demo* /test/tiaodai/
[root@localhost opt]# cp /opt/demo* /test/fuzhi/
[root@localhost opt]# cp /opt/demo* /test/fbs-td/
[root@localhost opt]# cp /opt/demo* /test/fbs-fz/

13、查看文件分布

1. 查看分布式文件分布

没有数据分片

1.  因为我们之前做分布式卷的时候,指定就是node1和node2的sdb1磁盘

2.  所以我们查看文件分布的时候,要对应之前创建卷的时候的分布

2.查看条带卷文件分布

数据被分片

3.查看复制卷分布

数据备份了

4.查看分布式条带卷分布

数据被分布式存储;数据被分片

5.查看分布式复制卷分布

14.破坏性测试

1.挂起node2

15.客户端查看破坏结果

1.查看分布式数据

2.查看条带卷数据

3.查看复制卷数据

因为我们把复制卷坐在了node3和node4上

所以,我们把node4挂起

4.查看分布式条带卷数据

5.查看分布式复制卷数据

16、总结

##### 上述实验测试,凡是带复制数据,相比而言,数据比较安全 #####

#扩展其他的维护命令:

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卷(分布式复制卷)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目如何国际化操作,让你可以随意切换语言

1.前言 最近接触的项目需要中文/英文或者其他国家语言的切换,在后台的时候有一个选择,你可以选择中文还是英文,或者其他语言,选择完毕界面语言就都变了,咱不知道前端怎么操作的,但是后台在处理提示语的时候…

SVN(Subversion)代码版本管理

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言SVN(Subversion)和Git的比较SVN进行版本控制的基本步骤前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先…

MySQL-8. mysql索引

说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,查询速度就可能提高百倍干倍。 索引本身会占用空间,以空间换时间。索引的代价:磁盘占用,影响DML语句效率&…

软件SPI读写W25Q64

文章目录 前言接线引脚定义图 软件SPI读写W25Q64代码规划代码实现ThisSPI.cThisW25Q64.cmain.c 前言 SPI介绍:https://blog.csdn.net/qq_53922901/article/details/137142038 W25Q64介绍: https://blog.csdn.net/qq_53922901/article/details/137197048…

C++性能测试工具

使用示例main.cpp // g-13 -O3 -stdc17 main.cpp profile.cpp #include <iostream> #include <chrono> #include <stdint.h> #include <mutex> // std::mutex#include "profile.h" #include "profile_rdtsc.h"std::mut…

Java基于SpringBoot+Vue 的医院预约挂号系统

博主介绍&#xff1a;✌程序员徐师兄、10年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447…

【问题记录】使用Audition播放时低8位数据会被修改

一&#xff0c;问题现象记录 使用Audition连接UAC播放采样点数据比较大的时候&#xff0c;低8位的数据会被修改。如果对低8位数据敏感的情况&#xff0c;需要使用其他播放器进行播放。 二&#xff0c;问题复现 1&#xff0c;使用C代码生成一个PCM文件&#xff1a; #include…

智慧水库解决方案(打造水库智慧监测体系)

​作为一名水利自动化系统集成商,最近我司接手了一个智慧水库建设项目。这个项目位于一座山区的大型水库,目的是对其进行现代化、智能化改造,提升供水、防洪等管理水平。&#xff08;key-iot.com.cn&#xff09; 在方案设计之初,我们组织了现场勘测,全面了解水库的实际情况。这…

win11系统和ubuntu双系统首次连接网线上网流程

硬件准备 首先需要将网线连接到电脑&#xff0c;另一头可以连接交换机或者路由器 上网前需要拨号上网&#xff0c;如果是连的路由器&#xff0c;那么一台路由器上拨号一次就行了。 如果是连的交换机需要拨号上网 这里踩的第一个坑是刚开始电脑连的是交换机1又连的交换机2&…

【Python】如何将轨迹node路径匹配到路网edge信息

外面纷纷扰扰里面乱乱糟糟 我们别再闹了 这个冬天已然很冷了 我们靠在一起好吗 我们聊些有趣的事情 别把气氛弄的如此低沉 我知道这几天你心烦 每个人的活都不简单 &#x1f3b5; 毛不易《别再闹了》 在地理信息系统&#xff08;GIS&#xff09;和路网分析…

Pandas追加写入文件的时候写入到了第一行

# 原代码 def find_money(file_path, account, b_account, money, type_word, time):file pd.read_excel(file_path)with open(money.csv, a, newline, encodingutf-8) as f:for i in file.index:省略中间的代码if 省略中间的代码:file.loc[[i]].to_csv(f,indexFalse)find_sam…

使用 kustomize 对 kubernetes 对象进行声明式管理

补丁实战 策略合并补丁 基准文件&#xff1a;/test/bases/deploy.yml apiVersion: apps/v1 kind: Deployment metadata:namespace: sharkname: my-nginx spec:selector:matchLabels:run: my-nginxreplicas: 2template:metadata:labels:run: my-nginxspec:containers:- name:…

STM32中C编程引入C++程序

C具备类的创建思想很实用于实际场景多相似性的框架搭建&#xff1b;同种类型或相似类型的C的优势明显因此进行相互嵌套使用 需要在C中使用C类的话&#xff0c;你可以通过C的“extern "C"”语法来实现。这允许你在C代码中使用C的链接方式&#xff0c;而在C代码中使用…

4月5日排序算法总结(1)

冒泡排序 利用每趟都确定出一个最大值或者最小值 如果需要排一个从小到大的数组&#xff0c;那么我们每一趟都要确定一个最大值放在最后&#xff0c;一共有n个数&#xff0c;我们最多需要排列n-1趟就可以了&#xff0c;我们可以改进自己的代码&#xff0c;利用一个flag标记&a…

【Linux】UDP编程【上】{诸多编程接口/小白入门式讲解}

文章目录 0.预备知识0.1套接字0.2TCP/UDP0.3大小端问题 1.socket 常见API1.1socket1.2各个接口1.3int bind();1.3网络头文件四件套1.4bzero1.5recvfrom1.6sendto() 2.UDP编程2.1服务器编程2.2客户端编程2.3运行测试2.3.1本机通信2.3.2popen2.3.3strcasestr2.3.4回顾C11智能指针…

微电网优化:基于肝癌算法(Liver Cancer algorithm, LCA)的微电网优化(提供MATLAB代码)

一、微电网优化模型 微电网是一个相对独立的本地化电力单元&#xff0c;用户现场的分布式发电可以支持用电需求。为此&#xff0c;您的微电网将接入、监控、预测和控制您本地的分布式能源系统&#xff0c;同时强化供电系统的弹性&#xff0c;保障您的用电更经济。您可以在连接…

Mamba解读(FlashAttention,SSM,LSSL,S4,S5,Mamba)

Sequence modelScale and EfficiencyFlashAttentionMotivationMethodFlashDecoding MambaState-Space Models&#xff08;SSM&#xff09;Selective State Space Models&#xff08;Mamba&#xff09; Sequence model seq2seq任务将 输入序列 x ( t ) x(t) x(t) 映射为 输出序…

每日两题 / 1.两数之和 49.字母异位词分组(leetcode热题100)

1. 两数之和 - 力扣&#xff08;LeetCode&#xff09; 暴力解法&#xff1a; O ( N 2 ) O(N^2) O(N2)遍历数组&#xff0c;找两个数相加为target O ( N ) O(N) O(N)解法&#xff1a;将所有数排序&#xff0c;并记录这些数的下标&#xff0c;双指针从左右向中间走。指向的两数…

吴恩达深度学习笔记:深层神经网络(Deep Neural Networks)4.1-4.4

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第四周&#xff1a;深层神经网络(Deep Neural Networks)4.1 深层神经网络&#xff08;Deep L-layer neural network&#xff09;4.2 前向传播和反向传播&#xff08;Forward and backward pro…

vscode 重命名很慢或失败 vscode renames are slow

网上问题&#xff0c; 插件问题&#xff08;我遇见的排除&#xff0c;不是&#xff09;被其他程序占用问题&#xff0c;&#xff08;我这边是这个&#xff09; 解决方案&#xff1a; 打开【资源管理器】&#xff0c;使用火绒 或其他软件&#xff0c;查看文件夹 or 文件 被哪个…