当前位置: 首页 > news >正文

MFS分布式文件系统

目录

 集群部署

Master Servers

​Chunkservers

​编辑Clients

Storage Classes

LABEL 

mfs高可用

pacemaker高可用

​编辑ISCSI

添加集群资源


主机

ip

角色

server1

192.168.81.11

Master Servers

server2

192.168.81.12

Chunkservers

server3

192.168.81.13

Chunkservers

server4

192.168.81.14

Chunkservers

server5

192.168.81.15

Clients

 集群部署

Download current version of MooseFS | MooseFS Distributed File System

所有节点添加密钥和软件源库

[root@server1 ~]# curl "https://repository.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
[root@server1 ~]# curl "http://repository.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo

Master Servers

[root@server1 ~]#yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
[root@server1 ~]#systemctl enable --now moosefs-master.service
[root@server1 ~]#systemctl enable --now moosefs-cgiserv.service

访问http://192.168.81.11:9425/

 添加解析

Chunkservers

server2、server3、server4

[root@server2 ~]# yum install moosefs-chunkserver
[root@server2 ~]# cd /etc/mfs/
[root@server2 mfs]# vim mfshdd.cfg
/mnt/chunk1                //指定挂载点
[root@server2 ~]# cd /mnt
[root@server2 mnt]# mkdir chunk1[root@server2 mnt]# chown -R mfs.mfs chunk1/
[root@server2 ~]# systemctl enable --now moosefs-chunkserver

Clients

[root@server5 ~]# yum install moosefs-client
[root@server5 ~]# vim /etc/mfs/mfsmount.cfg
/mnt/mfs
[root@server5 ~]# mkdir /mnt/mfs
[root@server5 ~]# mfsmount

[root@server5 ~]# cd /mnt/mfs/
[root@server5 mfs]# mkdir dir1
[root@server5 mfs]# mkdir dir2
[root@server5 mfs]# cd dir1/
[root@server5 dir1]# vim file1
[root@server5 dir1]# mfsfileinfo file1

[root@server5 dir1]# cd -
/mnt/mfs
[root@server5 mfs]# mfsgetgoal dir2/
dir2/: 2
[root@server5 mfs]# mfssetgoal -r 1 dir2/
dir2/:inodes with goal changed:                       1inodes with goal not changed:                   0inodes with permission denied:                  0
[root@server5 mfs]# mfsgetgoal -r 1 dir2/
1: realpath error on (/mnt/mfs/1): ENOENT (No such file or directory)
dir2/:directories with goal          1 :          1
[root@server5 mfs]# cd dir2/
[root@server5 dir2]# vim file1
[root@server5 dir2]# mfsfileinfo file1
file1:chunk 0: 0000000000000004_00000001 / (id:4 ver:1)copy 1: 192.168.81.12:9422 (status:VALID)

Storage Classes

LABEL 

[root@server2 ~]# vim /etc/mfs/mfschunkserver.cfg

[root@server5 mfs]# mfsscadmin create 2S class_2s
storage class make class_2s: ok
[root@server5 mfs]# cd dir1/
[root@server5 dir1]# ls
file1
[root@server5 dir1]# mfssetsclass -r class_2s file1
file1:inodes with storage class changed:              1inodes with storage class not changed:          0inodes with permission denied:                  0
[root@server5 dir1]# mfsfile
mfsfileinfo    mfsfilepaths   mfsfilerepair
[root@server5 dir1]# mfsfileinfo file1
file1:chunk 0: 0000000000000002_00000001 / (id:2 ver:1)copy 1: 192.168.81.12:9422 (status:VALID)copy 2: 192.168.81.14:9422 (status:VALID)

[root@server5 dir1]# mfsscadmin create A,B class_ab
storage class make class_ab: ok
[root@server5 dir1]# mfssetsclass -r class_ab file1
file1:inodes with storage class changed:              1inodes with storage class not changed:          0inodes with permission denied:                  0
[root@server5 dir1]# mfsfileinfo file1
file1:chunk 0: 0000000000000002_00000001 / (id:2 ver:1)copy 1: 192.168.81.12:9422 (status:VALID)copy 2: 192.168.81.13:9422 (status:VALID)

[root@server5 mnt]# cd mfs/
[root@server5 mfs]# mkdir dir3
[root@server5 mfs]# mfsscadmin create S,H class_sh
storage class make class_sh: ok
[root@server5 mfs]# cd dir3/
[root@server5 dir3]# vim file1
[root@server5 dir3]# mfssetsclass -r class_sh file1
file1:inodes with storage class changed:              1inodes with storage class not changed:          0inodes with permission denied:                  0
[root@server5 dir3]# mfsfileinfo file1
file1:chunk 0: 0000000000000006_00000001 / (id:6 ver:1)copy 1: 192.168.81.12:9422 (status:VALID)copy 2: 192.168.81.13:9422 (status:VALID)

列出当前系统中所有的存储类 (class)

[root@server5 dir3]# mfsscadmin list

mfs高可用

新建虚机server6

[root@server6 ~]# curl "https://repository.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
[root@server6 ~]# curl "http://repository.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
[root@server6 ~]# yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
[root@server6 ~]# systemctl enable --now moosefs-master.service
[root@server6 ~]# systemctl enable --now moosefs-cgiserv.service

pacemaker高可用

