作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔离,每个虚拟机都有自己独立的操作系统,磁盘,网络资源。虚拟化是一个很庞大的系统,我的介绍主要是帮助你入门,让你了解基本技术原理,具备搭建操作虚拟化的能力。由于涉及到内容较多,这里的目录就只是以简单分类介绍和说明,不再针对单个小节进行目录列出,主要涉及的分类包括以下几个方面:
1.虚拟化介绍(本小节属于)
2.kvm基本使用
3.kvm进阶使用
4.kvm技术原理
5.vmware介绍&使用
6.小结
我们在上一章介绍不同的虚拟化技术,就目前而言,kvm 已经成为绝对的主流,目前国内的云厂商的公有云还是私有云底层技术几乎都是kvm,所以我们也将重点讲解kvm相关技术。
KVM(Kernel-based Virtual Machine)是一种基于内核的开源虚拟化技术,主要用于 Linux 系统。以下是对 KVM 虚拟化技术的介绍:
一、技术原理
-
硬件辅助虚拟化:KVM 利用现代处理器中的硬件虚拟化扩展,如 Intel VT-x 和 AMD-V。这些扩展允许在物理硬件上直接运行多个虚拟机,每个虚拟机都有自己的操作系统和应用程序。
-
内核模块:KVM 是作为 Linux 内核的一个模块实现的。这个模块提供了对虚拟机的创建、管理和监控功能。当启用 KVM 时,内核可以直接管理虚拟机的硬件资源,包括 CPU、内存、存储和网络设备。
-
QEMU 协作:通常与 QEMU(Quick Emulator)结合使用。QEMU 是一个通用的开源模拟器,可以模拟各种硬件设备。在 KVM 环境中,QEMU 用于模拟一些硬件设备,如硬盘、网卡和显卡等,以及提供一些高级功能,如动态迁移和快照。
-
libvirt:libvirt是一个用于管理虚拟化平台的API库,它提供了统一的接口来与不同的虚拟化软件(包括KVM)进行交互。libvirt可以通过命令行工具(如virsh)或编程接口来管理虚拟机的创建、配置、启动和关闭等操作。
-
virt-manager:virt-manager是一个基于图形界面的虚拟机管理工具,它使用libvirt API来管理KVM虚拟机。virt-manager提供了一个易于使用的界面,可以创建、配置和监视虚拟机,以及执行其他管理任务。
-
KVM工具集:KVM还提供了一些其他的工具,用于处理KVM虚拟机的管理和监控。其中包括kvmstat用于查看KVM的性能统计信息,virsh用于通过命令行管理虚拟机,virt-install用于快速安装虚拟机等。
二、功能特点
-
高性能:由于利用了硬件虚拟化扩展,KVM 可以提供接近物理机的性能。虚拟机可以直接访问硬件资源,减少了软件模拟带来的性能开销。
-
资源隔离:KVM 可以为每个虚拟机提供独立的硬件资源,包括 CPU、内存、存储和网络设备。这确保了虚拟机之间的资源隔离,提高了系统的安全性和稳定性。
-
动态迁移:支持虚拟机的动态迁移,即可以在不中断虚拟机运行的情况下将虚拟机从一个物理主机迁移到另一个物理主机。这对于高可用性和负载均衡非常有用。
-
快照功能:可以为虚拟机创建快照,以便在需要时恢复到特定的状态。这对于测试和开发环境非常有用,可以快速恢复到之前的状态,减少了重新配置的时间。
-
多种操作系统支持:KVM 可以支持多种操作系统,包括 Linux、Windows、BSD 等。这使得用户可以在同一物理主机上运行不同类型的操作系统,满足不同的应用需求。
三、应用场景
-
服务器虚拟化:KVM 是一种流行的服务器虚拟化技术,可以将一台物理服务器虚拟化为多个虚拟机,每个虚拟机都可以运行不同的操作系统和应用程序。这可以提高服务器的利用率,降低硬件成本和管理成本。
-
云计算:在云计算环境中,KVM 可以作为基础设施即服务(IaaS)的一部分,为用户提供虚拟机实例。用户可以根据自己的需求选择不同的操作系统和配置,实现弹性计算和资源共享。
-
开发和测试环境:KVM 可以为开发人员和测试人员提供一个隔离的环境,用于开发和测试新的软件和应用程序。可以快速创建和销毁虚拟机,方便进行不同配置和场景的测试。
-
高可用性和灾难恢复:通过动态迁移和快照功能,KVM 可以实现高可用性和灾难恢复。在发生硬件故障或其他灾难时,可以快速将虚拟机迁移到其他物理主机上,保证业务的连续性。
四、安装
2.1 系统准备
本次测试采用的我的迷你主安装的rocky9.4,如果是用Workstation操作还需要打开这个这个功能才支持硬件虚拟化(当然这里已经属于虚拟化嵌套了)。
2.2 初始化
关闭selinux,关闭防火墙,参考Linux系统-初始化。
2.3 安装软件
yum install -y qemu-kvm libvirt virt-install virt-manager bridge-utils
2.4 启动服务
systemctl start libvirtd
systemctl enable libvirtd
libvirtd
是一个后台服务进程,也是kvm管理端的唯一后台服务进程,我们的在服务器里面的kvm相关命令的后端就是libvirtd。它是由libvirt开发的一种虚拟化管理工具,用于管理和控制各种虚拟化技术,包括KVM、QEMU、Xen等。
2.5 配置网络(可选)
在libvirtd
启动以后,会默认创建一个网络出来,192.168.122.0/24,如果想要修改,需要修改/etc/libvirt/qemu/networks/default.xml,这个网络简单来说就是创建的虚拟机可以使用这个网络,通过nat的方式到互联网,作为体验功能是可以的,这个网络可以等效于一个路由器,创建的虚拟机就等于接入在这个路由器下的电脑。
以上网络操作部署完成就有,不需要额外部署,但是这个网络创建的虚拟机,只能本机使用,外面无法连接进来,所以我们下一章将介绍下kvm的网络情况。
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。
标签:KVM,运维,虚拟化,虚拟机,kvm,安装,可以 From: https://blog.csdn.net/dessler/article/details/143754488