14.3. 对磁盘进行分区


要运行完整的预缓存过程,您必须从 live ISO 启动,并使用 factory-precaching-cli 工具从容器镜像引导到分区并预缓存所有需要的工件。

需要 live ISO 或 RHCOS live ISO,因为当操作系统(RHCOS) 在置备过程中写入该设备时,磁盘不得被使用。单磁盘服务器也可使用此流程启用。

先决条件

  • 您有一个没有分区的磁盘。
  • 您可以访问 quay.io/openshift-kni/telco-ran-tools:latest 镜像。
  • 有足够的存储来安装 OpenShift Container Platform 并预缓存所需的镜像。

流程

  1. 验证磁盘是否已清除:

    # lsblk

    输出示例

    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0     7:0    0  93.8G  0 loop /run/ephemeral
    loop1     7:1    0 897.3M  1 loop /sysroot
    sr0      11:0    1   999M  0 rom  /run/media/iso
    nvme0n1 259:1    0   1.5T  0 disk

  2. 从设备中删除任何文件系统、RAID 或分区表签名:

    # wipefs -a /dev/nvme0n1

    输出示例

    /dev/nvme0n1: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54
    /dev/nvme0n1: 8 bytes were erased at offset 0x1749a955e00 (gpt): 45 46 49 20 50 41 52 54
    /dev/nvme0n1: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa

重要

如果磁盘不是空的,该工具会失败,因为它使用设备的分区号 1 来预缓存工件。

14.3.1. 创建分区

设备就绪后,您可以创建一个单个分区和 GPT 分区表。分区自动标记为 data,并在设备末尾创建。否则,分区将被 coreos-installer 覆盖。

重要

coreos-installer 要求在设备末尾创建分区,并将其标记为 data。在将 RHCOS 镜像写入磁盘时,这两个要求都需要保存分区。

先决条件

  • 由于格式化主机设备,容器必须以特权运行。
  • 您必须挂载 /dev 文件夹,以便可以在容器内执行该进程。

流程

在以下示例中,分区的大小为 250 GiB,因为允许为第 2 天 Operator 预缓存 DU 配置集。

  1. 特权运行容器,并对磁盘进行分区:

    # podman run -v /dev:/dev --privileged \
    --rm quay.io/openshift-kni/telco-ran-tools:latest -- \
    factory-precaching-cli partition \ 1
    -d /dev/nvme0n1 \ 2
    -s 250 3
    1
    指定 factory-precaching-cli 工具的分区功能。
    2
    定义磁盘上的根目录。
    3
    以 GB 为单位定义磁盘大小。
  2. 检查存储信息:

    # lsblk

    输出示例

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0         7:0    0  93.8G  0 loop /run/ephemeral
    loop1         7:1    0 897.3M  1 loop /sysroot
    sr0          11:0    1   999M  0 rom  /run/media/iso
    nvme0n1     259:1    0   1.5T  0 disk
    └─nvme0n1p1 259:3    0   250G  0 part

验证

您必须验证是否满足要求:

  • 该设备有 GPT 分区表
  • 该分区使用设备的最新扇区。
  • 分区被正确标记为 data

查询磁盘状态以验证磁盘是否按预期分区:

# gdisk -l /dev/nvme0n1

输出示例

GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/nvme0n1: 3125627568 sectors, 1.5 TiB
Model: Dell Express Flash PM1725b 1.6TB SFF
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): CB5A9D44-9B3C-4174-A5C1-C64957910B61
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 3125627534
Partitions will be aligned on 2048-sector boundaries
Total free space is 2601338846 sectors (1.2 TiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1      2601338880      3125627534   250.0 GiB   8300  data

14.3.2. 挂载分区

验证磁盘是否已正确分区后,您可以将设备挂载到 /mnt 中。

重要

建议将设备挂载到 /mnt,因为在 GitOps ZTP 准备过程中使用了该挂载点。

  1. 验证分区是否格式化为 xfs

    # lsblk -f /dev/nvme0n1

    输出示例

    NAME        FSTYPE LABEL UUID                                 MOUNTPOINT
    nvme0n1
    └─nvme0n1p1 xfs          1bee8ea4-d6cf-4339-b690-a76594794071

  2. 挂载分区:

    # mount /dev/nvme0n1p1 /mnt/

验证

  • 检查分区是否已挂载:

    # lsblk

    输出示例

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0         7:0    0  93.8G  0 loop /run/ephemeral
    loop1         7:1    0 897.3M  1 loop /sysroot
    sr0          11:0    1   999M  0 rom  /run/media/iso
    nvme0n1     259:1    0   1.5T  0 disk
    └─nvme0n1p1 259:2    0   250G  0 part /var/mnt 1

    1
    挂载点是 /var/mnt,因为 RHCOS 中的 /mnt 文件夹是到 /var/mnt 的链接。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.