云平台环境linux内核实践与思考


云平台Linux内核实践与思考 邱模炯 @ UCloud 2014-10-16 云主机常见问题 • 内核宕机 • 硬件宕机 • 甚至不明宕机 • 性能差(特别是IO) 每一台宿主机都是单点 宿主机内核 cpu mem disk nic QEMU & KVM 云主机内核 业务程序 云主机内核 业务程序 • 内核故障 – 自主维护内核 – 免重启修复 • 硬件故障 – 隔离内存硬件缺陷 – 按情况提高容忍度 – 在线迁移予以规避 • 性能 – 磁盘IO加速 – 大页、cache、网络路径优化等 UCloud如何对待单点 —— Linux内核改进 UCloud内核优化例1 —— 免重启修复 运行中内核 (带缺陷) 运行中内核 (无缺陷) 热补丁模块 源码补丁 UCloud所有内核BUG均免重启修复 ksplice模 块生成 免重启修复:热补丁生成过程 • 成熟应用 – 所有内核BUG均免重启修复 – 累计数万台次 – 无性能损耗,业务中断时间十毫秒 • UCloud对开源Ksplice的修改 – 支持各种版本内核 – 中断时间百毫秒 -> 十毫秒 – 允许免重启修复关键路径(hrtimer, scheduler) 免重启修复:运营结果 UCloud内核优化例2 —— 内存硬件故障隔离 多少根内存条? 多数MCE错误可隔离 内存错误 可纠正 不可纠正 不可恢复 不可纠正 可恢复 内核 普通进程 隔离错误区域 并通知虚拟机 内核 kvm进程 普通进程 记录并报警 Kernel Panic 忽略错误 隔离错误区域 或杀死进程 隔离错误区域 或杀死进程 忽略错误 硬盘种类 随机IOPS (4k size) SATA/SAS 100~175 (< 1MB) SSD 2万 ~ 40万 (80MB~1.6G B) UCloud内核优化例3 —— 磁盘IO加速 SATA + SSD ? 能否鱼和熊掌兼得? . SATA的价格和数据可靠性 . SSD的性能 Key Observation . 业务关心随机写性能 . SATA顺序写可达140MB(3.5万 * 4K) UCloud内核优化例3 —— 磁盘IO加速 原理 . 加速模块接管所有IO . 写IO被顺序化至Cache盘组 . Cache盘组同步至真实盘组 效果 . 随机写IOPS = 3.5万 . 高可靠、低成本 Block I/O层 IO加速模块 Cache盘组 (RAID 10) 真实盘组 (RAID10) 同时我们希望... 期待1/4 —— OS设计能否简单 • 宿主机内核 • KVM • QEMU • Libvirt 宿主机内核 cpu mem disk nic QEMU & KVM 云主机内核 业务程序 云主机内核 业务程序 期待2/4 —— 硬件稳定性可否推理 实践感受: • 内存:没有MCE<==>内存正确 • 硬盘:结合日志、读写速度也可推理 • 主板、CPU、网卡、RAID卡呢? 如果,该多好 • 可推理、有预兆、有诊断日志 • 错误的报告不晚于错误的发生 期待3/4 —— cache影响的量化 • guest看到的cpu和cache并不是 物理上的 • guest的CPU会漂移 例: 某业务运行于windows虚拟机性能 不堪忍受 - CPU核越多性能越差 - CPU利用率跳跃 宿主机内核 cpu mem disk nic QEMU & KVM 云主机内核 业务程序 云主机内核 业务程序 期待4/4 —— 故障预测 • 机房层面宏观数据 – 部件故障与机型、厂家、时间的关系 • 内核层面微观数据 – 内存、硬盘等运行特征 更多 • GPU • 网卡硬件加速 • SDN • SSD • 迁移 • fault tolerance • 还有。。。 内核改进 • 内核故障 – 自主维护内核 – 免重启修复 • 硬件故障 – 隔离硬件缺陷 – 按情况提高容忍度 – 在线迁移予以规避 • 性能调优 – 磁盘IO加速 – cache、大页、网络路径 优化等 • 重要特性 –(略) 内核改进的价值 对于用户 • 可用性 – 无需关心软硬件缺陷 – 关键BUG免重启修复 • 性能 –“价廉物美” • 特性 • 宿主机内核和QEMU、KVM引入 额外故障 • 提升可用性 – 软件故障:热补丁修复 – 硬件故障:内存缺陷隔离 – 不可避免故障:迁移规避 • 最终虚拟机可用性可以高于物理机! 云主机可用性低于物理机? 宿主机内核 cpu mem disk nic QEMU & KVM 云主机内核 业务程序 云主机内核 业务程序 • CPU和内存 • 磁盘IO • 网络IO • GPU 云主机性能低于物理机? • 修复20+个上游原生BUG • 打入100+个特性补丁 • 累计避免数万次宿主机重启 • IO性能10+倍于同类产品 • 在线迁移无一例失败 UCloud内核数据分享 Thanks
还剩20页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

n7xx

贡献于2014-10-30

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf