赞
踩
这款文件系统是在ceph基础上进行修改的,依然使用了rados做存储基础,我们在训练的时候,发现cephfs 的性能有很大的问题,这款文件系统是专门针对ai训练而设计开发。这个文件系统把元数据服务器 hpfs-srv进行分布式处理,每个服务器可以启动多个hpfs-srv元数据进程进行workload进行分摊,而且还不需要把元数据存储到 第三方的插件例如redis,rocksdb中,hpfs直接存储到ceph中,因为ceph是已经有10几年的历史迭代了,他的稳定性是非常好,避免引入一些其他第三方开发程序不稳定因素到存储系统,这款文件系统的部署还是非常简单的:
下载地址:
https://github.com/ptozys2/hpfs
1安装ceph 如果你已经安装了ceph这步就可以跳过了。
CEPH_RELEASE=18.2.0 # replace this with the active release curl --silent --remote-name --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm chmod +x cephadm
./cephadm add-repo --release reef
apt install ceph -y
cephadm bootstrap --mon-ip
ssh-copy-id -f -i /etc/ceph/ceph.pub root@hostname
ceph orch host add hostname ip
/home/aaa/cephadm bootstrap --mon-ip ip --allow-overwrite
ceph orch daemon add osd hostname:/dev/vdb
ceph osd pool create data 128 128
ceph osd pool create metadata 128 128
2 创建元数据和数据pool
ceph osd pool create data 128 128
ceph osd pool create metadata 128 128
3.配置服务器信息
如果您想在192.168.1.2和192.168.1.3的每台机器上部署3个hpfs-srvr实例,您需要在每台机器上执行以下命令:
./set_ip.sh -ip 192.168.1.2,192.168.1.3 -count 3
如果执行成功,它将在/etc/fsconf目录下创建一个名为msrv.conf的文件。
您需要将Ceph配置文件ceph.conf复制到每个hpfs-srvr主机的/etc/fsconf目录中,并且还需要将ceph.conf文件复制到每个hpfs-srvr主机的/etc/ceph目录中,因为hpfs-srvr需要通过RADOS访问Ceph。
4.配置客户端
如果执行成功,它将在 /etc/fsconf 目录下创建一个名为 msrv.conf 的文件。
您需要将 Ceph 配置文件 ceph.conf 复制到每个 hfs 主机的 /etc/fsconf 目录中,并且还需要将 ceph.conf 文件复制到每个 hfs 主机的 /etc/ceph 目录中,因为 hfs 需要通过 RADOS 访问 Ceph。
5.启动
start hpfs-srvr:
./deploy_server.sh
mount fs :
./hfs /mnt
在使用hpfs之前,我对比了其他的一些开源项目,很多都是需要第三方插件去存储元数据,总觉得怪怪的,因为数据存储那边本身就已经能通过3副本保证数据安全了,并且有完善的数据安全机制了,然后,元数据又搞一套数据副本机制,没看懂什么意思,数据直接存储到底层存储上不行吗?
这个hpfs的性能远超其他的文件系统,与我们之前用cephfs相比,比cephfs性能好很多,其他开源项目相比性能跟hpfs也没法比的。我用resnet50 训练速度减少了几倍的训练时间。
但是,这个hpfs也有 不足,就是他放出来的是部分功能的一个二进制文件,没有开源,看来有技术壁垒的东西没人会开源的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。