亦碎流年 2019-12-26
MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
(1)优势:
1、高可靠(数据的多个拷贝被存储在不同的计算机上);
2、通过附加新的计算机或者硬盘可以实现容量的动态扩展;
3、删除的文件可以根据一个可配置的时间周期进行保留(一个文件系统级别的回收站);
4、不受访问和写入影响的文件连贯快照。
(2)体系结构:
1、管理服务器(master server):
一台管理整个文件系统的独立主机,存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)2、数据服务器群(chunk servers):
任意数目的商用服务器,用来存储文件数据并在彼此之间同步(如果某个文件有超过一个备份的话)3、元数据备份服务器(metalogger server):
任意数量的服务器,用来存储元数据变化日志并周期性下载主要元数据文件,以便用于管理服务器意外停止时好接替其位置。4、访问mfs的客户端:
任意数量的主机,可以通过mfsmount进程与管理服务器(接收和更改元数据)和数据服务器(改变实际文件数据)进行交流。
修改服务器主机名
[ ~]# hostnamectl set-hostname master [ ~]# su [ ~]# [ ~]# hostnamectl set-hostname master [ ~]# su [ ~]# [ ~]# hostnamectl set-hostname master [ ~]# su [ ~]# [ ~]# hostnamectl set-hostname chunk02 [ ~]# su [ ~]# [ ~]# hostnamectl set-hostname client [ ~]# su [ ~]#
#关闭防火墙 [ ~]# systemctl stop firewalld.service [ ~]# setenforce 0 #安装软件包 [ ~]# yum install zlib-devel gcc gcc-c++ -y #创建用户 [ ~]# useradd mfs -s /sbin/nologin #创建挂载点并挂载软件包文件 [ ~]# makdir /abc [ ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/ Password for //192.168.10.59/LAMP-C7: [ ~]# cd /abc/rpm/mfs/ #解压软件包 [ mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/ [ mfs]# cd /opt/mfs-1.6.27/ #编译源码包 [ mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount #编译并安装 [ mfs-1.6.27]# make && make install #复制相关文件 [ mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/ [ mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg [ mfs]# cp mfsexports.cfg.dist mfsexports.cfg [ mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg [ mfs]# cd /usr/local/mfs/var/mfs/ [ mfs]# cp metadata.mfs.empty metadata.mfs #对用户授权 [ mfs]# chown -R mfs.mfs /usr/local/mfs/ #开启服务 [ mfs]# /usr/local/mfs/sbin/mfsmaster start [ ~]# ps -ef | grep mfs mfs 73676 1 0 00:33 ? 00:00:25 /usr/local/mfs/sbin/mfsmaster start root 114704 90019 0 08:54 pts/1 00:00:00 grep --color=auto mfs
#关闭防火墙 [ ~]# systemctl stop firewalld.service [ ~]# setenforce 0 #安装软件包 [ ~]# yum install zlib-devel gcc gcc-c++ -y #创建用户 [ ~]# useradd mfs -s /sbin/nologin #创建挂载点并挂载软件包文件 [ ~]# mkdir /abc [ ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/ Password for //192.168.10.59/LAMP-C7: [ ~]# cd /abc/rpm/mfs/ #解压软件包 [ ~]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/ [ mfs-1.6.27]# cd /opt/mfs-1.6.27/ #编译源码包 [ ~]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount #编译并安装 [ mfs-1.6.27]# make && make install #复制相关文件 [ mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/ [ mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg [ mfs]# vim mfsmetalogger.cfg 去除15行注释,并修改为MASTER_HOST = 192.168.18.128 #对用户授权 [ ~]# chown -R mfs.mfs /usr/local/mfs/ #开启服务 [ ~]# /usr/local/mfs/sbin/mfsmetalogger start [ ~]# ps -ef | grep mfs root 45092 21706 0 08:54 pts/1 00:00:00 grep --color=auto mfs mfs 65494 1 0 07:20 ? 00:00:03 :
(两台服务器配置一样)
#安装软件包 [ ~]# yum install zlib-devel gcc gcc-c++ -y [ ~]# useradd mfs -s /sbin/nologin #创建挂载点并挂载软件包文件 [ ~]# mkdir /abc [ ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/ Password for //192.168.10.59/LAMP-C7: [ ~]# cd /abc/rpm/mfs/ #解压软件包 [ mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/ [ mfs]# cd /opt/mfs-1.6.27/ #编译源码包 [ mfs-1.6.27]#./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount #编译并安装 [ mfs-1.6.27]# make && make install 复制文件并修改配置文件 [ mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/ [ mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg [ mfs]# cp mfshdd.cfg.dist mfshdd.cfg [ mfs]# vim mfschunkserver.cfg 去除12行注释,并修改为MASTER_HOST = 192.168.18.128 [ mfs]# vim mfschunkserver.cfg 在文末加上目录data /data [ mfs]# mkdir /data [ mfs]# cd [ ~]# chown -R mfs.mfs /data/ #开启服务 [ ~]# /usr/local/mfs/sbin/mfschunkserver start working directory: /usr/local/mfs/var/mfs lockfile created and locked initializing mfschunkserver modules ... hdd space manager: path to scan: /data/ hdd space manager: start background hdd scanning (searching for available chunks) main server module: listen on *:9422 no charts data file - initializing empty charts mfschunkserver daemon initialized properly
#关闭防火墙 [ ~]# systemctl stop firewalld.service [ ~]# setenforce 0 # 安装软件包 [ ~]# yum install gcc gcc-c++ zlib-devel -y [ ~]# mkdir /abc [ ~]# mount.cifs //192.168.10.59/LAMP-C7 /abc/ Password for //192.168.10.59/LAMP-C7: [ ~]# cd /abc/rpm/mfs/ [ mfs]# tar zxvf fuse-2.9.2.tar.gz -C /opt/ [ fuse-2.9.2]# ./configure [ fuse-2.9.2]# make && make install [ fuse-2.9.2]# vim /etc/profile 在文末插入下面这句话 exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH [ fuse-2.9.2]# source /etc/profile [ fuse-2.9.2]# useradd mfs -s /sbin/nologin [ fuse-2.9.2]# cd [ ~]# cd /abc/rpm/mfs/ [ mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt/ [ mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmaster --enable-mfsmount #编译及安装 [ mfs-1.6.27]# make && make install #创建文件,进行挂载 [ mfs-1.6.27]# mkdir /opt/mfs [ mfs-1.6.27]# modprobe fuse [ mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.18.128 mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root 优化客户端 [ mfs-1.6.27]# vim /etc/profile 在文末插入下面这句话 export PATH=/usr/local/mfs/bin:$PATH [ mfs-1.6.27]# source /etc/profile
[ ~]# /usr/local/mfs/sbin/mfscgiserv lockfile created and locked starting simple cgi server (host: any , port: 9425 , rootpath: /usr/local/mfs/share/mfscgi) [ ~]#
在宿主机输入地址http://192.168.18.128:9425访问页面