KVM的功能
主要体现在利用KVM的硬件辅助性虚拟化可以提高处理速度。

但在虚拟机中,有些硬件不是KVM来实现加速的,如磁盘、内存、网络的性能,如果更好的提升速度,需要安装半虚拟化驱动
  • 1.
  • 2.
  • 3.
 
 
半虚拟化驱动
在软件层通过修改源代码让硬件的操作被虚拟机和宿主机所识别
  • 1.
 
 
半虚拟化驱动--virtio
红帽RHEL4.8之后的虚拟机自动加载和安装virtio驱动
windows系统需要额外安装virtio驱动
https://rhn.redhat.com/rhn/software/packages/details/Overview.do?pid=868414
  • 1.
  • 2.
  • 3.
 
 

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_生成windows模板进行colon

linux测试virtio性能(两种方法)

虚拟机磁盘默认使用的是virtio

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_安装Windows server虚拟机_02

在宿主机使用ssh连接虚拟机
[root@ubunt ~]# ssh 192.168.122.101
[root@k8s-node-01 ~]# dd | hdparm -t /dev/vda  #测试大概400MB
[root@k8s-node-01 ~]# dd if=/dev/zero of=f1.img bs=1M count=1024 conv=fsync
  • 1.
  • 2.
  • 3.
  • 4.
 
 

把磁盘更换成其他模式,关机重启

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_生成windows模板进行colon_03

在宿主机使用ssh连接虚拟机
[root@ubunt ~]# ssh 192.168.122.102
[root@k8s-node-02 ~]# dd | hdparm -t /dev/sda  #测试大概390MB
[root@k8s-node-02 ~]# dd if=/dev/zero of=f1.img bs=1M count=1024 conv=fsync  #测试大概294MB
  • 1.
  • 2.
  • 3.
  • 4.
 
 
安装Windows server虚拟机
第一步:创建磁盘文件
[root@ubunt ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2 200G
Formatting '/var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2', fmt=qcow2 size=214748364800 cluster_size=65536 lazy_refcounts=off refcount_bits=16
[root@ubunt ~]# ll /var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2 -h
-rw-r--r-- 1 root root 196K Oct 13 13:12 /var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2
第二步:创建windows-2008虚拟机,需要下载驱动和镜像(把驱动和镜像放在一个目录下)
[root@ubunt isos]# ls
cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso(镜像)
virtio-win-0.1.141_amd64.vfd(驱动)

[root@ubunt isos]# virt-install --virt-type kvm --name Win2008 --memory 3072 --vcpus=2 --os-variant=win2k8r2 --cdrom=/data/isos/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso --disk path=/var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2,format=qcow2,bus=virtio --disk path=/data/isos/virtio-win-0.1.141_amd64.vfd,device=floppy --network bridge=virbr0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
 
 

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_生成windows模板进行colon_04

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_安装Windows server虚拟机_05

选择第五个数据中心版完全安装

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_半虚拟化驱动--virtio_06

自定义安装--加载驱动程序--浏览--软盘驱动器--win2008R2--选择第三个硬盘驱动和第二个网卡驱动(按ctrl多选)

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_安装Windows server虚拟机_07

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_安装Windows server虚拟机_08

安装好后设置密码(设置稍微复杂一点)

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_半虚拟化驱动--virtio_09

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_半虚拟化驱动--virtio_10

安装PCI 内存管理驱动(版本virtio-win-0.1.141)

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_安装Windows server虚拟机_11

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_安装Windows server虚拟机_12

5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机_安装Windows server虚拟机_13

生成Windows server2008镜像模板,并进行clone
第一步:生成模板
利用sysprep工具,清除个性信息,下次windows开机时,会自动生成初始化个性信息
计算机--C盘--system32--双击sysprep--点上通用对号--关机
打开图形管理页面,对新的windows进行配置,下载一些软件
[root@ubunt images]# virt-manager

第二步:colne,关机后再colne
[root@ubunt images]# cp Windows-2008_r2-x86_64.qcow2 windows2008-2.qcow2
[root@ubunt images]# virt-install --virt-type kvm --name Win2008-2 --memory 3072 --vcpus=2 --os-variant=win2k8r2  --disk path=/var/lib/libvirt/images/windows2008-2.qcow2,format=qcow2,bus=virtio  --network bridge=virbr0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart --boot hd

Starting install...
Domain creation completed.