libvirt 中体验容器

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+]

相关推荐