一.查看是否支持虚拟化

  1. egrep '(vmx|svm)' /proc/cpuinfo
  2. # 显示以下内容支持
  3. flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
  4. flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
  • VM虚拟机,需要创建的时候CPU勾选:

image.png

二.启用kvm

  1. 查看Selinux状态
  2. sestatus
  3. 如果是启用状态
  4. # vi /etc/sysconfig/selinux SELINUX=disabled reboot
  1. [root@localhost ~]# modprobe kvm
  2. [root@localhost ~]# lsmod |grep kvm

2.1 介绍

KVM虚拟机的创建依赖qemu-kvm:
虽然kvm的技术已经相当成熟而且可以对很多东西进行隔离,但是在某些方面还是无法虚拟出真实的机器。比如对网卡的虚拟,那这个时候就需要另外的技术来做补充,而qemu-kvm则是这样一种技术。它补充了kvm技术的不足,而且在性能上对kvm进行了优化。
我们还可以使用virt-manager,virt-viewer来管理虚拟机;
我们在创建和管理KVM虚拟机时还需要libvirt这个重要的组件:
它是一系列提供出来的库函数,用以其他技术调用,来管理机器上的虚拟机。包括各种虚拟机技术,kvm、xen与lxc等,都可以调用libvirt提供的api对虚拟机进行管理。有这么多的虚拟机技术,它为何能提供这么多的管理功能那。是因为它的设计理念,它是面向驱动的架构设计。对任何一种虚拟机技术都开发设计相对于该技术的驱动。这样不同虚拟机技术就可以使用不同驱动,而且相互直接不会影响,方便扩展。而且libvirt提供了多种语言的编程接口,可以直接通过编程,调用libvirt提供的对外接口实现对虚拟机的操作。如今流行的云计算中的IaaS是与该库联系相当密切的。通过下图可以看出它的架构设计思想。

2.2 安装

  1. # 安装依赖
  2. yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm
  3. # 启动服务 启动 状态 停止
  4. systemctl start libvirtd.service

2.3 查看安装是否正确

image.png

  1. [root@localhost kvm]# brctl show
  2. bridge name bridge id STP enabled interfaces
  3. virbr0 8000.52540079aa86 yes virbr0-nic

2.4 网络

像VMware Workstation中我们需要创建物理桥接设备,可以使用virsh创建桥设备关联网卡到桥接设备上:
需要将NetworkManager服务关闭,开机启动也关闭:

  1. [root@localhost ~]# chkconfig NetworkManager off
  2. [root@localhost ~]# service NetworkManager stop

创建桥接设备及关联网卡到桥接设备上:

  1. [root@localhost ~]# virsh iface-bridge enp61s0f0 br0

三.使用

3.1 查看虚拟机列表

  1. virsh -c qemu:///system list