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

打印 上一主题 下一主题

主题 1034|帖子 1034|积分 3102

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


虚拟化,简朴来说就是把一台服务器/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 安装软件

  1. yum install -y qemu-kvm libvirt virt-install virt-manager bridge-utils
复制代码
2.4 启动服务

  1. systemctl start libvirtd
  2. systemctl enable libvirtd
复制代码


[code][/code] libvirtd是一个后台服务历程,也是kvm管理端的唯一后台服务历程,我们的在服务器里面的kvm相关下令的后端就是libvirtd。它是由libvirt开发的一种虚拟化管理工具,用于管理和控制各种虚拟化技能,包括KVM、QEMU、Xen等。




2.5 配置网络(可选)

在libvirtd 启动以后,会默认创建一个网络出来,192.168.122.0/24,如果想要修改,需要修改/etc/libvirt/qemu/networks/default.xml,这个网络简朴来说就是创建的虚拟机可以使用这个网络,通过nat的方式到互联网,作为体验功能是可以的,这个网络可以等效于一个路由器,创建的虚拟机就等于接入在这个路由器下的电脑。
以上网络操作部署完成就有,不需要额外部署,但是这个网络创建的虚拟机,只能本机使用,外面无法连接进来,所以我们下一章将介绍下kvm的网络环境。


运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎各人骚扰的运维!
关注微信公众号《运维小路》获取更多内容。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表