利用LXC在SUSE企业级Linux中创建虚拟容器

日期:2012-9-19 作者:Sander van Vugt    翻译:王学强    来源:TechTarget中国    我要评论

导读:Linux容器(LXC)技术是更改root目录(chroot)和内核控制组(cgroups)技术的结合。本文讲解如何利用LXC在SUSE企业级Linux中创建虚拟容器。

关键词:Linux容器 SUSE企业级Linux 虚拟容器 

【TechTarget中国原创】如果你所有的虚拟机都使用相同的操作系统(OS),那么基于容器的虚拟化将会比传统的管理程序更加高效。SUSE 企业版Linux容器允许在主机内核的最顶层运行虚拟容器,这样可以节约资源并缩减IT部门开支。

   Linux容器(LXC)技术是更改root目录(chroot)和内核控制组(cgroups)技术的结合。Chroot技术保证你的LXC主机能够 拥有单独的环境来运行虚拟机或者容器。Cgroups技术确保所有的容器能够分配到足够的资源和获取这些资源的访问权限。

  如果你需要安装和配置LXC主机及虚拟容器,最好在SUSE Linux环境中进行资源管理。

  准备LXC SUSE主机

  在开始使用LXC SUSE主机之前,你需要首先执行如下命令来安装一些必要的工具:

  zypper install -y lxc bridge-utils yast-lxc

  为了让虚拟容器能够连接到网络,需要建立一个网桥,使你可以通过一块以太网卡赋予多个容器访问权限。启动安装和配置工具,YaST(另一个安装工具),选择网络设备,然后点击网络设定,你将能够看到当前所有网络接口的概览。

  之后,选择你将要使用的以太网卡,点击“Delete”来移除当前配置,点击“Add”来增加一个新设备,设备类型中选择“Bridge”,点击“Next”创建网桥接口。

  在配置之前,你需要指定连接到网桥的物理设备,比如eth0 接口。还必须设定获取IP的方式,同时支持DHCP协议和静态配置IP,但是在这之前,确保已经防火墙已经被关闭。

  最后,确保cgroup服务能够开机自启动。执行如下的命令,开启该服务并使其开机自启动。

  /etc/init.d/boot.cgroup start

    insserv boot.cgroup

  在SUSE Linux企业版中安装虚拟容器

  在配置完主机之后,就可以开始安装虚拟容器了。SUSE正在开发一种模块以使用图形化YaST配置工具来管理LXC。但是在这个模块完成之前,你必须手动配置LXC。

  创建一个配置文件,参考下面的配置进行编辑:

  
  lxc.utsname = vsuse0

  lxc.network.type = veth

  lxc.network.flags = up

  lxc.network.link = br0

  lxc.network.hwaddr = 00:30:6E:A1:B2:C3

  lxc.network.ipv4 = 192.168.1.166

  lxc.network.name = eth0

   将配置文件存储为lxc_vsuse0.conf。注意文件名中的“vsuse0”要和参数中的“lxc.utsname ”相对应。

  之后,使用如下命令创建容器。

  lxc-create -t openSUSE -f lxc_vsuse0.conf -n vsuse0

  在命令中,容器名称“vsuse0”必须和配置文件中的参数thelxc.utsname 相匹配。
 
  安装了虚拟容器之后,你可以使用如下的命令来更改其文件系统中的root文件夹位置。

  chroot /var/lib/lxc/vsuse0/rootfs/

  之后,在容器中使用“passwd root”命令来重设root账户密码,并创建一个没有root权限的新用户完成日常的操作任务。使用“exit”命令退出chroot环境,现在就可以准备启动虚拟机了。

   使用“lxc-start ”命令来启动LXC虚拟机。比如,“lxc-start  lxc_vsuse0”将会启动之前示例中创建的虚拟机。之后可以使用“lxc-console -n vsuse0”命令来建立一个虚拟机控制台会话,配置虚拟机完成预期的功能。如果要关闭容器,使用命令“lxc-stop -n vsuse0”,之后执行“lxc-destroy -n vsuse0”

posted @ 2014-02-13 15:35  alxe_yu  阅读(376)  评论(0)    收藏  举报