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
#安装包的名称链接成指定的,不要太死板了
rpmbuild -tb moosefs-3.0.80.tar.gz
注意:需要解决依赖性有fuse-devel zlib-devel libpcap-devel libpcap gcc
没有安装包的需要自己去官网下载 pkgs.org
注意:*.cgi要加执行权限
2.启动服务 ( 注意:不是在/etc/init.d )
# 在关闭任务的时候,最好不要kill master,安全停止执行mfsmaster stop ,否则下次启动因metadata.mfs.back而出现问题。
error: 32 (Data mismatch)
此时无法修复也无法启动 master 服务,有个应急的办法是将 metadata.mfs.back 复制成metadata.mfs,然后再启动 master。这样将会丢失那些正在传输的数据
3.访问
访问:172.25.23.1:9425
Error:加解析
再次访问
二.Chunkserver设置
1.安装软件
其中有前2个是依赖性
2.修改配置文件
设置共享点
3.启动服务
# 权限限制,在启动 chunk server 前,需确保用户 mfs 有权限读写将要被挂接的分区(因为 chunk server 运行时要在此创建一个.lock 的文件)
# 修改解析(在master的后端加上 mfsmaster)
4.在另外一个chunkserver做相同操作(只改变共享点 /mnt/chunk2)
5.访问
三.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
5.测试
在/mnt/mfs创建2个目录,并设置其文件存储份数
a)cd /mnt/mfs
mkdir dir1 dir2
b) 设置文件存储份数 dir1为2 dir2为1
c)拷贝文件,查看信息
d)关闭一个chunkserver( 172.25.23.3 )后,查看信息
e)chunkserver重新启动后,恢复正常
四.恢复垃圾箱文件
1.误删
rm -fr /mnt/mfs/dir2/fstab
2.查看垃圾箱中文件的保留时间
86400 s = 1 day
3.创建文件 /mnt/mfsmeta
4.挂载mfsmount -m /mnt/mfsmeta
5. 可以看到有trash这个目录
cd /mnt/mfsmeta/trash
6. 找到误删的文件
......
7. 将该文件移动到undel中即可
五.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
2.在Master1和master2分别进行发现,连接,格式化
在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
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) 设置策略
分别为:关闭fence机制;设置VIP;设置服务;设置存储;设置资源组
7.测试
(1)crm_mon
(2)在server8上执行
crm node standby
crm_mon
(3)在server8上再执行
crm node online
crm_mon
可发现仍工作在server1上,除非server1 standby后,才重新回到server8
(4)在查看时若出现服务启动失败,可做如下操作