前言
上一篇说到了虚拟化的原理,有一个是基于CPU硬件的虚拟化。原理是厂商更改指令集模式的特权级别,使得VMM(虚拟机监控器)直接运行在硬件上面。关于CPU指令特权级别可以参考https://blog.csdn.net/autumn20080101/article/details/8046121
虚拟化技术之基于硬件虚拟化的技术KVM
这篇就是关于基于硬件完全虚拟化的技术:KVM虚拟化
KVM虚拟化就是kernel-based virtual 就是内核虚拟化,kvm是一个虚拟化模块,自Linux内核2.6.20后整入到内核中,使得Linux成为VMM。KVM只是内核中的一个模块,真正完整的KVM虚拟化还得有连个模块
1:kvm.ko /dev/kvm(管理,删除,添加,停止虚拟机的功能)
2:QEMU-KVM(I/O设备的模拟)
这三个联合起来才是完整的KVM虚拟化

虚拟化技术之基于硬件虚拟化的技术KVM
安装KVM
首先机器要开启vt虚拟化,而且内核版本要高于 2.6.20
1.查看内核版本,须大于2.6.20

uname -r

虚拟化技术之基于硬件虚拟化的技术KVM
2.查看CPU是否开启虚拟化,用以下命令,有输出信息就代表开启CPU虚拟化,没有则去BIOS里开启。

cat /porc/cpuinfo | egrep '(vmx|svm)'

虚拟化技术之基于硬件虚拟化的技术KVM
3.更改eth0网卡设备,再创建一个名为br0的桥接网卡,并且桥接到eth0,然后重启网络服务

vim /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=none
DEVICE=eth0
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0

touch /etc/sysconfig/network-scritps/ifcfg-br0

BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.123.129
NETMASK=255.255.255.0
GATEWAY=192.168.123.254
DNS1=114.114.114.114
DNS2=8.8.8.8

service network restart

虚拟化技术之基于硬件虚拟化的技术KVM

3.安装KVM相关软件
qemu-kvm I/O设备的链接
qemu-img 磁盘设备的管理
virt-manager 界面管理的软件
virt-viewer vnc界面链接软件
virt-install 安装虚拟机的软件

yum install -y qemu-kvm qemu-img virt-manager virt-viewer virt-install libvirt* libguest*

4.创建虚拟机硬盘

qemu-img create -f qcow2 /temp/kvm1/centos6.img 10G

虚拟化技术之基于硬件虚拟化的技术KVM
5.创建虚拟机,并引导操作系统

virt-install -n centos -r 1024 --disk /temp/kvm1/centos6.img,format=qcow2,size=10 --network bridge=br0 --os-type=windows--os-variant=win2k --cdrom /root/win7.iso --vnc --vncport=5910 --vnclisten=0.0.0.0

具体参数信息请使用 virsh-install --help查看
6.如果在桌面模式下键入会直接打开并连接到vnc
虚拟化技术之基于硬件虚拟化的技术KVM

7.之后也可以使用vnc viewer链接
虚拟化技术之基于硬件虚拟化的技术KVM
虚拟化技术之基于硬件虚拟化的技术KVM
然后我们熟悉的win7安装选项就出来了。是不是很激动,因为笔者的电脑经不起烧,无法完成安装,所以就演示这么多,下面的大家肯定都懂。就不操作了。

8.使用virsh命令进入kvm操作模式
虚拟化技术之基于硬件虚拟化的技术KVM

9.查看刚刚安装的虚拟机

virsh list --all

虚拟化技术之基于硬件虚拟化的技术KVM

然后就完成虚拟机安装了,KVM绝对不是这么多就可以说清楚的,笔者暂时也就会这么多,希望大家继续努力学习,多分享学习资料和经验。