3.2. 理解基础镜像


本节包括使用预配置的基础镜像及其配置设置的信息。

3.2.1. 使用自定义基础镜像

要手动配置虚拟机(VM),首先创建一个基础(起步)虚拟机镜像。然后,您可以修改配置设置,并添加 VM 在云上操作所需的软件包。您可在上传镜像后为特定应用程序进行额外的配置更改。

要准备 RHEL 的云镜像,请按照以下部分中的说明操作。要准备 RHEL 的 Hyper-V 云镜像,请参阅 从 Hyper-V Manager 准备基于红帽的虚拟机

3.2.2. 所需的系统软件包

要创建并配置 RHEL 的基础镜像,主机系统必须安装了以下软件包。

Expand
表 3.2. 系统软件包
软件包软件仓库描述

libvirt

rhel-8-for-x86_64-appstream-rpms

用于管理平台虚拟化的开源 API、守护进程和管理工具

virt-install

rhel-8-for-x86_64-appstream-rpms

用于构建虚拟机的命令行工具

libguestfs

rhel-8-for-x86_64-appstream-rpms

用于访问和修改虚拟机文件系统的库

libguestfs-tools

rhel-8-for-x86_64-appstream-rpms

虚拟机的系统管理工具;包括 guestfish 工具

3.2.3. Azure VM 配置设置

Azure 虚拟机(VM)必须具有以下配置设置。其中一些设置会在初始创建虚拟机期间启用。为 Azure 置备虚拟机镜像时会设置其他设置。在进行操作时请记住这些设置。如有必要,请参阅它们。

Expand
表 3.3. 虚拟机配置设置
设置建议

SSH

必须启用 SSH 来提供 Azure 虚拟机的远程访问。

dhcp

应该为 dhcp 配置主虚拟适配器(仅限 IPv4)。

交换空间

不要在安装过程中在操作系统(OS)磁盘或存储磁盘上创建专用 交换文件或交换分区。配置 cloud-init 工具,以在虚拟机的临时磁盘上自动创建 交换分区。临时磁盘是虚拟机的本地存储,而资源磁盘则挂载到虚拟机本身上。两种存储类型都临时存储。

NIC

为主虚拟网络适配器选择 virtio

encryption

对于自定义镜像,使用 Network Bound Disk Encryption(NBDE)在 Azure 上进行全磁盘加密。

3.2.4. 在 Azure 上使用 cloud-init 配置 swap 空间

要将 swap 空间用于 Microsoft Azure 上的 Red Hat Enterprise Linux (RHEL)虚拟机(VM),您需要在临时磁盘上创建交换分区。仅使用临时磁盘来创建交换分区,而不是操作系统(OS)磁盘或数据(存储)磁盘。由于虚拟机被删除后,临时磁盘也会被删除,因此交换分区也会被删除。

您可以使用 cloud-init 工具在临时磁盘上配置交换分区。临时磁盘是虚拟机的本地存储,而资源磁盘则挂载到虚拟机本身上。两种存储类型都临时存储。删除、移动、停止或失败会导致临时存储在临时或资源磁盘中的数据丢失。

重要

不要将临时磁盘用于持久数据。当虚拟机停止或移动时,所有内容(包括交换分区)都会被删除。

先决条件

  • 您已在虚拟机上安装了 cloud-init 工具。
  • 您已在 Windows Azure Linux Agent (WALA)中设置 /etc/waagent.conf 文件中的参数禁用了 swap 配置:

    ResourceDisk.Format=n
    ResourceDisk.EnableSwap=n
    ResourceDisk.SwapSizeMB=0
    Copy to Clipboard Toggle word wrap
  • 您在虚拟机上有一个临时磁盘。

