2.分布式文件系统-----mfs高可用

2024-03-03 01:50

本文主要是介绍2.分布式文件系统-----mfs高可用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mfs高可用

  • 一、环境配置
    • 1.iscsi服务端的配置
    • 2.客户端server1
    • 3.客户端server2
  • 二、结合pacemaker部署高可用
    • 1.安装相关组件
    • 2.整体部署
    • 3.资源加入集群
    • 4.内核崩溃,恢复集群状态

一、环境配置

1.iscsi服务端的配置

[root@server1 ~]# yum install iscsi-*取消server2的硬盘
[root@server2 ~]# systemctl stop moosefs-chunkserver.service 
[root@server2 ~]# umount /mnt/chunk1/
server3:安装targetcli 添加一块10G硬盘
[root@server3 mfs]# yum install -y targetcli
[root@server3 mfs]# systemctl start target
[root@server3 mfs]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'./> ls
o- / ................................................................... [...]o- backstores ........................................................ [...]| o- block ............................................ [Storage Objects: 0]| o- fileio ........................................... [Storage Objects: 0]| o- pscsi ............................................ [Storage Objects: 0]| o- ramdisk .......................................... [Storage Objects: 0]o- iscsi ...................................................... [Targets: 0]o- loopback ................................................... [Targets: 0]
/> cd backstores/
/backstores> cd block 
/backstores/block> ls
o- block ................................................ [Storage Objects: 0]
/backstores/block> create my_disk /dev/vdb
Created block storage object my_disk using /dev/vdb.
/backstores/block> ls
o- block ................................................ [Storage Objects: 1]o- my_disk ..................... [/dev/vdb (10.0GiB) write-thru deactivated]o- alua ................................................. [ALUA Groups: 1]o- default_tg_pt_gp ..................... [ALUA state: Active/optimized]
/backstores/block> cd ..
/backstores> cd ..
/> ls
o- / ................................................................... [...]o- backstores ........................................................ [...]| o- block ............................................ [Storage Objects: 1]| | o- my_disk ................. [/dev/vdb (10.0GiB) write-thru deactivated]| |   o- alua ............................................. [ALUA Groups: 1]| |     o- default_tg_pt_gp ................. [ALUA state: Active/optimized]| o- fileio ........................................... [Storage Objects: 0]| o- pscsi ............................................ [Storage Objects: 0]| o- ramdisk .......................................... [Storage Objects: 0]o- iscsi ...................................................... [Targets: 0]o- loopback ................................................... [Targets: 0]
/> cd iscsi 
/iscsi> ls
o- iscsi ........................................................ [Targets: 0]
/iscsi> 
/iscsi> create iqn.2021-07.org.westos:target1
Created target iqn.2021-07.org.westos:target1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ........................................................ [Targets: 1]o- iqn.2021-07.org.westos:target1 ................................ [TPGs: 1]o- tpg1 ........................................... [no-gen-acls, no-auth]o- acls ...................................................... [ACLs: 0]o- luns ...................................................... [LUNs: 0]o- portals ................................................ [Portals: 1]o- 0.0.0.0:3260 ................................................. [OK]
/iscsi> cd iqn.2021-07.org.westos:target1/
/iscsi/iqn.20...estos:target1> ls
o- iqn.2021-07.org.westos:target1 .................................. [TPGs: 1]o- tpg1 ............................................. [no-gen-acls, no-auth]o- acls ........................................................ [ACLs: 0]o- luns ........................................................ [LUNs: 0]o- portals .................................................. [Portals: 1]o- 0.0.0.0:3260 ................................................... [OK]
/iscsi/iqn.20...estos:target1> cd tpg1/
/iscsi/iqn.20...:target1/tpg1> ls
o- tpg1 ............................................... [no-gen-acls, no-auth]o- acls .......................................................... [ACLs: 0]o- luns .......................................................... [LUNs: 0]o- portals .................................................... [Portals: 1]o- 0.0.0.0:3260 ..................................................... [OK]
/iscsi/iqn.20...:target1/tpg1> cd luns
/iscsi/iqn.20...et1/tpg1/luns> create /backstores/block/my_disk 
Created LUN 0.
/iscsi/iqn.20...et1/tpg1/luns> ls
o- luns ............................................................ [LUNs: 1]o- lun0 ...................... [block/my_disk (/dev/vdb) (default_tg_pt_gp)]
/iscsi/iqn.20...et1/tpg1/luns> cd ..
/iscsi/iqn.20...:target1/tpg1> ls
o- tpg1 ............................................... [no-gen-acls, no-auth]o- acls .......................................................... [ACLs: 0]o- luns .......................................................... [LUNs: 1]| o- lun0 .................... [block/my_disk (/dev/vdb) (default_tg_pt_gp)]o- portals .................................................... [Portals: 1]o- 0.0.0.0:3260 ..................................................... [OK]
/iscsi/iqn.20...:target1/tpg1> cd acls 
/iscsi/iqn.20...et1/tpg1/acls> ls
o- acls ............................................................ [ACLs: 0]
/iscsi/iqn.20...et1/tpg1/acls> create iqn.2021-07.org.westos:client
Created Node ACL for iqn.2021-07.org.westos:client
Created mapped LUN 0.
/iscsi/iqn.20...et1/tpg1/acls> ls
o- acls ............................................................ [ACLs: 1]o- iqn.2021-07.org.westos:client .......................... [Mapped LUNs: 1]o- mapped_lun0 ................................. [lun0 block/my_disk (rw)]
/iscsi/iqn.20...et1/tpg1/acls> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
[root@server3 mfs]# 

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

