14.3. 디스크 파티셔닝
전체 사전 캐싱 프로세스를 실행하려면 라이브 ISO에서 부팅하고 컨테이너 이미지에서 factory-precaching-cli 툴을 사용하여 필요한 모든 아티팩트를 파티션 및 사전 캐시해야 합니다.
프로비저닝 중에 운영 체제(RHCOS)가 장치에 기록될 때 디스크를 사용하지 않아야 하므로 라이브 ISO 또는 RHCOS 라이브 ISO가 필요합니다. 이 절차를 통해 단일 디스크 서버도 활성화할 수 있습니다.
사전 요구 사항
- 분할되지 않은 디스크가 있습니다.
-
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 파티션 테이블을 만듭니다. 파티션은 자동으로 데이터로
레이블이 지정되어 장치 끝에 생성됩니다. 그렇지 않으면 coreos-installer
로 파티션을 덮어씁니다.
coreos-installer
를 사용하려면 장치 끝에 파티션을 생성하고 데이터로
레이블이 지정되어야 합니다. RHCOS 이미지를 디스크에 쓸 때 파티션을 저장하려면 두 요구 사항이 모두 필요합니다.
사전 요구 사항
-
호스트 장치의 포맷으로 인해 컨테이너가
privileged
로 실행되어야 합니다. -
컨테이너 내에서 프로세스를 실행할 수 있도록
/dev
폴더를 마운트해야 합니다.
프로세스
다음 예에서 파티션 크기는 Day 2 Operator의 DU 프로파일을 사전 캐싱할 수 있기 때문에 250GiB입니다.
컨테이너를 권한으로
실행하고
디스크를 분할합니다.# 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 파티션 테이블이 있습니다.
- 파티션은 장치의 최신 섹터를 사용합니다.
-
파티션은 데이터로 올바르게 레이블이 지정됩니다.
디스크 상태를 쿼리하여 디스크가 예상대로 분할되었는지 확인합니다.
# 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
에 마운트할 수 있습니다.
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/
검증
파티션이 마운트되었는지 확인합니다.
# 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
- RHCOS의
/mnt
폴더가/var/mnt
에 대한 링크이므로 마운트 지점은/var/mnt
입니다.