IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> GlusterFS -> 正文阅读

[系统运维]GlusterFS

目录

1、简介

2、GlusterFS特点

3、文件系统

4、GlusterFS专业术语

5、GlusterFS工作原理

6、GlusterFS的卷类型

二、GlusterFS实验

1、准备5台机器

?2、磁盘分区,并挂载 利用

?3、根据以下规划创建卷

4、?部署客户端

5、配置 /etc/hosts 文件

6、挂载 Gluster 文件系统

?7、破坏性测试


1、简介

?开源的分布式文件系统

?由存储服务器、客户端以及NFS/Samba存储网关组成

?无元数据服务器

2、GlusterFS特点

?扩展性和高性能(分布式特性)

?高可用性(冗余、容灾能力)

?全局统一命名空间

?弹性卷管理

?基于标准协议

3、文件系统

文件系统文件系统组成:

1、文件系统接口

2、对对像管理的软件集合

3、对象及熟悉

?文件系统作用:

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取

?文件系统的挂教使用:

除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个目录文件。类比:NFS

4、GlusterFS专业术语

?Brick(块存储服务器):实际存储用户数据的服务器

?Volume:本地文件系统的"分区"

?FUSE:用户空间的文件系统(类别EXT4),”这是一个伪文件系统“,用户端的交换模块

?VFS(虚拟端口):内核态的虚拟文件系统,用户是提交请求给VFS 然后VFS交给FUSH,再交给GFS客户端,最后由客户端交给远端的存储

?Glusterd(服务):是运行再存储节点的进程(客户端运行的是gluster client)GFS使用过程中整个GFS之间的交换由Gluster client 和glusterd完成

注:GFS会使用到以上的虚拟文件系统

5、GlusterFS工作原理

1、客户端通过挂载点目录,将数据转交给VFS接口

2、在通过VFS接口将数据转交给FUSE伪文件系统进行格式转换?

3、由于FUSE是没有转存工具直接发送到GlusterFS服务的的,所以需要转送到内存中,再由内存发送给GlusterFS服务端

4、这时就是GlusterFS服务端和和客户端吧、进程与进程质检进行对接数据传输

5、服务的在通过自己的VFS发送到自己的文件系统进行本地保存

注:x轴上方为用户态环境,可视化,下方则为系统换下内核环境

6、GlusterFS的卷类型

(1)分布式卷

?没有对文件进行分块处理

?通过扩展文件属性保存HASH值

?支持的底层文件系统有EXT3.EXT4.ZFS.XFS等

(2)条带卷

?根据偏移量将文件分成N块(N个条带节点),轮询的存储在每个Brick Server节点

?存储大文件时,性能尤为突出

?不具备冗余性,类似Raid0

(3) 复制卷

?同一文件保存一份或多分副本

?因为要保存副本,所以磁盘利用率较低

?若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量

(4)分布式条带卷

?兼顾分布式卷和条带卷的功能

?主要用于大文件访问处理

?至少最少需要4天服务器

(5)分布式复制卷

?兼顾分布式卷和复制卷的功能

?用于需要冗余的情况

二、GlusterFS实验

1、准备5台机器

Node1:192.168.182.160

Node2:192.168.182.137

Node3:192.168.182.138

Node4:192.168.182.139

客户端:192.168.182.175

将每台机器 添加 大小为5G的磁盘

#关闭防火墙

systemctl stop firewalld

setenforce 0

?2、磁盘分区,并挂载 利用

2.磁盘分区,并挂载
vim /opt/fdisk.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

cd /opt

chmod +x fdisk.sh

./fdisk.sh

将脚本执行

#配置各个节点的/etc/hosts文件(所有节点操作)

echo "192.168.182.160?node1" >> /etc/hosts

echo "192.168.182.137 node2" >> /etc/hosts

echo "192.168.182.138?node3" >> /etc/hosts

echo "192.168.182.139?node4" >> /etc/hosts

cd /etc/yum.repos.d/

mv * repos.bak/

