KVM虚拟化技术的-KVM安装
一、查看CPU是否支持虚拟化
[root@node1 ~]# lsmod |grep kvm
kvm_intel 162153 0
kvm 525259 1 kvm_intel
[root@node1 ~]# egrep 'svm|vmx' /proc/cpuinfo
二、 CPU 物理特性
[root@node1 ~] # numactl --hardware
available: 2 nodes (0-1) //2颗CPU
node 0 cpus: 0 1 2 3 4 5 12 13 14 15 16 17 //这颗 CPU 有8个内核
node 0 size: 12276 MB
node 0 free: 7060 MB
node 1 cpus: 6 7 8 9 10 11 18 19 20 21 22 23 node 1 size: 8192 MB
node 1 free: 6773 MB
node distances:
node 0 1 0: 10 21 1: 21 10
[root@node1 ~] # cat /proc/cpuinfo
三、 安装KVM
KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。
KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。
在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建、管理各种虚拟硬件,QEMU将KVM整合了进来,通过/ioctl 调用 /dev/kvm,从而将CPU指令的部分交给内核模块来做,KVM实现了CPU和内存的虚拟化,但KVM不能虚拟其他硬件设备,因此qemu还有模拟IO设备(磁盘,网卡,显卡等)的作用,KVM加上QEMU后就是完整意义上的服务器虚拟化。
综上所述,QEMU-KVM具有两大作用:
(1):提供对cpu,内存(KVM负责),IO设备((virtio QEMU负责)的虚拟
(2):对各种虚拟设备的创建,调用进行管理(QEMU负责)
QEMU模拟其他的硬件,如Network, Disk,同样会影响这些设备的性能。于是又产生了半虚拟化设备virtio_blk, virtio_net,提高设备性能。
qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件。qemu-img也是QEMU/KVM使用过程中一个比较重要的工具,
(1)方法一
[root@node1 ~]# yum install qemu-kvm qemu-img libvirt
[root@node1 ~]# yum install virt-install libvirt-python virt-manager python-virtinst libvirt-client
(2)方法二
[root@node1 ~]yum -y groupinstall "virtualization*"
上一篇: shell脚本学习-算数运算-bc
下一篇: shell脚本学习-文件操作