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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux项目实战---lamp架构(七)MFS分布式文件系统 -> 正文阅读

[系统运维]linux项目实战---lamp架构(七)MFS分布式文件系统

一.MFS简介

MFS:MooseFS

  • 是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本。对于访问的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样。

使用场景

  • 存在的优势:
    • MFS是基于FUSE(用户空间文件系统)机制的,所以支持含有FUSE的操作方式的系统
    • MFS部署简单并提供Web界面的方式进行管理与监控,同其他分布式操作系统一样,支持在线扩容,并进行横向扩展
    • MFS还具有可找回误操作删除的文件,相当于一个回收站,方便业务进行定制
    • 同时MooseFS对于海量小文件的读写要比大文件读写的效率高的多
  • 存在的问题:
    • MFS的主备架构情况类似于MySQL的主从复制,从可以扩展,主却不容易扩展
    • 随着MFS体系架构中存储文件的总数上升,Master Server对内存的需求量会不断增大
    • Master Server存在单点问题,官方解决方式是把数据信息从Master Server同步到Metalogger Server上,Master Server一旦出问题Metalogger Server可以恢复升级为Master Server,但是需要恢复时间,解决方式属于冷备。目前,也可以通过第三方的高可用方案(peachmaker+moosefs)来解决 Master Server 的单点问题

二.MFS安装部署

需要准备:
三台虚拟机server1、2、3和本机的真实主机,server1负责master、server2、3负责数据存储,真实主机负责客户端client。

1.server1(master)配置

安装moosefs-master、moosefs-cgiserv

在这里插入图片描述

yum install -y moosefs-master-3.0.115-1.rhsystemd.x86_64.rpm moosefs-cgiserv-3.0.115-1.rhsystemd.x86_64.rpm

配置本地解析:

vim /etc/hsots

在这里插入图片描述
启动服务:

systemctl start moosefs-master
systemctl start moosefs-cgiserv.service
netstat -antlp

在这里插入图片描述

在这里插入图片描述
firefxo上查看图形mfs管理界面:
在这里插入图片描述

2.server2配置

在server2安装mfs-chunkserver:

yum install -y moosefs-chunkserver.x86_64

在这里插入图片描述
修改配置文件,添加挂载目录:

cd /etc/mfs
vim mfshdd.cfg

/mnt/chunk1

在这里插入图片描述
创建挂载目录:

mkdir /mnt/chunk1

为虚拟机添加虚拟硬盘vdb
在这里插入图片描述
硬盘分区vdb1
在这里插入图片描述
格式化vdb1
在这里插入图片描述
将vdb1挂载到chunk1,并修改目录所有者:
在这里插入图片描述

添加master解析:
在这里插入图片描述
启动msf服务:

systemctl start moosefs-chunkserver

此时可以在matser上看到server2
在这里插入图片描述

3.server3配置

安装mfs-chunkserver:

yum install -y moosefs-chunkserver.x86_64

创建挂载目录:

mkdir /mnt/chunk2
chown mfs.mfs /mnt/chunk2/

修改配置文件,添加挂载目录:

cd /etc/mfs
vim mfshdd.cfg

/mnt/chunk2

添加master解析:
在这里插入图片描述
启动msf服务:

systemctl start moosefs-chunkserver

查看存储目录:
在这里插入图片描述
在master查看server3:
在这里插入图片描述
在这里插入图片描述

4.真机配置

安装mfs-client:

yum install moosefs-client-3.0.115-1.rhsystemd.x86_64.rpm -y

编辑配置文件,指向挂载目录:

cd /etc/mfs/
vim mfsmount.cfg

/mnt/mfs

在这里插入图片描述
配置解析:

vim /etc/hosts

在这里插入图片描述
创建mfs目录,挂载mfs:

mkdir /mnt/mfs

在这里插入图片描述
在server1查看端口指向:
在这里插入图片描述
mfs目录下创建 dir1 dir2 目录:

mkdir /mnt/mfs/dir1
mkdir /mnt/mfs/dir2

