部署及管理KVM虚拟化平台

在Windows系统下部署虚拟化可以采用Hyper-V、vSphere虚拟化技术,那么在Linux系统下就需要使用到——KVM。

KVM依托CPU虚拟化指令集,实现高性能的虚拟化支持。由于与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。

在KVM环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与Linux系统中的安全模块进行整合,可以灵活地实现资源的分配及管理。如图:

在Linux系统下部署KVM虚拟化,必须开启CPU虚拟化支持。

一、安装KVM及相应的管理工具

(1)安装KVM及所需软件

[[email protected] ~]# yum groupinstall -y "GNOME Desktop"
//安装GNOME桌面环境
[[email protected] ~]# yum -y install qemu-kvm
//安装KVM模块
[[email protected] ~]# yum -y install qemu-kvm-tools
//安装KVM调试工具(可以不安装)
[[email protected] ~]# yum -y install virt-install
//安装构建虚拟机的命令行工具
[[email protected] ~]# yum -y install qemu-img
//安装qemu组件,创建磁盘、启动虚拟机等
[[email protected] ~]# yum -y install bridge-utils
//安装网络支持工具
[[email protected] ~]# yum -y install libvirt
//安装虚拟机管理工具
[[email protected] ~]# yum -y install virt-manager
//安装图形界面管理虚拟机

(2)验证CPU是否支持虚拟化

[[email protected] ~]# cat /proc/cpuinfo | grep vmx
//Intel服务器使用这条命令进行验证(有输出就表示支持虚拟化)
[[email protected] ~]# cat /proc/cpuinfo | grep smv
//AMD服务器使用这条命令进行验证

(3)检查KVM模块是否安装

[[email protected] ~]# lsmod | grep kvm
//表示已经安装
kvm_intel             170181  0
kvm                   554609  1 kvm_intel
irqbypass              13503  1 kvm

(4)启动libvirtd服务,开启相应的支持

[[email protected] ~]# systemctl start libvirtd
[[email protected] ~]# systemctl enable libvirtd

二、设置KVM网络

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

关于两种模式的说明:

1.用户模式:及NAT方式,这种方式时默认网络,数据包由NAT方式通过主机的接口进行转送,可以访问外网,但是无法从外部访问虚拟机网络;

2.桥接模式:这种模式允许虚拟机可以像一台主机一样拥有网络,外部网络可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持。

以Bridge(桥接模式)为例:

