linux 容器(LXC) 第1章 LXC 简介
2016-06-15 15:35
253 查看
1. LXC 基本概念
linuX Contains 是linux 容器,是操作系统级别的虚拟化技术,它可以提供轻量级的虚拟化、以便隔离进程和资源。容器的隔离
容器有效地将操作系统管理的资源划分到独立的组中,并把各个独立的组进行隔离,可以让各自的组占用独立的资源,完成自己独立的任务。因为容器最终执行的命令也是调用统一的os api 来实现,是基于整个os 来实现的,【所以不需要单独操作系统的编译系统、执行解释器】;一切工作都是基于os 的基础上来完成的。
通过提供一种创建和进入容器的方式,让程序像跑在独立机器那样在容器中运行,并且相互之间不影响,而且还可以共享底层的资源
容器的共享
容器提供环境隔离的前提下,还提供了资源共享的机制,所以容器比真正kvm 虚拟机的资源要节省许多;
LXC 的应用
在一台服务器上通过LXC 可以提供多个相互隔离 的server contains 同时运行;LXC 通过chroot 提供独立的进程或者网络环境,用namespace 来实现多个容器环境的隔离,用cgroups 实现对每个容器资源的分配和限制
2. LXC 的三个核心的技术
linux contains 的技术是linux 内核的代码,并非Docker 开发出来的,Docker或者其他的虚拟化容器都是基于LXC 的技术,在基础的lxc 上包了一层代码,让LXC 更简单、更友好,更加好推广;下面就看下LXC 的三个技术chroot: 创建一个虚拟的根目录文件系统 【实质还是调用底层的文件系统】,不过是简历一个虚拟的,可以跟其他容器的虚拟文件系统相互隔离;但共享底层的文件系统
namespace : 命名空间可以提供一个进程相互隔离的独立网络空间,不同的容器间 进程pid可以相同,进程并不冲突影响;但可以共享底层的计算和存储(cpu + mem)
cgroups: 实现了对容器的资源分配和限制,比如给容器1分配10core 30G 内存;那这个容器最多用这么大的资源;如果内存超过30G ,会启动swap,效率降低,也可能会被调度系统给kill掉
3. Linux 系统上通过LXC 构建容器
构建虚拟跟目录文件系统 【手动模拟chroot的动作】可以在/lxc/contain_name 把linux 操作系统跟目录 下的文件夹都cp 过去创建容器的配置文件
容器的创建、启动、停止
1)创建。lxc-create -n cpt -f /lxc/cpt.conf。lxc-create一定要用-f参数指定配置文件,否则创建的容器的配置文件是空的(/usr/local/var/lxc/cpt/config为空) 2)启动。前台启动:lxc-start -n cpt。后台启动:lxc-start -n -d cpt。 3)停止。lxc-stop –n cpt。
相关文章推荐
- 文章标题
- 【转】CentOS图形界面的开启与关闭
- CentOS下安装Node.js
- linux系统内存转换成硬盘使用
- Linux 服务器安装MySQL数据库
- linux系统相关的任务[fg、bg、jobs、&、ctrl + z]
- 动态库*.so制作-linux
- [CentOS]阿里云搭建php运行环境
- ubuntukylin软件包出错解决办法
- Jenkins进阶系列之——09配置Linux系统ssh免密码登陆
- linux批量清空文件命令
- linux安装pip2.7
- qq for linux tar.gz安装
- 深入理解Linux内核 chap 6 定时测量
- mysql学习笔记(Centos下rpm编译配置+远程访问)
- linux系统安装python2.7
- Linux档案权限与目录配置
- linux下如何实现简单刷屏【转】
- Linux简介基础总结
- linux lua (1) 安装