LXC命令简单使用说明
1.简介LXC是Linux Container的缩写,它提供了一种轻量级的虚拟化技术,对进程和资源进行隔离。LXC是操作系统层次的虚拟化技术,利用Clone系统调用的一些特性,模拟了一个虚拟化的场景——容器。容器具有独立的网络和文件系统,有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。跟XEN、KVM等技术不同的是,LXC不需要对指令进行翻
1.简介
LXC是Linux Container的缩写,它提供了一种轻量级的虚拟化技术,对进程和资源进行隔离。
LXC是操作系统层次的虚拟化技术,利用Clone系统调用的一些特性,模拟了一个虚拟化的场景——容器。容器具有独立的网络和文件系统,有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。跟XEN、KVM等技术不同的是,LXC不需要对指令进行翻译,所以LXC并不属于系统虚拟化技术。
2.LXC实现
LXC在资源管理方面依赖于Linux内核的cgroups子系统,cgroups子系统是Linux内核提供的一个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。LXC在隔离控制方面依赖于Linux内核的namespace特性,具体而言就是在clone时加入相应的flag(NEWNS NEWPID等等)。
3.LXC安装
安装环境:Ubuntu Desktop12.04 (2.6.27的Linux下都已经在内核态支持lxc)
sudo apt-get install lxc bridge-utils debootstrap libcap-dev
其中bridge-utils是用来搭建网桥,debootstrap 是用来搭建一个基本的debain容器系统的工具。
4.常用命令
LXC的常用命令并不负责,很容易理解,help文档也非常清晰,下面举几个例子简单介绍一下:
lxc-checkconfig
用于判断linux内核是否支持LXC
每个状态都是enable ,当前环境支持LXC
lxc-version
当前lxc版本
lxc-create -n name [-f config_file] [-t template]
创建一个容器,其中-n是容器的名字,这里名字用name,-f是容器的配置文档,保存路径:/usr/share/doc/lxc/examples/默认的配置文档是:/etc/lxc/lxc.conf,在不指定容器配置文档的时候使用;-t是容器的模板,模板的保存路径是:/usr/lib/lxc/templates/。模板都是一个脚本文件,执行了一系列操作,包括创建容器的时候挂载文件系统,配置网络,安装必要软件,创建用户/属组,设置密码等。
lxc-ls
显示所有的容器,跟ls命令的用法是一样的。例如:lxc-ls -l;类似的命令还有:lxc-list
lxc-destroy -n name
该命令用来彻底删除一个容器,与之相关的一切数据都不可用。
lxc-start -n name [-f config_file] [-s KEY=VAL] [command]
该命令用于启动一个容器,并且可以在容器启动的时候指定要执行的命令[command]。-f是指定配置文件,如果不指定则使用默认配置。-s单独指定某一项配置,优先级高于配置文件,当出现冲突的时候优先选-s。命令后面可以再加-d,作为守护进程。如果没有指定【command】,lxc-start会默认执行“/sbin/init”命令,启动这个容器。
Lxc-start 容器不能重名,所以已经启动的容器不能再次启动。容器start之前需要先lxc-create。
lxc-stop -n name
该命令用于关闭一个容器。与lxc-start类似,要stop的容器必须是已经lxc-create并且lxc-start的。
lxc-execute -n name [-f config_file] [-s KEY=VAL ] [--] command
该命令指定某个容器执行某个命令。它会按照配置文件执行lxc-create创建容器,如果没有指定配置文件,则选用默认。
该命令一般用在当你想快速使用容器环境执行某个任务是。任务执行完毕会删除掉容器。-f是配置文档,-s是指定某个配置项。--后面所有的参数作为命令的参数,它一般应用在要执行的command有自己的参数时。
lxc-freeze -n name
冻结该容器所有的进程。进程会被锁定,直到lxc-unfreeze进行解锁。
lxc-unfreeze -n name
用于解除被lxc-freeze冻结的容器进程。
小结:
至此,LXC容器基本就可以用了,能够满足我的实验需求。暂时缺少一些配图。关于配置文件和配置项,等有需求的时候再做补充。
参考资料:
http://manpages.ubuntu.com/manpages/precise/man7/lxc.7.html
http://www.itivy.com/kb/archive/2012/1/4/ubuntu-lxc-config.html
更多推荐
所有评论(0)