Cgourp-lxc 在17173的应用
此处为大标题。。。。。。。。。。。
此处为说明文字。。。。。。。。。。。。。。

技术中心 系统部
2013.8.15
提纲
•

背景:应用池现状

•

需求:我们要的是什么

•

Cgroup/LXC介绍

•

选择:为什么是LXC

•

场景:LXC应用在17173符合的场景

•

LXC学习的情况

•

存在的问题和以后的发展
背景:应用池的现状
在物理服务器运行的主要是php/java应用
•

纯业务逻辑、本地无重要数据、无状态

•

一台物理服务器上至少部署了6个以上的应用

•

服务器性能、状态参差不齐

•

服务器的数量会越来越多

•

业务的重要等...
背景:应用池调度、运算主体结构
IAAS的雏形,具备部分调度功能
需求:我们要的是什么
从原始的意义上,我们要的很多,最现实的问题是:
•

一台服务器能够部署更多的应用

•

更好协调和控制应用之间的资源竞争

•

动态的调整由于业务峰值差异造成的应用资源需求

•

尽量不去增加运维、监控、开发的工作...
Cgroup/LXC介绍
LXC是什么?
•

Containers可以作为OS层面的虚拟化的一个替代方案,你可以在一个宿主机上运行多个隔离的系统。在单一的操作系统
下运行container更加高效,因此,container将会替代VM,成为未...
Cgroup/LXC介绍
Cgroup有么用?(抄taobao的,他们了解的更深入)
•

基于进程组的资源管理

基础框架 + 子控制器
使用Cgroup的分组机制,对一组进程就某种系统资源实现资源管理。
•

cpuset子控制器

为进程...
方案比较
动态迁移
XEN (半虚拟化)

支持

KVM (全虚拟化)

支持

LXC

不支持

XEN (半虚拟化)
KVM (全虚拟化)
LXC

速度
比本地环境慢
比本地环境慢
同本地环境

CPU增减
内存增减
通过Guest ...
LXC优缺点
•

优点

虚拟化开销小,一台物理机跑很多“小”虚拟机,资源隔离,竞争小
通过Cgroup增减CPU/内存非常方便,调整速度很快
和本地环境相同的速度

•

缺点

不能热迁移 -> 我们需要热迁移吗?
不能模拟不同体系结构、...
LXC使用场景
•

总结这么多,它真的符合应用池使用;

•

RHEL5.x,RHEL6.x的内核版本较低,对LXC支持不是最好

•

debian、ubuntu、opensuse对LXC支持已经很完善了,由于历史原因我们不方便迁
移

...
LXC学习的情况
•

学会安装、初步测试成功

•

一个人的力量有限,求帮助、求同伙
Cgroup lxc在17173 iaas应用池中应用
Upcoming SlideShare
Loading in...5
×

Cgroup lxc在17173 iaas应用池中应用

