15.3. ディスクのパーティション設定
完全な事前キャッシュプロセスを実行するには、ライブ ISO から起動し、コンテナーイメージから factory-precaching-cli ツールを使用して、必要なすべてのアーティファクトを分割および事前キャッシュする必要があります。
プロビジョニング中にオペレーティングシステム (RHCOS) がデバイスに書き込まれるときにディスクが使用されていてはならないため、ライブ ISO または RHCOS ライブ ISO が必要です。この手順で単一ディスクサーバーを有効にすることもできます。
前提条件
- パーティショニングされていないディスクがある。
-
quay.io/openshift-kni/telco-ran-tools:latestイメージにアクセスできます。 - OpenShift Container Platform をインストールし、必要なイメージを事前キャッシュするのに十分なストレージがある。
-
ホストデバイスがフォーマットされているため、コンテナーは
privilegedとして実行する必要があります。 -
コンテナー内でプロセスを実行できるように、
/devフォルダーをマウントする必要があります。
手順
ディスクがクリアされていることを確認します。
# 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 を使用してアーティファクトを事前キャッシュするため、失敗します。
単一のパーティションと GPT パーティションテーブルを作成します。パーティションは自動的に
dataとしてラベル付けされ、デバイスの最後に作成されます。そうしないと、パーティションはcoreos-installerによってオーバーライドされます。重要coreos-installerでは、パーティションをデバイスの最後に作成し、dataとしてラベル付けする必要があります。RHCOS イメージをディスクに書き込むときにパーティションを保存するには、両方の要件が必要です。コンテナーを
privilegedとして実行し、ディスクのパーティションを設定します。次の例では、Day 2 Operator 用の DU プロファイルを事前キャッシュできるように、パーティションのサイズを 250 GiB に設定しています。# podman run -v /dev:/dev --privileged \ --rm quay.io/openshift-kni/telco-ran-tools:latest -- \ factory-precaching-cli partition \ -d /dev/nvme0n1 \ -s 250各項目の説明:
-
factory-precaching-cli partitionは、factory-precaching-cli ツールのパーティション設定機能を指定します。 -
-d /dev/nvme0n1は、ディスク上のルートディレクトリーを定義します。 -
-s 250は、ディスクのサイズを GB 単位で定義します。
-
ストレージ情報を確認します。
# 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ディスクのパーティションが正しく設定されていることを確認したら、デバイスを
/mntにマウントします。重要GitOps ZTP の準備中にそのマウントポイントが使用されるため、デバイスを
/mntにマウントすることを推奨します。パーティションが
xfsとしてフォーマットされていることを確認します。# lsblk -f /dev/nvme0n1出力例は次のとおりです。
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071パーティションをマウントします。
# mount /dev/nvme0n1p1 /mnt/
検証
デバイスに 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パーティションがマウントされていることを確認します。
# 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/mntRHCOS の
/mntフォルダーは/var/mntへのリンクであるため、マウントポイントは/var/mntです。