KVM虚拟机安装部署全攻略分享

 更新时间:2025年02月05日 10:52:01   作者:OpsEye  
KVM虚拟化技术基于Linux内核,使用CPU的虚拟化扩展实现高性能的虚拟化,它由KVM内核模块、QEMU模拟器和libvirt库组成,提供高效的虚拟机创建、管理和调度功能,KVM支持多种操作系统和平台,具有高效性、隔离性、灵活性和自动化运维等特点,广泛应用于云计算

一、概述

1、原理

KVM(Kernel-based Virtual Machine)虚拟化技术是一种基于内核的虚拟化技术,KVM虚拟化技术的实现依赖于CPU的虚拟化扩展(如Intel VT和AMD-V)。

当宿主机启动时,KVM会加载一个轻量级的内核模块kvm.ko,该模块负责与硬件进行交互,实现虚拟机的创建、管理和调度。

2、组成

  • KVM内核模块:负责与硬件进行交互,提供虚拟机的创建、管理和调度功能。
  • QEMU模拟器:用于模拟各种硬件设备,如CPU、内存、硬盘等。QEMU通过与KVM内核模块进行通信,实现对虚拟机的控制和管理。
  • libvirt库:提供了一个跨平台的API,用于管理虚拟机、存储和网络等资源。libvirt库可以与KVM、Xen、VMware等多种虚拟化技术集成,实现了资源的集中管理和自动化运维。

3、特点

  • 高效性:KVM虚拟化技术基于Linux内核,与操作系统紧密结合,提供了高性能的虚拟化解决方案。
  • 隔离性:每个虚拟机都有自己的操作系统、应用程序和用户空间,彼此之间相互隔离。这种隔离性使得虚拟机之间的故障互不影响,提高了系统的稳定性和安全性。
  • 灵活性:KVM支持多种操作系统和平台,可以根据不同的需求灵活配置虚拟机。
  • 自动化运维:通过libvirt库提供的API,可以实现虚拟机的自动化创建、管理和调度,降低了运维成本。

4、应用

  • 云计算:KVM虚拟化技术为云计算提供了强大的基础设施支持,可以快速地创建、管理和调度虚拟机资源。
  • 企业IT基础机房设施管理系统:通过KVM客户端管理软件,可以轻松地直接访问位于多个远程位置的服务器和设备,实现远程管理和维护。
  • 科研与教育:KVM虚拟化技术为科研和教育领域提供了灵活的实验环境,可以模拟多种操作系统和平台,方便学生进行实验和学习。

二、安装部署

注:此教程以Centos7.9系统演示,其他linux内核系统也可参考,然而,不同操作系统间存在的固有差异,可能会引发诸如依赖关系不全、软件版本不兼容等问题。

1、虚拟化软件安装

#安装需要的包
yum -y install qemu-kvm virt-install cockpit cockpit-docker cockpit-machines cockpit-dashboard cockpit-storaged cockpit-packagekit
#启动
systemctl enable --now cockpit.socket
systemctl restart libvirtd
systemctl restart cockpit

浏览器访问:http://ip:9090

用户名密码为本机的用户名和密码

2、创建虚拟机

登录后点击虚拟机=》Create VM创建虚拟机

进入安装界面进行系统安装

安装完毕后我们给虚拟机增加数据盘,注意:不同的磁盘 盘符不能相同

#先关机
virsh destroy centos7.9
cd /var/lib/libvirt/images
#生成100G的磁盘
qemu-img create -f qcow2 data1_disk.qcow2 100G
#修改虚拟机配置
virsh edit centos7.9
#增加以下内容
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='data1_disk.qcow2'/>
      <target dev='vdb' bus='virtio'/>
    </disk>
#其中type表示硬盘的格式
#file表示硬盘所在的路径
#dev表示硬盘在系统中显示的盘符
#bus表示硬盘的接线类型,如果是windows系统一般是ide

开机

virsh start centos7.9

3、测试

创建一个ip为10.10.0.100 规格4C 8G,拥有三个100G数据盘的虚拟机。

