kvm虚拟化安装与部署(2)

1、虚拟化VT开启确认

  KVM 自己也有一些弱点,那就是相比裸金属虚拟化架构的 Xen 、 VMware ESX 和 HyperV , KVM 是运行在 Linux 内核之上的寄居式虚拟化架构,会消耗比较多的计算资源;不过针对这一点, Intel 、 AMD 已经在处理器设计上有专门的VT-x 和 AMD-V 扩展,这种特性在每次硬件更新的时候也会更新,每每每次更新后都对虚拟化性能和速度上有明显的提高,因此长远来看,也不是什么大问题。
  KVM 的虚拟化须要硬件支持(须要处理器支持虚拟化:如 Intel 厂商的 Intel-VT ( vmx )技术&&AMD 厂商的 AMD-V ( svm )技术。是基于硬件的彻底虚拟化。而 Xen 早期则是基于软件模拟的半虚拟化( Para-Virtualization ),新版本则是基于硬件支持的彻底虚拟化。但 Xen 自己有本身的进程调度器,存储管理模块等,因此代码较为庞大。
  你当前的 CPU 是否支持 VT 技术?当不肯定你当前 CPU 是否支持 VT 技术时
  1. 能够在 windows 下使用 cpu-z 软件来进行测试
  2. 能够在 Linux 下查看 CPU 的相信信息来肯定
  CPU 虚拟化给咱们带来了哪些好处?
  CPU 的虚拟化技术能够将单 CPU 模拟多 CPU 并行,容许一个平台同时运行多个操做系统,而且应用程序均可以在相互独立的空间内运行而互不影响,从而显著提升计算机的工做效率。
  虚拟化技术与多任务超线程的技术的区别?
  虚拟化技术与多任务以及超线程技术是彻底不一样的。多任务是指在一个操做系统中多个程序同时并行运行,而在虚拟化技术中,则能够同时运行多个操做系统,并且每个操做系统中都有多个程序运行,每个操做系统都运行在一个虚拟的 CPU 或者是虚拟主机上;而超线程技术只是单 CPU 模拟双 CPU 来平衡程序运行性能,这两个模拟出来的 CPU 是不能分离的,只能协同工做
  安装kvm前准备工做
  1. 肯定处理器有 VT
  命令行: grep vmx /proc/cpuinfo (INTEL 芯片 )
      grep svm /proc/cpuinfo (AMD 芯片 )
      cat /proc/cpuinfo | grep -e vmx -e nx -e svm
  不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo
  若是 flags:里有 vmx 或者 svm 就说明支持 VT ;若是没有任何的输出,说明你的 cpu 不支持,将没法成功安装 KVM 虚拟机。
  2. 当你硬件自己支持虚拟化,但查询相应参数无果时,请检查 BIOS 设定,确认你的 BIOS 中开启了硬件支持虚拟化的功能!
  将以下选项设为Enabled
  Intel(R) Virtualization Tech [Enabled]python

2、KVM虚拟化安装

一、安装 KVM 要求
(1)64bitCPU( 支持虚拟化 VT-x or AMD-V)
(2)2G 以上空闲内存,确认内存大小
  grep -e MemTotal /proc/meminfo
  free -m
(3)6GB 空闲存储空间
二、安装 KVM 并检测
(1)YUM 安装 KVMlinux

yum -y install kvm virt-manager libvirt libvirt-python python-virtinst libvirt-client qemu-kvm qemu-img

(2)YUM 安装 KVM( 简单版 )vim

yum install kvm virt-manager libvirt* -y

(3)若是没法连入互联网 , 可自行创建源来完成安装并避免各类关联。创建一个本地的 YUM 源:windows

< 挂载 RHEL 光盘 > #mount /dev/cdrom /mnt/cdrom < 创建 YUM 本地源 > #cd /etc/yum.repos.d #vim kvms.repo kvms.repo里的内容 [kvms] name=Red Hat baseurl=file:///mnt/cdrom/ enabled=1 gpgcheck=0

也能够上传一个镜像文件至宿主机上,进行伪文件系统挂载:服务器

mount -o loop -t iso9660 /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1810.iso /mnt

(4)kvm虚拟化所需组件介绍
  kvm:核心套件
  virt-manager:图形化 KVM 管理软件
  libvirt:提供虚拟机与宿主相互通讯的机制
  libvirt-python:容许使用 libvirt API
  python-virtinst:CLI 下建立 KVM 的工具
  libvirt-client:提供 client 访问 kvm 服务器的机制 ,并包含 virsh 命令进行 管理和控制VMs
  qemu-kvm:提供用户级 KVM 环境
  qemu-img:VMs 磁盘管理
三、启动 KVM
  (1)modprobe kvm    加载 kvm 模块
  (2)lsmod | grep kvm   查看加载成功
  (3)systemctl start libvirtd  启动kvm
  (4)systemctl status libvirtd  查看kvm状态
四、启动并检测 KVM
  virsh list --all
网络

  如出现
  Id Name State
  -------------------------------------------------------
  则安装成功架构

  virsh list  表示列出已开机的虚拟机
五、在 GUI 模式下安装虚拟机,启动虚拟系统管理器工具

3、KVM网络模式设置

一、NAT ( 默认上网 ):虚拟机利用 host 机器的 ip 进行上网。对外显示一个 ip;
  virbr0 是 KVM 默认建立的一个 Bridge,其做用是为链接其上的虚机网卡提供 NAT 访问外网的功能,默认ip为192.168.122.1oop


二、自带的Bridge:将虚拟机桥接到 host 机器的网卡上 ,vm和 host 机器都经过 bridge 上网 . 对外有同网段的不通 ip,此种方式host却不能和vm联通
三、Linux Bridge:基本原理就是建立一个桥接接口 br0 ,在物理网卡和虚拟网络接口之间传递数据。此种方式host也能够和vm连通性能


  Linux Bridge 是 Linux 上用来作 TCP/IP 二层协议交换的设备,其功能你们能够简单的理解为是一个二层交换机或者 Hub。多个网络设备能够链接到同一个 Linux Bridge,当某个设备收到数据包时,Linux Bridge 会将数据转发给其余设备
(1)添加 br0 网卡的配置文件

cd /etc/sysconfig/network-scripts cp ifcfg-ens33 ifcfg-br0

(2)修改网卡配置文件

vim ifcfg-ens33
TYPE=Ethernet NAME=ens33 DEVICE=ens33 ONBOOT=yes BRIDGE=br0
vim ifcfg-br0
TYPE=Bridge NAME=br0 DEVICE=br0 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.11.12 PREFIX=24(NETMASK=255.255.255.0) GATEWAY=192.168.11.2 DNS=192.168.11.2

(3)重启host:reboot
(4)检查
  # ethtool br0
  # brctl show
  # ifconfig br0

  #lsblk 命令用来查看block设备的信息

4、virt-manager建立虚拟机

(1)首先经过命令 virt-manager 启动图形界面:
  点下面的图标建立虚机

(2)给虚机命名为 kvm1,这里选择从哪里启动虚机。若是是安装新的 OS,能够选择第一项。若是已经有安装好的镜像文件,选最后一项(以下图)。


(3)接下来须要告诉 virt-manager 镜像的位置,点击 “Browser”


(4)须要在系统中上传一个镜像文件到属主机上,放到 /var/lib/libvirt/images/ 目录下,这是 KVM 默认查找镜像文件的地方。


(5)为虚拟机分配 CPU、内存和磁盘


(6)为虚拟机命名,并在安装前配置硬件参数,点击“Finish”。网络选择三节课建立的br0网桥,点击绿色“对勾”开始安装

(7)控制台弹出以下图,安装linux安装步骤安装便可:


virt-manager 能够对虚机进行各类管理操做,界面直观友好,很容易上手。 同时咱们也能够用命令 virsh 管理虚机,好比查看宿主机上的虚机:

相关文章
相关标签/搜索