[root@server1 ~]# vim /etc/yum.repos.d/dvd.repo
[HighAvailability]
name=rhel7.6 HighAvailability
baseurl=file:///media/addons/HighAvailability
gpgcheck=0[root@server1 ~]# yum install -y pacemaker pcs psmisc policycoreutils-python

server6同步 

[root@server1 ~]# scp /etc/yum.repos.d/dvd.repo server6:/etc/yum.repos.d/
[root@server1 ~]# ssh server6 yum install -y pacemaker pcs psmisc policycoreutils-python

节点认证

[root@server1 ~]# systemctl enable --now pcsd.service
[root@server1 ~]# ssh server6 systemctl enable --now pcsd.service[root@server1 ~]# echo westos | passwd --stdin hacluster
[root@server1 ~]# ssh server6 'echo westos | passwd --stdin hacluster'[root@server1 ~]# pcs cluster auth server1 server6
Username: hacluster
Password: westos

创建集群

[root@server1 ~]# pcs cluster setup --name mycluster server1 server6
[root@server1 ~]# pcs cluster start --all
[root@server1 ~]# pcs cluster enable --all

禁用stonith

[root@server1 ~]# pcs property set stonith-enabled=false

ISCSI

server4添加硬盘分区

[root@server5 ~]# yum install targetcli -y
[root@server5 ~]# systemctl enable --now target
[root@server5 ~]# targetcli
/> /backstores/block create westos:storage /dev/sdb1
/> /iscsi create iqn.2023-11.org.westos:storage
/> /iscsi/iqn.2023-11.org.westos:storage/tpg1/luns create /backstores/block/westos:storage
/> /iscsi/iqn.2023-11.org.westos:storage/tpg1/acls create iqn.2023-11.org.westos:westoskey1

客户端

[root@server1 ~]# yum install iscsi-initiator-utils.x86_64 -y
[root@server1 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2023-11.org.westos:westoskey1
[root@server1 ~]# systemctl restart iscsid 

[root@server1 ~]# iscsiadm -m discovery -t st -p 192.168.81.15
[root@server1 ~]# iscsiadm -m node -T iqn.2023-11.org.westos:storage -p 192.168.81.15 -l

创建分区

[root@server1 ~]# fdisk /dev/sdb
[root@server1 ~]# mkfs.xfs /dev/sdb1

[root@server1 ~]# mount /dev/sdb1 /mnt/
[root@server1 ~]# cd /var/lib/mfs/
[root@server1 mfs]# systemctl disable --now moosefs-master.service
[root@server1 mfs]# cp * /mnt/
[root@server1 mnt]# chown -R mfs.mfs /mnt/
[root@server1 mnt]# ll -d /mnt/
[root@server1 ~]# umount /mnt/
[root@server1 ~]# ll -d /mnt/

server6类推

[root@server6 mfs]# mount /dev/sdb1 /var/lib/mfs/
[root@server6 mfs]# chown -R mfs.mfs .
[root@server6 ~]# umount /var/lib/mfs/

 

添加集群资源

[root@server1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.81.200 op monitor interval=30s
[root@server1 ~]# pcs resource create mfs ocf:heartbeat:Filesystem device=/dev/sdb1 directory=/var/lib/mfs fstype=xfs
[root@server1 ~]# pcs resource create mfs-master systemd:moosefs-master op monitor interval=60s
[root@server1 ~]# pcs resource group add groupmfs vip mfs mfs-master

测试

[root@server1 ~]# pcs node standby

http://www.lryc.cn/news/239772.html

相关文章:

  • Hadoop -hdfs的读写请求
  • 【c++Leetcode】206. Reverse Linked List
  • [项目管理-33/创业之路-87/管理者与领导者-127]:如何提升自己项目管理的能力和水平
  • 记录一次因内存不足而导致hiveserver2和namenode进程宕机的排查
  • c# 基础语法
  • 【译】什么时候使用 Spring 6 JdbcClient
  • VR全景:赋能城市园区建设,打造3DVR城市名片
  • 孟德尔随机化写作技巧mr
  • 社会媒体营销提问常用的ChatGPT通用提示词模板
  • 智慧储能边缘计算网关应用,提升能源效率
  • 利用 Apache Ranger 管理 Amazon EMR 中的数据权限
  • HarmonyOS(三)—— 应用程序入口—UIAbility
  • Vuetify:定制化、响应式的 Vue UI 库 | 开源日报 No.83
  • 使用PySpark 结合Apache SystemDS 进行信号处理分析 (离散傅立叶变换)的简单例子
  • AT89S52单片机的最小应用系统
  • Pytorch中的tensor维度理解
  • 2019年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • matlab-实现-BP-神经网络
  • 基于go-zero的rpc服务示例
  • 【算法】奇偶游戏(带权并查集)
  • 补充:linux rsyslog配置多端口监听(基于UDP)
  • 详解StringBuilder和StringBuffer(区别,使用方法,含源码讲解)
  • 九、sdl显示bmp图片
  • ROS设置DHCP option121
  • ④【Set】Redis常用数据类型: Set [使用手册]
  • 助力企业前行——ScalaSpark最佳实践课程
  • pikachu靶场Table pikachu.member doesn’t exist:解决
  • Github Copilot AI编码完成工具
  • android 9 adb安装过程学习(二)
  • Java面试-框架篇-Mybatis