GFS 分布式文件系统

gfd glusterFS开源的分布式的文件系统

存储服务器 客户端 以及网络(NFS/samba)网关

传统方式的分布式系统元服务器,元服务器保存存储节点的目录树信息

一旦元服务器故障,所有的存储节点全部消失

现在GFS取消了元服务器机制,数据横向扩展能力更强。可靠性更强,存储效率也更高

GFS的特点

1、扩展性更强,高性能

2、高可用,可以自动对文件进行复制,多次复制,确保数据总是可以访问,哪怕是硬件故障也能正常访问

3、全局同一的命名空间,所有节点都在一个分支的管理之下,客户端访问访问分支节点即可

4、弹性卷,类似LVM,不同硬盘上的不同分区,组成一个逻辑上的硬盘

不同服务器上的不同的硬盘分区,组层一个卷,可以动态的扩容

5、基于标准协议,GFS存储服务支持,NFS FTP HTTP 以及GFS协议,应用程序可以直接使用数据,不需要任何修改

GFS的组件和术语

1、BRLCK(存储块),存储服务器提供的用于物理存储的专用分区,GFS当中的基本存储单元,也是对外提供的存储目录

服务和目录的绝对路径组成

server:dir

20.0.0.20:/opt/gfs

2、volume 逻辑卷 一个逻辑卷就是一组brick的集合类似于lvm,我们管理GFS就是管理这些卷

3、FUSE:GFS的内核模块,允许用户创建自己的文件系统

4、VFS:内核空间对用户提供的访问磁盘的接口,虚拟接口

5、服务端在每个存储节点上都要运行,glusterd(后台管理进程)

GFS工作流程图

GFS的卷有哪些类型

分布式卷,也是GFS的默认卷类型

条带卷(没了)

复制卷(镜像化)

分布式复制卷

分布式卷的特点

文件数据通过HASH算法分布到设置的所有BRICK SERVER上,GFS的默认卷,属于raid0,没有容错机制

在分布式卷模式下,没有对文件进行分块,直接存储在某个server的节点上,存取效率也没有提高,直接使用本地文件系统进行存储

复制卷

类似于raid1 文件会同步在多个BRICK server上,读性能上升,写性能稍差

复制卷具备冗余,坏一个节点不影响数据,但是要保存副本,磁盘利用率50%

分布式复制卷

两两复制,文件会在组内同步,不同的组之间数据未必同步

实验

实验环境

四台服务器

服务器ip磁盘
node120.0.0.10/dev/sdb1 /data/sdb1 /dev/sdc1 /data/sdc1 /dev/sdd1 /data/sdd1
node220.0.0.20/dev/sdb1 /data/sdb1 /dev/sdc1 /data/sdc1 /dev/sdd1 /data/sdd1
node320.0.0.30/dev/sdb1 /data/sdb1 /dev/sdc1 /data/sdc1 /dev/sdd1 /data/sdd1
node420.0.0.31/dev/sdb1 /data/sdb1 /dev/sdc1 /data/sdc1 /dev/sdd1 /data/sdd1
客户端20.0.0.40

配置

防火墙和安全机制

vim fdisk.sh
#!/bin/bash
NEWDEV=`ls /dev/sd* | grep -o 'sd[b-z]' | uniq`
for VAR in $NEWDEV
do
   echo -e "n\np\n\n\n\nw\n" | fdisk /dev/$VAR &> /dev/null
   mkfs.xfs /dev/${VAR}"1" &> /dev/null
   mkdir -p /data/${VAR}"1" &> /dev/null
   echo "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0" >> /etc/fstab
done
mount -a &> /dev/null

创建别名刷新端口
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'

scan

4个node添加硬盘
lsblk	刷新磁盘
运行脚本
sh fdisk.sh

没有挂载上去
mkfs.xfs /dev/没有挂载上的盘
mount -a


修改主机名(4个)
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
hostnamectl set-hostname node4
su

做映射(4个node)
vim /etc/hosts
20.0.0.10 node1
20.0.0.20 node2
20.0.0.30 node3
20.0.0.31 node4

安装节点
官网源
yum -y install centos-release-gluster

清缓存建立元数据
yum clean all && yum makecache
安装服务
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

验证服务是否安装成功
重启服务
查看服务状态
systemctl restart glusterd
systemctl status glusterd

查看版本
glusterd -V

添加节点服务器,形成一个存储信任池
gluster peer probe node1
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4

gluster peer status

分布卷

创建分布式卷
gluster volume create fenbushi  node1:/data/sdb1 node2:/data/sdb1 force

