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
# lsblk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从设备中删除任何文件系统、RAID 或分区表签名:
wipefs -a /dev/nvme0n1
# wipefs -a /dev/nvme0n1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
/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
/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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果磁盘不是空的,该工具会失败,因为它使用设备的分区号 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 \ -d /dev/nvme0n1 \ -s 250
# 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 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查存储信息:
lsblk
# lsblk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
您必须验证是否满足要求:
- 该设备有 GPT 分区表
- 该分区使用设备的最新扇区。
-
分区被正确标记为
data
。
查询磁盘状态以验证磁盘是否按预期分区:
gdisk -l /dev/nvme0n1
# gdisk -l /dev/nvme0n1
输出示例
14.3.2. 挂载分区 复制链接链接已复制到粘贴板!
验证磁盘是否已正确分区后,您可以将设备挂载到 /mnt
中。
建议将设备挂载到 /mnt
,因为在 GitOps ZTP 准备过程中使用了该挂载点。
验证分区是否格式化为
xfs
:lsblk -f /dev/nvme0n1
# lsblk -f /dev/nvme0n1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 挂载分区:
mount /dev/nvme0n1p1 /mnt/
# mount /dev/nvme0n1p1 /mnt/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
检查分区是否已挂载:
lsblk
# lsblk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 挂载点是
/var/mnt
,因为 RHCOS 中的/mnt
文件夹是到/var/mnt
的链接。