首页 > 其他分享 >基于RHEL 9 搭建 KVM 虚拟化环境

基于RHEL 9 搭建 KVM 虚拟化环境

时间:2024-09-24 14:12:32浏览次数:9  
标签:sudo 虚拟化 -- virt 虚拟机 KVM RHEL

一、准备工作

1. 检查硬件虚拟化支持

KVM 要求处理器支持硬件虚拟化技术:Intel VT-x(虚拟化技术扩展)或 AMD-V(虚拟化技术扩展)。

检查方法:

  1. 使用以下命令检查 CPU 是否支持虚拟化:

    egrep '(vmx|svm)' /proc/cpuinfo
    • 输出含有 vmx 的为 Intel 处理器支持虚拟化

    • 输出含有 svm 的为 AMD 处理器支持虚拟化

    注意:如果没有输出,可能需要进入 BIOS 并启用虚拟化技术(Intel VT-x 或 AMD-V)。

2. 更新系统

在安装软件包之前,先确保 RHEL 9 系统是最新的。

sudo dnf update -y

二、安装 KVM 和虚拟化工具

在 RHEL 9 中,虚拟化软件包可以通过软件组来安装,包含 KVM 核心组件和其他工具。

1. 安装 KVM 和相关组件

运行以下命令安装 KVM、libvirt(虚拟机管理工具)、virt-install(命令行安装虚拟机工具)和 virt-manager(图形界面虚拟机管理工具)。

sudo dnf install -y @virtualization
sudo dnf install -y virt-install virt-manager libvirt libvirt-devel qemu-kvm

安装包解释:

  • @virtualization:安装虚拟化相关软件组

  • virt-install:命令行工具,用于创建虚拟机

  • virt-manager:图形化界面管理虚拟机的工具

  • libvirt:虚拟机管理工具,提供服务管理 KVM

  • libvirt-devel:用于开发的库

  • qemu-kvm:QEMU(Quick Emulator)是 KVM 的默认虚拟机管理程序(Hypervisor)


三、启动和配置 KVM 服务

1. 启动 libvirtd 服务

libvirt 是 KVM 的核心服务,负责管理虚拟机的生命周期。

sudo systemctl enable --now libvirtd
  • enable:设置开机自启

  • --now:立即启动服务

你可以用以下命令检查服务是否正在运行:

sudo systemctl status libvirtd

2. 加入 libvirt 组(可选)

为了简化操作,将当前用户加入 libvirt 组,这样无需使用 sudo 就能管理虚拟机。

sudo usermod -aG libvirt $(whoami)
newgrp libvirt

3. 验证 KVM 内核模块是否加载

验证 KVM 内核模块(kernel module)是否正确加载:

sudo lsmod | grep kvm

输出中应该有类似如下的内容:

kvm_intel             32768  0
kvm                   90112  1 kvm_intel

其中:

  • kvm_intel 表示这是 Intel 的虚拟化模块

  • 对于 AMD 的处理器,则是 kvm_amd

如果没有看到相应模块,说明 KVM 模块未加载,可以手动加载:

sudo modprobe kvm

四、网络配置(可选,桥接网络)

虚拟机默认通过 NAT 网络访问外部网络。如果希望虚拟机能作为局域网中的独立主机,使用桥接网络会更合适。

1. 安装桥接工具

sudo dnf install -y bridge-utils

2. 创建桥接网络

首先创建一个新的网桥接口。你可以修改现有的网络连接,或者添加新的桥接。

使用 NetworkManager 创建桥接:

  1. 打开 /etc/NetworkManager/system-connections/ 目录,并找到现有的网络连接配置文件(文件名格式类似于 eno1.nmconnection)。

  2. 编辑该文件,将 type 设置为 bridge

[connection]
id=bridge0
type=bridge
interface-name=br0

[bridge]
stp=false
  1. 重启 NetworkManager:

sudo systemctl restart NetworkManager
  1. 配置完成后,可以使用 ip addrnmcli 命令查看网桥是否创建成功。


五、创建虚拟机

可以使用命令行工具 virt-install 或图形化工具 virt-manager 来创建和管理虚拟机。

1. 使用命令行工具 virt-install 创建虚拟机

假设有一个 RHEL 9 的 ISO 镜像文件在 /var/lib/libvirt/images/rhel-9.iso,并希望创建一台虚拟机。

sudo virt-install \
--name=rhel-vm \
--ram=4096 \
--vcpus=4 \
--os-type=linux \
--os-variant=rhel9.0 \
--cdrom=/var/lib/libvirt/images/rhel-9.iso \
--network bridge=br0 \
--disk path=/var/lib/libvirt/images/rhel-vm.qcow2,size=20 \
--graphics=none \
--console pty,target_type=serial

参数解释:

  • --name=rhel-vm:虚拟机名称

  • --ram=4096:分配 4GB 内存

  • --vcpus=4:分配 4 个虚拟 CPU 核心

  • --os-type=linux:操作系统类型

  • --os-variant=rhel9.0:指定 RHEL 9 版本

  • --cdrom=/path/to/iso:指定 ISO 镜像

  • --network bridge=br0:使用 br0 网桥网络

  • --disk path=/path/to/disk,size=20:指定虚拟硬盘位置及大小(20GB)

  • --graphics=none:无图形化界面(使用命令行安装)

  • --console pty,target_type=serial:使用串行终端

2. 使用图形化工具 virt-manager

  1. 在终端中运行 virt-manager

    sudo virt-manager
  2. 通过图形化界面创建虚拟机,步骤包括:

    • 选择 本地安装媒体

    • 指定 ISO 镜像文件。

    • 分配内存和 CPU。

    • 配置虚拟硬盘大小和位置。

    • 选择网络类型(默认 NAT,或者桥接网桥)。


六、虚拟机的管理

1. 使用 virsh 管理虚拟机

virsh 是 libvirt 提供的命令行工具,用于管理虚拟机的生命周期。

查看虚拟机状态:

sudo virsh list --all

启动虚拟机:

sudo virsh start rhel-vm

关闭虚拟机:

sudo virsh shutdown rhel-vm

强制停止虚拟机:

sudo virsh destroy rhel-vm

删除虚拟机:

sudo virsh undefine rhel-vm

设置虚拟机开机自动启动:

sudo virsh autostart rhel-vm

七、其他常见问题与解决方案

1. KVM 无法启动虚拟机?

  • 检查 libvirtd 服务是否正常运行:

    sudo systemctl status libvirtd
  • 确认 CPU 是否支持虚拟化,并且虚拟化技术在 BIOS 中启用。

2. 图形界面无法使用?

  • 确保安装了 virt-manager,并正确启动 X11 会话(远程服务器可能需要 X forwarding 配置)。

3. 网络无法连通?

  • 检查网络设置,特别是桥接网络的配置,确保虚拟机使用正确的桥接接口。

标签:sudo,虚拟化,--,virt,虚拟机,KVM,RHEL
From: https://www.cnblogs.com/fqxm/p/18429045

相关文章

  • Proxmox:开源虚拟化管理平台的强大功能与应用
    Proxmox是一个开源的虚拟化管理平台,支持KVM(内核虚拟机)和LXC(Linux容器)虚拟化。它为用户提供了一个集中的Web界面,可以方便地管理虚拟机、容器、存储和网络。Proxmox以其高性能和易用性著称,常被用于企业级环境和个人实验室。以下是一些Proxmox的主要特点和功能:虚拟化技术:KVM:支持完全虚......
  • RHCS认证-Linux(RHel9)-Ansible
    文章目录一、ansible简介二、ansible部署三、ansible服务端测试四、ansible清单inventory五、Ad-hot点对点模式六、YAML语言模式七、RHCS-Ansible附:安装CentOS-Stream9系统7.1ansible执行过程7.2安装ansible,ansible-navigator7.2部署ansible7.3ansible-naviga......
  • 云桌面 虚拟化数量计算
    在当今动态多变的市场环境中,企业转型已成为赢得竞争优势的关键。在这样的背景下,SAP业务技术云平台显现出其独有的战略价值,被视为企业数字化转型的强力利器。SAP作为全球领先的企业资源规划(ERP)解决方案提供商,其业务技术云平台是一个全面的、集成化的解决方案,专为支持企业各个层面......
  • 【虚拟化】虚拟化简介 | Hypervisor介绍
    目录一、什么是虚拟化?二、虚拟化的优点三、Hypervisor3.1Hypervisor概述3.2Hypervisor分类3.3Hypervisor与虚拟机协作技术路线(1)全虚拟化(2)硬件辅助虚拟化(3)半虚拟化一、什么是虚拟化虚拟化是一种能够更有效地利用物理计算机硬件的过程,是云计算的基础。虚拟化技术......
  • Lichee NanoKVM基本使用环境.18423052
    LicheeNanoKVM基本使用环境本文章主要记录一些自己在初期的使用,以及自己的一些经验,非常感谢sipeedNanoKVM官方使用教程外观(博主自己的是lite版本,非常感谢sipeed)LicheeNanoKVM是基于LicheeRVNano的IP-KVM产品,继承了LicheeRVNano的极致体积和强大功能。NanoKVM......
  • 海光处理器在Windows下提示虚拟化不可用的解决办法
    一句话总结:需要打开Windows安全中心里的内核隔离功能打开方式:设置-安全与更新-设备安全性-内核隔离,点开关打开遇到不兼容的驱动怎么解决:首先先在设置-应用-应用和功能里查找该驱动的名字,然后卸载掉。(或者控制面板里的程序和功能里找找)如果提示找不到卸载程序,你可以去找找......
  • 验证从vmware企业级虚拟化迁移到pve系统
    今天已经验证了vmware企业级虚拟化迁移到pve系统中,感觉一切都非常的丝滑。比原来简单多了,步骤不繁琐,而且迁移完成后直接就可以开机。pve支棱起来了,vmware估计这次要危险了。添加esxi主机很简单这样就完事了,就可以访问esxi主机了这个按照你的esxi主机访问的用户名密码填写就可以了找......
  • 在 fnOS上安装 KVM 虚拟化,并使用 Cockpit 网页管理虚拟机
    在fnOS系统上安装KVM虚拟化,并使用Cockpit进行网页管理,可以按照以下步骤进行:1.安装KVM虚拟化组件首先,更新软件列表和系统包:sudoaptupdate&&sudoaptupgrade-y安装KVM及相关工具软件:sudoaptinstallqemu-kvmlibvirt-daemon-systemlibvirt-clientsbridge-u......
  • ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)
    名词缩写ASID:AddressSpaceID地址空间标识符CD:ContextDescriptor;上下文描述符;CTP:Context-tablepointer上下文表指针EPT:ExtendedPageTable扩展页表GPA:GuestPhyicalAddress客人的实际地址GVA:GuestVirtualAddress访客虚拟地址HPA:HostPhyicalAddress......
  • VirtualBox 7.1.0 发布下载 - 开源跨平台虚拟化软件
    VirtualBox7.1.0发布下载-开源跨平台虚拟化软件VirtualBox7.1.0(macOS,Linux,Windows)-开源跨平台虚拟化软件OracleVMVirtualBox7请访问原文链接:https://sysin.org/blog/virtualbox-7/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org2024年9月11......