kvmctl
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Linux KVM controller.
kvmctl
======

简单的KVM控制脚本。

准备工作
-------

* 安装KVM
* 设置桥接网卡


KVM install:

    yum -y install kvm qemu-kvm bridge-utils tunctl
    modprobe kvm || modprobe kvm-intel
    /sbin/lsmod | grep kvm


/etc/sysconfig/network-scripts/ifcfg-eth0
    
    DEVICE=eth0
    ONBOOT=yes
    BRIDGE=br0
    NM_CONTROLLED=no


/etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE=br0
    TYPE=Bridge
    IPADDR=192.168.1.11
    NETMASK=255.255.255.0
    ONBOOT=yes
    NM_CONTROLLED=no

/etc/sysctl.conf

    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0


安装KVM控制脚本
---------------

    cp kvmctl.sh /usr/local/bin/kvmctl
    cp qemu-ifup.sh /etc/qemu-ifup
    cp qemu-ifdown.sh /etc/qemu-ifdown

创建虚拟机硬盘
--------------

创建虚拟机硬盘文件

    qemu-img create -f qcow2 centos-6-x86_64.img 10G

其中:
    centos-6-x86_64.img 虚拟机硬盘文件名
    10G 虚拟机硬盘文件大小


配置虚拟机参数
------------

在虚拟机硬盘文件的目录下创建同名的配置文件centos-6-x86_64.cfg,内容为:

    USER=F
    ID=0
    MEMORY=1024
    ISO=centos-6-x86_64.iso

其中:
    USER 每个产品都有一个字符代号;
    ID 每个虚拟机都有一个数字ID号,这个ID在一台宿主机同时运行的KVM虚拟机实例中是唯一的,否则同时启动会有端口冲突;
    MEMORY 虚拟机内存大小,单位MB;
    ISO 安装光盘iso的路径;

kvmctl 将根据USER & ID生成网卡MAC地址、VNC端口、monitor端口。

安装虚拟机
--------

启动虚拟机实例,使用安装光盘iso启动。

    kvmctl install centos-6-x86_64

使用VNC客户端连接虚拟机ID对应的VNC端口。
光盘安装之后,使用命令停止虚拟机实例:

    kvmctl stop centos-6-x86_64

等待1分钟左右,进程即停止。


运行虚拟机
---------

虚拟机安装好之后,使用命令即可运行虚拟机:

    kvmctl start centos-6-x86_64

使用VNC客户端连接虚拟机ID对应的VNC端口。
或者直接连接虚拟机的IP地址。


停止虚拟机
---------

使用命令即可停止虚拟机:

    kvmctl stop centos-6-x86_64

估计等1分钟左右即可停止。


虚拟硬盘
-------

创建数据盘:

    qemu-img create -f qcow2 -o preallocation=metadata centos-6-x86_64_data1.img 50G

设置centos-6-x86_64.cfg,添加一行:

    DISKS[1]=centos-6-x86_64_data1.img

如果是多块盘,可以依次添加多行。


致谢
----

kvmctl 是基于前辈的作品,根据自己的需要改造而成。如需追根溯源,请访问:

    http://www.linux-kvm.org/page/HowToConfigScript

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。