全部博文(80)
分类: 系统运维
2012-03-04 11:28:33
各种角色作用:
Mfs分布是文件系统的实现
系统环境:rhel6.0-x86_64 iptables and selinux off
server: node2.example.com
node3.example.com
node4.example.com
node5.example.com
RPM方式安装
yum install rpm-build gcc gcc-c fuse-devel zlib-devel -y
rpmbuild -tb mfs-1.6.20-2.tar.gz
执行上面的命令,将会在/root/rpmbuild/RPMS/x86_64/生成如下的rpm软件包
mfs-cgi-1.6.20-1.x86_64.rpm
mfs-master-1.6.20-1.x86_64.rpm
mfs-chunkserver-1.6.20-1.x86_64.rpm
mfs-metalogger-1.6.20-1.x86_64.rpm
mfs-client-1.6.20-1.x86_64.rpm
rpm -qpl *.rpm 可以查看你所关注的软件包有关的文件的安装位置(rpm -ql name)
在server2上安装如下软件包
mfs-master-1.6.20-1.x86-64.rpm
mfs-metalogger-1.6.20-1.x86_64.rpm
软件仅提供配置文件的模板,
cp /etc/mf***ports.cfg.dist /etc/mf***ports.cfg
cp /etc/mfsmaster.cfg.dist /etc/mfsmaster.cfg
cp /etc/mfsmetalogger.cfg.dist /etc/mfsmetalogger.cfg
cp /var/lib/mfs/metadata.mfs.empty /var/lib/mfs/metadata.mfs.empty
vim /etc/hosts
192.168.0.2 mfsmaster
chmod 777 /var/lib/mfs/
/usr/sbin/mfsmaster start
下图为mfsmaster正常启动的过程截图
下图为mfsmaster正常停止的过程截图
rpm -ivh mfs-cgi-1.6.20-1.x86_64.rpm
/usr/sbin/mfscgiserv 启动cgi服务
chmod x mfs.cgi
chmod x mfs.css
chmod x chart.cgi
通过url=若前面的安装配置都正确,则会有如下效果
在server3 and server4操作
安装rpm包
mfs-chunkserver-1.6.20-1.x86_64.rpm
cp /etc/mfschunkserver.cfg.dist /etc/mfschunkserver.cfg
cp /etc/mfshdd.cfg.dist /etc/mfshdd.cfg
mkdir /mnt/test1
chmod 777 /mnt/test1
vim /etc/mfshdd.cfg
/mnt/test1
mkdir /var/lib/mfs
chmod 777 /var/lib/mfs/
/usr/sbin/mfschunkserver start
通过url=若前面的安装配置都正确,则Disk选项会有如下效果
在server5操作
yum install fuse-libs -y
安装rpm包
mfs-client-1.6.20-1.x86_64.rpm
mkdir /mnt/mfs
mfsmount -H mfsmaster /mnt/mfs/
测试
mkdir /mnt/mfs/test1
mkdir /mnt/mfs/test2
mfsgetgoal -r /mnt/mfs/test1
mfsgetgoal -r /mnt/mfs/test2
mfssetgoal -r 2 /mnt/mfs/test2/
cp /etc/passwd /mnt/mfs/test1/
cp /etc/passwd /mnt/mfs/test2/
mfscheckfile /mnt/mfs/test1/passwd
mfscheckfile /mnt/mfs/test2/passwd
mfsfileinfo /mnt/mfs/test1/passwd
mfsfileinfo /mnt/mfs/test2/passwd
在server4上/usr/sbin/mfschunkserver stop后
MooseFS 基础用法
在 MooseFS 挂接点下创建目录 folder1, 在该目录,我们将以一个副本的方式存放文件 (设置
goal=1):
#mkdir -p /mnt/mfs/folder1
再在挂接点创建第 2 个目录 folder2, 在该目录,我们将以两个个副本的方式存放文件(设置
goal=2):
#mkdir -p /mnt/mfs/folder2
使用命令 mfssetgoal –r 设定目录里文件的副本数:
1、副本数为 1
#mfssetgoal -r 1 /mnt/mfs/folder1
/mnt/mfs/folder1:
inodes with goal changed: 0
inodes with goal not changed: 1
inodes with permission denied: 0
2、副本数为 2
#mfssetgoal -r 2 /mnt/mfs/folder2
/mnt/mfs/folder2:
inodes with goal changed: 0
inodes with goal not changed: 1
inodes with permission denied: 0
拷贝同一个文件到两个目录:
cp /usr/src/mfs-1.6.15.tar.gz /mnt/mfs/folder1
cp /usr/src/mfs-1.6.15.tar.gz /mnt/mfs/folder2
命令 mfschunkfile 用来检查给定的文件以多少副本数来存储。对应目录 folder1 来说,
有一个副本存储在一个 chunk 里:
#mfscheckfile /mnt/mfs/folder1/mfs-1.6.15.tar.gz
/mnt/mfs/folder1/mfs-1.6.15.tar.gz:
1 copies: 1 chunks
而在目录 folder2 中,文件 mfs-1.6.15.tar.gz 是以两个副本保存的:
#mfscheckfile /mnt/mfs/folder2/mfs-1.6.15.tar.gz
/mnt/mfs/folder2/mfs-1.6.15.tar.gz:
2 copies: 1 chunks
附加信息。当所有的组件被安装到同一个物理主机的时候,即便设定了 goal=2 来到达保存两个
副本的目的,但你可能看到的只是一个副本而已—这是合理的,尽管有两个磁盘,但它只是一
个 chunk server 啊!
更多关于 MooseFS 命令的使用方法,可以在这里找到:
我们推荐你阅读 FAQ 页面内容: