KVM部署安装

kvm部署安装

 

1、KVM 介绍html

 

 

  1.为何须要cpu虚拟化python

       X86 操做系统是设计在直接运行在裸硬件设备上的,所以它们自动认为它们彻底占有计算机硬件。x86 架构提供四个特权级别给操做系统和应用程序来访问硬件。 Ring 是指 CPU 的运行级别,Ring 0是高级别,Ring1次之,Ring2更次之…… 就 Linux+x86 来讲, 操做系统(内核)须要直接访问硬件和内存,所以它的代码须要运行在高运行级别  Ring0上,这样它可使用特权指令,控制中断、修改页表、访问设备等等。 应用程序的代码运行在低运行级别上ring3上,不能作受控操做。若是要作,好比要访问磁盘,写文件,那就要经过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问,完成以后再从ring0返回ring3。这个过程也称做用户态和内核态的切换。linux

                

 

 

    那么,虚拟化在这里就遇到了一个难题,由于宿主操做系统是工做在 ring0 的,客户 操做系统就不能也在 ring0了,可是它不知道这一点,之前执行什么指令,如今仍是执行什 么指令,可是没有执行权限是会出错的。因此这时候虚拟机管理程序(VMM)须要避免这件 事情发生。 虚机怎么经过VMM实现 Guest CPU 对硬件的访问,api

      根据其原理不一样有三种实现 技术:安全

         1. 全虚拟化 bash

       2. 半虚拟化 服务器

         3. 硬件辅助的虚拟化网络

 

 

2、架构

 

 

             KVM的总体结构:函数

         1) virt-manager 一个用来管理VM的GUI/CUI用户接口;它使用libvirt api 调用VM的各类功能。 

         2) libvirt 一个工具及接口,做为较通用的服务器虚拟化软件,它支持Xen,VMware ESXi/GSX,固然, 还有QEMU/KVM。 

         3) QEMU 一个和KVM内核模块交互的模拟器,处理多种客户机系统请求如I/O;一个QEMU进程对应一个 客户机系统。 

        4) KVM内核模块 从狭义上来讲,KVM是一个Linux内核模块,处理客户机系统的VM Exits和执行VM Entry指 令。 

        5) Linux内核 既然QEMU做为一个普通的用户进程运行,相应客户机系统的调度就由Linux内核本身来处 理。 全部的组件都是开放源码软件(OSS)。

 3、KVM 的功能列表

         KVM 所支持的功能包括:

         Ø 支持CPU 和 memory 超分(Overcommit) 

         Ø 支持半虚拟化I/O (virtio) 

         Ø 支持热插拔(cpu,块设备、网络设备等) 

         Ø 支持对称多处理(Symmetric Multi-Processing,缩写为 SMP ) 

         Ø 支持实时迁移(Live Migration) 

         Ø 支持 PCI 设备直接分配和单根I/O虚拟化(SR-IOV) 

         Ø 支持内核同页合并(KSM ) 

         Ø 支持NUMA (Non-Uniform Memory Access,非一致存储访问结构 )

 4、KVM 工具集合

         libvirt:操做和管理KVM虚机的虚拟化API,使用 C 语言编写,能够由 Python,Ruby, Perl, PHP, Java 等语言调用。能够操做包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。 

         Virsh:基于libvirt 的命令行工具(CLI) 

         Virt-Manager:基于libvirt的GUI工具 virt-v2v:虚机格式迁移工具 virt-* 工具:包括Virt-install (建立KVM虚机的命令行工具),Virt-viewer (链接 到虚机屏幕的工具),Virt-clone(虚机克隆工具),virt-top 等

         sVirt:安全工具和selinux相关

5、安装部署虚拟化环境

              1、)图形化安装

                        1.虚拟机安装

                                ①若是是物理服务器,须要在BIOS中打开虚拟化功能(Virtualization Technology),一 般的服务器默认是打开这个功能的。

                                    

                                ②、若是是用VMware Workstation作实验,创建的虚拟机的CPU要勾选虚拟化功能,这样虚拟 机才会支持KVM虚拟化

                             

 

 

                          2.最简单的安装方法就是在安装系统的时候,安装上虚拟化功能,这里以CentOS7.3为例, 选择安装包的时候,以下图选择便可,选择“带GUI的服务器”,并勾选“虚拟化客户 端”,“虚拟化Hypervisor”,“虚拟化工具”。

                          

 

 

                    3.安装完成后查看CPU是否能支持虚拟化

                           grep -e  "vmx |  svm"   /proc/cpuinfo

                    4.启动程序

                       systemctl enable libvirtd && systemctl start libvirtd

      2、)若是你的系统是最小化安装的,那你应该安装如下所需软件: 

      1.安装软件

1
2
3
4
5
6
7
8
yum groupinstall  "GNOME 桌面"  -y  #//安装GNOME桌面环境
yum  install  qemu-kvm -y            #/KVM核心模块
yum  install  qemu-kvm-tools -y   #//KVM调试工具,能够选择性安装
yum  install  qemu-img -y           #//建立、转换和修改镜像,能处理被qemu支持的全部镜像格式
yum  install  libvirt -y                 #//管理虚拟机的工具包
yum  install  virt- install  -y          #//virt-install是一个使用  libvirt库构建新虚拟机的命令行工具
yum  install  virt-manager -y     #//图形界面管理虚拟机
yum  install  bridge-utils -y       #//配置linux以太网桥        

     2.验证

                      lsmod | grep kvm

         3.启动程序

            若是libvirtd服务中止运行,那么你将不能管理虚拟机,也就是不能使用virt-manager 等工具来管理虚拟机

            systemctl status libvirtd

   3、)图形界面没有虚拟化软件

                1.安装虚拟化软件

1
yum  install  qemu qemu-img qemu-kvm libvirt libvirt-python libguestfs-tools  virt- install

           2.安装图形化工具:

1
yum  install  virt-manager virt-viewer

           3.开启图形化界面

1
systemctl  enable  libvirtd && systemctl start libvirtd

6、部署kvm虚拟化

              1.上传光盘镜像

 

     2.建立文件夹

1
2
mkdir  /kvm-vm   #放置虚拟机使用
mkdir  /iso             #放置镜像

     3.命令启动程序

                     virt-manager

           

 

      5.建立存储池

           

 

             

             

 

  6.建立镜像池

          

             

 

 7.建立虚拟机

             

 

            

 

            

 

         

          建立储存虚拟机卷(能够提早建立也能够在建立虚拟机选择储存位置时建立)

         

 

        

 

  接下来正常安装系统就能够了

 7、、使用virt-manager管理虚拟机

          virt-manager应用程序是一个桌面用户接口,用于经过libvirt管理虚拟机。它的主要 目标是管理KVM,不过也能够管理Xen和LXC(Linux容器)。它提供了运行域的汇总视图,当 前性能和资源利用统计。向导能够容许建立新域,以及配置、调整域的资源分配和虚拟硬 件。内嵌的VNC和SPICE的客户端提供了一个全图形控制台。

             virt-manager主要功能:

                Ø 定义和建立虚拟机 

               Ø 硬件管理 

              Ø 性能监视 

              Ø 虚拟机的保存和恢复、暂停和继续、关闭和启动 

              Ø 控制台 

              Ø 在线和离线迁移 

      启用virt-manager

                 应用程序----系统工具----虚拟系统管理器

           

 

             或者   输入          virt-manager命令

    2.配置虚拟机启动选项:

         

 

            在1的位置若是勾选,能够设置虚拟机随物理主机启动而启动 

           在2的位置若是勾选,那么虚拟机启动的时候就会出现启动菜单,而后能够选择从哪里 启动 

           在3的位置若是勾选,那么可让虚拟机启动时候使用宿主机中的内核文件启动

     3.调整监视参数,默认只监视CPU。

          先调整首选项,而后在“查看”--“图形”中勾选监控参数便可

         

相关文章
相关标签/搜索