- 背景
- 方案设计
- 材料准备
- 操作流程
- 数据分析
- 结论
- 附件
为了对比市面个各大云厂商存储模块在容器中的挂载能力的优缺点进行分析,得出最优的性价比供大家进行参考。
根据不同厂商的云存储进行分析:
- 以同一级别计算能力的云服务器为挂载主机;
- 判断待测存储是否支持容器级的挂载力;
- 根据各厂商IOPS对应的Qos计算公式,计算出所要创建的云存储大小{max, min};
- 了解块存储、文件存储和对象存储的主机和容器的挂载方式;
- 各大存储厂商的账号及待充值的金额;
- 开通待测试模块权限;
- 创建好待挂载的云服务器;
- 创卷好根据Qos计算的云存储大小;
- 准备测试命令及测试数据收集脚本;
- 挂载好待测试的存储(块存储、文件存储和对象存储);
- 执行测试脚本;
- 执行数据收集脚本,整理出各项指标(IOPS、时延,吞吐量);
- 分析数据,绘制表格;
- 根据不同厂商的同一region、IOPS、吞吐量、时延、云存储大小和消费金额绘制表格;
- 根据同一厂商的不同region、IOPS、吞吐量、时延、云存储大小和消费金额绘制表格;
- 根据不同厂商的同一计算能力的云服务器消费金额绘制表格;
- 结合分析数据得出最优性价比;
- 根据不同需求和成本投入选择合适厂商的云存储;
IOPS==1/T=1000ms/(寻道时间+延迟时间)
在理想情况下(寻道时间为3ms):
a. 当转速为7200转时:IOPS=1000/(3+60000/(2 * 7200)=140
b. 当转速为7200转时:IOPS=1000/(3+60000/( 2* 10000))=167;
c. 当转速为15K转时,IOPS=1000/(3+60000/(2 * 15000))=200;
任何一个RAID级对写有惩罚,但没有读惩罚:
读IOPS = 磁盘数 * 单个磁盘的IOPS;
由于RAID组存在写惩罚:RAID0=1,RAID1=2,RAID10=2,RAID5=4,RAID6=6, 则IOPS = 读IOPS + 写IOPS = p1 * 磁盘数量 * 单磁盘IOPS + p2 * 磁盘数量 * (单磁盘IOPS/写惩罚),其中,p1和p2读写比。
下面以4块7200转的盘做RAID为例,读写比为3:1,读写命中率为10%
RAID0:读IOPS=1404/(1-10%)=622; 写IOPS=1404/1/(1-10%)=622; 总IOPS=(3/4)*622+(1/4)*622;
RAID5: 读IOPS=1404/(1-10%)=622; 写IOPS=1404/2/(1-10%)=311; 总IOPS=(3/4)*622+(1/4)*311;
以24块SATA盘为例,转速为7200转,读写比为3:2,磁盘组做RAID5
存储级别:IOPS=24 * 60=1440
应用级别:IOPS=(3/5) * 100+40 * 4=220
详细操作请见doc目录下的文档,文档中对各厂商的三中存储挂卸卷、fio命令、指导文档地址都做了一个详细的说明。数据方面暂时未上传,后续会继续补充;