暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

深入浅出Lustre之HSM

323


作者时间QQ技术交流群
perrynzhou@gmail.com2023/03/21672152841







介绍



  • Lustre
    中的HSM(Hierarchical Storage Management)
    提供一种Lustre
    文件系统和外部存储系统之间冷热数据分层的方案(这里可以类比mysql和redis在一般业务使用时候的关系)。假设我有一个纯NVMe
    Lustre
    集群,后端是其他的存储系统比如S3
    存储或者慢速的Lustre
    文件系统,在这个时候可以把NVMe
    Lustre
    集群当做慢速存储系统的Cache
    ,这样来加速后端慢速存储系统的访问速度。

  • Lustre HSM
    本质是为用户提供无感的快速存储系统和慢速存储系统之间数据移动,这里的提到的快速
    慢速
    都是相对的。


HSM
系统架构







  • 为了方便理解,架构中提到的HSM World
    可以简单的认为是慢速存储系统


HSM
支持的数据Move
模式

类型说明
ARCHIVE拷贝作为Cache
的Lustre中的热数据到后端慢存储系统中
RELEASE从Lustre文件系统中删除数据,这里可以理解为Cache中的淘汰
RESTORE从后端慢速存储系统拷贝数据到作为Cache
的Lustre文件系统
REMOVE删除后端慢速存储系统中的数据
CANCEL取消正在处理或者已经在处理队列中的请求


HSM
启用

  • Coordinator
    设置


// MDS端设置coordinator的启用,设置enabled即可
$ lctl set_param mdt.$FSNAME-MDT0000.hsm_control=enabled

// corrdinator的启用状态查看
$ lctl get_param mdt.$FSNAME-MDT0000.hsm_control
  • Agent
    设置


// 这个设置需要再Lustre客户端,其中$HSMPATH指向的是HSM后端cold的存储系统,$LUSTREPATH 是作为Cache的Lustre文件系统
$ lhsmtool_posix --daemon --hsm-root $HSMPATH --archive=1 $LUSTREPATH

// 在MDS端查看已经注册的agents信息,其中uuid是挂载后运行copytool的标识,archive_id可访问的copytool的archive id列表,requests是copytool已经处理的请求
$ lctl get_param -n mdt.$FSNAME-MDT0000.hsm.agents


HSM
调优思路

  • 在实际的HSM
    方案中可能会遇到copytool
    无法响应为了避免阻塞文件的访问,可以设置请求处理完成的最大上限时间


// 默认的active_request_timeout是3600s
$ lctl set_param -n mdt.lustre-MDT0000.hsm.active_request_timeout={自定义的请求完成时间}
  • 针对多个MDT
    (这里是N个)可以设置每个MDT
    处理的最大活跃请求的上限


// mdt端设置
$ lctl set_param mdt.$FSNAME-MDT0000.hsm.max_requests=100


文章转载自存储内核技术交流,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论