当前访客身份:游客 [ 登录  | 注册加入尚学堂]
启用新域名sxt.cn
新闻资讯

在libvirt 中体验容器

helloworld 发表于 2年前  | 评论(0 )| 阅读次数(654 )|   0 人收藏此文章,   我要收藏
libvirt是一个通用的虚拟化框架,支持xen,kvm,lxc多种虚拟化技术,本文作为一个笔记。


设置LXC为默认(默认为qemu)

export LIBVIRT_DEFAULT_URI=lxc:///


virsh -c lxc:/// 可省略


网络设置


NAT

NAT是libvirt默认自带,叫做default,通过下面的 命令查看
    
virsh net-list


假设宿主机有两个网卡,eth0为内网,eth1为外网,我们可以为容器桥接出两个接口:

#cat lan.xml
 
<network>
   <name>lan</name>
   <forward mode="bridge" />
      <interface dev="eth0" />
 </network>

#cat wan.xml


<network>
  <name>wan</name>
     <forward mode="bridge" />
       <interface dev="eth1" />
  </network>





    
导入配置
virsh net-define lan.xm
virsh net-define wan.xml

开启网卡
 
    
virsh net-start lan
virsh net-autostart lan
virsh net-start wan
virsh net-autostart wan






应用容器

应用容器共享宿主机的各种资源,包括内核,各种软件包,各种库,它仅有一个独立的运行空间,像是一个沙箱环境。


创建一个名为web的应用容器

cat web.xml

<domain type="lxc">
   <name>web</name>
      <memory>102400</memory>
      <os>
         <type>exec</type>
         <init>/bin/sh</init>
       </os>
     <device>
        <console type="pty" />
     </device>
 </domain>






导入virsh
 
    
virsh define web.xml

开机启动

    
virsh autostart web

进入容器

    
virsh console web

编辑容器配置

    
virsh edit web

删除容器

    
virsh undefine web


操作系统容器

操作系统容器除了Linux内核,自己包含一整套运行环境,像是一个chroot环境。


操作系统容器创建稍稍复杂一点


1、创建根目录

    
mkdir -p /lxc/centos7

2、下载并解压镜像  http://images.linuxcontainers.org/images/centos/7/amd64/default/20140807_02:37/rootfs.tar.xz

cd /lxc/centos7
wget   xxx
xz -d rootfs.tar.xz
tar xvf rootfs.tar

3、创建xml模板

cat centos7.xml

    
<domain type="lxc">
 <name>centos7</name>
 <memory unit="KiB">1048576</memory>
 <currentMemory unit="KiB">1048576</currentMemory>
 <resource>
   <partition>/machine</partition>
 </resource>
 <os>
 <clock offset='utc' />
 <on_poweroff>destory</on_poweroff>
 <on_reboot>restart</on_reboot>
 <on_crash>restart<on_crash>
</devices>
 <emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
 <filesystem type='mount' accessmode='passthrough'>
   <source dir='/lxc/centos7'/>
   <target dir='/'/>
  </filesystem>
  <interface type='network'>
   <mac address='00:16:3e:52:87:f1'/>
    <source network='lan'/>
   </interface>
   <console type='pty'>
     <target type='lxc' port='0'/>
    </console>
   </devices>
  </domain>





导入容器

    
virsh define centos7.xml

启动容器

virsh start centos7
virsh autostart centos7

进入容器
    
virsh console centos7

停止开机启动
    
virsh autostart --disable centos7


退出lxc console

ctrl+]
分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:webmaster#sxt.cn(#换为@))
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183