2.客户端server1

[root@server1 ~]# cd /etc/iscsi/
[root@server1 iscsi]# ls
initiatorname.iscsi  iscsid.conf
[root@server1 iscsi]# vim initiatorname.iscsi 
InitiatorName=iqn.2021-07.org.westos:client
[root@server1 iscsi]# iscsiadm -m discovery -t st -p 172.25.15.3
172.25.15.3:3260,1 iqn.2021-07.org.westos:target1
[root@server1 iscsi]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2021-07.org.westos:target1, portal: 172.25.15.3,3260] (multiple)
Login to [iface: default, target: iqn.2021-07.org.westos:target1, portal: 172.25.15.3,3260] successful.[root@server1 iscsi]# fdisk /dev/sda	#磁盘分区
[root@server1 iscsi]# mkfs.xfs /dev/sda1	#
[root@server1 iscsi]# mount /dev/sda1 /mnt/
[root@server1 iscsi]# cd /var/lib/mfs/
[root@server1 mfs]# ls
changelog.0.mfs  changelog.2.mfs  changelog.5.mfs  metadata.mfs.back    metadata.mfs.empty
changelog.1.mfs  changelog.4.mfs  metadata.crc     metadata.mfs.back.1  stats.mfs
[root@server1 mfs]# cp -p * /mnt/
[root@server1 mfs]# cd /mnt
[root@server1 mnt]# ls
changelog.0.mfs  changelog.2.mfs  changelog.5.mfs  metadata.mfs.back    metadata.mfs.empty
changelog.1.mfs  changelog.4.mfs  metadata.crc     metadata.mfs.back.1  stats.mfs
[root@server1 mnt]# ll
total 4904
-rw-r----- 1 mfs mfs      43 Jul  8 04:06 changelog.0.mfs
-rw-r----- 1 mfs mfs     734 Jul  8 03:36 changelog.1.mfs
-rw-r----- 1 mfs mfs    1069 Jul  8 02:59 changelog.2.mfs
-rw-r----- 1 mfs mfs     949 Jul  8 00:52 changelog.4.mfs
-rw-r----- 1 mfs mfs     213 Jul  7 23:56 changelog.5.mfs
-rw-r----- 1 mfs mfs     120 Jul  8 04:00 metadata.crc
-rw-r----- 1 mfs mfs    3989 Jul  8 04:00 metadata.mfs.back
-rw-r----- 1 mfs mfs    3770 Jul  8 03:00 metadata.mfs.back.1
-rw-r--r-- 1 mfs mfs       8 Oct  8  2020 metadata.mfs.empty
-rw-r----- 1 mfs mfs 4984552 Jul  8 04:00 stats.mfs
[root@server1 mnt]# 
[root@server1 mnt]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
/dev/mapper/rhel-root  17811456 1175944  16635512   7% /
devtmpfs                 929012       0    929012   0% /dev
tmpfs                    941036       0    941036   0% /dev/shm
tmpfs                    941036   16980    924056   2% /run
tmpfs                    941036       0    941036   0% /sys/fs/cgroup
/dev/vda1               1038336  148204    890132  15% /boot
tmpfs                    188208       0    188208   0% /run/user/0
/dev/sda1              10474496   37896  10436600   1% /mnt
[root@server1 mnt]# chown mfs.mfs /mnt/ -R
[root@server1 mnt]# cd
[root@server1 ~]# umount /mnt/
[root@server1 ~]# systemctl stop moosefs-master.service 

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

3.客户端server2

