Centos6.3安装KVM

一、安装kvm

1 在安装CentOS6.3时可以选择安装好kvm

2 如果未安装好kvm,请按照下列方式安装

[创建本地yum源]

挂载iso文件
mount -o loop -t iso9660 CentOS-6.3-x86_64-bin-DVD1.iso /mnt

设置本地yum源
在/etc/yum.repos.d/创建   “任意文件名.repo"    文件  
vi 刚才新建的文件名编辑
【localyum】任意名称 ,不能有空格。
name= local yum  任意名称
baseurl=file:////mnt/Packages      这个路径是自定的。Server为光盘中的Server目录 ,Packages与Server放在同一目录下。即/software目录下
enabled=1   代表   生效     0为不生效
gpgcheck=1   检查gpgkey  1 生效   0不生效
gpgkey=file:///software    安装光盘里有这个文件        不指定  安装时,可能提示没有注册
保存退出
执行命令 yum clean all
(1) kvm需要有 CPU 的支持(Intel VT 或 AMD SVM)
[root@moniter ~]#egrep '^flags.*(vmx|svm)' /proc/cpuinfo
如果有返回值说明cpu支持虚拟化
(2) 安装kvm libvirted
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst
(3) 启动libvirted
service messagebus start

service haldaemon start

service libvirtd start

chkconfig messagebus on

chkconfig haldaemon on

chkconfig libvirtd on

(4)检查kvm是否安装成功
[root@jiayuan ~]# virsh -c qemu:///system list
 Id    名称                         状态
----------------------------------------------------
 1     redhat6.3                      running

(5)kvm模块
[root@myKVM ~]# lsmod | grep kvm
kvm_intel              52570  0
kvm                  314739  1 kvm_intel


二、配置网桥

vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=10.207.20.255
IPADDR=10.207.20.200
NETMASK=255.255.255.0
NETWORK=10.207.20.0
ONBOOT=yes
b、
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0
c、
重起网络服务生效
service network restart
d、
echo 1 > /proc/sys/net/ipv4/ip_forward  #虚拟机上网

