蛇口网站建设,湖南网站建设360o,深圳宝安美容医院网站建设,网页设计与制作例子-----------------------MFS---------------------- (1)分布式原理 分布式文件系统( Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上#xff0c;而是通过计算机网络与节点相连。简单来说#xff0c;就是把一些分散的(分布在局域网内各个…-----------------------MFS---------------------- (1)分布式原理 分布式文件系统( Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上而是通过计算机网络与节点相连。简单来说就是把一些分散的(分布在局域网内各个计算机上)共享文件夹集合到一个文件夹内(虚拟共享文件夹)。对于用户来说要访问这些共享文件夹时只要打开这个虚拟共享文件夹就可以看到所有链接到虚拟共享文件夹内的共享文件夹用户感觉不到这些共享文件是分散于各个计算机上的。分布式文件系统的好处是集中访问、简化操作、数据容灾以及提高文件的存取性能。 (2)MFS原理 MFS是一个具有容错性的网络分布式文件系统它把数据分散存放在多个物理服务器上而呈现给用户的则是一个统一的资源。 1)MFS文件系统的组成。 元数据服务器( Master)一台管理整个文件系统的独立主机在整个体系中负责管理文件系统维护元数据。文件的大小、属性、位置信息包括所有非常规文件的所有信息例如目录、套接字、管道以及设备文件元数据日志服务器( MetaLogger)备份 Master服务器的变化日志文件文件类型为 changelog ml。*mfs当 Master服务器数据丢失或者损坏时可以从日志服务器中取得文件进行恢复。数据存储服务器( Chunk server)真正存储数据的服务器。存储文件时会把文件分块保存并在数据服务器之间进行复制。数据服务器越多能使用的“容量”就越大可靠性就越高性能也就越好。客户端( Client)可以像挂载NFS一样挂载MFS文件系统其操作是相同的。MFS文件系统的组成架构如图所示。 2)MFS读取数据的处理过程 客户端向元数据服务器发出读请求。元数据服务器把所需数据存放的位置( Chunk Server的P地址和 Chunk编号)告知客户端。客户端向已知的 Chunk server请求发送数据。Chunk Server向客户端发送数据。 3)MFS写入数据的处理过程 客户端向元数据服务器发送写入请求元数据服务器与 Chunk Server进行交互(只有当所需的分块 Chunks存在的时候才进行这个交互)但元数据服务器只在某些服务器创建新的分块Chunks创建成功后由 Chunk servers告知元数据服务器操作成功。元数据服务器告知客户端可以在哪个 Chunk Server的哪些 Chunks写入数据。客户端向指定的 Chunk server写入数据。该 Chunk Server与其他 Chunk Server进行数据同步同步成功后 ChunkServer告知客户端数据写入成功客户端告知元数据服务器本次写入完毕 ---------------------案例实验---------------------- 概述公司之前的图片服务器采用的是NFS随着业务量增加多台服务器通过NFS方式共享一个服务器的存储空间使得NFsS服务器不堪重负经常出现超时问题。而且NFS存在着单点故障问题尽管可以rsync同步数据到另外一台服务器上做NFS服务的备份但这对提高整个系统的性能并无帮助。基于目前的需求我们需要对NFS服务器进行优化或采取别的解决方案然而优化并不能应对日益增多的客户端的性能要求因此选择的解决方案是采用分布式文件系统。采用分布式文件系统后服务器之间的数据访问不再是一对多的关系而是多对多的关系这样可以使性能得到大幅提升。在当前多种常用的分布式文件系统中我们采用了MFS( MooseFS)。 [需要注意MFS的MasterServer管理节点只有一个也有可能会出现单点故障后续我会写出解决方案FastDFS】 MFS虽然有单点故障的可能性缺点但也有很多比较好的特点比如1、高可靠数据的多个拷贝被存储在不同的计算机上2、通过附加新的计算机或者硬盘可以实现容量的动态扩展3、删除的文件可以根据一个可配置的时间周期进行保留一个文件系统级别的回收站4、不受访问和写入影响的文件连贯快照 MFS正式推出是在2008年5月它是一个具有容错功能的、高可用、可扩展的海量级分布式文件系统。MFS把数据分散在多台服务器上但用户看到的只是一个源。MFS也像其他类UNX文件系统一样包含了层级结构和文件属性可以创建特殊的文件(块设备、字符设备、管道、套接字)、符号链接和硬链接。 实验环境 主机操作系统IP地址软件安装Master ServerCentOS 7192.168.233.128mfs-1.6.27-5.tar.gzMetaLogger ServerCentOS 7192.168.233.6mfs-1.6.27-5.tar.gzChunk Server 1CentOS 7192.168.233.4mfs-1.6.27-5.tar.gzChunk Server 2CentOS 7192.168.233.10mfs-1.6.27-5.tar.gzClientCentOS 7192.168.233.11mfs-1.6.27-5.tar.gz fuse-2.9.2.tar.gz软件包百度网盘mfs-1.6.27-5.tar.gz链接https://pan.baidu.com/s/1-l0ZEisWmlGT2aNqR2nGaw 密码e98vfuse-2.9.2.tar.gz链接https://pan.baidu.com/s/1rZPOnsVISzu0Z0aucr7J7g 密码71si一、Master Server和MetaLogger Server共同步骤 1.关闭防火墙 #关闭防火墙
systemctl stop firewalld.service
setenforce 0 2.安装环境 yum install gcc gcc-c zlib-devel -y 3.创建MFS程序用户 useradd -s /sbin/nologin mfs 4.解压缩MFS文件 tar zxvf mfs-1.6.27-5.tar.gz -C /opt 5.安装设置 cd /opt/mfs-1.6.27/ ./configure \
--prefix/usr/local/mfs \
--with-default-usermfs \
--with-default-groupmfs \
--disable-mfschunkserver \
--disable-mfsmount 6.编译安装 make make install 7.复制元数据文件 cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs 接下来是Master Server和MetaLogger Server的单独操作 二、Master Server操作 1.复制配置模板从而开启功能 cd /usr/local/mfs/etc/mfs/ [rootlocalhost mfs]# cp mfsexports.cfg.dist mfsexports.cfg #权限配置文件
[rootlocalhost mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg #master配置文件
[rootlocalhost mfs]# cp mfstopology.cfg.dist mfstopology.cfg #本服务器的日志文件 2.启动主服务器服务 /usr/local/mfs/sbin/mfsmaster start 3.查看下mfsmaster服务是否开启 ps -ef | grep mfs 三、MetaLogger Server操作 1.复制配置模板从而开启功能 cd /usr/local/mfs/etc/mfs/ cp mfsmetalogger.cfg.dist mfsmetalogger.cfg 2.修改mfs日志服务配置文件 [rootlocalhost mfs]# vim mfsmetalogger.cfg ....以上内容忽略
MASTER_HOST 192.168.233.128 #修改并指向Master Server的地址
#MASTER_PORT 9419
....以下内容忽略修改完成后保存退出 3.启动MetaLogger Server服务器服务 /usr/local/mfs/sbin/mfsmetalogger start 4.查看下服务是否开启 [rootlocalhost mfs]# ps -ef | grep mfs 日志服务器服务开启 需要注意默认为24小时即每隔一天从元数据服务器Master下载一个metadata.mfs.back 文件。当元数据服务器关闭或者出故障时matedata.mfs.back 文件将消失那么要恢复整个mfs, 则需从 metalogger服务器取得该文件。请特别注意这个文件它与日志文件一起才能够恢复整个被损坏的分布式文件系统。 四、Chunk Server 1和2共同操作 1.安装环境 yum install gcc gcc-c zlib-devel -y 2.创建MFS程序用户 useradd -s /sbin/nologin mfs 3.解压缩文件 tar zxvf mfs-1.6.27-5.tar.gz -C /opt 4.安装设置 cd /opt/mfs-1.6.27/ ./configure \
--prefix/usr/local/mfs \
--with-default-usermfs \
--with-default-groupmfs \
--disable-mfsmaster \
--disable-mfsmount 5.编译安装 make make install 6.复制配置模板从而开启功能 cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg 7.修改mfschunk配置文件 vim mfschunkserver.cfg ....以上内容忽略
#BIND_HOST *
MASTER_HOST 192.168.233.128 #修改并指向Master Server的地址
#MASTER_PORT 9420
....以下内容忽略修改完成后保存退出 8.修改配置文件 vim mfshdd.cfg ....以上内容忽略
#/mnt/hd1
#/mnt/hd2
#etc.
/data #添加文件目录
~
修改完成后保存退出 9.创建文件目录并且更改属主属组 mkdir /data
chown -R mfs.mfs /data 10.开启服务 /usr/local/mfs/sbin/mfschunkserver start 11.查看服务开启 ps -ef | grep mfs 五、Client 操作 1.关闭防火墙 systemctl stop firewalld.service
setenforce 0 2.安装环境 yum install gcc gcc-c zlib-devel -y 3.解压缩fuse tar zxvf fuse-2.9.2.tar.gz -C /opt/ 4.编译安装 cd /opt/fuse-2.9.2/ ./configure make make install 5.编辑环境变量 vim /etc/profile #在末尾插入一行
export PKG_CONFIG_PATH/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH添加完成后保存退出 source /etc/profile 6.安装mfs cd ~ useradd -s /sbin/nologin mfs #创建mfs程序用户 tar zxvf mfs-1.6.27-5.tar.gz -C /opt #解压缩文件 7.编译安装mfs cd /opt/mfs-1.6.27/ ./configure \
--prefix/usr/local/mfs \
--with-default-usermfs \
--with-default-groupmfs \
--disable-mfsmaster \
--disable-mfschunkserver \
--enable-mfsmount make make install 8.加载Fuse内核 mkdir /opt/mfs #创建挂载目录 modprobe fuse #加载fuse内核 /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.233.128 #Master Server挂载到客户端 PS优化客户端操作 Client操作1.为了可以直接使用mfsmount这条命令进行环境变量的修改。编辑环境变量 vim /etc/profile #末尾插入一行
export PATH/usr/local/mfs/bin:$PATH添加完成后保存退出 -----------在Master Server上启动监控程序----------- 启动监控 /usr/local/mfs/sbin/mfscgiserv 输入Master Server地址进入监控http://192.168.233.128:9425转载于:https://blog.51cto.com/13767783/2287720