将dir1设定到mfs文件系统进行访问,获取副本数设定:
在这里插入图片描述
上传文件,查看文件信息:

在这里插入图片描述
在这里插入图片描述

三.删除文件恢复

将源数据挂载到客户端

mkdir /mnt/mfsmeta
mfsmount -m /mnt/mfsmeta/

删除文件:

cd ../../mfs/dir1
ls
rm -fr passwd

在这里插入图片描述
恢复文件:

mv '00000004|dir1|passwd' undel/
pwd
cd /mnt/mfs/dir1

在这里插入图片描述
查看恢复文件:
在这里插入图片描述

四.chunk标签

原理:MFS可以根据chunk标签更改文件存储方式

在server4上创建chunk3,步骤同上。

编辑server2/3/4主配,添加标签:

vim /etc/mfs/mfschunkserver.cfg

server2:LABELS = A S
server3:LABELS =A  B H S
server4:LABELS = A H

systemctl reload moosefs-chunkserver.service

在这里插入图片描述
真机端:

需要在文件所在目录进行

mfsscadmin create -C 2AS -K AS,BS -A AH,BH -d 7 classABSH  #需要在文件目录中进行

mfssetsclass -r classABSH fstab #将fstab转换存储为2A方式

mfsfileinfo fstab #查看文件fstab存储方式

在这里插入图片描述
在master查看存储策略:
热数据时期在AS,AS存放
温数据时期转存到在AS,BS
7天后转存至AH,BH
在这里插入图片描述
在这里插入图片描述

五.iscsi实现master备份

1.server3配置iscis共享磁盘

创建共享虚拟磁盘
在这里插入图片描述

安装iscsi:

yum install -y targetcli
systemctl start target
targetcli

配置共享:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.server1获取共享磁盘

安装iscis:

yum install -y iscsi-*
cd /etc/iscsi/

修改配置文件:

vim /etc/iscis/initiatorname.iscs

在这里插入图片描述
连接server3:

iscsiadm -m discovery -t st -p 172.25.3.3
iscsiadm -m node -l

在这里插入图片描述
此时可以查看共享磁盘:
在这里插入图片描述
创建分区,格式化并挂载:

fdisk /dev/sda
mkfs.xfs /dev/sda1
mount /dev/sda1 /mnt

在这里插入图片描述
查看文件,并将master文件复制到iscsi的挂载目录中:

cd /var/lib/mfs/
ls
cp -p * /mnt/
cd /mnt/
ls
ll
chown mfs.mfs /mnt/ -R
umount /mnt/

在这里插入图片描述

3.server2+iscis实现master备份

安装mfs-master:

yum install -y moosefs-master.x86_64

安装iscsi相关:

yum install -y iscsi-*

设置连接配置:

vim /etc/iscis/initiatorname.iscs

在这里插入图片描述
连接server3:

iscsiadm -m discovery -t st -p 172.25.3.3
iscsiadm -m node -l

查看共享磁盘并挂载:

fdisk -l
mount /dev/sda1 /var/lib/mfs/

启动server2上master:

cd /var/lib/mfs/
ls
systemctl start moosefs-master

完成master备份

4.故障解决

在挂载sda1server2后,启动master会出现异常
在这里插入图片描述
启动失败,原因:master启动时,/var/lib/mfs/metadata.mfs必须存在,而启动后会变为metadata.mfs.back,需要将back文件恢复为mfs文件
在这里插入图片描述
修复文件

mfsmaster -a

在这里插入图片描述

六.iscis+pacemarker实现MFS高可用

在上一节基础上,安装高可用插件pacemarker实现MFS高可用,即双机热备。
设置集群操作前两个master关闭所有mfs服务并关闭开机自启

1.添加高可用组件安装仓库

server1/2:

vim /etc/yum.repos.d/dvd.repo

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210712220045752.png?x-oss-process=image

/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMDAzODQ4,size_16,color_FFFFFF,t_70)
安装模块:
yum install -y pacemaker pcs psmisc policycoreutils-python

2.免密登陆

