转如何:配置支持LXC的CentOS6

1. LXC 的介绍

LXC (Linux Container)不是真正的虚拟化技术,它更像是一个 chroot 的环境。

http://lxc.sourceforge.net 可以获得关于 LXC 的更多信息 。

2. 安装 libvirt 堆栈

yum install libvirt libvirt-client python-virtinst

3. 配置 LXC 容器

假设你想配置一个完整的容器,就像进行一个最小化的 CentOS 6 安装一样。

请确保你机器上的 libvirtd 已经启动(service libvirtd start)。

我们将初始化一个 CentOS 6 x86_64 容器,假设,

  • 根目录为 /var/lib/libvirt/lxc/centos-6-x86_64/

  • root 密码为will be MYROOTPASS

  • 机器架构与主机相同,示例中为 x86_64

  • 容器名称是 test

3.1. 在本机系统

mkdir /var/lib/libvirt/lxc/centos-6-x86_64/etc/yum.repos.d/ -p
cat /etc/yum.repos.d/CentOS-Base.repo |sed s/'$releasever'/6/g > /var/lib/libvirt/lxc/centos-6-x86_64/etc/yum.repos.d/CentOS-Base.repo
yum groupinstall core --installroot=/var/lib/libvirt/lxc/centos-6-x86_64/ --nogpgcheck -y
yum install plymouth libselinux-python --installroot=/var/lib/libvirt/lxc/centos-6-x86_64/ --nogpgcheck -y

Selinux 注意:你需要创建一个规则以允许 virtd_lxc_t 使用 dbus:

module lxc 1.0; 
require {
        type hald_t;
        type virtd_lxc_t;
        class dbus send_msg;
}
#============= hald_t ==============
allow hald_t virtd_lxc_t:dbus send_msg;

http://wiki.centos.org/zh/HowTos/SELinux 页提供了优秀的指引文档,来指导我们完成以上步骤。

3.2. 在 chroot 文件系统中

以下均在 chroot 环境中操作:

chroot /var/lib/libvirt/lxc/centos-6-x86_64/ 
echo MYROOTPASS |passwd root --stdin
#Fix root login on console
echo "pts/0" >>/etc/securetty
sed -i s/"session    required     pam_selinux.so close"/"#session    required     pam_selinux.so close"/g /etc/pam.d/login
sed -i s/"session    required     pam_selinux.so open"/"#session    required     pam_selinux.so open"/g /etc/pam.d/login
sed -i s/"session    required     pam_loginuid.so"/"#session    required     pam_loginuid.so"/g /etc/pam.d/login
#Configuring basic networking
cat > /etc/sysconfig/network << EOF
NETWORKING=yes
HOSTNAME=lxc1.test.centos.org
EOF
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
EOF
#Enabling sshd
chkconfig sshd on
# Fixing root login for sshd
sed -i s/"session    required     pam_selinux.so close"/"#session    required     pam_selinux.so close"/g /etc/pam.d/sshd
sed -i s/"session    required     pam_loginuid.so"/"#session    required     pam_loginuid.so"/g /etc/pam.d/sshd
sed -i s/"session    required     pam_selinux.so open env_params"/"#session    required     pam_selinux.so open env_params"/g /etc/pam.d/sshd
# Leaving the chroot'ed filesystem
exit

3.3. 返回本机

# 现在从上面的文件系统创建 LXC 容器。

virt-install --connect lxc:/// --name test --ram 512 --vcpu 1 --filesystem /var/lib/libvirt/lxc/centos-6-x86_64/,/ --noautoconsole

你可以如此访问该 LXC 容器:

virsh console test

又或者

ssh -l root CONTAINER_IP

