近来看了一些IBM的存储产品的资料,有一些收获。
依据存储软件和搭配硬件,IBM存储产品的组合,大致分类如下:
- 自研存储软件,搭配自研专有硬件
- 自研存储软件,搭配通用服务器硬件,比如IBM Storage Scale
- 自研存储软件,开放云服务,比如IBM Cloud storage
- 开源软件,搭配通用服务器,比如IBM Storage Ceph
本文主要梳理基于开源软件搭配通用服务器硬件来构建存储系统的思路和工作任务清单,涉及角色如下:
- 规划团队
- 研发团队
- 资料团队
- 运维团队
下文讨论各团队的职责和交付件。
规划团队
依据业务场景,站在业务视角观察存储系统,依据业务的数据规模、增长模型等,评估并输出业务访问模型、存储的功能诉求、存储的性能模型等。
工作输入,如下:
- 业务场景,比如:
- 数据当前规模
- 增长模型
- 运算量
- 运算的位置
- 数据特征,比如:
- 文件来源
- 文件数量
- 文件大小
- 文件的时效性比如访问热度、数据存储时长
- 业务团队,关注人的特征,比如:
- 团队阵型
- 运营团队
- 运维团队
- 开发团队
- 测试团队
- 人力模型,比如学历、年龄、经验
- 技能模型
- 工作习惯
- 工作交付件
- 工作模式
- 团队阵型
- 业务预算
- 来源
- 规模
- 评估方案
工作输出,如下:
- 典型组网
- 交换机
- 网络
- 产品组合方案
- 软件
- 开源软件
- 操作系统发行版
- 操作系统内核
- 硬件
- 服务器
- 盘
- CPU
- 内存
- 网卡
- 网线
- 软件
- 功能规格
- 性能规格
- 验收方案
目前常见的开源存储软件,比如:
规划团队需要依据客户的诉求、业务场景、自身团队的特点等,综合考虑,配置不同的解决方案。
研发团队
研发团队承接开发和验证两个职能,相关的工作任务包括兼容性看护、交付能力构建、社区协同等。
兼容性看护
依据规划团队交付的典型组网和组合方案:
- 本存储方案中软件和硬件的兼容性,输出各硬件、软件的配置参数模板和指导书。
- 本存储方案中涉及到的系统软件的兼容性,系统软件包括操作系统、操作系统的内核、编译器等。
- 本存储方案和上层业务之间的兼容性,输出验证结果和规避方案。
- 本存储方案和周边存储系统的兼容性
- 数据传输时使用的协议,比如NFS、CIFS、S3等兼容性。
- 传输方案,包括可用性,可靠性等。
交付能力构建
依据规划团队交付的典型组网和组合方案:
- 验证典型组网的可行性。
- 基于典型组网,构建性能基线。
- 性能指标,比如带宽、IOPS、时延、吞吐量、客户端的数量等。
- 功能指标,比如用户存储可得容量、节点数量、盘数量等。
- 其它指标,比如功耗、故障率、停机时间等。
- 构建持续交付能力
- 搭建流水线,从源码实施编译、构建、部署、升级、验证等。
- 积累自动化用例,支撑方案快速迭代,提升交付效率。
- 质量加固,比如:
- 修复安全漏洞。
- 更新依赖的开源软件,支撑选型和更新版本。
- 修复、验证存储软件的问题。
与社区的协同
与客户的协同,获取客户的诉求,并及时做出反馈,提升客户的参与度和满意度。
与上层业务应用的协同,参与上层业务应用的技术交流,了解业界的变化、方案和痛点,及时做出变更和调整。
与开源软件社区的协同,积极反馈发现的问题,寻求社区的协助,同时量力而行,参与社区的各项工作。
资料团队
和研发团队紧密合作,依照交付规范,输出如下研资料,如下:
- 技术规格清单
- 业务评估模型
- 典型应用场景
- 典型组网规划和业务配置
- 技术培训材料
- 业务培训材料
- 常见问题和案例
依照宣传规范,输出如下资料,如下:
- 技术宣传材料
- 规划指导书
- 安装、升级、扩容、巡检指导书
- 业务特性指南
- 运维指南
- 存储业务
- 存储软件
- 系统软件
- 硬件,包括服务器、盘、交换机等
运维团队
运维团队主要的工作任务在于支撑下游客户更好的使用存储系统提供的服务,同时在工作中积累运维经验,固化为相应的流程和工具。
运维团队的工作对象,包含如下:
- 存储业务
- 存储软件
- 系统软件
- 硬件,包括服务器、盘、交换机等
运维团队建设能力时,可行的思路如下:
- 参照开源软件的官方文档的推荐方案。
- 基于客户的实践经验。
- 参照友商的实践经验、成功故事。
- 梳理团队自身的经验和教训。
运维团队建设的能力,比如:
- 监控能力,可基于开源软件比如zabbix、prometheus、[grafana(https://grafana.com/)等建设。
- 日志分析能力,可基于开源软件elk建设。
- 日常运维和巡检,可基于ansible等建设。