Upload
huawei-technologies
View
465
Download
4
Embed Size (px)
Citation preview
⽣生产环境中应⽤用Openstack的⼀一些问题与经验
汪 源⺴⽹网易.杭州研究院.副院⻓长
@⺴⽹网易汪源
云计算@⺴⽹网易• 为什么做云计算• 提⾼高资源利⽤用率,降低CAPEX
• 简化运维,降低OPEX
• 促进技术创新与成果转化• 数据统⼀一管理,便于实施BI
• ⾯面向业务:Web类产品、Web Game、开发、测试
• ⾮非⾯面向业务:MMORPG、搜索等
云平台及OpenStack
云主机及⺴⽹网络OpenStack
云硬盘IP SAN
对象存储DFS
负载均衡
计费 监控
认证
关系数据库MySQL RDS
分布式数据库DDB
并⾏行计算Hadoop
全⽂文检索NDIR
各类其它扩展服务:如NewSQL、Memcached、数据挖掘、⽂文本分析、图像处理、共享数据集等等
应⽤用情况
• ⼩小规模应⽤用,3个线上产品
OpenStack相关⼯工作• OpenStack
• 全⾯面测试,报告与修复⼀一些bug
• ⼀一点点使⽤用经验(不⽤用不知道的)• ⼀一些改进与优化• 其它• Hypervisor选型
• ECU的制定
• 对LXC的⽀支持
功能测试及bug情况模块 测试API数 发现bug数 提交bug数 已修复bug数
nova
glance
keystone
121 26 4 13
14 2 0 1
46 10 7 6
总计 181 38 11 20
很多没有上报官⽅方是因为他⼈人已上报我们上报的bug的patch都提交官⽅方
⼀一些bug
级别 描述 链接Critical 删除服务时没验证Token https://bugs.launchpad.net/keystone/+bug/1006822
Critical获取⽤用户权限Role信息时没有验证Token
https://bugs.launchpad.net/keystone/+bug/1006815
Medium 对关闭的主机做快照导致状态错误 https://bugs.launchpad.net/nova/+bug/1023682
Medium 获取tenants列表时limit处理不正确 https://bugs.launchpad.net/keystone/+bug/1006055
严重安全漏洞
⼀一点使⽤用经验• 默认--allow_same_net_traffic=true,会⾃自动在iptables加规则允许同⼀一⺴⽹网段的IP连接,此时没有在安全组中开放访问的主机之间其实是连通的
• 调⽤用Glance获取镜像API默认只返回24个镜像,可修改配置glance-registry.conf⽂文件参数
• 虚拟机Resize操作要求平台中所有宿主机之间可以通过公私钥匙ssh访问
• 物理节点资源使⽤用限制如16cores,可修改配置参数
• anti-colocation:如数据库的Master与Slave不能分配于同⼀一物理机,OpenStack已实现此功能
⼀一些改进与优化
• 对象与快照存储• 更精细的内⺴⽹网防⽕火墙• 镜像与快照管理性能优化
No Swift• Swift的问题
• DHT,扩容时必需数据迁移(rebalance)
• ⺴⽹网易对象存储NOS
• ⺴⽹网易DFS+⺴⽹网易DDB
• DFS
• 根据系统分配的64位⽂文件ID操作⽂文件,扩容⽆无需数据迁移
• ⽀支持⽂文件级去重
• 成功应⽤用于⺴⽹网易相册、⺴⽹网易邮箱,管理PB级数据近6年
• DDB
• 可在线扩容的分布式数据库
• 存储对象路径到⽂文件ID映射关系
内⺴⽹网防⽕火墙• 问题:默认的防⽕火墙规则使⽤用不⽅方便
• 如果 --allow_same_net_traffic=true,则不同tanent的主机如果在同⼀一⺴⽹网段也连通,安全性差
• 如果 --allow_same_net_traffic=false,则同⼀一tanent的主机相互之间都不通,安全性过于严格
• ⽅方案
• 默认让⼀一个tenant的所有云主机之间可互通,与其它tenant的云主机隔离
• ⼤大多数⽤用户⽤用这个默认⾏行为即可,很⽅方便
分离基本镜像与修改镜像
• 原始OpenStack
• 预制模板由基本镜像与修改镜像组成• 系统相同,规格不同时基本镜像共享• 制作快照时,先合并基本镜像与修改镜像,再上传• 从快照恢复时,拉取整个镜像• 优化后• 制作快照时,不合并,分别上传基本镜像与修改镜像• 从快照恢复时,分别拉取基本镜像与修改镜像• 基本镜像⼀一般有重复,因此制作快照或从快照恢复时⼀一般都不需要上传或拉取基本镜像
其它镜像管理优化• 基于⺴⽹网络拓扑结构的Glance API服务器部署
• 每台接⼊入层交换机部署⼀一个Glance API服务器
• 配置OpenStack现有参数实现
• 快照上传不经过Glance API服务器,直接存⼊入NOS
• 计划中,实现难度较⼤大
Hypervisor选型• Xen vs KVM
• 功能
• KVM更⽅方便做资源隔离(磁盘、IO)
• KVM内置⽀支持iSCSI启动
• KVM⽀支持内存去重
• KVM⽀支持带存储的热迁移
• 性能
• 磁盘IO:KVM性能略有优势
• ⺴⽹网络IO:千兆基本能达到线速,PingPong测试KVM略有优势
• 易⽤用性
• KVM就是Linux,管理⽅方便
• 我们选KVM
• 磁盘IO:virtio+rawdisk
• ⺴⽹网络IO:bridge+virtio
ECU的制定• 计算能⼒力不固定
• 不同CPU的每核(每线程)计算能⼒力不同
• 相同CPU在不同的系统总体负载下每核(每线程)计算能⼒力不同
• 相同总体负载相同CPU,独占核还是两线程共享核计算能⼒力不同
• 解决⽅方案
• 以相同系统总体负载下(Intel CPU共享核)的SPEC CPU得分计算ECU
• OpenStack⺫⽬目前不⽀支持ECU,正在改进
0
5.00
10.00
15.00
20.00
AMD
627
6(8C
opy)
AMD
627
6(16
Cop
y)
E5 2
650(
8Cop
y不同核
)
E5 2
650(
8Cop
y相同核
)
SPEC CPU得分
⽀支持LXC• LXC:Linux Container,可完成基本的CPU、内存隔离与IO性能控制
• LXC可⽤用于实现⽤用户不可⻅见的虚拟机,如RDS、Memcached、搜索
• 应⽤用LXC遇到的问题
• ⽆无法限制存储容量、获取存储容量和剩余容量• 借助LVM等管理机制
• 实现类Linux-HA⾼高可⽤用
• 借助Pacemaker等软件
• 还未全⾯面测试