gluster volume create	创建新卷 默认就是分布式卷
fenbushi	卷名,唯一不可重复
node1:/data/sdb1 node2:/data/sdb1 	挂载点
force 强制挂载

开启卷
gluster volume start fenbushi

查看卷的信息
gluster volume info fenbushi

客户端
安装主键
yum -y install glusterfs glusterfs-fuse 
 
映射
vim /etc/hosts

临时挂载
mkdir -p /test/fenbushi
mount.glusterfs node1:fenbushi /test/fenbushi
df -h

永久挂载
vim /etc/fatab
node1:fenbushi /test/fenbushi glusterfs defaults,_netdev 0 0

mount -a 
df -h

cd /test/fenbushi 

touch {1..5}.txt

查看实验结果
cd /data

复制卷

创建卷
gluster volume create fuzhijuan replica 2 node2:/data/sdc1 node3:/data/sdc1 force
replica 2 设置复制策略,2是两两复制,要小于等于存储节点,不能比存储节点多,否则,创建失败

gluster volume start fuzhijuan

查看卷的信息
gluster volume info fuzhijuan

客户端

mkdir -p /test/fuzhijuan
mount.glusterfs node1:fuzhijuan /test/fuzhijuan

touch {1..6}.txt

分布式复制卷

创建卷
gluster volume create fenbufuzhi replica 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force

gluster volume start fenbufuzhi

客户端
mkdir -p /test/fenbufuzhi
mount.glusterfs node1:fenbufenzhi /test/fenbufuzhi
df -h
cd /test/fenbufuzhi
touch {1..6}.txt

分布式复制卷是最常用的分布式文件存储方式,根据策略,存储文件时还是分布式的存储方式,分开存储,但是会进行复制,所有也拥有冗余的功能,但是磁盘利用率只有50%

查看所有卷
gluster volume status
删除卷
先停再删
gluster volume stop fenbufuzhi
​
gluster volume delete fenbufuzhi
​
客户端如果是永久挂载,取消挂载

查看节点关系

gluster volume status

禁止某主机访问

gluster volume set fenbufuzhi auth.reject 20.0.0.40
​
客户端访问GFS卷,通过挂载的方式实现
mkdir /test 
mount.glusterfs node1:fenbufuzhi /test

允许一个网段访问

gluster volume set fenbufuzhi auth.allow 20.0.0.*

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

波卡三季度报告:已实现白皮书目标,异步支持与应用链技术推进

作者:Nicholas Garcia,Messari 研究分析师 编译:OneBlock 来源:https://messari.io/report/state-of-polkadot-q3-2023 知名分析平台 Messari 发布了 Polkadot 2023 年第三季度报告,分析了波卡的关键数据指标以及网…

双向链表的知识点+例题

1.链表的种类 题中常考查以下两种: 上一讲我们学了无头单向非循环链表,这节,让我们看一下双向链表的操作吧~ 2基本操作 1,定义双向链表 2,创建一个节点 3,初始化双链表 4,尾插一个节点 5打印…

CRM系统怎么选 企业CRM系统选型需要注意什么

如何为企业挑选CRM系统,随着市场经济的发展,越来越多的CRM系统出现,功能也是越来越强大,但是,其实很多人对CRM系统了解的并不多,不知道应该如何选择CRM系统,今天白码小编就来介绍一下CRM系统选型…

什么是日志分析?为什么IT管理员需要日志分析?

在现在大数据时代,大量的数据被生成和记录,无论是企业还是个人,都在不断产生各种日志。日志记录了系统、应用程序、网络等多个领域的活动和事件信息,它们对于解决问题、监控和优化系统、还原事件等都非常重要。而这些海量的日志数…

近期局势较多变化 适合黄金代理入场吗?

进入本年的四季度后,中东局势出现了比较大的变化。首先,巴以冲突不断的加剧,而且马来西亚的林吉特出现大幅贬值,甚至有市场论调认为,亚洲金融危机可能会重新点燃。从这个角度来说,整体的市场环境是很动荡的…

PP-YOLOE: An evolved version of YOLO(2022.12)

文章目录 Abstract1. Introduction2. Method2.1. A Brief Review of PP-YOLOv22.2. Improvement of PP-YOLOEAnchor-freeBackbone and NeckTask Alignment Learning (TAL)Efficient Task-aligned Head (ET-head) 3.Experiment4. Conclusion 原文链接 源代码 Abstract 在本报告…

基于plc的柔性制造系统供料检测单元的设计(论文+源码)

