尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

手把手教你部署MooseFS

手把手教你部署MooseFS 目录一.分布式文件系统——MooseFS1.1简单介绍1.2部署MooseFS1.2.1准备工作1.2.2完成MasterServer的相关服务配置1.2.3完成ChunkServer的相关服务配置1.2.4完成Client的相关服务配置1.2.5完整的界面1.3基本语法1.mfslistsclass查看类别2.管理存储类别的创建和修改3.管理文件或目录的存储类别4.设置标签一.分布式文件系统——MooseFS1.1简单介绍MooseFS官方文档Chunkservers | MooseFS Documentationhttps://docs.moosefs.com/installation/components/chunkservers/1.说明分布式文件系统是一个多线程、多核心的系统主要存放海量小文件支持多次读写适合需要经常修改的文件存储。支持多操作系统同时Moosefs很好扩容。而PB一般用于存放大数据文件PB且适合一写多读一次写入多次读取不适合经常修改。2.核心组成Master Server(管理服务器)、Chunkserver数据存储服务器、client客户端、Meltalogger Server数据日志服务器1.Master Server用于管理所有的元数据的存放位置缓存元数据的变更记录但它本身不会存储数据。当客户端需要访问元数据时会先去访问Master由Master指出元数据的存放位置。因此它并不需要多少存储空间但它非常消耗内存因为多个客户端访问会消耗大量资源。2.Chunk Server真正的数据存储地所有的复制数据都会存放在这里用于保存。3.Client访问Moosefs的入口通过挂载目录远程访问moosefs4.Meltalogger ServerMaster的备份秘书不断同步Master上的元数据同步记录。当Master发生故障时可以通过Meltalogger的数据恢复集群3.端口配置Master9419—9421 9425默认Chunk9422默认Client9425默认1.2部署MooseFS1.安装配置2.设置域名解析1.2.1准备工作1.准备四台虚拟机并完成域名解析组成1台MasterServer2台ChunkServer1台Client192.168.7.191server1mfsmasterDNS域名解析MasterServer192.168.7.192server2ChunkMaster192.168.7.193server3ChunkServer192.168.7.194server4Client2.四台虚拟机上都下载KEY和moosefs软件仓库curl https://repository.moosefs.com/RPM-GPG-KEY-MooseFS /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS #下载Key curl http://repository.moosefs.com/MooseFS-4-el8.repo /etc/yum.repos.d/MooseFS.repo #下载软件仓库1.2.2完成MasterServer的相关服务配置1.下载相关软件依赖yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli # For Master Servers2.启动服务和GUI界面查看端口号systemctl enable --now moosefs-master systemctl enable --now moosefs-gui ss -ltp | grep :943.登录服务界面Master_Server_IP:94251.2.3完成ChunkServer的相关服务配置1.关闭虚拟机新增一块新的NVMe类型的硬盘poweroff #关闭虚拟机NVMe一般为企业运行的磁盘fdisk -l #查看新建磁盘目录2.为新磁盘分区并完成初始化fdisk /dev/nvme0n1 #创建分区n-p-w新建-查看-写入 mkxfs.xfs /dev/nvme0n1p1 #完成格式初始化3.完成开机自动挂载mkdir /mnt/ssd01 #创建挂载点blkid #查看设备UUIDvim /etc/fstab #修改配置文件完成开机自动挂载 systemctl daemon-reload #刷新systemctl服务配置 mount -a #刷新挂载 df #查看是否成功挂载chown mfs.mfs /mnt/ssd01 #修改权限确保挂载时权限正确4.修改mfshdd.cfg配置文件添加主机的挂载目录vim /etc/mfs/mfshdd.cfg #尾行添加挂载目录5.启动chunkserver服务systemctl enable --now moosefs-chunkserver #启动chunkserver服务并设置开机自启6.登录server端的GUI界面查看chunkserver的状态仅开启server2开启server2和server31.2.4完成Client的相关服务配置mkdir /mnt/mfs #创建挂载点 mfsmount /mnt/mfs -H mfsmaster #将MooseFS存储挂载到本地目录1.2.5完整的界面1.3基本语法说明所有语法都必须在挂载目录下完成因为你需要通过挂载目录去访问Moosefs的远程存储。1.mfslistsclass查看类别mfslistsclass #查看moosefs上的分类2CP数据备份两份可以容忍一台存储器故障所占空间是原始数据的两倍3CP数据备份三份可以容忍两台存储器故障所占空间是原始数据的三倍EC41数据切分成4部分并生成一个校验码所占空间是原始数据的1.25倍EC81数据切分成8部分并生成一个校验码所占空间是原始数据的1.125倍CP与EC的不同CP将数据完整的复制过来所占空间与数据本身相同例如复制两份就会占两份数据的空间EC将数据切分成多块并生成校验码只要丢失的部分不超过校验部分的数量数据就可以被完整恢复而且更节省空间开销说明使用 -l 参数查看详细信息2.管理存储类别的创建和修改旧版写法mfsscadmin create #创建一个新的存储类别 mfsscadmin modify #修改现有的存储类别 mfsscadmin delete #删除存储类别 mfsscadmin clone #克隆一个存储类别 mfsscadmin rename #重命名一个存储类别 mfsscadmin import #批量导入存储类别新版写法mfscreatesclass #创建一个新的存储类别 mfsmodifysclass #修改现有的存储类别 mfsdeletesclass #删除存储类别 mfsclonesclass #克隆一个存储类别 mfsrenamesclass #重命名一个存储类别 mfsimportsclass #批量导入存储类别说明这里能够看出来新旧写法的不同点就是新写法将旧版后面的create加入到了mfs后,并且将scadmin替换成了sclass。不过新旧写法都可使用例子2.1创建一个类型为2CP的类别mfsscadmin create -K 2* 类别名2.2创建一个类别为1CP的类别mfsscadmin create -K 1* 类别名 #建议在类别名的前或后加一个_1CP,用于区分说明1CP是指复制一份数据建议在类别命名时加一个_1CP用于区分2.3删除一个已有类别mfsdeletesclass 类别名 #新版写法 mfsscadmin delete 类别 #旧版写法3.管理文件或目录的存储类别旧版写法mfssclass get #查看文件或目录的存储类别 mfssclass set #修改文件或目录的存储类别 mfsfileinfo 文件名 #查看文件的详细信息新版写法mfsgetsclass #查看文件或目录的存储类别 mfssetsclass #修改文件或目录的存储类别 mfsfileinfo 文件名 #查看文件的详细信息例子3.1创建一个目录查看数据的存放位置mkdir dir2 cd dir2 #进入目录 mfssclass get . #查看当前新建目录的默认存储类别说明默认情况下新建目录的存储类别为2CP3.2进入目录复制文件查看文件备份地址cp /etc/passwd . #复制文件到当前目录 mfsfileinfo passwd #查看文件的存放地址说明文件被复制成两份分别存储在两台chunkserver上3.3修改目录的存储类别并完成数据迁移3.3.1复制数据mkdir dir1 cd dir1 cp /etc/passwd . mfsfileinfo passwd3.3.2修改目录的存储类别mfssclass set host_1CP . #将当前目录存储类别设置为1CP mfssclass get . #查看当前目录的存储类别3.3.3完成旧数据的迁移mfssclass set host_1CP -r . #完成旧数据的迁移 mfsfileinfo passwd说明根据3.3.2和3.3.3我们能发现目录在修改时不加-r参数只会修改新进来文件的存储类别而不会修改旧数据原本的类别。4.设置标签说明通过之前的例子我们简单了解了mfs的基本语法。同时我们会发现如果你备份的数量少于chunkserver时它会给你随机存放到chunkserver中这样不方便管理。因此我们可以为不同的chunkserver设置不同的标签从而做到精准存储4.1修改mfschunkserver.cfg配置文件并重启生效vim /etc/mfs/mfschunkserver.cfg #修改配置文件 systemctl reload moosefs-chunkserver #重启生效说明这里我将server2的标签设为Aserver3的标签设为B注意一个主机的标签不只可以设置一个可以在原先标签的后面加上或者空格填入新的标签。同样地一个标签也可以同时在多个主机上定义。当访问该标签时会访问所有拥有该标签的主机。4.2创建以标签为主的存储类别mfsscadmin create -K A 1CP_A #创建一个名为1CP_A数据仅存在含有A标签的主机上的存储类别 mfsscadmin create -K B 1CP_B #创建一个名为1CP_B数据仅存在含有B标签的主机上的存储类别 mfslistsclass说明这里的标签是指所有含有该标签的主机。例子如果只有一台主机含有A标签则数据只会备一份在这台含有A标签的主机上如果有多个主机同时含有A标签则数据会在所有含A标签的主机上备一份。4.3设置dir1目录的存储类别为1CP_Bcd dir1 mfsfileinfo passwd #查看原先文件的存储地址 mfssclass set 1CP_B . #设置当前目录的存储类别为1CP_B不修改旧数据 cp /etc/group . #传入新数据 mfsfileinfo * #查看所有文件的存储地址4.3完成旧数据的迁移mfssclass set 1CP_B . -r #修改全部数据到标签B的主机上存储 mfsfileinfo * mfssclass set 1CP_A . -r #修改全部数据到标签A的主机上存储 mfsfileinfo *
返回列表