vim glfs.repo

[glfs]

name=glfs

baseurl=file:///opt/gfsrepo

gpgcheck=0

enabled=1

安装、启动GFS(所有节点操作)

unzip gfsrepo.zip

?yum clean all && yum makecache

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

如果出现以下情况 可以先删除之前的依赖包 ?然后在下载

rpm -e --nodeps glusterfs-api glusterfs-libs glusterfs-fuse glusterfs-cli ?glusterfs glusterfs-client-xlators ##删除报错的依赖包

systemctl start glusterd.service

systemctl enable glusterd.service

systemctl status glusterd.service

添加DNS,进行时间同步

echo "nameserver 114.114.114.114" >> /etc/resolv.conf

ntpdate ntp1.aliyun.com

添加节点到存储信任池中(在任意一个node中操作)

gluster peer probe node1

gluster peer probe node2

gluster peer probe node3

gluster peer probe node4

更改一下名字 在进行添加

?

在每个node节点上查看群集状态

gluster peer status

?3、根据以下规划创建卷

卷名称

卷类型

Brick

dis-volume

分布式卷

node1(/data/sdb1)、node2(/data/sdb1)

stripe-volume

条带卷

node1(/data/sdc1)、node2(/data/sdc1)

rep-volume

复制卷

node3(/data/sdb1)、node4(/data/sdb1)

dis-stripe

分布式条带卷

node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1)

dis-rep

分布式复制卷

node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1)

创建分布式卷,没有指定类型,默认创建的是分布式卷?

gluster volume create dis-volume node1:/data/sdb1 node2:/data/sdb1 force

gluster volume list

gluster volume start dis-volume

gluster volume info dis-volume

指定类型为 stripe,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是条带卷?

gluster volume create stripe-volume stripe 2 node1:/data/sdc1 node2:/data/sdc1 force

gluster volume start stripe-volume

gluster volume info stripe-volume

指定类型为 replica,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是复制卷

gluster volume create rep-volume replica 2 node3:/data/sdb1 node4:/data/sdb1 force

gluster volume start rep-volume

gluster volume info rep-volume

?创建分布式条带卷

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

?创建分布式复制卷

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

4、?部署客户端

(1)安装客户端软件

cd /etc/yum.repos.d/

mv * repos.bak/

vim glfs.repo

[glfs]

name=glfs

baseurl=file:///opt/gfsrepo

gpgcheck=0

enabled=1

yum clean all && yum makecache

cd /opt

unzip gfsrepo.zip

(2)创建挂载目录

yum -y install glusterfs glusterfs-fuse

mkdir -p /test/{dis,stripe,rep,dis_stripe,dis_rep}

5、配置 /etc/hosts 文件

echo "192.168.182.160?node1" >> /etc/hosts

echo "192.168.182.137 node2" >> /etc/hosts

echo "192.168.182.138?node3" >> /etc/hosts

echo "192.168.182.139?node4" >> /etc/hosts

6、挂载 Gluster 文件系统

#临时挂载

mount.glusterfs node1:dis-volume /test/dis

mount.glusterfs node1:stripe-volume /test/stripe

mount.glusterfs node1:rep-volume /test/rep

mount.glusterfs node1:dis-stripe /test/dis_stripe

mount.glusterfs node1:dis-rep /test/dis_rep

?Node1

?Node2

?Node3

?Node4

?7、破坏性测试

node2和node4的服务器进行挂机来模拟故障,然后在客户端上查看其他服务器的文件是否正常

(1)分布式卷数据 可以查看

(2)条带卷 ??不可查看

(3)?复制卷 ?可产查看

(4) 分布式复制卷 ?可查看

?注:当出现以下情况是

1、需要考虑是否是? 各台机子的时间是否做了同步处理

2、需要查看版本是否一致[root@client /]# rpm -qa glusterfs glusterfs-fuse

3、或查看日志报错[root@client /]# cat /var/log/glusterfs/test0

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:16:02  更:2022-04-26 12:19:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:10:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码