Moosefs分布式文件系统(一)

1. MFS简介

2. MFS部署

2.1 主master的部署

官网

[root@demo1 ~]#  curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo  #下载repo源
[root@demo1 yum.repos.d]# vim MooseFS.repo 
[root@demo1 yum.repos.d]# cat MooseFS.repo 
[MooseFS]
name=MooseFS $releasever - $basearch
baseurl=http://ppa.moosefs.com/moosefs-3/yum/el7
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
enabled=1
[root@demo1 yum.repos.d]# yum install -y moosefs-master  ##安装MFS master
[root@demo1 yum.repos.d]# yum install moosefs-cgi moosefs-cgiserv moosefs-cli -y  ##安装主服务器
[root@demo1 yum.repos.d]# cd /etc/mfs/
[root@demo1 mfs]# ls
mfsexports.cfg         mfsmaster.cfg         mfstopology.cfg
mfsexports.cfg.sample  mfsmaster.cfg.sample  mfstopology.cfg.sample
[root@demo1 mfs]# systemctl start moosefs-master
[root@demo1 mfs]# vim /etc/hosts   ##解析必须做
172.25.13.1 demo1  mfsmaster
172.25.13.2 demo2
172.25.13.3 demo3
[root@demo1 mfs]# systemctl start moosefs-cgiserv.service    ##网页监控
[root@demo1 mfs]# netstat -antlp 


##9419-9421端口 Master-Servers
##9422  chunnkserver连接端口
##9425   CGI Server

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

2.2 slave端的部署

2.2.1 demo2

[root@demo1 ~]# cd /etc/yum.repos.d/
[root@demo1 yum.repos.d]# ls
MooseFS.repo  redhat.repo  rhel7.6.repo
[root@demo1 yum.repos.d]# scp MooseFS.repo server2:/etc/yum.repos.d/
ssh: Could not resolve hostname server2: Name or service not known
lost connection
[root@demo1 yum.repos.d]# scp MooseFS.repo demo2:/etc/yum.repos.d/
[root@demo1 yum.repos.d]# scp MooseFS.repo demo3:/etc/yum.repos.d/
[root@demo2 ~]# yum install moosefs-chunkserver   ##安装冷备份,两个slave端
[root@demo3 ~]# yum install moosefs-chunkserver   ##安装冷备份
[root@demo3 ~]# vim /etc/hosts   ##做解析

##server2添加一块虚拟磁盘,当作分布式存储
[root@demo2 mfs]# fdisk /dev/vdb   ##默认分一块就可以
[root@demo2 mfs]# mkfs.xfs /dev/vdb1   ##格式化
[root@demo2 mfs]# mkdir /mnt/chunk1
[root@demo2 mfs]# mount /dev/vdb1 /mnt/chunk1/   ##挂载
[root@demo2 mfs]# blkid
/dev/vdb1: UUID="e94e65fa-35cd-4a40-9ef8-fa6ef42ef128" TYPE="xfs" 
[root@demo2 mfs]# vim /etc/fstab 
[root@demo2 mfs]# cat /etc/fstab     ##永久挂载
UUID="e94e65fa-35cd-4a40-9ef8-fa6ef42ef128" /mnt/chunk1   xfs     defaults 0 0 
[root@demo2 mfs]# mount -a   ##刷新
[root@demo2 mfs]# id mfs   ##设置权限
uid=997(mfs) gid=995(mfs) groups=995(mfs)
[root@demo2 mfs]# chown mfs.mfs /mnt/chunk1/

##启动服务启动服务
[root@demo2 mfs]# systemctl start  moosefs-chunkserver

##查看demo2是否链接到demo1这个master上
[root@demo2 ~]# cd /etc/mfs/
[root@demo2 mfs]# ls
mfschunkserver.cfg  mfschunkserver.cfg.sample  mfshdd.cfg  mfshdd.cfg.sample
[root@demo2 mfs]# vim mfshdd.cfg   ##设置挂载目录
[root@demo2 mfs]# grep -v ^# mfshdd.cfg
/mnt/chunk1 
[root@demo2 mfs]# systemctl restart moosefs-chunkserver   ##重启服务

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2.2 demo3

[root@demo3 ~]# cd /etc/mfs/
[root@demo3 mfs]# ls
mfschunkserver.cfg  mfschunkserver.cfg.sample  mfshdd.cfg  mfshdd.cfg.sample
[root@demo3 mfs]# mkdir /mnt/chunk2
[root@demo3 mfs]# vim mfshdd.cfg
[root@demo3 mfs]# grep -v ^# mfshdd.cfg
/mnt/chunk2
[root@demo3 mfs]# chown mfs.mfs /mnt/chunk2
[root@demo3 mfs]# df -h /
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   17G  1.2G   16G   7% /
[root@demo3 mfs]# systemctl start moosefs-chunkserver

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

master端的cpu压力来自于分布式系统文件大小
内存压力来自于文件数量

2.3 真机作为客户端

[root@westos ~]# cd /etc/yum.repos.d/
[root@westos yum.repos.d]# ls
aliyun.repo  google-chrome.repo  redhat.repo  rhel8.2.repo
[root@westos yum.repos.d]# curl "http://ppa.moosefs.com/MooseFS-3-el8.repo" > /etc/yum.repos.d/MooseFS.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168  100   168    0     0     93      0  0:00:01  0:00:01 --:--:--    93
[root@westos yum.repos.d]# vim MooseFS.repo 
[root@westos yum.repos.d]# cat MooseFS.repo 
[MooseFS]
name=MooseFS $releasever - $basearch
baseurl=http://ppa.moosefs.com/moosefs-3/yum/el8
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
enabled=1
[root@westos yum.repos.d]# yum install moosefs-client
[root@westos ~]# cd /etc/mfs/
[root@westos mfs]# ls
mfsmount.cfg  mfsmount.cfg.sample
[root@westos mfs]# vim mfsmount.cfg
[root@westos mfs]# grep -v ^# mfsmount.cfg
/mnt/mfs    #添加挂载的目录,前提是这个挂载目录必须是空的
[root@westos mfs]# vim /etc/hosts  ##做解析

[root@westos ~]# mkdir /mnt/mfs
[root@westos ~]# mfsmount
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@westos ~]# ll /etc/mfs/mfsmount.cfg
-rw-r--r--. 1 root root 400 Mar 19 11:29 /etc/mfs/mfsmount.cfg
[root@westos ~]# df
Filesystem            1K-blocks      Used Available Use% Mounted on
devtmpfs                7772476         0   7772476   0% /dev
tmpfs                   7801380    191128   7610252   3% /dev/shm
tmpfs                   7801380     18548   7782832   1% /run
tmpfs                   7801380         0   7801380   0% /sys/fs/cgroup
/dev/mapper/rhel-root 148006288  95042268  52964020  65% /
/dev/nvme0n1p8          1038336    228892    809444  23% /boot
/dev/loop1              4391278   4391278         0 100% /var/www/html/rhel7.6
/dev/loop0              8238560   8238560         0 100% /var/www/html/rhel8.2
/dev/nvme0n1p1            98304     67874     30430  70% /boot/efi
tmpfs                   1560276        20   1560256   1% /run/user/42
tmpfs                   1560276        40   1560236   1% /run/user/0
/dev/sda1             976727036 447430532 529296504  46% /run/media/root/My Passport
mfs#mfsmaster:9421     28285952   1749568  26536384   7% /mnt/mfs   ##挂载成功

[root@westos mfs]# ls
dir1  dir2
[root@westos mfs]# mfsgetgoal dir1
dir1: 2
[root@westos mfs]# mfsgetgoal dir2
dir2: 2
[root@westos mfs]# mfssetgoal -r 1 dir1
dir1:
 inodes with goal changed:                       1
 inodes with goal not changed:                   0
 inodes with permission denied:                  0
[root@westos mfs]# mfsgetgoal dir1
dir1: 1
[root@westos mfs]# cd dir1/
[root@westos dir1]# cp /etc/passwd .
[root@westos dir1]# mfsfileinfo passwd 
passwd:
	chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
		copy 1: 172.25.13.3:9422 (status:VALID)
[root@westos dir1]# cd ../dir2/
[root@westos dir2]# cp /etc/fstab  .
[root@westos dir2]# ls
fstab
[root@westos dir2]# mfsfileinfo fstab 
fstab:
	chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
		copy 1: 172.25.13.2:9422 (status:VALID)
		copy 2: 172.25.13.3:9422 (status:VALID)



在这里插入图片描述

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

在这里插入图片描述

3. 存储类storage class

3.1 添加一个server4主机slave,一个server5

##server4
[root@server4 ~]# vim /etc/hosts    ##做解析
[root@server4 ~]# yum install -y moosefs-chunkserver   ##安装软件
[root@server4 ~]# mkdir /mnt/chunk3
[root@server4 ~]# cd /etc/mfs/
[root@server4 mfs]# ls
mfschunkserver.cfg  mfschunkserver.cfg.sample  mfshdd.cfg  mfshdd.cfg.sample
[root@server4 mfs]# vim mfshdd.cfg
[root@server4 mfs]# grep -v ^# mfshdd.cfg
/mnt/chunk3
[root@server4 mfs]# chown mfs.mfs /mnt/chunk3
[root@server4 mfs]# systemctl start moosefs-chunkserver
##server5,和server4一样