1.系统设计 本次基于plc的柔性制造系统供料检测单元的设计,其系统结构框图如图2.1所示,系统采用西门子S7-200 型号的PLC作为主控制器,并结合温度传感器,重量传感器,限位开关,变频器等器件来构成整个系统&a…

Android Proguard混淆

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、语法规则3.1 输入/输出选项3.2 保留选项3.3 缩…

十大热门骨传导蓝牙耳机排行榜,精选最佳的五款骨传导蓝牙耳机

排行榜十大热门骨传导耳机,哪些才是综合实力最强的骨传导耳机? 近年来,骨传导耳机越来越受欢迎。由于骨传导耳机不需要插入耳朵,用户能够同时感知周围环境的声音,不会完全隔绝外界,增加了使用时的安全性。…

Win10远程连接服务器失败,报错:出现了内部错误

背景:本地windows10专业版电脑远程Windows虚拟机报错,但实际检查控制台发现,虚拟机状态正常,只是本地远程连接莫名其妙断开,并报错出现了内部错误: 原因:win10客户端RDP兼容性的问题 解决方法&…

忆联消费级SSD AH660:将用户体验推向新高度

自1989年IBM推出世界上第一款固态硬盘(SSD)以来,SSD在三十多年的时间中历经了多次技术革新和市场变革,早已成为个人电脑、汽车电子、数据中心、物联网终端等领域的主流存储产品,并广泛应用于各行各业,在202…

pdb restore in ADG database

Effect of PITR on Dataguard Environment (Standby MRP Crashed with ORA-39873) (Doc ID 1591492.1)​编辑To Bottom In this Document Symptoms Cause Solution APPLIES TO: Oracle Database Cloud Exadata Service - Version N/A and later Oracle Database Cloud Servic…

ChatGPT 从零到一打造私人智能英语学习助手

近几年,随着智能化技术的发展和人工智能的兴起,越来越多的应用程序开始涌现出来。在这些应用中,语音识别、自然语言处理以及机器翻译等技术都得到了广泛的应用。其中,聊天机器人成为了最受欢迎的人工智能应用之一,它们…

AI创新下的生成式人工智能——Amazon Bedrock

目录 什么时生成式人工智能 亚马逊云的生成式 AI产品 Amazon Bedrock VS Amazon SageMake Amazon Bedrock的由来 Amazon Bedrock 的申请与使用 Amazon Bedrock 的使用案例 什么时生成式人工智能 生成式人工智能(Generative Artificial Intelligence&#xff0…

如何提升软件测试效率?本文为你揭示秘密

在软件开发中,测试是至关重要的一个环节。它能帮助我们发现并修复问题,从而确保我们提供的软件具有高质量。然而,测试过程往往费时费力。那么,有没有方法可以提升我们的软件测试效率呢?答案是肯定的。下面,…

element-china-area-data使用问题

使用CodeToText报错,下载的时候默认下载最新版本的, 稳定版本5.0.2版本才可以 npm install element-china-area-data5.0.2 -S

C/C++轻量级并发TCP服务器框架Zinx-框架开发003:转大写字母输出+责任链模式+代码重构思路及实现

文章目录 1 添加转大写字母输出功能2 责任链模式2.1 责任链的设计2.2 责任链的实现2.3 责任链的测试 3 代码重构3.1 类图设计3.2 重构设计 - 头文件3.3 重构实现 1 添加转大写字母输出功能 功能流程: stdin通道类中包含一个功能处理类对象功能处理类中包含一个stdo…

卡码网语言基础课 | 12. 位置互换

通过本次练习,将要学习到以下C知识点: 位置互换交换变量字符串 题目:给定一个长度为偶数位的字符串,请编程实现字符串的奇偶位互换。 奇偶位互换是指字符串的奇数位和偶数位相互交换位置 即:第一位和第二位交换&…

拷贝文件到u盘提示文件过大

在u盘空间足够的情况下,如果提示这个,可以手动修改一下ntfs格式 点击 WinR 键, 输入cmd回车 使用convert f:/fs:ntfs命令,此处的f为盘符,根据u盘所在的盘符设置。 如果u盘有隐藏的文件在自动运行,可能导致…

设计模式篇---装饰模式

文章目录 概念结构实例总结 概念 装饰模式:动态的给一个对象增加一些额外的职责。就扩展功能而言,装饰模式提供了 一种比使用子类更加灵活的替代方案。 装饰模式是一种对象结构型模式,它以对客户透明的方式动态地给一个对象附加上更多的责任…