设置server1与server2免密登陆

ssh-keygen
ssh-copy-id server2

修改server1和server2均设定需要认证的用户和密码

echo westos | passwd --stdin hacluster

在这里插入图片描述

3.集群搭建

pcs认证:

pcs cluster auth server1 server2

在这里插入图片描述

设置server1和server2组成mycluster集群

pcs  cluster setup  --name mycluster server1 server2

在这里插入图片描述
设置启动及开启自启:
在这里插入图片描述
查看状态:
在这里插入图片描述
设定后警告取消

pcs property set stonith-enabled=false

在这里插入图片描述
添加vip模块

pcs resource  create vip ocf:heartbeat:IPaddr2 ip=172.25.3.100 op monitor interval=30s
pcs status #查看状态

在这里插入图片描述
添加mfsdata模块

pcs resource  create mfsdata ocf:heartbeat:Filesystem device="/dev/sda1" directory="/var/lib/mfs" fstype=xfs  op monitor interval=30s

在这里插入图片描述
查看状态成功后,会按照状态提示挂载到某个master主机上,此处自动挂载到server1上
在这里插入图片描述
遇到问题:
启动master后,强制结束进程,master不能正常启动
在这里插入图片描述
在这里插入图片描述
原因是启动时,需要metadata.mfs 而启动后会改为metadata.mfs.back,强制结束进程无法恢复此文件。

所以需要修改启动脚本:

vim /usr/lib/systemd/system/moosefs-master.service

在这里插入图片描述
reload后启动master成功
在这里插入图片描述
添加mfsmaster模块:

在这里插入图片描述

查看pcs状态
在这里插入图片描述
发现vip、mfsdata、mfsmaster不在同一个主机中,
解决方案,创建mfsgroup 分组,将模块填入:

pcs resource  group  add mfsgroup vip mfsdata mfsmaster

在这里插入图片描述
修改所有server的解析
在这里插入图片描述
完成后client端查看文件dir2/fstab 和dir1/passwd
在这里插入图片描述
down掉server2
在这里插入图片描述
vip mfsdata mfsmaster均迁移到server1中
在这里插入图片描述
再次查看文件,没有受到影响
在这里插入图片描述
重启server2,没有影响,证明高可用实现
在这里插入图片描述
在这里插入图片描述

七.fence实现故障重启

真实主机client客户端安装fence
yum install -y fence-virtd*

配置fence_virtd,需要根据提示设定,其中网络连接设定为本机的桥接br0

mkdir /etc/cluster/
fence_virtd -c

在这里插入图片描述
成功后配置写入文件/etc/fence_virt.conf
在这里插入图片描述
生成认证钥匙

dd if=/dev/urandom of=fence_xvm.key bs=128 count=1

启动服务,查看端口

systemctl restart fence_virtd.service #重启服务
netstat -anulp|grep :1229 #查看端口,为udp

在这里插入图片描述
创建cluster目录:
在这里插入图片描述

scp fence_xvm.key root@172.25.3.1:/etc/cluster
scp fence_xvm.key root@172.25.3.2:/etc/cluster

在配置好双机热备份的两个主机server1、2安装fence

yum install -y fence-virt.x86_64
ssh server2 yum install -y fence-virt.x86_64

查看fence安装的模块
在这里插入图片描述
创建fence_xvm 名为vmfence 建立主机名与domain name之间的映射

pcs stonith create vmfence fence_xvm pcmk_host_map="server1:vm1;server2:vm2" op monitor interval=60s

查看状态:
在这里插入图片描述
之前设定关闭的stonith现在打开,才可以使用fence

pcs property set stonith-enable==true

测试:
关闭网卡br0


ip link set down eth0

关闭网卡后
server1 会自动重启,master会转移至server2

故障排除:
关闭网卡后,server1 会自动重启,重启时,所有服务会跳到server2,等重启结束后,会跳回server1。
解决方法:

pcs resource defaults resource-stickiness=100
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:54:04  更:2021-07-13 17:55: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年5日历 -2024/5/4 17:22:23-

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