[root@server2 ~]# yum install -y iscsi-*
[root@server2 ~]# vim /etc/iscsi/initiatorname.iscsi 
[root@server2 ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2021-07.org.westos:client[root@server2 ~]# iscsiadm -m discovery -t st -p 172.25.15.3 
172.25.15.3:3260,1 iqn.2021-07.org.westos:target1
[root@server2 ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2021-07.org.westos:target1, portal: 172.25.15.3,3260] (multiple)
Login to [iface: default, target: iqn.2021-07.org.westos:target1, portal: 172.25.15.3,3260] successful.[root@server2 ~]# mount /dev/sda1 /var/lib/mfs/
[root@server2 ~]# cd /var/lib/mfs/
[root@server2 mfs]# ls

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

二、结合pacemaker部署高可用

1.安装相关组件

[root@server1 yum.repos.d]# yum install -y pacemaker pcs psmisc policycoreutils-python
[root@server1 yum.repos.d]# ssh-keygen
[root@server1 ~]# ssh-copy-id server2	#对server2免密
[root@server1 ~]# ssh server2 yum install -y pacemaker pcs psmisc policycoreutils-python
[root@server1 ~]# systemctl enable --now pcsd.service  ##开启服务
[root@server1 ~]# ssh server2 systemctl enable --now pcsd.service

在这里插入图片描述

2.整体部署

[root@server1 ~]# echo westos | passwd --stdin hacluster ##创建集群用户及密码
[root@server1 ~]# ssh server2 'echo westos | passwd --stdin hacluster'
[root@server1 ~]# grep hacluster /etc/shadow
hacluster:$6$DWL0YSw8$uIO2X//m106qpiyXaTL.haSSaoxfBDy/6OC7tdjaXUHQ8NyGtzAHDIMmQaHKRmE73pPVRxHIMAc9dV8QCUNfC/:18816::::::[root@server2 ~]# grep hacluster /etc/shadow
hacluster:$6$SZ8Kagxi$mmylOrHkjU2JwFYW7sbvF1k.kWdfOvODu9vljG2XRLBfR0Sgg6CXrcKc3cjoaoFZ7yCTz1bsT0CSlw6mQRE7K1:18740::::::
[root@server1 ~]# pcs cluster auth server1 server2 ##集群认证
Username: hacluster
Password: 
server2: Authorized
server1: Authorized
[root@server1 ~]# pcs cluster setup --name mycluster server1 server2  ##corosync传递心跳信息,在同一节点上使用 pcs cluster setup生成并同步corosync配置
[root@server1 ~]# pcs cluster start --all ##启动集群
[root@server1 ~]# pcs status  ##查看集群状态
[root@server1 ~]# crm_verify -LV  ##检查集群配置[root@server1 ~]# pcs property set stonith-enabled=false ##禁用fence
[root@server1 ~]# pcs status

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

[root@server1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.15.100  op monitor interval=30s ##为集群创建指定vip
[root@server1 ~]# pcs status
[root@server1 ~]# ip addrinet 172.25.15.100/24 brd 172.25.15.255 scope global secondary eth0
[root@server1 ~]# pcs node standby
[root@server1 ~]# pcs status
[root@server2 ~]# ip addr
[root@server1 ~]# pcs node unstandby
[root@server1 ~]# pcs status

vip创建成功,server1上被分配了vip

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

3.资源加入集群

[root@server1 ~]# pcs cluster enable --all ##开机自启
server1: Cluster Enabled
server2: Cluster Enabled
[root@server1 ~]# pcs status[root@server1 ~]# pcs resource create mfsdata ocf:heartbeat:Filesystem device="/dev/sda1" directory="/var/lib/mfs" fstype=xfs op monitor interval=60s 
[root@server1 ~]# pcs status[root@server1 ~]# pcs resource create mfsmaster systemd:moosefs-master op monitor interval=60s ##在集群中以脚本的方式启动服务
[root@server1 ~]# pcs status
[root@server1 ~]# pcs resource group add mfsgroup vip mfsdata mfsmaster [root@server1 ~]# vim /etc/hosts
172.25.15.100 mfsmaster ## server 1 2 3 4 真机
[root@server1 ~]# systemctl restart moosefs-master.service
[root@server2 ~]# systemctl status moosefs-master.service 
[root@server2 ~]# vim /usr/lib/systemd/system/moosefs-master.service[Service]	#修改配置文件
Type=forking
ExecStart=/usr/sbin/mfsmaster -a	
[root@server2 ~]# systemctl restart moosefs-master.service	
[root@server2 ~]# systemctl daemon-reload 	#重启服务
[root@server2 ~]# systemctl  start moosefs-master@ 
Failed to start moosefs-master@.service: Unit name moosefs-master@.service is missing the instance name.
See system logs and 'systemctl status moosefs-master@.service' for details.
[root@server2 ~]# systemctl  start moosefs-master		#启动
[root@server2 ~]# systemctl  stop moosefs-master[root@server3 mfs]# systemctl restart moosefs-chunkserver.service
[root@server4 mfs]# systemctl restart moosefs-chunkserver.service 
[root@server2 ~]# pcs node standby 
[root@server2 ~]# pcs node unstandby

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

4.内核崩溃,恢复集群状态

[root@server1 ~]# echo c > /proc/sysrq-trigger 
[root@server2 ~]# pcs status[root@foundation mfs]# pwd
/mnt/mfs
[root@foundation mfs]# ls
passwd
[root@foundation mfs]# mfsfileinfo passwd 
passwd:chunk 0: 0000000000000008_00000001 / (id:8 ver:1)copy 1: 172.25.15.3:9422 (status:VALID)copy 2: 172.25.15.4:9422 (status:VALID)server1断电重启恢复

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

这篇关于2.分布式文件系统-----mfs高可用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768084

相关文章

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

分布式文件系统设计

分布式文件系统是分布式领域的一个基础应用,其中最著名的毫无疑问是 HDFS/GFS。如今该领域已经趋向于成熟,但了解它的设计要点和思想,对我们将来面临类似场景 / 问题时,具有借鉴意义。并且,分布式文件系统并非只有 HDFS/GFS 这一种形态,在它之外,还有其他形态各异、各有千秋的产品形态,对它们的了解,也对扩展我们的视野有所俾益。本文试图分析和思考,在分布式文件系统领域,我们要解决哪些问题、有

VMware8实现高可用(HA)集群

陈科肇 =========== 操作系统:中标麒麟高级操作系统V6 x86-64 实现软件:中标麒麟高可用集群软件 ======================== 1.环境的规划与配置 硬件要求 服务器服务器至少需要 2 台,每台服务器至少需要 2 块网卡以做心跳与连接公网使用存储环境 建议使用一台 SAN/NAS/ISCSI 存储作为数据共享存储空间 软

用Cri-O,Sealos CLI,Kubeadm方式部署K8s高可用集群

3.6 Cri-O方式部署K8s集群 注意:基于Kubernetes基础环境 3.6.1 所有节点安装配置cri-o [root@k8s-all ~]# VERSION=1.28[root@k8s-all ~]# curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensu

Kubernetes高可用集群搭建(kubeadm)

1 Kubernetes高可用集群介绍 前面已经介绍了Kubernetes的集群部署,但是都只是介绍的单master节点的情况,由于单master节点的可靠性不高,不适合实际的生产环境,此处介绍如何实现多master节点的高可用集群的搭建。 2 安装要求 一台或多台机器,操作系统CentOS7.x-x86_64硬件配置:2G或更多ARM,2个CPU或更多CPU,硬盘20G及以上集群中所有机器

# 高可用的并发解决方案nginx+keepalived(一)

高可用的并发解决方案nginx+keepalived(一) 段子手 一、课程计划介绍 1、课程标题 为并发量高的优质网站量身定制高可用的并发解决方案 nginx+keepalived。 2、引导语 在这个互联网飞速发展的时代,人们已经离不开网络,其中网购最为常见。在家网购,上班路上网购,吃饭也购物,下班还网购,2017年双十一天猫支付峰值达到了25.6万笔/秒。热点网站中频繁出现的大量

HBase抗战总结 | 阿里巴巴HBase高可用8年抗战回忆录

前言 2011年毕玄和竹庄两位大神将HBase引入阿里技术体系,2014年接力棒转到东8区第一位HBase commiter天梧手中,多年来与淘宝、旺旺、菜鸟、支付宝、高德、大文娱、阿里妈妈等几乎全BU合作伙伴携手共进,支撑了双十一大屏、支付宝账单、支付宝风控、物流详情等核心业务。2018年双十一,HBase全天处理请求2.4万亿行,单集群吞吐达到千万级别。从一个婴儿成长为青年,阿里HBase

正面超越Spark | 几大特性垫定Flink1.12流计算领域真正大规模生产可用(下)

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 我们书接上文,我们在之前的文章《正面超越Spark | 几大特性垫定Flink1.12流计算领域真正大规模生产可用(上)》详细描述了Flink的生产级别Flink on K8s高可用方案和DataStream API 对批执行模式的支持。 接下来是另外的几个特性增强。 第三个,Flink对SQL操作的全面支持 再很早之前,我在浏览社