14.3. 对磁盘进行分区
要运行完整的预缓存过程,您必须从 live ISO 启动,并使用 factory-precaching-cli 工具从容器镜像引导到分区并预缓存所有需要的工件。
需要 live ISO 或 RHCOS live ISO,因为当操作系统(RHCOS) 在置备过程中写入该设备时,磁盘不得被使用。单磁盘服务器也可使用此流程启用。
先决条件
- 您有一个没有分区的磁盘。
-
您可以访问
quay.io/openshift-kni/telco-ran-tools:latest
镜像。 - 有足够的存储来安装 OpenShift Container Platform 并预缓存所需的镜像。
流程
验证磁盘是否已清除:
# 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
从设备中删除任何文件系统、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 配置集。
以
特权
运行容器,并对磁盘进行分区:# 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
检查存储信息:
# 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 准备过程中使用了该挂载点。
验证分区是否格式化为
xfs
:# lsblk -f /dev/nvme0n1
输出示例
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071
挂载分区:
# 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
的链接。