最近对虚拟化非常感兴趣,尝试了一下centos 6 从xen开始学习,暂时没搞出来- -||,好像6的内核不支持xen,不过kvm也是不错的,写一些学习笔记,大多是网上各位大神的经验。

一、安装centos 6.2 后下载163源配置文件 http://mirrors.163.com/.help/CentOS6-Base-163.repo
# cd /etc/yum.repos.d/  #进入源目录
# cp CentOS-Base.repo CentOS-Base.repo.bak #备份源文件
用下载的163源配置文件替换CentOS-Base.repo文件内容
# yum update 系统升级
如果不提示错误,CentOS-Base.repo文件中
gpgcheck=0
二、查看硬件是否支持虚拟化
1、KVM需要CPU支持虚拟化,执行以下命令查看是否支持虚拟化:
# egrep 'vmx|svm' /proc/cpuinfo
如果含有vmx或者svm字样,则表示支持CPU虚拟化,Intel是vmx,AMD是svm
否则进入bios进行修改,设置CPU支持虚拟化。
2、检查KVM是否加载成功
# lsmod | grep kvm
显示结果如下表示kvm模块已经加载,如果没有输出信息,则表示没有加载成功:
kvm_amd 50452 0
kvm 109264 1 kvm_amd

三、配置网络桥接
1、安装tunctl:
# yum install -y tunctl
2、禁用网络管理器
# chkconfig NetworkManager off   和桥接有冲突,要关闭
# service  NetworkManager stop
3、创建用以桥接的虚拟网卡,应该可以支持多个虚拟机分别配置不同的网卡,暂时没试过。
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-br0
编辑 ifcfg-br0
# vi ifcfg-br0

DEVICE="br0"
TYPE="Bridge"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.1.17
PREFIX=24
GATEWAY=192.168.1.1
DNS1=202.106.46.151
DELAY=0

编辑ifcfg-eth0
# vi ifcfg-eth0

DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BRIDGE="br0"
BOOTPROTO=none
IPADDR=192.168.1.17
PREFIX=24
GATEWAY=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
DNS1=202.106.46.151
HWADDR=00:1E:67:07:EC:30
重新启动网络
# service network restart  

四、配置虚拟机
1、图形化配置
从菜单中启动,或者运行virt-manager进入图形管理界面,由于比较简单,在此不详述,不过img的位置要好好配置一下,kvm安装后会有一个默认位置,不注意的话容易占满空间。或者直接硬盘分区时单独给/var分一个区。
2、 命令行配置
首先定义变量,然后执行virt-install 进行安装,不定义变量也可以,但是命令会很长。
name=vm1
port=6900
img=/vms/vm1/vm1.img
ostype=linux
osvariant=rhel5
ram=800
cpu=1
sizeG=10
eth=br0
iso=/software/CentOS/CentOS-5.5-x86_64-bin-DVD-1of2.iso
virt-install --name $name --ram $ram --vcpus=$cpu \
--disk path=$img,size=$sizeG --network bridge=$eth \ --os-type=$ostype --os-variant=$osvariant --cdrom $iso --vncport=$port --vnc
执行完以上命令,如果没有错误的话,就会打开虚拟系统安装界面。

五、其他命令行及工具
查看正在运行的虚拟机:
virsh -c qemu:///system list
虚拟机的主要管理命令式virsh,进入virsh管理shell之后:

六、其他问题
1、虚拟机重新配置
虚拟机的配置文件保存在/etc/libvirt/qemu目录下,扩展名是xml。
修改相应的文件即可重新配置虚拟机。
2、虚拟机备份及恢复
备份:拷贝/etc/libvirt/qemu目录下的xml配置文件,以及xml中设置的img文件。
恢复:进入virsh,执行define 目录下的xml文件路径
3、开机自动启动虚拟机
命令行下:在autostart目录下的虚拟机名。