要取得 LXC 容器的 IP 地址,请在 dhcp 租约 /var/lib/libvirt/dnsmasq/default.leases 内查阅它的 MAC 地址(收录于 /etc/libvirt/lxc/test.xml

3.4. 有关在 KVM 虚拟机器内运行 LXC 与缺省网络

当你在 KVM 虚拟机器内运行 LXC(两者皆采用 libvirt),缺省的 192.168.122.0/24 网络将会在 LXC 容器引导时产生冲突,你须要更改客端虚拟机器的 libvirtd(执行容器的那个)的 IP 范围来矫正问题。

service libvirtd stop
sed -i 's/"192\.168\.122\./"192.168.120./' /etc/libvirt/qemu/networks/default.xml
service libvirtd start

Translation of revision 6

出处:http://wiki.centos.org/zh/HowTos/LXC-on-CentOS6

更多相关文章
  • Linux配置支持高并发TCP连接(socket最大连接数)1.修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄, ...
  • myeclipse/eclipse安装spket ide插件,并配置支持extjs4.2.开始:第一步:下载ext4.2: 下载spket,这个插件是一个jar的可执行文件,可安装下面步骤安装:第二步:找到自己的myeclipse的安装目录,在dropins目录下新建一个txt文件,如spket.t ...
  • "Eclipse CDT" (Eclipse C++) 安装 与 配置 (支持C++11), 如有商业需求请站内联系.本文地址: http://blog.csdn.net/caroline_wendy/article/details/13997159因为VS2012对于C++11 ...
  • 演示:思科IPS传感器的命令行初始配置支持图型化管理
    整个实验可以使用GNS3模拟完成!!!思科的入侵防御系统的每项功能都可以通过CLI(命令提示行)方式进行配置,这和路由器一样,但是通常我们都不那样做,因为思科为配置入侵检测系统提供了图型化界面,该界面叫IDM,所以,在一般情况下我们都会使用思科的IDM去配置入侵检测系统,本课程也基于图型界面来描述它 ...
  • 配置pxe自动化安装centos6.7
    dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.conf  打开dhcp的主配置文件,如下图: 没有任何配置,但提示了去哪找主配置文件,cp /usr ...
  • lighttpd配置支持https
     继前一篇CentOS下安装lighttpd+php后:http://liyaoyi.blog.51cto.com/442933/827200想在lighttpd中加入https的支持,在学习的过程中,对以下的问题纠结了好长时间 生成证书,配置lighttpd.conf后,使用浏览器测试时,进程出现 ...
  • 在Apache下开启SSI配置支持includeshtmlhtml和快速配置服务器
    作为前端开发,使用Apache快速搭建服务器极为方便. 1.找到apach安装目录,找到conf目录下 的httpd.conf 使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者 ...
  • 在上一篇文件中的OGG单向复制配置不支持DLL的同步,只支持DML,因而本文在之前的基础上增加对DDL语句的复制,下面是简要配置过程记录!一:验证之前的配置不支持DDL复制,这里在source端,新建一张表,发现无法复制到target端!target端也新建相同的表后,DML操作可以成功复制[roo ...
一周排行
  • Nessus插件更新方式nasl脚本
    介绍:Nessus Home版是Nessus的一个免费版本,注册之后即可使用,虽然功能上有 ...
  • Chromium中文文档Chrom{e,ium}{,OS}中的硬件视频加速
    Chrom{e,ium}{,OS}中的硬件视频加速 全书地址 Chromium中文文档 f ...
  • 经常被人问到,我的电脑跑的很慢,我已经按照网上的很多文章优化过了,怎么还是那么慢?甚至于,还有些同行也会问我这类问题.对于相熟的人,我苦笑一声,然后回答道:就算我把IDC机房里用的16核至强CPU.16G内存.SAS ...
  • linux最常用命令要想查看某个命令的使用手册页,只要输入man后跟该命令的名称即可.     [[email protected] root]# man  ls                       查看ls的使用手册   ...
  • awk常用内置变量:FS: field separator(输入字段分隔符),默认是空白字符OFS:output field separator,输出字段分隔符NF:Number of Field,当前记录的fiel ...
  • /etc/login.defs PASS_MAX_DAYS   99999     #密码的最大有效期, 99999:永久有期 PASS_MIN_DAYS   0          #是否可修改密码,0可修改,非0多 ...
  • IT-标准化中国有限公司-网络拓朴图
    看了这么多的文章!不知道我的网络拓朴图如何!是我不会画吗?不是!是我不会规划吗?不是!我想 ...
  • Solr guide PDF 格式:下载地址:http://archive.apache.org/dist/lucene/solr/ref-guide/Solr Tutorial 地址:http://lucene.a ...
  • 转载自驱动之家对于广大普通用户而言,Windows 7目前确实是个好东西.不过在那些大中型企业IT管理员的肚子里却有不少牢骚,这些牢骚大多都是伴随着Windows 7的升级过程而产生发,为什么他们会产生这些抱怨呢?看 ...
  • 搭建web服务器jdk+nginx+resin整合
     一.nginx和resin简单介绍    Nginx(发音同 engine x)是一款轻 ...