CENTOS6.4上KVM虚拟机环境搭建

CENTOS6.4上KVM虚拟机环境搭建
 
关键词:
KVM,虚拟机,windows7, VNC, 桥接网络,br0, SCSI, IDE
 
环境:
host: CENTOS6.4
guest: windows 7 sp1
 
主要步骤:
安装软件包
配置桥接网络
配置VNC
安装虚拟机
 
1.安装软件包
      yum install qemu-kvm 
      yum install libvirt
    yum install libvirt-python
 
其实CENTOS6.4上已经安装了这三个软件包,不用再装了。
rpm -qa | grep qumu-kvm
rpm -qa | grep libvirt
rpm -qa | grep libvirt-python
 
运行 lsmod | grep kvm 和 stat /dev/kvm 确认kvm是否安装成功。
 
kvm服务名:libvirtd,重启一下服务确认是否能正常启动。
  service libvirtd restart
 
2.配置网络
使用桥接方式
1). 创建配置文件
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=100.0.7.117
NETMASK=255.255.255.0
GATEWAY=100.0.6.1
DNS1=202.106.196.115
 
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=90:2b:34:b0:c2:1a
TYPE=Ethernet
UUID=48a302ce-3807-4409-a0ce-9e398c9e32cb
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
#IPADDR=100.0.7.117
#NETMASK=255.255.255.0
#GATEWAY=100.0.6.1
#DNS1=202.106.196.115
IPV6INIT=no
USERCTL=no
BRIDGE=br0
 
2).关闭NetworkManager,重启网络
# chkconfig NetworkManager off
# chkconfig --levels 35 network on
# /etc/init.d/NetworkManager stop
# /etc/init.d/network restart
 
3).查看桥接网络
# brctl show
bridge namebridge idSTP enabledinterfaces
br08000.902b34b0c21anoeth0
virbr08000.525400c8848eyesvirbr0-nic
 
3.配置vnc
# yum install tigervnc-server
编辑 /etc/sysconfig/vncservers 增加一行:
VNCSERVERS="1:root"
设置password
# vncpasswd
 
启动服务
# /etc/init.d/vncserver start
 
查看服务端口
# netstat -nulpt | grep vnc
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      394/Xvnc            
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      394/Xvnc            
tcp        0      0 0.0.0.0:5910                0.0.0.0:*                   LISTEN      23040/Xvnc          
tcp        0      0 0.0.0.0:6010                0.0.0.0:*                   LISTEN      23040/Xvnc          
tcp        0      0 :::6001                     :::*                        LISTEN      394/Xvnc            
tcp        0      0 :::6010                     :::*                        LISTEN      23040/Xvnc
(配置过程中可能多添加了几个,所以监听端口号比较多)
 
4.安装虚拟机
使用virt-install
# virt-install
--name=win7x64
--ram 1024
-c /mnt/win7/win7_sp1_旗舰版_CN_X64.iso
-f /home/vm/win7x64.kvm
-s 20
--graphics vnc,listen=0.0.0.0,port=5920,
--network bridge=br0
--force --autostart
 
安装完成后,在客户端(windows)使用vnc客户端连连接虚拟机(windows7),以进行具体安装过程。
我使用的是RealVNC->VNC viewer:
VNC Server: 100.0.7.117:5920
Encryption: Let VNC Server choose
 
5.给虚拟机添加磁盘
目的:把host上的/dev/sdl,/dev/sdk给guest使用。
使得guest操作系统(windows7)能够使用host操作系统上的磁盘(CENTOS6.4)
 
一开始使用的是配置/etc/libvirt/qemu下xml文件、然后通过virsh attach-disk命令来添加到虚拟机配置文件的方式,
但是没有成功,在windows7设备管理器里面有黄色感叹号,SCSI驱动没有安装成功。
 
后来使用具有图形界面的virt-manager(应用程序->系统工具->虚拟系统管理器)添加成功。
要注意的地方:
源:/dev/sdk
Disk bus: IDE
Storage format: raw
 
 

补充:
利用virsh来管理虚拟机
1.开关机
# virsh start win7x64 #开机
# virsh create /etc/libvirt/qemu/win7x64.xml #直接通过主机配置文档启动虚拟机
# virsh shutdown win7x64 #关机
# virsh destroy win7x64 #强制关闭电源
# virsh list --all #查看虚拟机状态

2.添加删除虚拟机
# virsh define /etc/libvirt/qemu/rhel64.xml #根据主机配置文档添加虚拟机
# virsh list --all #查看虚拟机rhel64是否添加

其他管理功能可查看参考资料中管理虚拟机部分

 
 
参考资料:
安装
http://www.cnblogs.com/viator42/p/3295654.html
http://blog.csdn.net/signmem/article/details/7489135
http://www.chenshake.com/centos-6-4-kvm/
配置网络
http://blog.csdn.net/samlei/article/details/7598541
添加SCSI磁盘
http://blog.csdn.net/fengchenlongxia/article/details/13770551
http://www.tokiwinter.com/adding-scsi-controller-scsi-disks-to-kvm-based-guests/
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-Managing_storage_controllers_in_a_guest.html
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-Virtualization-Adding_storage_devices_to_guests-Adding_hard_drives_and_other_block_devices_to_a_guest.html
管理虚拟机

http://www.2cto.com/os/201203/123128.html

原文地址:https://www.cnblogs.com/bugchecker/p/3697736.html