作者:Tony_Friday | 来源:互联网 | 2014-05-27 21:08
kvm虚拟机安装一.必要条件1.开启物理机cpu虚拟化支持,intelcpu需开启intel-vt,AMDcpu开启AMD-VD。2.安装kvm模块,执行yuminstallqemu-kvm,modprobekvm命令。3.创建网桥,执行#cd/etc/sysconfig/network-scripts/#cpifcf
kvm虚拟机安装
一.必要条件
1. 开启物理机cpu虚拟化支持,intel
cpu需开启intel-vt,AMD cpu开启AMD-VD。
2. 安装kvm模块,执行yum install
qemu-kvm,modprobe kvm命令。
3. 创建网桥,执行
#cd/etc/sysconfig/network-scripts/
#cpifcfg-eth0 ifcfg-bridge0
编辑eth0与bridge0文件,完成后servicenetwork
restart重启网络,这是eth0的网络会桥接到bridge0.
注: 目前我只知道磁盘为lvm的安装方式,需要创建vg,而对于物理分区的安装方式没有试过。
二.安装虚拟机
安装虚拟机有两种方式,一种是通过qemu命令来创建,另一种是通过libvirt来创建。
1. Qemu命令安装
首先创建lvm卷,例如:名为v097229.sqa.cm4的虚拟机,在vg
名为vg.vmms卷组下为其创建lvm-v097229.sqa.cm4的lv逻辑卷。
/usr/libexec/qemu-kvm -S
?M rhel6.1.0 (模拟机器类型,默认为sun4u,还可以pc)
-enable-kvm (使用kvm)
-m 2048
(内存容量)
-smp
4
(cpucore数量)
-name v097229.sqa.cm4
-nodefconfig
(正常情况下,qemu会从系统配置路径下的qemu.conf文件加载配置,而次选项不会加载此配置)
-mon chardev=charmonitor,id=monitor,mode=control
-rtc base=utc (开启rtc,使用utc时间,还可为localtime)
-drivefile=/dev/vg.vmms/lvm-v097229.sqa.cm4,if=none,id=drive-virtio-disk0,format=raw
(定义drive,设备文件的路径以及格式)
-devicevirtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0(添加刚刚定义的id为drive-virtio-disk0的设备)
注:其他的设备网络配置还没弄懂
2. 利用libvirt安装
1).
Libvirt方式安装虚拟机,需要先安装libvirt,安装libvirt-python。
2).
创建一个libvirt-pool
定义可如下所以:
dev.vg.vmms
299435556864
/dev/vg.vmms
可以将其保存在文件中,vg.vmms.xml,用virshpool-define
vg.vmms.xml来创建,也可用libvirt-python创建。
这样变创建了一个名为vg.vmms的pool,然后在此pool中创建volume,xml格式如下:
lvm-v097224.sqa.cm4
53687091200
0
/dev/vg.vmms/lvm-v097224.sqa.cm4
这样,磁盘就定义好了,然后开始创建虚拟,格式如下:
v134021.sqa.cm4
4194304
2
hvm /var/www/vmms/kernel_images/yum/rhel/versions/5/u6/os/x86_64/vmlinuz
/var/www/vmms/kernel_images/yum/rhel/versions/5/u6/os/x86_64/initrd.img
method=http://10.232.2.223/yum/rhel/versions/5/u6/os/x86_64/ks=http://10.232.2.223/broom/vm-genks-new.php?r=5-u6-64_00:16:3E:E8:86:15
>
destroy
destroy
destroy
##注意此处全部设为destroy,是为了在安装结束后全部结束,这样virsh list
就看不到该虚拟机了,这时便知道该虚拟机安装结束,可以重新定义并启动
/usr/libexec/qemu-kvm
等待安装结束后,虚拟机会自动关闭,然后用virsh undefine
v134021.sqa.cm4去掉该虚拟机的定义,使用如下xml重新定义,virshdefine
v134021.sqa.cm4.new.xml,然后,执行virsh start
v134021.sqa.cm4就可以启动该虚拟机了。
V134021.sqa.cm4.new.xml:
v134021.sqa.cm4
4194304
4
hvm
destroy
restart
destroy
/usr/libexec/qemu-kvm
##vnc
port=-1, 根据libvirt的定义,自动分配,从5900开始起分配
至此虚拟机便可以启动了。