流程

  1. 登录到虚拟机。
  2. 创建并编辑 /etc/cloud/cloud.cfg.d/00-azure-swap.cfg 配置文件,并将以下 cloud-init 配置添加到文件中:

    # vi /etc/cloud/cloud.cfg.d/00-azure-swap.cfg
    Copy to Clipboard Toggle word wrap
    #cloud-config
    disk_setup:
      ephemeral0:
        table_type: gpt
        layout: [66, [33,82]]
        overwrite: true
    fs_setup:
      - device: ephemeral0.1
        filesystem: ext4
      - device: ephemeral0.2
        filesystem: swap
    mounts:
      - ["ephemeral0.1", "/mnt"]
      - ["ephemeral0.2", "none", "swap", "sw,nofail,x-systemd.requires=cloud-init.service", "0", "0"]
    Copy to Clipboard Toggle word wrap

    此配置:

    • 使用 GPT 分区表对临时磁盘(ephemeral0)进行分区。
    • 创建两个分区: 66% 用于文件系统(挂载在 /mnt中)和 33% 用于 交换空间
    • 将第一个分区格式化为 ext4,第二个分区格式化为 swap
    • 在引导时配置两个分区的自动挂载。

      注意

      分区布局 [66, [33,82]] 将 66% 的磁盘分配给第一个分区,将 33% 分配到第二个分区。第二个分区规格中的 82 表示 Linux swap 分区类型。您可以根据您的要求调整这些百分比。

  3. 验证配置文件是否有任何错误:

    # cloud-init devel schema --config-file /etc/cloud/cloud.cfg.d/00-azure-swap.cfg
    Copy to Clipboard Toggle word wrap

    如果配置有效,命令不会返回错误。

验证

  • 重启虚拟机后,请通过验证 /etc/fstab 文件中的活跃交换空间、交换使用情况和交换分区条目来检查交换分区是否已配置并激活。

    • 检查活跃 swap 空间:

      $ swapon -s
      Copy to Clipboard Toggle word wrap

      输出应显示来自 ephemeral0.2 的交换分区:

      Filename                 Type        Size      Used    Priority
      /dev/ephemeral0.2     partition     8388604     0      -2
      Copy to Clipboard Toggle word wrap
    • 检查 swap 用法:

      $ free -h
      Copy to Clipboard Toggle word wrap

      输出应该在 Swap 行中显示 swap 空间:

               total        used        free      shared      buffered/cache   available
      Mem:     7.8Gi        1.2Gi       5.8Gi        16MiB       800MiB       6.3Gi
      Swap:    8.0Gi        0B          8.0Gi
      Copy to Clipboard Toggle word wrap
    • 验证 /etc/fstab 文件中是否存在 swap 分区:

      $ grep swap /etc/fstab
      Copy to Clipboard Toggle word wrap

      输出应包含 swap 分区的条目,例如:

      /dev/ephemeral0.2   none     swap  sw,nofail,x-systemd.requires=cloud-init.service   0       0
      Copy to Clipboard Toggle word wrap

3.2.5. 从 ISO 镜像创建基础镜像

以下流程列出了创建自定义 ISO 镜像的步骤和初始配置要求。配置了镜像后,您可以使用镜像作为模板来创建额外的虚拟机实例。

先决条件

流程

  1. 红帽客户门户网站 下载最新的 Red Hat Enterprise Linux 8 DVD ISO 镜像。
  2. 创建并启动基本 Red Hat Enterprise Linux 虚拟机。有关说明,请参阅 创建虚拟机

    1. 如果使用命令行创建虚拟机,请确保将默认内存和 CPU 设置为您所需的容量。将您的虚拟网络接口设置为 virtio

      例如,以下命令使用 rhel-8.0-x86_64-kvm.qcow2 镜像创建一个 kvmtest 虚拟机:

      # virt-install \
          --name kvmtest --memory 2048 --vcpus 2 \
          --disk rhel-8.0-x86_64-kvm.qcow2,bus=virtio \
          --import --os-variant=rhel8.0
      Copy to Clipboard Toggle word wrap
    2. 如果使用 Web 控制台来创建虚拟机,请按照 使用 web 控制台创建虚拟机 中的流程进行操作,包括以下注意事项:

      • 不要选择 Immediately Start VM
      • Memory 大小更改为你希望的设置。
      • 在开始安装前,请确保将 Virtual Network Interface Settings 中的 Model 更改为 virtio,并将您的 vCPU 更改为您想要的虚拟机容量设置。
  3. 查看以下额外的安装选择和修改。

    • 选择带有 standard RHEL 选项的 Minimal Install
    • 对于 Installation Destination,选择 Custom Storage Configuration。使用以下配置信息进行选择。

      • 确保 /boot 至少 500 MB。但是,1 GB 或更多就足够了。
      • 对于文件系统,在 bootroot 分区中使用 xfs、ext4 或 ext3。
      • 在安装过程中,从 OS 磁盘中删除 swap 空间。部署后,在临时磁盘上使用 cloud-init 来配置交换空间。
    • Installation Summary 屏幕中,选择 Network and Host Name。将 Ethernet 切换到 On
  4. 安装开始:

    • 创建 root 密码.
    • 创建管理用户帐户。
  5. 安装完成后,重启虚拟机并登录到 root 帐户。
  6. root 身份登录后,您就可以配置镜像了。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat