mfs

Server1.example.com 172.25.23.1 Master

Server2.example.com 172.25.23.2 Chunkserver

Server3.example.com 172.25.23.3Chunkserver

Server4.example.com 172.25.23.4 Client

Selinux iptables disabled 加解析 rhel6.5

 

一.Master设置

1.安装软件

yum install -y rpm-build

rpmbuild -tb moosefs-3.0.80-1.tar.gz

wKioL1fQCZqDcu9bAABjkStbiYs083.png 

#安装包的名称链接成指定的,不要太死板了

rpmbuild -tb moosefs-3.0.80.tar.gz

注意:需要解决依赖性有fuse-devel zlib-devel libpcap-devel libpcap gcc

   没有安装包的需要自己去官网下载 pkgs.org

mfs_第1张图片 

 

mfs_第2张图片 

注意:*.cgi要加执行权限

2.启动服务 ( 注意:不是在/etc/init.d )

mfs_第3张图片 

wKioL1fQCa6AdjwiAABSEeeyHBE736.png 

# 在关闭任务的时候,最好不要kill master,安全停止执行mfsmaster stop ,否则下次启动因metadata.mfs.back而出现问题。

error: 32 (Data mismatch)

此时无法修复也无法启动 master 服务,有个应急的办法是将 metadata.mfs.back 复制成metadata.mfs,然后再启动 master。这样将会丢失那些正在传输的数据

3.访问

访问:172.25.23.19425

mfs_第4张图片 

Error:加解析

wKiom1fQCbGBLBvyAAA_FhtnXjs637.png 

再次访问

mfs_第5张图片 

 

二.Chunkserver设置

1.安装软件

wKioL1fQCbiDGnNKAABrLzeRrEg474.png 

其中有前2个是依赖性

2.修改配置文件

wKioL1fQCbnxuji2AAAcOIt47G4568.png 

wKiom1fQCbzjVQQMAABJQlXFTHc121.png 

wKiom1fQCb6S_NryAAAYPRUBv_o908.png 

设置共享点

3.启动服务

mfs_第6张图片 

# 权限限制,在启动 chunk server ,需确保用户 mfs 有权限读写将要被挂接的分区(因为 chunk server 运行时要在此创建一个.lock 的文件)

mfs_第7张图片 

# 修改解析(在master的后端加上 mfsmaster

mfs_第8张图片 

4.在另外一个chunkserver做相同操作(只改变共享点 /mnt/chunk2

5.访问

mfs_第9张图片 

 

三.Client端配置

1.安装软件

 yum install -y moosefs-client-3.0.80-1.x86_64.rpm

2.设置挂载点

 (1) vim /etc/mfs/mfsmount.cfg

/mnt/mfs   

 (2) 创建挂载点  mkdir /mnt/mfs

3.挂载 mfsmount

4.查看 df -h

wKioL1fQCfKSLl2SAACNBwKxrRQ146.png 

mfs_第10张图片 

 

5.测试

/mnt/mfs创建2个目录,并设置其文件存储份数

a)cd /mnt/mfs

mkdir dir1 dir2

b) 设置文件存储份数 dir12  dir21

wKiom1fQDnWjKvM_AABjPNmKgNU535.png

wKiom1fQCgvSxFiGAABi0ijvbYA956.png 

 

c)拷贝文件,查看信息

mfs_第11张图片

wKiom1fQChHDZOSvAAB9LhFZ8O8415.png  

d)关闭一个chunkserver( 172.25.23.3 )后,查看信息

 mfs_第12张图片

e)chunkserver重新启动后,恢复正常

mfs_第13张图片 

 

四.恢复垃圾箱文件

1.误删

rm -fr /mnt/mfs/dir2/fstab

2.查看垃圾箱中文件的保留时间

wKioL1fQCiXQdBMpAAA38RsJsZ8429.png 

86400 s = 1 day

3.创建文件  /mnt/mfsmeta

4.挂载mfsmount -m /mnt/mfsmeta

   mfs_第14张图片 

5. 可以看到有trash这个目录

wKiom1fQCi6Dszq-AAB4Urxz9xU129.png 

cd /mnt/mfsmeta/trash

6. 找到误删的文件

wKioL1fQCi-wfKNqAAAXh2ksLtY340.png 

......

wKiom1fQCjDAOoU6AAATxV8EDm0025.png 

7. 将该文件移动到undel中即可

wKioL1fQCjHgRjovAABBwtkRzPg936.png 

 

五.Master安装HA (iscsi + corosync + pacemaker)

共享存储  server2.example.com 172.25.23.2

Master1 server1.example.com 172.25.23.1

Master2 server8.example.com 172.25.23.8

1.设置一个共享存储iscsi

wKiom1fQCjKRdaNkAABSsGkb_aw327.png 

2.Master1master2分别进行发现,连接,格式化

  master2上只需安装 moosefs-master及其相应的依赖性软件即可

yum install -y iscsi-*

iscsiadm -m discovery -t st -p 172.25.23.2

iscsiadm -m node -l

fdisk -cu /dev/sdb

mkfs.ext4 /dev/sdb1

mount /dev/sdb1 /mnt------- 测试

chown mfs.mfs /mnt/*

umount /mnt

3.修改yum

vim /etc/yum.repos.d/rhel-source.repo------ 具体修改细节见HA

yum repolist  ----- 列出可用的包

--> 可查看到有3819可用

4.添加解析

vim /etc/hosts

172.25.23.100 mfsmaster

5.编辑启动脚本

vim  /etc/init.d/mfsd

mfs_第15张图片 

mfs_第16张图片 

mfs_第17张图片        mfs_第18张图片                      wKiom1fQCsOTdcFBAAApVIw2TA0852.png 

mfs_第19张图片 

chmod +x /etc/init.d/mfsd

/etc/init.d/mfsd start----- 测试启动脚本是否正确

6.设置pacemaker

a) 安装软件

yum install -y pacemaker corosync crmsh pssh

b) 修改配置文件

vim /etc/corosync.conf------只修改部分内容

......

 bindnetaddr: 172.25.23.0

 mcastport: 5428

service { name: pacemaker 

 ver: 0}

/etc/init.d/corosync start

c) 设置策略

    mfs_第20张图片 

分别为:关闭fence机制;设置VIP;设置服务;设置存储;设置资源组

    mfs_第21张图片 

7.测试

(1)crm_mon

mfs_第22张图片 

(2)server8上执行

crm node standby

crm_mon

mfs_第23张图片 

(3)server8上再执行

crm node online

crm_mon

可发现仍工作在server1上,除非server1 standby后,才重新回到server8

(4)在查看时若出现服务启动失败,可做如下操作

mfs_第24张图片