|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
lxc是一种体系层级的假造化计划,使用clone这个体系挪用的一些特征,摹拟一个假造化的场景(自力的收集、文件体系),并使用cgroup举行资本的限定办理。
和罕见的xen、kvm分歧,它不是一种半假造化手艺,他仅仅利用了当地cpu,只要一个传统意义上的操纵体系。相似的办理计划有Solaris的Zone,在Freebsd的Jail。
收集上关于ubuntu的lxc容器都有些小成绩,以是收拾一下但愿对人人有些匡助,lxc的相干命令就不注释了,对照复杂。
kernel
基础上kernel>=2.6.27的linux下都已在内核态撑持lxc。
利用lxc-checkconfig举行检测- hoterran@hoterran-laptop:~$sudolxc-checkconfigKernelconfig/proc/config.gznotfound,lookinginotherplaces...Foundkernelconfigfile/boot/config-2.6.35-28-generic---Namespaces---Namespaces:enabledUtsnamenamespace:enabledIpcnamespace:enabledPidnamespace:enabledUsernamespace:enabledNetworknamespace:enabledMultiple/dev/ptsinstances:enabled---Controlgroups---Cgroup:enabledCgroupnamespace:enabledCgroupdevice:enabledCgroupsched:enabledCgroupcpuaccount:enabledCgroupmemorycontroller:enabledCgroupcpuset:enabled---Misc---Vethpairdevice:enabledMacvlan:enabledVlan:enabled
复制代码 确认每一个选项都是enabled形态便可。
lxctools
除内核撑持外还必要一些用户态的工具。- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev
复制代码 别的bridge-utils搭建网桥的工具,debootstrap是用来搭建一个基础的debain容器体系的工具。
经由过程一下命令判别lxc是不是安装一般。- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld
复制代码 假如你刻不容缓想看看lxc的效果那末你能够尝尝以下的命令- /usr/bin/lxc-execute-nfoo-f/usr/share/doc/lxc/examples/lxc-macvlan.conf/bin/bash
复制代码 cgroups
cgroup是资本办理的关头。- mkdir/cgroupmountnone-tcgroup/cgroup
复制代码 bridges
网桥买通主机和容器的收集。
情况以下
192.169.1.*是你的主机的地点,我们不往管他。
192.168.2.1br网桥的地点,192.168.2.2lxc容器的地点。
设置网桥,这里假定eth0作为连通的物理网卡,这里的eth0和前面的config.ubuntu文件要逐一对应。
vim/etc/network/interfaces- autobr0ifacebr0inetstaticaddress192.168.2.1netmask255.255.255.0broadcast192.168.2.255gateway192.168.2.1bridge_portseth0bridge_stpoffbridge_maxwait5post-up/usr/sbin/brctlsetfdbr00
复制代码 是链路层面的互换,一切把ip给往失落。重启收集激活网桥- servicenetworkingstopservicenetworkingstart
复制代码 察看网桥的情况- hoterran@hoterran-laptop:~$sudobrctlshowbridgename bridgeidSTPenabled interfacesbr08000.f0def12e0cdf noeth0
复制代码 也能够经由过程brctl间接增加网桥,这个更复杂。
lxc容器的设置
创立容器的目次先创立一个mini版的ubuntu体系- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev0
复制代码 这里要守候一会,要下载大批的文件。
容器是简历在体系之上的,没法和驱动打交道没法熟悉就任何硬件,以是我们本人发生dev目次下的设备文件。
我们来编写一个剧本主动发生这些设备文件。
vim/usr/local/bin/lxc-config- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev1
复制代码 再进进体系的目次运转这个剧本- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev2
复制代码 设备发生终了,我们来设置容器,我们利用chroot跳到这个容器地点目次的外部,制止改了宿主机的文件- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev3
复制代码 下载有些必需的程序,特别sshd,我们稍后经由过程它来毗连到lxc容器。- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev4
复制代码 设置暗码- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev5
复制代码 修正一些基础的设置文件- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev6
复制代码 上面的dns必定要设置准确,不然ssh会变慢- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev7
复制代码 修正init文件,这里主张,启动lxc容器和启植物理机有很年夜分歧。我们只必要设置/etc/init/rc-sysinit.conf和/etc/init.d/rc.lxc文件。
/etc/init只保存以下3个文件。- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev8
复制代码 ssh.conf,rsyslog.conf是主动发生的,rc-sysinit.conf是容器的启动文件,必要我们来编纂。
vim/etc/init/rc-sysinit.conf- sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev9
复制代码 /etc/init.d/rc.lxc为启动服务的文件
vim/etc/init.d/rc.lxc- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld0
复制代码 加入chroot- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld1
复制代码 如许全部容器外部的操纵体系就设置终了了,回到宿主机,仍是在/lxc目次,我们来设置lxc容器的启动设置文件
vimconfig.ubuntu- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld2
复制代码 个中收集相干的文件要特别注重不要设置毛病。
设置容器启动后必要挂载的文件体系
vimfstab.ubuntu- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld3
复制代码 到这里为止宿主机情况,我们创立了一个容器目次,设置了两个文件。- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld4
复制代码 启动容器
- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld5
复制代码 登录到容器
- hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld6
复制代码 延长浏览
http://delicious.com/musicode/lxc
http://fex.rus.uni-stuttgart.de/lxc-ubuntu
http://lxc.teegra.net/
http://blog.bodhizazen.net/linux/lxc-configure-ubuntu-lucid-containers/
http://en.wikipedia.org/wiki/Operating_system-level_virtualization
尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 |
|