e、
检查桥接网络
[root@moniter ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.842b2b74e1b6       no              eth0
virbr0          8000.000000000000       yes
br0是我们配置的桥接网卡,virbr0是系统脚本自动配置的NAT网卡

三、安装vnc

注意:CentOS6.3 VNC的命名rpm为tiggervnc-server

(1)
yum install tiggervnc-server

(2)
vi /etc/sysconfig/vncservers

#加一行    
VNCSERVERS="1:root"

(3)
vncpasswd

创建密码
(4)
/etc/init.d/vncserver start

(5)
# netstat -nulpt | grep vnc
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      29167/Xvnc
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      29167/Xvnc
tcp        0      0 :::6001                     :::*                        LISTEN      29167/Xvnc
表示vnc可以使用了
修改 qemu.conf 配置,把下面几个地方的注释去掉,然后把 dynamic_ownership 的值改成0,禁止 libvirtd 动态修改文件的归属: # vi /etc/libvirt/qemu.conf ...
user = "root"
group = "root"
dynamic_ownership = 0
...
重启 libvirtd 服务再用上面的 virt-install 命令安装就应该可以了。这个时候 vnc 默认绑定的是本机 127.0.0.1,如果其他机器想用 vnc 客户端访问这台 kvm 服务器正在安装的 ubuntu 的话需要把 vnc 绑定到服务器的 IP 地址或者绑定到全局 0.0.0.0. 修改 qemu.conf 文件取消 vnc_listen 一行前面的注释,记得重启 libvirtd: # vi /etc/libvirt/qemu.conf ...
vnc_listen = "0.0.0.0"

四、创建kvm虚拟机

virsh-install
    1、输入虚拟机名称
    2、分配多少内存
    3、处理器的个数
    4、此步可以直接输入iso的位置或是url
    5、虚拟机类型KVM
    6、定义虚拟机磁盘映像的位置
    7、磁盘的大小
    6、指定哪个桥或者可以指定多个桥
    7、额外的控制台和KS文件
    8、连接到系统参数
     
    参数说明注意每行都要空格
    -n 虚拟机名称
    -r 分配虚拟机内存大小
    --vcpus 分配虚拟cpu个数
    -c 镜像文件位置
    --vnc --vncport=5901 --vnclisten=0.0.0.0 启动图形安装界面
    --virt-type 虚拟机模式
    -f 虚拟机系统文件存储目录
    -s 分配磁盘大小(GB)
    -w 联网方式(birdge bridge:br0/nat bridge:virbr0)
    --os-type='windows' --os-variant=win2k3 安装windows最好加上这个否则会报错
    virt-install工具安装虚拟机后,在目录/etc/libvirt/qemu/下生成xml配置文件
    -s 用来指定虚拟磁盘的大小单位为GB
    -m 指定虚拟网卡的硬件地址默认virt-install自动产生
    -p 以半虚拟化方式建立虚拟机
    -l 指定安装来源
    -x EXTRA, --extra-args=EXTRA当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序。
    -v, --hvm 设置全虚拟化

virt-install --name=centos6.3  --ram 1024 --vcpus=2 --disk path=/data0/centos-6.3.x86_64.img.img,size=20  --accelerate --cdrom /data0/CentOS-6.3-x86_64-bin-DVD1.iso  --graphics vnc,listen=0.0.0.0,port=5920,  --network bridge=br0  --force  --autostart

执行后,netstat -nulpt | grep 5920 看端口启用否

五、用vnc连接5920完成安装

IP:5920

六、管理kvm虚拟机

virsh --connect qemu:///system
a、如果你修改了一个客户机的xml文件(位于/etc/libvirt/qemu/ 目录),你必须重新定义客户机:
define /etc/libvirt/qemu/vm10.xml
b、启动和停止客户机,运行:
start vm10
c、停止一个客户机,运行
shutdown vm10
d、立即中断一个客户机(类似直接关电源),运行
destroy vm10
e、挂起一个客户机:
suspend vm10
f、恢复客户机:
resume vm10

七、克隆

virt-clone  --connect=qemu:///system \
-o 原虚拟机 -n 新虚拟机 -f /data0/centos5.4/新虚拟机镜像

新虚拟机配置文件需要注意:虚拟机克隆完毕后,需修改vnc端口;MAC地址也是需要注意的。

八、加载磁盘空间

#qemu-img create -f qcow2 disk1.img 50G
#vi /etc/libvirt/qemu/centos1.xml

增加的部分为:
   
     
     
     
     


   

使配置文件生效
virsh --connect qemu:///system

virsh #define /etc/libvirt/qemu/winxp.xml


重起虚拟机生效

virsh # shutdown centos1

virsh # start centos1

进入虚拟机:
mkfs.ext3 /dev/hdb
mkdir /data
mount /dev/hdb /data
virt-install --name xp1 --hvm --ram 512 --vcpus 1 --disk path=/root/xp1.img,size=20 --network network:default --accelerate --vnc --vncport=5901 --cdrom /root/xp.iso -d
virt-install --name=wintest01 --ram 512 --vcpus=2 --disk path=/data/wintest01.img,size=8  --accelerate --cdrom /data/iso/Windows2003.iso --vnc --vncport=5911 --vnclisten=0.0.0.0 --network bridge=br0 --force --autostart
##换iso镜像文件
[root@localhost ~]#virsh change-media win3test hdc /home/iso/virtio-win-0.1-52.iso
succeeded to complete action update on media
##弹出镜像文件
[root@localhost ~]#virsh change-media win3test hdc --eject
格式转换
qemu-img convert -f raw -O qcow2 disk2.img disk2.qcow2
-f  源镜像的格式   
-O 目标镜像的格式