Linux容器虚拟技术LXC简明手册

LXC容器虚拟化 经过一些折腾,初步在自己的工作笔记本上部署了LXC虚拟。这是一个非常轻量级的虚拟解决方案,特别适合硬件有限的测试环境,也是我们系统管理员技术锻练的良好环境。

一些介绍信息,请参考 Linux容器虚拟化技术介绍

安装 以下安装实践是在Gentoo x86_64平台上实现的,如果采用Red Hat系统或Debian,应该只是在软件安装上有区别,但使用配置方法应该相同。

安装lxc用户工具 同步portage树 1 emerge –sync

由于当前LXC 软件包被masked (尚不成熟),所以需要手工去除屏蔽。 12 echo app-emulation/lxc >> /etc/portage/package.unmask echo app-emulation/lxc >> /etc/portage/package.keywords

安装 1 emerge -av lxc

当编译安装完成时,可能会看到列出的内核参数有哪些没有被激活。完整的内核要求如下

# namespacesCONFIG_NAMESPACES / “Namespaces”CONFIG_UTS_NS / “Utsname namespace”CONFIG_IPC_NS / “Ipc namespace”CONFIG_PID_NS / “Pid namespace”CONFIG_USER_NS / “User namespace”CONFIG_NET_NS / “Network namespace”DEVPTS_MULTIPLE_INSTANCES / “Multiple /dev/pts instances”

# control groupsCONFIG_CGROUPS / “Cgroup”CONFIG_CGROUP_NS / “Cgroup namespace”CONFIG_CGROUP_DEVICE / “Cgroup device”CONFIG_CGROUP_SCHED / “Cgroup sched”CONFIG_CGROUP_CPUACCT / “Cgroup cpu account”CONFIG_CGROUP_MEM_RES_CTLR / “Cgroup memory controller”CONFIG_CPUSETS / “Cgroup cpuset”

# miscCONFIG_VETH / “Veth pair device”CONFIG_MACVLAN / “Macvlan”CONFIG_VLAN_8021Q / “Vlan”将以上配置添加到内核编译配置文件中重新编译内核。Red Hat 和 Debian尚没有实践,,不过发行版本通常会通过模块方式或预编译支持这些参数,可能不需要调整。

安装Guest操作系统 在网络配置上,是将虚拟机的虚拟交换机br0 和虚拟网卡dummy0 绑定,这样可以不占用公司网络资源作为虚拟内网运行。如果要将虚拟机对外提供服务,则绑定实际物理网卡如eth0 。

设置网络 配置 /etc/conf.d/net

bridge_br0=”dummy0″ config_dummy0=”null” config_br0=”10.1.11.1/32 brd 10.1.11.255″ routes_br0=”10.1.11.0/24 via 10.1.11.1″

然后设置软连接

cd /etc/init.d ln -s net.lo net.br0

启动

1 /etc/init.d/net.br0 start

要允许容器中主机访问外部 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sysctl -w net.ipv4.ip_forward=1

cgroup挂载设置 设置cgroup 挂载(参考 )

12 mkdir -p /cgroup mount none -t cgroup /cgroup

为每次启动系统时自动挂载,在/etc/fstab 中添加

1 none /cgroup cgroup defaults 0 0

案例安装 https://www.granite-mtn.net/xwiki/bin/view/Howto/Linux+Containers 提供了各种guest安装的案例,比较简单易用。https://www.ibm.com/developerworks/linux/library/l-lxc-containers/ 是IBM发起的LXC项目,详细介绍了如何build一个debian系统

安装debian虚拟机 安装debootstrap 工具 1 emerge dev-util/debootstrap

创建一个debian容器 sid 是debian的unstable版本代号,不过debian的unstable相比较很多其他发行版本,已经是很稳定的版本了。只不过debian质量 控制要求很高,stable版本往往选择“久经考验”的软件版本所以不能尝试最新的开源技术,采用debian的unstable版本可以使用最前沿的开 源技术,对于我们日常应用已经足够稳定。对于服务器部署,可以采用stable版本。

1 mkdir -p /lxc/debian

1 debootstrap sid /lxc/debian

如果要创建大量的container,则可以生成一个tar包以便今后安装

1 debootstrap –make-tarball=sid.packages.tgz sid

配置文件/etc/lxc/lxc-debian.conf # Container with network virtualized using a pre-configured bridge named br0 and # veth pair virtual network devices lxc.utsname = debian lxc.network.type = veth lxc.network.flags = up lxc.network.link = br0 lxc.network.hwaddr = 4a:49:43:49:79:bf lxc.network.ipv4 = 10.1.11.2/24 lxc.network.name = eth0 lxc.mount = /lxc/debian/fstab lxc.rootfs = /lxc/debian

而你自己根本不想从中跑出来。学习啦分享旅行唯美心情说说语录,仅供参考!

Linux容器虚拟技术LXC简明手册

相关文章:

你感兴趣的文章:

标签云: