红联Linux门户
Linux帮助

CentOS 6.3下安装KVM和创建KVM虚拟机

发布时间:2014-07-26 21:41:09来源:linux网站作者:linux

一,安装kvm
 
1 在安装CentOS 6.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
(2) 安装kvm libvirted
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst
 
yum groupinstall KVM
 
(3) 启动libvirted
service messagebus start
 
service haldaemon start
 
service libvirtd start
chkconfig messagebus on
chkconfig haldaemon on
chkconfig libvirtd on

(4)监测kvm是否安装成功
[root@moniter ~]#virsh -c qemu:///system list
Id Name                State
 ----------------------------------
(5)kvm模块
/sbin/lsmod | grep kvm


二,配置网桥
 
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可以使用了


四,创建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

增加的部分为:
<disk type='file' device='disk'>
<source file='/data0/disk1.img'/>
<target dev='hdb' bus='ide'/>
</disk>

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

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

重起虚拟机生效

virsh # shutdown centos1

virsh # start centos1

进入虚拟机:
mkfs.ext3 /dev/hdb
mkdir /data
mount /dev/hdb /data