3.1准备工作

复制此虚拟机的系统盘作为后续虚拟机的系统盘模板

cp centos7.9.qcow2 virtualization-base-centos.qcow2

获取此虚拟机的xml模板

virsh dumpxml centos7.9 > CentOS7.9-base.xml

3.2创建数据盘

qemu-img create -f qcow2 data1_disk10.10.0.100.qcow2 100G
qemu-img create -f qcow2 data2_disk10.10.0.100.qcow2 100G
qemu-img create -f qcow2 data3_disk10.10.0.100.qcow2 100G

3.3 复制系统盘

cp virtualization-base-centos.qcow2 os_disk10.10.0.100.qcow2

3.4 修改xml配置文件

cp CentOS7.9-base.xml 10.10.0.100.xml
vim 10.10.0.100.xml

修改如下地方

修改完成后保存退出

3.5 定义并运行虚拟机

#定义虚拟机
virsh define 10.10.0.100.xml
#查看虚拟机状态
virsh list --all
#运行虚拟机
virsh start 10.10.0.100

3.6 登入虚拟机修改ip

cd /etc/sysconfig/network-scripts/

找到我们需要修改的配置文件,此机器的配置文件名为ifcfg-eth0

vim ifcfg-eth0
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=10.10.0.100 #静态IP
GATEWAY=x.x.x.x #默认网关
NETMASK=255.255.255.0 #子网掩码

重启网络

service network restart

至此,我们完成了一个虚拟机的搭建。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤

    kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤

    这篇文章主要介绍了kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤,非常具有实用价值,需要的朋友可以参考下。
    2016-12-12
  • 安装KVM并创建虚拟机及基本使用方式

    安装KVM并创建虚拟机及基本使用方式

    本文详细介绍了在CentOS 7环境下使用KVM进行虚拟化管理的步骤,包括安装相关软件包、启动服务、创建虚拟机(图形化界面、命令行、自动化部署)、网络配置以及虚拟机管理等
    2025-02-02
  • kvm中使用console命令记录的方法

    kvm中使用console命令记录的方法

    这篇文章主要给大家介绍了在kvm中如何使用console命令记录的方法,文中通过图文介绍的很详细,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友们可以参考借鉴,下面感兴趣的朋友们一起来学习学习吧。
    2016-11-11
  • 详解CentOS7.2部署KVM虚拟机(图文)

    详解CentOS7.2部署KVM虚拟机(图文)

    这篇文章主要介绍了详解CentOS7.2部署KVM虚拟机(图文),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 在CentOS7搭建KVM虚拟化平台(三种方式)

    在CentOS7搭建KVM虚拟化平台(三种方式)

    这篇文章主要介绍了在CentOS7搭建KVM虚拟化平台(三种方式),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 详解基于KVM的SRIOV直通配置及性能测试

    详解基于KVM的SRIOV直通配置及性能测试

    这篇文章主要介绍了详解基于KVM的SRIOV直通配置及性能测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 详细介绍kvm虚拟机静态和动态迁移(图文介绍)

    详细介绍kvm虚拟机静态和动态迁移(图文介绍)

    本篇文章主要详细介绍kvm虚拟机静态和动态迁移,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • CentOS 7中搭建KVM虚拟化平台的方法步骤

    CentOS 7中搭建KVM虚拟化平台的方法步骤

    这篇文章主要介绍了CentOS 7中搭建KVM虚拟化平台的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • KVM 虚机镜像扩容和压缩的操作

    KVM 虚机镜像扩容和压缩的操作

    这篇文章主要介绍了KVM 虚机镜像操作中的扩容和压缩问题,通过例子演示了如何将vm_n01.qcow2这个镜像扩容到40G,给大家讲解了使用RAW格式对镜像扩容的问题,需要的朋友可以参考下
    2022-03-03
  • Centos7下搭建KVM虚拟机的方法

    Centos7下搭建KVM虚拟机的方法

    本篇文章主要介绍了Centos7下搭建KVM虚拟机的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。
    2017-03-03

最新评论