1 | https://www.cnblogs.com/wuchanming/p/4893789.html |
001-介绍
1 | 国内 Ceph 厂家一直存在重UI、重功能、而轻稳定性、轻性能的不良倾向,过分依赖Ceph开源社区,甚至无 |
1 | https://help.aliyun.com/document_detail/25382.html?spm=a2c4g.11186623.6.777.14ef227ccytzi6 |
SNBS的特点
1 | 我们的快照用的cow还是row |
002-网络架构
1 | 1.openstack的【业务网(万兆)+存储网(对接snbs的万兆) 合设】、管理网(千兆) |
1 | openstack+pcp+snbs: |
1 | 存储节点: |
1 | 建在块存储的虚机: |
1 | 通过修改iscsi源码,可以实现不停业务扩容。在存储后端扩容块设备,然后在iscsi端通过重新扫描磁盘,块设备的容量更新成扩容后的容量 |
003-理解
1 | *master主要负责分配节点(目的:控制修复和均衡),master之间没有数据通信,但是相互之间是通过etcd来同步的,master本身数据存在内存中 |
1 | 支持精简配置(thin),当用户对卷进行写操作时,系统才分配实际物理空间如果用户申请1T,并不是真正预留1T的空间给用户,而是用多少分配多少 |
003-升级顺序
1 |
|
002-虚机环境:
DEV环境(测试) | 登录方式 | DEV环境(测试) | 登录方式 |
---|---|---|---|
10.242.180.207 | root/suning@123 | 10.242.208.65 | root/suning@123 |
10.242.180.208 | root/suning@123 | 10.242.231.120 | root/suning@123 |
10.242.180.209 | root/suning@123 | 10.242.231.121 | root/suning@123 |
10.242.180.210 | root/suning@123 | 10.242.231.122 | root/suning@123 |
10.242.180.211 | root/suning@123 | 10.242.231.123 | root/suning@123 |
10.242.180.212 | root/suning@123 | 10.242.231.65 | root/suning@123 |
1 | 6台虚机配置: |
003-压测环境:
类型 | 压测环境(测试) | 登录方式 |
---|---|---|
10.238.161.1 | root/123$%^yhn | |
10.238.161.2 | root/123$%^yhn | |
10.238.161.3 | root/123$%^yhn | |
snbs | 10.238.161.4 | root/123$%^yhn |
10.238.161.5 | root/123$%^yhn | |
10.238.161.6 | root/123$%^yhn | |
10.238.160.1 | root/654321 | |
10.238.160.2 | root/654321 | |
计算节点 | 10.238.160.3 | root/654321 |
10.238.160.4 | root/654321 | |
10.244.25.1 | root/654321 | |
控制节点 | 10.244.25.2 | root/654321 |
10.244.25.3 | root/654321 |
类型 | pre环境(测试) | 登录方式 |
---|---|---|
snbsp | http://snbspprexg.cnsuning.com | |
Nginx | 10.242.227.143 | suning@123 |
10.242.227.142 | suning@123 | |
jboss | 10.242.227.141 | suning@123 |
10.242.227.140 | suning@123 | |
MySQL5.7 | 10.238.147.127(主) | suning@123 |
10.238.147.126(备) | suning@123 | |
10.238.147.125(vip) |
1 | 存储节点 |
1 | 计算节点 |
1 | 控制节点 |
1 | 金泉洁 2019-01-23 16:15:30 |
004-全闪环境
DEV环境(测试) | 登录方式 |
---|---|
10.244.208.3 | root/suning@123 |
10.244.208.4 | root/suning@123 |
10.244.208.5 | root/suning@123 |
10.242.180.211 | root/suning@123 |