2,039

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,039
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cgroup lxc在17173 iaas应用池中应用

  1. 1. Cgourp-lxc 在17173的应用 此处为大标题。。。。。。。。。。。 此处为说明文字。。。。。。。。。。。。。。 技术中心 系统部 2013.8.15
  2. 2. 提纲 • 背景:应用池现状 • 需求:我们要的是什么 • Cgroup/LXC介绍 • 选择:为什么是LXC • 场景:LXC应用在17173符合的场景 • LXC学习的情况 • 存在的问题和以后的发展
  3. 3. 背景:应用池的现状 在物理服务器运行的主要是php/java应用 • 纯业务逻辑、本地无重要数据、无状态 • 一台物理服务器上至少部署了6个以上的应用 • 服务器性能、状态参差不齐 • 服务器的数量会越来越多 • 业务的重要等级严重差异 • 业务突发情况无法预估 • 磁盘/网络IO小,主要负载集中在CPU和内存上
  4. 4. 背景:应用池调度、运算主体结构 IAAS的雏形,具备部分调度功能
  5. 5. 需求:我们要的是什么 从原始的意义上,我们要的很多,最现实的问题是: • 一台服务器能够部署更多的应用 • 更好协调和控制应用之间的资源竞争 • 动态的调整由于业务峰值差异造成的应用资源需求 • 尽量不去增加运维、监控、开发的工作量和成本
  6. 6. Cgroup/LXC介绍 LXC是什么? • Containers可以作为OS层面的虚拟化的一个替代方案,你可以在一个宿主机上运行多个隔离的系统。在单一的操作系统 下运行container更加高效,因此,container将会替代VM,成为未来云计算基础架构中的主导技术。 • container namespace cgroup virtualisation,LXC是针对Linux Containers的用户空间控制包。这是一个轻量级的系统虚拟化 机制,有时被描述为“chroot on steroids”(类固醇上的chroot,意思是功能类似chroot,但比chroot提供了更多的隔离功 能) • LXC基于chroot实现了完整了系统虚拟化,并在Linux现有的进程管理架构上添加了资源管理和隔离的机制。 • Container是安全容器与资源容器的组合 安全容器:chroot, UID/PID/IPC/Network Namespace 资源容器:Control Cgroup (Cgroup)
  7. 7. Cgroup/LXC介绍 Cgroup有么用?(抄taobao的,他们了解的更深入) • 基于进程组的资源管理 基础框架 + 子控制器 使用Cgroup的分组机制,对一组进程就某种系统资源实现资源管理。 • cpuset子控制器 为进程组分配一组允许使用的CPU和内存结点 • memcg子控制器 限制进程组允许使用的物理内存 只限制匿名页和Page Cache,不包括内核自己使用的内存 内存紧张时使用与全局回收同样的算法在组内回收 • Blkio子控制器 限制进程组的磁盘IO带宽 实际控制的是磁盘为各进程组服务的时间片数量,和进程调度器cfs针对cpu的分时服务原理相同
  8. 8. 方案比较 动态迁移 XEN (半虚拟化) 支持 KVM (全虚拟化) 支持 LXC 不支持 XEN (半虚拟化) KVM (全虚拟化) LXC 速度 比本地环境慢 比本地环境慢 同本地环境 CPU增减 内存增减 通过Guest OS CPU 通过b allo o nd river 热插拔机制 支持 支持 通过Guest OS CPU 通过b allo o nd river 热插拔机制 支持 通过cp uset 和CFS 组调度扩展 支持 消耗 最高 高 对比楼上的几乎为零 支持 通过Cg ro up 支持 异构模拟 支持 支持 不支持 可运行不同OS 支持 支持 不支持 安全隔离性 强 强 差
  9. 9. LXC优缺点 • 优点 虚拟化开销小,一台物理机跑很多“小”虚拟机,资源隔离,竞争小 通过Cgroup增减CPU/内存非常方便,调整速度很快 和本地环境相同的速度 • 缺点 不能热迁移 -> 我们需要热迁移吗? 不能模拟不同体系结构、装不同os -> 不需要?为什么你不需要? 安全隔离差 -> 已经有了应用程序的隔离了,其他都系统部在操作,为什么要隔离? ForkBomb、优先级反转、Cgroup实现缺陷 -> rhel6.4已经好些了,测试环境不怕 - Memcg不能控制buffer和内核内存 Proc下的多数文件不认识Container -> top/sar/free/iostat 都用不了;没办法,要么改内核,要么等RHEL7
  10. 10. LXC使用场景 • 总结这么多,它真的符合应用池使用; • RHEL5.x,RHEL6.x的内核版本较低,对LXC支持不是最好 • debian、ubuntu、opensuse对LXC支持已经很完善了,由于历史原因我们不方便迁 移 • 第一步:我们在功能测试环境测试 • 第二步:我们在压力环境上测试 • 第三步:拿出生产环境30%的实例,进行LXC测试 • 总结、积累运维经验 • 第四步:等待RHEL7在生产环境上使用
  11. 11. LXC学习的情况 • 学会安装、初步测试成功 • 一个人的力量有限,求帮助、求同伙
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×