一、前言
二、环境
三、安装与配置
四、创建kvm虚拟机
五、管理kvm虚拟机
六、克隆kvm虚拟机
七、网络配置(bridge)
附1:宿主机执行以下指令(shutdown,reboot)虚拟机没有反应。
附2:宿主机重启网络服务时出现错误(配置bridge时)
--------------------------
一、前言
KVM,即Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,
新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
二、环境
系统:rhel6.5 64位
软件包组:
virtualization 提供虚拟机的环境,主要包含qemu-kvm
virtualization-client 管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
virtualization-platform 提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
virtualization-tools 管理离线虚拟机镜像的工具,主要有libguestfs
根据需求选择软件包,一般都安装前三个,也可以只安装个别主要的包。
为了减少不必要的麻烦,请关闭防火墙和SELinux
如果确定物理机支持cpu虚拟化技术,而使用上述命令查找不到相应指令,请参考以下解决办法:
http://yinuoqianjin.blog.51cto.com/8360868/1557987
三、安装与配置
kvm_intel 53484 0
kvm 316506 1 kvm_intel
Starting libvirtd daemon: [ OK ]
|
四、创建kvm虚拟机(图形界面)
1.在kvm宿主机创建虚拟机存储位置
2.可以利用vnc远程连接kvm宿主机,进行管理。Application→System Tools→Virtual Machine Manager
3.进入Virtual Machine Manager管理界面,新建一个虚拟机。
5.输入虚拟机名称,选择“Local Install media”
6.选择“Use CDROM or DVD”,及使用vmware的虚拟光驱
7.选择内存及cpu,依机器性能本身而定
8.选择虚拟机磁盘大小,及存储位置
9.新建虚拟机信息预览
下面就会开始安装,和安装操作系统是一样的步骤。
安装后的界面:
五、管理kvm虚拟机
常用命令:
virsh list 显示虚拟机运行状态
virsh console 使用文本方式连接虚拟系统
virsh start 开启虚拟系统
virsh shutdown 关闭虚拟系统
注:虚拟机和宿主机之间切换使用ctrl+】(右方括号)
Connected to domain vm01
Escape character is ^] // 如无法进入,解决办法:http: //yinuoqianjin .blog.51cto.com /8360868/1562588
|
六、克隆kvm虚拟机
|
-rwxr-xr-x 1 root root 8.0G Oct 13 17:40 vm01.img
-rwxr-xr-x 1 root root 8.0G Oct 13 17:42 vm02.img
|
七、网络配置(bridge)
kvm上网有两种配置,一种是default,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,
但不支持外界访问虚拟机。另外一种方式是bridge方式,可以使用虚拟机成为网络中具有独立IP的主机。
具体思路:在宿主机上虚拟出一块网卡,让自身的eth0桥接到它上面。
1.宿主机配置网卡信息
DEVICE=kvmbr0
TYPE=Bridge
ONBOOT= yes
BOOTPROTO=static
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DEFROUTE= yes
DEVICE=eth0
HWADDR=00:0c:29:13:43:42
TYPE=Ethernet
UUID=3a53422d-b30f-4623-bf50-dada471e85b3
ONBOOT= yes
NM_CONTROLLED=no //NM_CONTROLLED 这个属性值,根据RedHat公司的文档是必须设置为“no”的
BOOTPROTO=none
BRIDGE=kvmbr0
NAME= "System eth0"
|
2.重启宿主机网络服务
3.校验桥接接口
bridge name bridge id STP enabled interfaces
kvmbr0 8000.000c29134342 no eth0
|
4.vm01虚拟机网卡配置
DEVICE=eth0
HWADDR=52:54:00:88:6A:CE
TYPE=Ethernet
UUID=d1fca21a-a8d0-4a98-87ff-ab0a1e624ce2
ONBOOT= yes
NM_CONTROLLED= yes
BOOTPROTO=static
IPADDR=192.168.10.20
NETMASK=255.255.255.0
|
5.1图形配置
选择新建的kvmbr0网卡设备
如出现下面报错,需要重启宿主机来解决。
5.2命令配置:
<interface type = 'bridge' >
<mac address= '52:54:00:88:6a:ce' />
< source bridge= 'kvmbr0' />
<model type = 'virtio' />
<address type = 'pci' domain= '0x0000' bus= '0x00' slot= '0x03' function = '0x0' />
< /interface >
|
6.总结
宿主机和虚拟机在同一网段内,vm01虚拟机就是独立于网络内的一台机器了。
Bridge方式的适用范围:服务器主机虚拟化。
NAT方式的适用范围:桌面主机虚拟化。
附1:宿主机执行以下指令虚拟机没有反应。
Domain vm02 is being shutdown
Domain vm02 is being rebooted
|
解决办法(虚拟机安装acpid即可):
-
虚拟机挂载光盘
1.1.进入宿主机桌面,利用图形管理方式让虚拟机加载系统光盘
1.2.进入vm02虚拟机,点击叹号的标志
1.3.选择光驱,连接即可。
2.挂载,配置本地源。(略)
3.安装并开启acpid服务。
Starting acpi daemon: [ OK ]
|
附2:宿主机重启网络服务时出现下面错误(配置bridge时)
|
Bringing up interface kvmbr0: Error: Connection activation failed: Failed to determine connection's virtual interface name [FAILED]
|
解决办法:因为NetworkManager不支持桥接,需要关闭该服务。
Stopping NetworkManager daemon: [ OK ]
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
|
本文出自 “一诺千金” 博客,请务必保留此出处http://hatech.blog.51cto.com/8360868/1563120
(责任编辑:IT) |