004-对接环境
1 | snbs-openstack-pcp对接环境 |
005-sit环境ocata8 集群
类型 | SIT环境(半生产) | 登录方式 |
---|---|---|
snbsp | http://snbspsit1.cnsuning.com | |
10.243.171.216(vip) | ||
Nginx | 10.243.83.101 | suning@123 |
10.243.83.100 | suning@123 | |
jboss | 10.243.83.99 | suning@123 |
10.242.227.140 | suning@123 | |
MySQL5.7 | ip1:10.243.142.177 | suning@123 |
10.238.147.126(备) | suning@123 | |
10.238.147.125(vip) | ||
读写vip:10.243.142.175 |
SIT环境(半生产,谨慎操作) | 机架 | 模块 |
---|---|---|
10.243.80.13 | 机架1 | master/etcd/tgtmaster |
10.243.80.14 | 机架1 | |
10.243.80.15 | 机架1 | |
10.243.80.16 | 机架2 | master/etcd/tgtmaster |
10.243.80.17 | 机架2 | |
10.243.80.18 | 机架2 | |
10.243.80.19 | 机架3 | master/etcd/tgtmaster |
10.243.80.20 | 机架3 | |
10.243.80.21 | 机架3 |
虚机IP地址 | 物理机IP | 镜像 |
---|---|---|
10.237.2.32 | 10.243.72.23 | win_2008_32_update_securityplugin_20190524_001 |
10.237.2.33 | 10.243.72.80 | win_2008_32_update_securityplugin_20190524_001 |
10.237.2.34 | 10.243.72.110 | win_2012_64_update_securityplugin_20191218_stable |
10.237.2.35 | 10.243.72.22 | win_2012_64_update_securityplugin_20191218_stable |
10.237.2.37 | 10.243.72.62 | windows2016_x64 update_securityplugin_50G_20191209 |
10.237.2.38 | 10.243.72.27 | windows7_Professional_x64_20190524_updateSecurityPlugin_001 |
10.237.2.39 | 10.243.72.110 | windows7_Professional_x64_20190524_updateSecurityPlugin_001 |
1 | 建了两台windows: |
1 | 2012 administrator/cloud@123 |
006-java开发环境
java开发 | 登录方式 |
---|---|
10.27.38.75 | root/cloud@123 |
10.27.38.76 | root/cloud@123 |
10.27.38.77 | root/cloud@123 |
java开发 | 登录方式 |
---|---|
10.27.38.78 | root/cloud@123 |
10.27.38.79 | root/cloud@123 |
007-自动化环境
环境 | 登录方式 |
---|---|
10.242.12.8 | root/suning@123 |
10.242.12.9 | root/suning@123 |
10.242.12.10 | root/suning@123 |
Robotframework | 系统 | 登录方式 |
---|---|---|
10.242.11.232 | 对象存储 | administrator/mOQ:k03g |
10.242.11.233 | 块存储 | administrator/Y2hC0!xc(已修改为suning@123) |

