KVM(Kernel-based Virtual Machine)虚拟化技术

概述

01

原理

KVM(Kernel-based Virtual Machine)虚拟化技术是一种基于内核的虚拟化技术,KVM虚拟化技术的实现依赖于CPU的虚拟化扩展(如Intel VT和AMD-V)。当宿主机启动时,KVM会加载一个轻量级的内核模块kvm.ko,该模块负责与硬件进行交互,实现虚拟机的创建、管理和调度。

02

组成

● KVM内核模块:负责与硬件进行交互,提供虚拟机的创建、管理和调度功能。

● QEMU模拟器:用于模拟各种硬件设备,如CPU、内存、硬盘等。QEMU通过与KVM内核模块进行通信,实现对虚拟机的控制和管理。

● libvirt库:提供了一个跨平台的API,用于管理虚拟机、存储和网络等资源。libvirt库可以与KVM、Xen、VMware等多种虚拟化技术集成,实现了资源的集中管理和自动化运维。

03

特点

● 高效性:KVM虚拟化技术基于Linux内核,与操作系统紧密结合,提供了高性能的虚拟化解决方案。

● 隔离性:每个虚拟机都有自己的操作系统、应用程序和用户空间,彼此之间相互隔离。这种隔离性使得虚拟机之间的故障互不影响,提高了系统的稳定性和安全性。

● 灵活性:KVM支持多种操作系统和平台,可以根据不同的需求灵活配置虚拟机。

● 自动化运维:通过libvirt库提供的API,可以实现虚拟机的自动化创建、管理和调度,降低了运维成本。

04

应用

● 云计算:KVM虚拟化技术为云计算提供了强大的基础设施支持,可以快速地创建、管理和调度虚拟机资源。

● 企业IT基础机房设施管理系统:通过KVM客户端管理软件,可以轻松地直接访问位于多个远程位置的服务器和设备,实现远程管理和维护。

● 科研与教育:KVM虚拟化技术为科研和教育领域提供了灵活的实验环境,可以模拟多种操作系统和平台,方便学生进行实验和学习。

安装部署

01

虚拟化软件安装

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

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

浏览器访问:http://ip:9090  ,用户名密码为本机的用户名和密码。

图片

02

创建虚拟机

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

图片

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

图片

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

#先关机virsh destroy centos7.9cd /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

03

测试

创建一个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 100Gqemu-img create -f qcow2 data2_disk10.10.0.100.qcow2 100Gqemu-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.xmlvim 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-eth0BOOTPROTO="static"ONBOOT="yes"IPADDR=10.10.0.100 #静态IPGATEWAY=x.x.x.x #默认网关NETMASK=255.255.255.0 #子网掩码

重启网络

service network restart

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

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值