仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 474|回复: 9
打印 上一主题 下一主题

[其他Linux] Linux编程之设置ubuntu版的lxc容器仓酷云

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
lxc是一种体系层级的假造化计划,使用clone这个体系挪用的一些特征,摹拟一个假造化的场景(自力的收集、文件体系),并使用cgroup举行资本的限定办理。
和罕见的xen、kvm分歧,它不是一种半假造化手艺,他仅仅利用了当地cpu,只要一个传统意义上的操纵体系。相似的办理计划有Solaris的Zone,在Freebsd的Jail。
收集上关于ubuntu的lxc容器都有些小成绩,以是收拾一下但愿对人人有些匡助,lxc的相干命令就不注释了,对照复杂。
kernel

基础上kernel>=2.6.27的linux下都已在内核态撑持lxc。
利用lxc-checkconfig举行检测
  1. 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

除内核撑持外还必要一些用户态的工具。
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev
复制代码
别的bridge-utils搭建网桥的工具,debootstrap是用来搭建一个基础的debain容器体系的工具。
经由过程一下命令判别lxc是不是安装一般。
  1. hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld
复制代码
假如你刻不容缓想看看lxc的效果那末你能够尝尝以下的命令
  1. /usr/bin/lxc-execute-nfoo-f/usr/share/doc/lxc/examples/lxc-macvlan.conf/bin/bash
复制代码
cgroups

cgroup是资本办理的关头。
  1. mkdir/cgroupmountnone-tcgroup/cgroup
复制代码
bridges

网桥买通主机和容器的收集。
情况以下
192.169.1.*是你的主机的地点,我们不往管他。
192.168.2.1br网桥的地点,192.168.2.2lxc容器的地点。
设置网桥,这里假定eth0作为连通的物理网卡,这里的eth0和前面的config.ubuntu文件要逐一对应。
vim/etc/network/interfaces
  1. autobr0ifacebr0inetstaticaddress192.168.2.1netmask255.255.255.0broadcast192.168.2.255gateway192.168.2.1bridge_portseth0bridge_stpoffbridge_maxwait5post-up/usr/sbin/brctlsetfdbr00
复制代码
是链路层面的互换,一切把ip给往失落。
  1. ifconfigeth00.0.0.0
复制代码
重启收集激活网桥
  1. servicenetworkingstopservicenetworkingstart
复制代码
察看网桥的情况
  1. hoterran@hoterran-laptop:~$sudobrctlshowbridgename        bridgeidSTPenabled        interfacesbr08000.f0def12e0cdf        noeth0
复制代码
也能够经由过程brctl间接增加网桥,这个更复杂。
lxc容器的设置

创立容器的目次
  1. mkdir/lxccdlxc
复制代码
先创立一个mini版的ubuntu体系
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev0
复制代码
这里要守候一会,要下载大批的文件。
容器是简历在体系之上的,没法和驱动打交道没法熟悉就任何硬件,以是我们本人发生dev目次下的设备文件。
我们来编写一个剧本主动发生这些设备文件。
vim/usr/local/bin/lxc-config
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev1
复制代码
再进进体系的目次运转这个剧本
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev2
复制代码
设备发生终了,我们来设置容器,我们利用chroot跳到这个容器地点目次的外部,制止改了宿主机的文件
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev3
复制代码
下载有些必需的程序,特别sshd,我们稍后经由过程它来毗连到lxc容器。
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev4
复制代码
设置暗码
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev5
复制代码
修正一些基础的设置文件
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev6
复制代码
上面的dns必定要设置准确,不然ssh会变慢
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev7
复制代码
修正init文件,这里主张,启动lxc容器和启植物理机有很年夜分歧。我们只必要设置/etc/init/rc-sysinit.conf和/etc/init.d/rc.lxc文件。
/etc/init只保存以下3个文件。
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev8
复制代码
ssh.conf,rsyslog.conf是主动发生的,rc-sysinit.conf是容器的启动文件,必要我们来编纂。
vim/etc/init/rc-sysinit.conf
  1. sudoapt-getinstalllxcbridge-utilsdebootstraplibcap-dev9
复制代码
/etc/init.d/rc.lxc为启动服务的文件
vim/etc/init.d/rc.lxc
  1. hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld0
复制代码
加入chroot
  1. hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld1
复制代码
如许全部容器外部的操纵体系就设置终了了,回到宿主机,仍是在/lxc目次,我们来设置lxc容器的启动设置文件
vimconfig.ubuntu
  1. hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld2
复制代码
个中收集相干的文件要特别注重不要设置毛病。
设置容器启动后必要挂载的文件体系
vimfstab.ubuntu
  1. hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld3
复制代码
到这里为止宿主机情况,我们创立了一个容器目次,设置了两个文件。
  1. hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld4
复制代码
启动容器
  1. hoterran@hoterran-laptop:~$sudolxc-execute-ntest/bin/echo"helloworld"helloworld5
复制代码
登录到容器
  1. 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

尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。
若相依 该用户已被删除
沙发
发表于 2015-1-19 09:18:29 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 11:40:44 | 只看该作者
有疑问前,知识学习前,先用搜索。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-1 09:49:07 | 只看该作者
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
不帅 该用户已被删除
5#
发表于 2015-2-2 17:23:49 | 只看该作者
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-8 02:34:40 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
分手快乐 该用户已被删除
7#
发表于 2015-2-24 02:09:34 | 只看该作者
如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。
谁可相欹 该用户已被删除
8#
发表于 2015-3-7 10:29:30 | 只看该作者
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-14 22:56:09 | 只看该作者
选择一些适于初学者的Linux社区。
若天明 该用户已被删除
10#
发表于 2015-3-21 14:47:02 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 17:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表