Lustre在超算中心的部署、监控、故障恢复与优化 秦东明 qindm@sugon.com
Sugon与Lustre Lustre部署与高可用 Lustre监控 Lustre故障处理与恢复 Lustre针对小文件优化 SSC Lustre应用现状
Sugon与Lustre
Sugon与Lustre 2006年开始研究Lustre (v1.4.x)在IO密集型应用中的部署和优化 2008年开始在用户集群中部署Lustre(v1.6.x),并一直作为HOME目录使用 维持10+人的研究队伍,解决用户处碰到的各种问题,研发基于Lustre的方案产品
Lustre部署与高可用
Lustre部署与高可用(I) MDS双机共享MDT (ACTIVE-STANDBY) 2. OSS双机共享OST(ACTIVE-STANDBY) 3. MDT大小为OST总容量1~3‰ 4. MDT建议RAID6,OST建议RAID6
Lustre部署与高可用(II) 改进: MDS双机,MDT网络镜像 (ACTIVE-STANDBY) 2. OSS双机共享多个OST(ACTIVE-ACTIVE) 3. MDT大小为OST总容量1~3‰ 4. MDT建议RAID10,OST建议RAID6
Lustre部署与高可用(III) 同时支持多套网络:Ethernet和Infiniband, 也可以用路由,tunefs.lustre支持后期调整网络拓扑,务必记得writeconf HA的实现 开启OST/MDT MMP,配置HA的stonith,实现IPMI/BMC控制的重启被接管节点的功能 MDS和OSS一定要升级对应版本的e2fsprogs INODE是资源,MDT上bytes-per-inode按默认4K,OST上按1M
Lustre监控
Lustre监控 The Lustre Monitoring Tool (LMT) Sugon’s parastor100监控系统 The Lustre Alarm Toolkit (LAToolkit)
LMT监控架构
LMT监控界面
Sugon’s Parastor100监控界面
LAToolkit监控 曙光为超算定制研发 针对客户端在某些情况下死机后,一段时间不恢复会导致lustre server崩溃设计(load增大,死机,或拒绝连接) 实时监测所有故障客户端,并自动对其执行重启操作;同时分多级以短信、邮件和web报警的方式通知到各级管理员;
Lustre故障处理与恢复
Lustre常见故障 Quota导致的拒绝服务,限额与实际空间不一致问题 升级e2fsprogs导致MDT部分数据丢失 MMP被误置位导致无法挂载 文件系统只读(MDT只读;OST只读,如由Bug23959引起) OST紊乱、故障,OSS无法挂载,数据丢失 ptlrpc_expire导致的拒绝服务
Lustre优化
Lustre针对小文件优化(含做HOME目录) MDS配置尽量大的内存,可考虑用SSD 控制条带策略,不用条带(可采取默认策略) 客户端优化 增加dirty cache,默认32MB,可增加为256MB以上,max_dirty_mb 增加max_rpcs_in_flight数目,默认8,可增加到32 禁用LNET DEBUG OSS端优化 禁用或减小读缓存区大小obdfilter.*.readcache_max_filesize=$xM 小于$x的文件才缓存 减小preallocation table echo "4 8 16 32 64 128 256 512 1024" > /proc/fs/ldiskfs/xxxxx/prealloc_table
SSC Lustre应用现状
SSC Lustre应用现状 B、C两个区采用Lustre,目前版本采用1.8.5.sun B区17个OST,150TB空间,active-standy双机 C区24个OST,150TB空间,active-active双机 聚合IO带宽IOZone测试达7GB/s以上,部署LMT和LAToolkit监控系统,每天监控实时数据显示写入速度维持在1GB/s.