006-
1 | 新港给块sit扩容的6台大盘+ssd的机器已到 |
1 | 对象、块、文件系统的作用,本质区别 |
openstack
1 | 1背景简介 |
功能\问题 | 相关背景 | 本地磁盘 | 集中存储 | 潜在问题 |
---|---|---|---|---|
虚机热迁移 | 1. 所处计算节点负载过高,部分虚机迁移至低负载计算节点2. 其他迁移需求 | 虚机热迁移涉及虚机内存、计算节点本地系统盘以及数据盘的三部分迁移操作 | 仅涉及到虚机内存迁移,虚机系统盘和数据盘均在集中存储 | 内存迁移部分需要进一步优化,可最大提升虚机热迁移效能 |
数据备份\快照 | 对虚机系统或数据进行备份或快照 | 备份\快照操作均在计算节点或跨计算节点,若计算节点存储资源不足,需要扩展磁盘 | 备份\快照操作均在集中存储,存储资源可弹性管理 | 暂无 |
虚机启动 | 虚机镜像启动、卷启动 | 由于处在本地,启动速率较高 | 由于处在集中存储,需要通过网络加载镜像卷 | 需要对卷启动进一步辅助优化 |
计算节点重启 | 在一些特定问题或需求下,计算节点进行重启操作 | 计算节点重启操作将会影响虚机运行 | 在重启前可将虚机快速迁移至其他计算节点 | 需要对重启的情况进行详细摸排 |
块存储相关 | 块存储创建、删除、挂载、卸载等生命周期管理 | 块存储挂载可能执行在虚机所处计算节点以外的节点 | 块存储生命周期管理操作均在集中存储 | 需要针对集中存储侧请求无响应或其他相关问题做出合理决策 |
存储故障 | 线上环境存储层故障 | 本地磁盘故障将造成计算节点或虚机无法运行,故障恢复较为缓慢 | 集中存储提供数据备份冗余或数据恢复机制(纠删码) | 暂无 |
资源占用 | 在不同结构中,存储资源所占用的计算、内存、IO等资源 | 块存储操作将占用所处计算节点的CPU、内存资源以及大量IO操作 | 集中存储将存储资源剥离计算节点,计算节点 | 暂无 |
运维效率 | 针对不同结构所花费的运维工作以及效率 | 存储服务分散在各计算节点,运维精力较为分散 | 存储资源集中管理、统一运维 | 暂无 |
1 | 以上表格列举出部分功能\问题对比分析点,还有其他实际问题,不再一一列举。 |
1 | Cinder组件中实现SNBS Plugin,作为Cinder与SNBS存储集群的桥梁,SNBS存储集群作为Cinder的Storage Provider。OpenStack Ocata版本中Glance可将Cinder作为Image存储后端,故在Ocata版本中,Glance与SNBS的集成实现直接交给Cinder即可,若为旧版本OpenStack,则需要在Glance中实现SNBS Plugin,作为Glance与SNBS存储集群的桥梁。Nova组件调用Glance完成镜像从远端到本地的加载,调用Cinder实现块存储的挂载\卸载等。虚机的卷启动等详细流程参见5.3小节。 |

1 | Cinder API接收请求后,将相关指令消息发送到对应的Queue(RabbitMQ),Cinder Scheduler监听对应的Queue进行实际调度,筛选出合适的Volume节点并发送指令消息到Queue,Cinder Volume监听Queue,接收指令,通过SNBS Plugin完成指令操作。对于Volume挂载到虚机,Nova volume根据Volume ID获取对应的Meta信息,将SNBS存储集群中具体的存储节点的块设备挂载到计算节点,再有libvirt实现Volume修改VM xml,并挂载到虚机。 |

1 | Glance API接收请求,由Glance Registry完成镜像的Meta信息操作,由Glance Store中的SNBS Plugin与SNBS存储集群通信,完成镜像文件的上传或删除。对于OpenStack Ocata版本,Glance Store可通过Cinder直接操作。 |

1 | 以Boot from image(Create a new Volume)举例,Nova服务从Glance服务拉取Image文件到计算节点本地,生成启动卷,通过Cinder Client上传到SNBS存储集群,并将存储集群远端启动卷块设备挂载到计算节点本地,后从该启动卷启动虚机。 |

1 | 以上图示结构不改变当前环境部署结构,部署SNBS存储集群后,调整Controller Node和Compute Node相关服务的存储配置。 |

以上图示结构需要改变当前部署结构,将Cinder Volume迁移至Controller Node。
测试
1 | 正常测试是测试内存的2倍 |
文件系统准确性:
1 | 文件系统准确性: |
拷机模型
蛙测
1 | HTTPPluginControl.getConnectionDefaults().timeout = 6000000//定义HTTP请求超时时间,单位毫秒 |
1 | 读事先准备好文件 |
fio
1 | for i in test100g test200g test300g test400g test500g test600g |
流程
基本流程:

修复:


扩容:

离线超时设置:

数据恢复:

缩容:

挂接 iSCSI volume 给虚机的大致流程

挂接 Ceph RBD 卷给虚机的大致交互流程

其它
1 | 虚拟机在 OpenStack 里的在线迁移https://blog.csdn.net/tomstrong_369/article/details/79747286 ,可以了解下 |



