首页 > 其他 > 详细

部署 KVM 虚拟化平台

时间:2019-10-25 12:32:29      阅读:93      评论:0      收藏:0      [点我收藏+]

KVM 产品简介

    公司部分 Linux 服务器利用率不高,为充分利用这些 Linux 服务器,可以部署 KVM 虚拟化平台,在物理机上运行多个业务系统(虚拟机)。例如,在运行 Nginx 的服务器上部署 KVM,然后在虚拟机上运行 Tomcat,MySQL等企业服务。

所属类别 : 软件

KVM:就是Keyboard Video Mouse的缩写。KVM 交换机通过直接连接键盘、视频和鼠标 (KVM) 端口,让您能够访问和控制计算机。KVM 技术无需目标服务器修改软件。这就意味着可以在 BIOS 环境下,随时访问目标计算机。KVM 提供真正的主板级别访问,并支持多平台服务器和串行设备。

KVM 技术已经从最初的基础SOHO办公型,发展成为企业 IT 基础机房设施管理系统。可以从kvm 客户端管理软件轻松的直接访问位于多个远程位置的服务器和设备。KVM over IP 解决方案具备完善的多地点故障转移功能、符合新服务器管理标准 (IPMI) 的直接界面,以及将本地存储媒体映射至远程位置的功能。

 基本信息

  • 中文名称

    KVM

  • 全称

    Keyboard Video Mouse

  • 本质

    计算机技术

  • 优点

    支持多平台服务器和串行设备

  • 地位

    网络中的管理设备

      ●   功能

           支持串口overIP远程调试串口设备

虚拟化

虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。

物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest)。

那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?
这个主要是通过一个叫做 Hypervisor 的程序实现的。

根据 Hypervisor 的实现方式和所处的位置,虚拟化又分为两种:
1型虚拟化和2型虚拟化

1型虚拟化

Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervisor 上运行。Hypervisor 实现方式一般是一个特殊定制的 Linux 系统。Xen 和 VMWare 的 ESXi 都属于这个类型。

技术分享图片

2型虚拟化

物理机上首先安装常规的操作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。

技术分享图片

理论上讲:

1型虚拟化一般对硬件虚拟化功能进行了特别优化,性能上比2型要高;

2型虚拟化因为基于普通的操作系统,会比较灵活,比如支持虚拟机嵌套。嵌套意味着可以在KVM虚拟机中再运行KVM。

KVM是什么?

KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor:

它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购。
它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU。
它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。
它需要支持虚拟化扩展的 CPU。
它是完全开源的。

KVM架构

KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。

  但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。

Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),被 KVM 置于一种受限制的 CPU 模式下运行。
KVM:运行在内核空间,提供CPU 和内存的虚级化,以及客户机的 I/O 拦截。Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理。
QEMU:修改过的为 KVM 虚机使用的 QEMU 代码,运行在用户空间,提供硬件 I/O 虚拟化,通过 IOCTL /dev/kvm 设备和 KVM 交互。

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,非一致存储访问结构 )

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:安全工具

KVM 虚拟化平台配置

1、真机 Linux 必须是 64 位操作系统,RHEL5.4及以上的系统平台

2、CPU 支持 VT 技术(BIOS 中开启)

注意:VMware 虚拟机需要

内存 至少3G

硬盘 60G

虚拟化引擎必须勾选 虚拟化 Intel VT -x/EPT 或 AMD -V/RVI(V)

3、安装前要查看 CPU 是否支持虚拟化

cat /proc/cpuinfo | egrep "vmx|svm"

4、安装前关闭 iptables 防火墙与 selinux

iptables -F

systemctl stop firewalld

setenforce 0

5、KVM 安装方式

(1)可在安装系统时选择桌面与所有虚拟化选项

(2)在已有的系统上安装 KVM 软件

在 CentOS7 的系统光盘镜像中,已经提供了安装 KVM 所需软件,通过部署基于光盘镜像的本地 yum 源,直接使用 yum  安装所需软件即可。

yum groupinstall "GNOME Desktop"           #安装 GNOME 桌面环境

yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager

qemu-kvm                                 # KVM 模块

qemu-kvm-tools                        # KVM 调试工具,可不安装

qemu-img                                  # qemu 组件, 创建磁盘,启动虚拟机

bridge-utils                                # 网络支持工具

libvirt                                         # 虚拟机管理服务

virt-manager                             # 图形界面管理虚拟机

6、检测 KVM 模块安装是否成功

lsmod | grep kvm

如果没有的话,可以用 modprobe kvm 重新加载一下

注意:使用 yum 安装完桌面后,将系统默认的运行 target 修改为 graphical.target。重启系统后进入图形界面,若不修改系统的默认运行 target,重启时可能会出错。

从Centos7以后采用target概念来定义运行级别,分为3级、5级,含义如下:
3级->multi-user.target
5级->graphical.target
- 相关命令如下
- 查看当前运行的级别
runlevel
- 修改开机默认运行级别命令
systemctl set-default multi-user.target或graphical.target


查看开机默认运行级别:
systemctl get-default
修改默认运行级别为图形方式:
systemctl set-default graphical.target

7、设置 KVM 网络

    宿主服务器安装完成 KVM,首先要设定网络,在 libvirt 中运行 KVM 网络有两种方法,NAT 和 Bridge,默认是 NAT。

1、用户模式,即 NAT 方式,这种方式是默认网络,数据包由 NAT 方式通过主机接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络。

2、桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部机器可以直接访问到虚拟机内部,但需要网卡支持,并编辑网卡参数文件以支持交接

Bridge 案例

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens32 ifcfg-br0

vim ifcfg-br0

TYPE  改为 Bridge

NAME 改为 br0

UUID 删掉

DEVICE 改为 br0

vim ifcfg-ens32

UUID 删掉

IPADDR  删掉

NETMASK  删掉

GATEWAY   删掉

DNS1  删掉

添加  BRIDGE=br0

重启 network 服务

systemctl restart network

8、virt-manager  KVM 管理工具

    virt-manager 是基于 libvirt 的图形化虚拟机管理软件,不同版本的 virt-manager 的界面和操作方法可能不同,是使用 KVM 虚拟机最简单的方法

virt-manager 

最好在 VMware 虚拟机 图形界面 打开

9、创建虚拟机

(1)创建存储池并创建存储卷

双击 QEMU/KVM  -> 存储 -> 单击 "  +  " 按钮新建存储池,创建两个存储池 KVM,ISO

用 ftp 将 CentOS7 安装镜像上传到服务器目录  /virtual/ISO  中。

KVM:用于存放虚拟机磁盘镜像文件

ISO:用于存放安装操作系统的镜像文件

(2)新建虚拟机

右击 QEMU/KVM -> 新建

本地安装               

                         前进

使用 ISO 镜像       PS:用存储池 ISO 上传的镜像

                         前进

 内存:2G

                          前进

选择或创建自定义存储    PS:用存储池 KVM 中的磁盘

                          前进

勾选 在安装前自定义配置

 网络为桥接

                          完成

引导选项   勾选    自动启动 主机引导时启动虚拟机                  应用

IDE CDROM 1    点击连接  把存储池 ISO 中的镜像连接            

                           开始安装

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

部署 KVM 虚拟化平台

原文:https://www.cnblogs.com/2567xl/p/11737170.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!