[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-ens33 ifcfg-br0
//将网卡的配置文件复制一份,命名为br0
[[email protected] network-scripts]# vim ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none                                   //不获取IP地址
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=431fe077-8089-4503-95a5-6eb6236a8c00
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0                                     //桥接到br0网卡上
[[email protected] network-scripts]# vim ifcfg-br0
TYPE=Bridge                                   //类型改为桥接模式
BOOTPROTO=static                        //静态获取IP地址
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0                                //修改网卡名称及设备名称,(UUID一行必须删除)
ONBOOT=yes
IPADDR=192.168.1.1
[[email protected] ~]# systemctl restart network
//重新启动网卡服务
[[email protected] ~]# ifconfig
//确认网卡信息
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::5a86:eff9:cdb9:c746  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:00:11:89  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 808 (808.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25  bytes 3727 (3.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:00:11:89  txqueuelen 1000  (Ethernet)
        RX packets 15  bytes 3627 (3.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25  bytes 3751 (3.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

三、KVM管理

[[email protected] ~]# mkdir -p /data_kvm/store
//创建一个用于虚拟机存储池的目录
[[email protected] ~]# mkdir -p /data_kvm/iso
//创建一个用于镜像存储池的目录
[[email protected] ~]# virt-manager
//使用图形界面管理KVM

(1)创建存储池





以同样的方式再次创建一个用于存放镜像的存储池!

(2)创建存储卷


(3)上传系统镜像,创建虚拟机

[[email protected] ~]# cp /dev/cdrom /data_kvm/iso/centos7.iso









接下来就跟证常安装操作系统一样,安装完成系统之后,可以设置IP地址,自行测试,与外部网络是否能够通信!

至此,KVM已经已经部署完成!

管理KVM虚拟机两种方式:
1.图形化管理;
2.使用命令进行管理

关于图形化管理,简单易懂,这里就不多做介绍了。

主要讲解一下管理KVM虚拟机的常用命令:

[[email protected] ~]# virsh -h
//查看命令帮助
[[email protected] ~]# ls /etc/libvirt/qemu
//查看KVM的配置文件存放目录
networks  test01.xml
(test01.xml是虚拟机系统实例的配置文件)
[[email protected] ~]# virsh list --all               #查看虚拟机状态
 Id    名称                         状态
----------------------------------------------------
 2     test01                         running

[[email protected] ~]# virsh shutdown test01
//关闭虚拟机
[[email protected] ~]# virsh start test01
//开启虚拟机
[[email protected] ~]# virsh destroy test01
//强制关机
[[email protected] ~]# virsh create /etc/libvirt/qemu/test01.xml
//通过配置文件启动虚拟机
[[email protected] ~]# virsh suspend test01
//挂起虚拟机
[[email protected] ~]# virsh resume test01
//从挂起状态恢复运行虚拟机
[[email protected] ~]# virsh autostart test01
//设置虚拟机伴随宿主机自动启动

虚拟机的删除与添加:

[[email protected] ~]# virsh dumpxml test01 > /etc/libvirt/qemu/test02.xml
//导出虚拟机配置
[[email protected] ~]# virsh  shutdown test01
[[email protected] ~]# virsh  undefine test01
//删除虚拟机
[[email protected] ~]# virsh list --all
//查看虚拟机是否被删除
 Id    名称                         状态
----------------------------------------------------

//通过备份的配置文件重新定义虚拟机:
[[email protected] ~]# cd /etc/libvirt/qemu/
[[email protected] qemu]# mv test02.xml test01.xml
[[email protected] qemu]# virsh define test01.xml

 [[email protected] qemu]# vim /etc/libvirt/qemu/test01.xml
 //修改虚拟机配置(内存大小等)信息:
[[email protected] qemu]# virt-df -h test01
//在宿主机上查看虚拟机磁盘信息

克隆虚拟机:

[[email protected] qemu]# virt-clone -o test01 -n test02 -f /kvm/store/test02.qcow2
#将test01克隆为test02
[[email protected] qemu]# virsh list --all                 #查看现有虚拟机
 Id    名称                         状态
----------------------------------------------------
 -     test01                         关闭
 -     test02                         关闭

虚拟机创建快照:
(KVM虚拟机要使用快照功能,磁盘格式必须为qcow2)

[[email protected] qemu]# virsh snapshot-create test01
//对虚拟机test01创建快照
[[email protected] qemu]# virsh snapshot-list test01
//查看快照信息
 名称               生成时间              状态
------------------------------------------------------------
 1560191837           2019-06-11 02:37:17 +0800 shutoff
[[email protected] qemu]# virsh snapshot-revert test01 1560191837
//恢复虚拟机状态至1560191837
[[email protected] qemu]# virsh snapshot-delete test01 1560191837
//删除快照

原文地址:https://blog.51cto.com/14157628/2431582

时间: 2024-11-01 18:28:45

部署及管理KVM虚拟化平台的相关文章

KVM虚拟化平台部署及管理

前言 KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发.2007年2月被导入Linux 2.6.20核心中,成为内核源代码的一部分.2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中.本文介绍KVM虚拟化平台部署及管理. KVM简介 KVM特点 KVM必须在具备Intel VT或AMD-V功能的x86平台上运行.KVM包含一个

Linux之部署KVM虚拟化平台

Linux之部署KVM虚拟化平台 案例需求: 1.安装KVM所需软件,验证. 2.设置KVM网络,将网络设置为桥接模式. 3.使用virt-manager安装linux系统. 4.kvm基本管理的命令 (1)查看虚拟机的状态 (2)虚拟机的关机,强制关机和开机 (3)虚拟机的挂起和恢复 (4)配置虚拟机实例伴随宿主机自动启动 (5)导出虚拟机配置 5.kvm文件管理 (1)将raw格式磁盘转换为qcow2格式 (2)转换后,修改xml配置文件 (3)查看虚拟机磁盘信息 6.虚拟机克隆 7.虚拟机

部署KVM虚拟化平台

防伪码:一场秋雨一场寒,十场秋雨穿上棉. 第四章 部署KVM虚拟化平台 前言:我们在以前学习过vsphere虚拟化平台,安装过esxi5.5,在esxi5.5上安装过虚拟机,使用vcenter管理esxi,从而实现了虚拟机的迁移,备份,高可用等操作,但是安装成本很高,需要购买正版.今天这一章内容是利用linux内核的一个模块kvm,并使用一些辅助工具来搭建虚拟机,完成和esxi类似的操作,实现linux虚拟化.KVM直接整合到了linux内核,因此在性能.安全性.兼容性.稳定性上都有好的表现.我

Centos 6.5 KVM 虚拟化平台部署

KVM简介 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一. KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术).是基于硬件的完全虚拟化.而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化.但Xen本身

CentOS7中部署KVM虚拟化平台

CentOS7中部署KVM虚拟化平台 虚拟化介绍 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原来的物理结构,使用户可以灵活管理这些资源,并允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化优势: 减少了服务器的数量,降低了硬件采购成本 资源利用率最大化 降低机房空间.散热.用电消耗的成本 硬件资源可以动态调整,提高了企业IT业务的灵活性 高可用性 在不中断服务的情况下进行物理硬件调整 具备更高效的容灾能力 KVM虚拟化: KVM自从Linux2.6

centos7部署KVM虚拟化平台详解

KVM自Linux 2.6.20版本后就直接整合到Linux内核,它依托CPU虚拟化指令集实现高性能的虚拟化支持.它与Linux内核高度整合,因此在性能.安全性.兼容性.稳定性上都有很好的表现.在KVM环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程.因此它可以很方便地与Linux系统中的安全模块进行整合(SELinux),可以灵活的实现硬件资源的管理和分配,KVM虚拟化的架构图如下: 话不多说,开始搭建KVM虚拟化平台: 1.安装: [[email protected] media]

部署 KVM 虚拟化平台

KVM自Linux 2.6.20版本后就直接整合到Linux内核,它依托CPU虚拟化指令集实现高性能的虚拟化支持.它与Linux内核高度整合,因此在性能.安全性.兼容性.稳定性上都有很好的表现.在KVM环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程.因此它可以很方便地与Linux系统中的安全模块进行整合(SELinux),可以灵活的实现硬件资源的管理和分配,KVM虚拟化的架构图如下:下面开始安装,在 Centos 的光盘中,已经提供了安装 KVM 所需软件,只需要部署基于光盘镜像的本

部署KVM虚拟化平台------搭建

一 .部署KVM虚拟化平台 hyper-v是windows中的虚拟化1.KVM模块直接整合在Linux内核中,kvm是内核模块,虚拟机与kvm模块之间为管理工具2.KVM组成1.KVM Driver---虚拟机创建---虚拟机内存分配---虚拟CPU寄存器读写---虚拟CPU运行 2.QEMU (经过简化与修改)---模拟PC硬件的用户控件组件---提供I/O设备模型及访问外设的途径 二.虚拟化的三种模式 **1.客户模式:典型的虚拟机环境(虚拟网卡.内存.硬盘): 2.用户模式:工具层,下面是

KVM虚拟化技术之virt-manager使用及KVM虚拟化平台网络模型介绍

接上篇博文继续 一.使用virt-manager创建和管理虚拟机 1.使用VNC Viewer连接进入虚拟化平台主机 2.打开终端输入virt-manager命令启动virt-manager虚拟机管理界面 #virt-manager 3.通过virt-manager安装CentOS 6.6的虚拟机 点击如图所示图标新建虚拟机: 选择PXE引导,我的网络内存在一个系统自动化部署服务器: 选择操作系统类型和版本: 设置内存和CPU个数: 设置硬盘大小,这里采用动态扩展磁盘空间方式: 忽略这个错误,由