一、安装所需软件包
复制代码代码如下:
#apt-get install kvm
#apt-get install qemu
#apt-get install libvirt-bin libvirt管理
复制代码代码如下:#apt-get install bridge-utils网络桥接
如果需要支持kvm虚机从网卡启动,还需安装kvm-pxe包
复制代码代码如下:#apt-get install kvm-pxe
二、建立一个虚机
可以参考libvirt官网
其中可以定义虚机的域名、UUID、启动选项
内存大孝cpu个数、硬盘与光驱镜像路径、网卡相关等
虚机磁盘格式为qcow2
下面为实例:建一个centos系统
###ubuntu下建议vim用vim-gnome###
删除自带的vim
复制代码代码如下: #apt-get remove vim-tiny
安装vim-gnome
复制代码代码如下: #apt-get install vim-gnome
1、创建一个目录用于存放虚机相关文件
复制代码代码如下:#mkdir /datastore
2、先要创建网络桥接设备<保证eth0没有IP,传递给vSwich0;vSwitch0名称可自定义>
#ifconfig eth0 先得到eth0的IP,假设为192.168.1.22
复制代码代码如下:
#/sbin/ifconfig eth0 0.0.0.0 promisc up
#/usr/sbin/brctl addbr vSwitch0
#/usr/sbin/brctl addif vSwitch0 eth0
#/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up
#/sbin/route add default gw 192.168.1.1 dev vSwitch0
以上命令重启失效,可以写一个脚本,然后在/etc/rc.local中添加执行路径
复制代码代码如下:
#!/bin/sh
if /sbin/ifconfig vSwitch0 down > /etc/null 2>&1 &
then
/usr/sbin/brctl delbr vSwitch0 > /etc/null 2>&1 &
/sbin/ifconfig eth0 0.0.0.0 promisc up
/usr/sbin/brctl addbr vSwitch0
/usr/sbin/brctl addif vSwitch0 eth0
/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up
/sbin/route add default gw 192.168.1.1 dev vSwitch0
else
/sbin/ifconfig eth0 0.0.0.0 promisc up
/usr/sbin/brctl addbr vSwitch0
/usr/sbin/brctl addif vSwitch0 eth0
/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up
/sbin/route add default gw 192.168.1.1 dev vSwitch0
fi
3、建立xml定义文件,下面是我的xml文件
XML/HTML Code复制内容到剪贴板 <domaintype='kvm'id='1'> <name>templates-1name>##域名 <uuid>0112310a-ff1a-bfb5-7cd8-5b2b22ad8de1uuid>##UUID <memory>262144memory>##最大内存 <currentMemory>262144currentMemory>##当前内存 <vcpu>1vcpu>##cpu个数 <os> <typearch='x86_64'machine='pc'>hvmtype> <bootdev='cdrom'/>##启动模式 os> <features> <acpi/> <apic/> <pae/> features> <clockoffset='localtime'/> <on_poweroff>destroyon_poweroff> <on_reboot>restarton_reboot> <on_crash>restarton_crash> <devices> <emulator>/usr/bin/kvmemulator> <disktype='file'device='disk'> <sourcefile='/datastore/templates-1.qcow2'/>##此虚机磁盘文件路径 <targetdev='hda'bus='ide'/>##盘符 disk> <disktype='file'device='cdrom'> <targetdev='hdc'bus='ide'/> <sourcefile='/datastore/centos-5.4.iso'/>##虚拟光驱镜像路径 <readonly/> disk> <interfacetype='bridge'> <macaddress='00:e0:4c:f0:e0:11'/>##mac地址 <sourcebridge='vSwitch0'/>##桥接设备 <targetdev='vnet0'/>##虚拟设备 interface> <inputtype='tablet'bus='usb'/> <inputtype='mouse'bus='ps2'/> <graphicstype='vnc'port='5900'autoport='yes'listen='0.0.0.0'keymap='en-us'/> <soundmodel='es1370'/> <video> <modeltype='cirrus'vram='9216'heads='1'/> video> devices> domain>定义文件中的磁盘与光盘镜像路径一定要真实存在
4、创建虚拟机磁盘
复制代码代码如下:
# qemu-img create -f qcow2 templates-1.qcow2 20G
Formatting 'templates.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=0
指创建一个名称为templates.qcow2 格式为qcow2 大小为20G的虚拟磁盘
复制代码代码如下:
# du -sh templates.qcow2
136K templates.qcow2
此大小会随着系统的变化而变化,但最大应该不超过20G
5、启动安装
复制代码代码如下:#virsh define templates-1.xml 定义一个虚机
复制代码代码如下:#virsh start templstes-1 启动一个虚机
复制代码代码如下:#virsh vncdisplay templates-1 查看vnc端口,用于安装过程的窗口化管理
复制代码代码如下:#vncviewer :0 打开vnc窗口
此命令需要安装其中一个
复制代码代码如下: # vncviewer
程序“vncviewer”已包含在下列软件包中:
* xtightvncviewer
* xvnc4viewer
* tightvnc-java
* vnc-java
请尝试:
复制代码代码如下:apt-get install <选定的软件包>
###如果有多个虚机,各自的vnc端口应该是不同的###
复制代码代码如下:
#virsh destoy DOMAINNAME关闭一个虚机
更多命令详解
复制代码代码如下:
#virsh --help
6、如果需要图形化管理,可以安装诸如virt-manager类包