在这里插入图片描述

在这里插入图片描述

3.2 指定存储类标签存放数据

3.2.1 设置标签

[root@westos dir2]# ls
fstab
[root@westos dir2]# dd if=/dev/zero of=bigfile bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.228773 s, 458 MB/s
[root@westos dir2]# ls
bigfile  fstab
[root@westos dir2]# mfsfileinfo bigfile    ##查看分布信息


##server2设置标签
[root@server2 mfs]# pwd
/etc/mfs
[root@server2 mfs]# ls
mfschunkserver.cfg  mfschunkserver.cfg.sample  mfshdd.cfg  mfshdd.cfg.sample
[root@server2 mfs]# vim mfschunkserver.cfg    ##设置标签A
[root@server2 mfs]# systemctl reload moosefs-chunkserver.service 

## server3设置标签B
[root@serve3 ~]# cd /etc/mfs/
[root@serve3 mfs]# ls
mfschunkserver.cfg  mfschunkserver.cfg.sample  mfshdd.cfg  mfshdd.cfg.sample
[root@serve3 mfs]# vim mfschunkserver.cfg
[root@serve3 mfs]# systemctl reload moosefs-chunkserver.service 
##server4设置标签为A
[root@server4 ~]# cd /etc/mfs/
[root@server4 mfs]# ls
mfschunkserver.cfg  mfschunkserver.cfg.sample  mfshdd.cfg  mfshdd.cfg.sample
[root@server4 mfs]# vim mfschunkserver.cfg
[root@server4 mfs]# systemctl reload moosefs-chunkserver.service 

在这里插入图片描述

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

3.2.2 使用标签

[root@westos ~]# cd /mnt/mfs  
[root@westos mfs]# mfsscadmin create 2A sclass1   ##创建标签
[root@westos mfs]# pwd
/mnt/mfs
[root@westos mfs]# ls
dir1  dir2
[root@westos mfs]# cd dir2/
[root@westos dir2]# ls
bigfile  fstab
[root@westos dir2]# mfssetsclass sclass1 fstab    ##设置标签
fstab: storage class: 'sclass1'
[root@westos dir2]# mfsfileinfo fstab 
fstab:
	chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
		copy 1: 172.25.13.2:9422 (status:VALID)
		copy 2: 172.25.13.4:9422 (status:VALID)

在这里插入图片描述

在这里插入图片描述

3.3 CKA设置

##server2主机设置标签A S H(S表示固态存储,H表示机械硬盘存储)
##server3主机设置标签B S H
##server4主机设置标签B S 
##server5主机设置标签B H

[root@westos dir2]# mfsscadmin create -C 2AS -K AS,BS -A AH,BH -d 30 sclass2  ##C创建,K保持,A打包,d表示打包之后的过期时间
storage class make sclass2: ok
[root@westos dir2]# mfssetsclass sclass2 fstab 
fstab: storage class: 'sclass2'
[root@westos dir2]# mfsfileinfo fstab 
fstab:
	chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
		copy 1: 172.25.13.2:9422 (status:VALID)
		copy 2: 172.25.13.4:9422 (status:VALID)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.4 恢复数据

[root@westos ~]# cd /mnt/mfs/
[root@westos mfs]# ls
dir1  dir2
[root@westos dir2]# mfsgettrashtime fstab   ##查看删除之后可以在多久的时间之内恢复
fstab: 86400
[root@westos mfs]# cd dir1/
[root@westos dir1]# ls
passwd
[root@westos dir1]# rm -fr passwd 
[root@westos dir1]# ls
[root@westos dir1]# mfsgettrashtime passwd
passwd: realpath error on (/mnt/mfs/dir1/passwd): ENOENT (No such file or directory)
[root@westos ~]# mkdir /mnt/mfsmeta
[root@westos ~]# mfsmount -m /mnt/mfsmeta
[root@westos mnt]# cd /mnt/mfsmeta/
[root@westos mfsmeta]# ls
sustained  trash
[root@westos mfsmeta]# cd trash/
[root@westos trash]# find -name *passwd*
./004/00000004|dir1|passwd
[root@westos trash]# cd 004/
[root@westos 004]# ls
'00000004|dir1|passwd'   undel              
[root@westos 004]# mv 00000004\|dir1\|passwd undel/
[root@westos 004]# ls
undel
[root@westos 004]# cd /mnt/mfs
[root@westos mfs]# ls
dir1  dir2
[root@westos mfs]# cd dir1/
[root@westos dir1]# ls
passwd
[root@westos dir1]# mfsfileinfo passwd 
passwd:
	chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
		copy 1: 172.25.13.2:9422 (status:VALID)

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qwerty1372431588/article/details/114997314
今日推荐