Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Open stack@netease

598 views

Published on

  • Be the first to comment

  • Be the first to like this

Open stack@netease

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

×