首页 > 其他分享 >云计算&虚拟化-kvm介绍&安装

云计算&虚拟化-kvm介绍&安装

时间:2024-11-15 22:15:59浏览次数:3  
标签:KVM 运维 虚拟化 虚拟机 kvm 安装 可以

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔离,每个虚拟机都有自己独立的操作系统,磁盘,网络资源。虚拟化是一个很庞大的系统,我的介绍主要是帮助你入门,让你了解基本技术原理,具备搭建操作虚拟化的能力。由于涉及到内容较多,这里的目录就只是以简单分类介绍和说明,不再针对单个小节进行目录列出,主要涉及的分类包括以下几个方面:

1.虚拟化介绍(本小节属于)

2.kvm基本使用

3.kvm进阶使用

4.kvm技术原理

5.vmware介绍&使用

6.小结

我们在上一章介绍不同的虚拟化技术,就目前而言,kvm 已经成为绝对的主流,目前国内的云厂商的公有云还是私有云底层技术几乎都是kvm,所以我们也将重点讲解kvm相关技术。

KVM(Kernel-based Virtual Machine)是一种基于内核的开源虚拟化技术,主要用于 Linux 系统。以下是对 KVM 虚拟化技术的介绍:

一、技术原理

  1. 硬件辅助虚拟化:KVM 利用现代处理器中的硬件虚拟化扩展,如 Intel VT-x 和 AMD-V。这些扩展允许在物理硬件上直接运行多个虚拟机,每个虚拟机都有自己的操作系统和应用程序。

  2. 内核模块:KVM 是作为 Linux 内核的一个模块实现的。这个模块提供了对虚拟机的创建、管理和监控功能。当启用 KVM 时,内核可以直接管理虚拟机的硬件资源,包括 CPU、内存、存储和网络设备。

  3. QEMU 协作:通常与 QEMU(Quick Emulator)结合使用。QEMU 是一个通用的开源模拟器,可以模拟各种硬件设备。在 KVM 环境中,QEMU 用于模拟一些硬件设备,如硬盘、网卡和显卡等,以及提供一些高级功能,如动态迁移和快照。

  4. libvirt:libvirt是一个用于管理虚拟化平台的API库,它提供了统一的接口来与不同的虚拟化软件(包括KVM)进行交互。libvirt可以通过命令行工具(如virsh)或编程接口来管理虚拟机的创建、配置、启动和关闭等操作。

  5. virt-manager:virt-manager是一个基于图形界面的虚拟机管理工具,它使用libvirt API来管理KVM虚拟机。virt-manager提供了一个易于使用的界面,可以创建、配置和监视虚拟机,以及执行其他管理任务。

  6. KVM工具集:KVM还提供了一些其他的工具,用于处理KVM虚拟机的管理和监控。其中包括kvmstat用于查看KVM的性能统计信息,virsh用于通过命令行管理虚拟机,virt-install用于快速安装虚拟机等。

图片

二、功能特点

  1. 高性能:由于利用了硬件虚拟化扩展,KVM 可以提供接近物理机的性能。虚拟机可以直接访问硬件资源,减少了软件模拟带来的性能开销。

  2. 资源隔离:KVM 可以为每个虚拟机提供独立的硬件资源,包括 CPU、内存、存储和网络设备。这确保了虚拟机之间的资源隔离,提高了系统的安全性和稳定性。

  3. 动态迁移:支持虚拟机的动态迁移,即可以在不中断虚拟机运行的情况下将虚拟机从一个物理主机迁移到另一个物理主机。这对于高可用性和负载均衡非常有用。

  4. 快照功能:可以为虚拟机创建快照,以便在需要时恢复到特定的状态。这对于测试和开发环境非常有用,可以快速恢复到之前的状态,减少了重新配置的时间。

  5. 多种操作系统支持:KVM 可以支持多种操作系统,包括 Linux、Windows、BSD 等。这使得用户可以在同一物理主机上运行不同类型的操作系统,满足不同的应用需求。

三、应用场景

  1. 服务器虚拟化:KVM 是一种流行的服务器虚拟化技术,可以将一台物理服务器虚拟化为多个虚拟机,每个虚拟机都可以运行不同的操作系统和应用程序。这可以提高服务器的利用率,降低硬件成本和管理成本。

  2. 云计算:在云计算环境中,KVM 可以作为基础设施即服务(IaaS)的一部分,为用户提供虚拟机实例。用户可以根据自己的需求选择不同的操作系统和配置,实现弹性计算和资源共享。

  3. 开发和测试环境:KVM 可以为开发人员和测试人员提供一个隔离的环境,用于开发和测试新的软件和应用程序。可以快速创建和销毁虚拟机,方便进行不同配置和场景的测试。

  4. 高可用性和灾难恢复:通过动态迁移和快照功能,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

相关文章

  • linux下编译安装memcached
    Memcached在Linux下的编译安装一、安装依赖库Memcached依赖于一些系统库,在大多数Linux发行版中,需要安装libevent库。Debian/Ubuntu系统使用以下命令安装依赖库:sudoapt-yupdatesudoapt-yinstalllibevent-devCentOS/RHEL系统可以通过以下命令安装:sudoyum......
  • Latex 安装
    使用的开发环境是VSCode.Latex在编译时需要用到宏包.宏包到底是啥?有啥作用?从何处下载?Latex软件的安装:texlive:一次性下载所有的宏包.磁盘需求较大,约7~8G.miktex:仅下载必要的宏包,编译时补充下载宏包.磁盘需求较小,约几百M.清华大学开源软件镜......
  • 【Luminar Neo1.20软件下载与安装教程】
    1、安装包「LuminarNeo1.20」:链接:https://pan.quark.cn/s/ddbc130512f4提取码:ccKm「LuminarNeo.rar1.19」:链接:https://pan.quark.cn/s/72ac8f718970提取码:jGnx2、安装教程(建议关闭杀毒软件和系统防护)1)       双击LuminarNeoPortable.exe安装,弹窗安装对话框......
  • 【Capture one 2023软件下载与安装教程】
    1、安装包「CaptureOne23」:链接:https://pan.quark.cn/s/9ff0306530d1提取码:xXDC「Captureone22」:链接:https://pan.quark.cn/s/34b723a4d6e1提取码:gpM3「CaptureOne21」:链接:https://pan.quark.cn/s/d65ea77ba33a提取码:8A5D2、安装教程(建议关闭杀毒软件和系统防护......
  • <QNAP 453D QTS-5.x> 日志记录:在 NAS 从 huggingface_hub 下载模型 google-t5/t5-base,在
    目的:离线使用 google-t5/t5-base预训练模型, 行多种自然语言处理任务:翻译可借不支持东亚语言。Project-22.Ai-1.T5-base只能在:  English,French,Romanian,German间使用,code非常简单,大概沾到本地/离线使用模型的皮毛。运行这么小的模型,也使我的笔记拔高了,硬件要......
  • yolov8环境配置安装
    声明:本教程基于已经成功安装了anaconda的基础上完成1.首先在anacondaprompt里面输入以下命令,环境名称可以自己起,python版本可以根据自己的要求设定。2.运行上方命令之后会出现以下内容,输入y即可3.安装成功后,用下面命令进入你的虚拟环境,可以看右侧小图,此时环境已经由bas......
  • Cadence安装
    记录一下安装过程,方便以后安装使用Cadence。去吴川斌的博客下载安装包,吴川斌博客:https://www.mr-wu.cn/cadence-orcad-allegro-resource-downloads/下载阿狸狗破戒大师我这边下载的是版本V3.2.6,同样在吴川斌的博客下载安装包,链接同上对光盘映像文件解压后双击,可以在我......
  • 【MySQL的安装与配置】
    目录:一、下载MySQL二、安装MySQL三、配置环境变量一、下载MySQL进入官方下载页面:https://www.mysql.com/downloads二、安装MySQL双击运行下载好的安装程序 三、配置环境变量此部分操作的目的就是方便咱们通过命令行在任何位置都可以......
  • 安装h5py
    第一部分:基本含义h5py是一个用于在Python中读写HDF5(HierarchicalDataFormatversion5)文件的库。HDF5是一种文件格式和数据模型,专门设计用于存储和组织大量数据。h5py提供了一个方便的接口,允许Python程序轻松地创建、访问和操作HDF5文件中的数据。第二部分:安装c......
  • Docker不再神秘 ------Ubuntu20.04 安装Docker 及实用技巧,建议收藏
    Dockerdocker是一种容器,简而言之就是别人把一堆环境配置好了,你可以下载下来直接拿来使用(我的个人理解),有点像虚拟机你知道吧。比如下面这样,我直接打开了一个小电脑(docker),里面桌面啊、root啊全都有,跟你ubuntu系统类似,单说细节还不完全一样,毕竟它轻便哈哈……也有一些对比这下......