Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
C.3. 디스크 레이아웃 사용자 지정
기본 보안 강화 이미지 크기는 20G이며 사전 정의된 파티션 크기를 사용합니다. 그러나 오버클라우드 컨테이너 이미지를 수용하려면 파티션 레이아웃을 일부 수정해야 합니다. 다음 섹션에서는 이미지 크기를 40G로 늘립니다. 필요에 따라 파티션 레이아웃과 디스크 크기를 추가로 수정할 수도 있습니다.
파티션 레이아웃과 디스크 크기를 수정하려면 다음 단계를 수행합니다.
-
DIB_BLOCK_DEVICE_CONFIG
환경 변수를 사용하여 파티션 스키마를 수정합니다. -
DIB_IMAGE_SIZE
환경 변수를 업데이트하여 이미지 전체 크기를 수정합니다.
C.3.1. 파티션 스키마 수정
파티션 스키마를 수정하여 파티션 크기를 변경하거나, 새 파티션을 생성하거나, 기존 파티션을 삭제할 수 있습니다. 다음 환경 변수를 사용하여 새 파티션 스키마를 정의할 수 있습니다.
$ export DIB_BLOCK_DEVICE_CONFIG='<yaml_schema_with_partitions>'
다음 YAML 구조는 오버클라우드 컨테이너 이미지를 가져올 충분한 공간을 수용하기 위해 수정된 논리 볼륨 파티션 레이아웃을 나타냅니다.
export DIB_BLOCK_DEVICE_CONFIG=''' - local_loop: name: image0 - partitioning: base: image0 label: mbr partitions: - name: root flags: [ boot,primary ] size: 40G - lvm: name: lvm base: [ root ] pvs: - name: pv base: root options: [ "--force" ] vgs: - name: vg base: [ "pv" ] options: [ "--force" ] lvs: - name: lv_root base: vg extents: 23%VG - name: lv_tmp base: vg extents: 4%VG - name: lv_var base: vg extents: 45%VG - name: lv_log base: vg extents: 23%VG - name: lv_audit base: vg extents: 4%VG - name: lv_home base: vg extents: 1%VG - mkfs: name: fs_root base: lv_root type: xfs label: "img-rootfs" mount: mount_point: / fstab: options: "rw,relatime" fsck-passno: 1 - mkfs: name: fs_tmp base: lv_tmp type: xfs mount: mount_point: /tmp fstab: options: "rw,nosuid,nodev,noexec,relatime" fsck-passno: 2 - mkfs: name: fs_var base: lv_var type: xfs mount: mount_point: /var fstab: options: "rw,relatime" fsck-passno: 2 - mkfs: name: fs_log base: lv_log type: xfs mount: mount_point: /var/log fstab: options: "rw,relatime" fsck-passno: 3 - mkfs: name: fs_audit base: lv_audit type: xfs mount: mount_point: /var/log/audit fstab: options: "rw,relatime" fsck-passno: 4 - mkfs: name: fs_home base: lv_home type: xfs mount: mount_point: /home fstab: options: "rw,nodev,relatime" fsck-passno: 2 '''
이 샘플 YAML 콘텐츠를 이미지 파티션 스키마의 기준으로 사용합니다. 필요에 따라 파티션 크기와 레이아웃을 수정합니다.
배포 후에는 파티션 크기를 조정할 수 없으므로 이미지에 대해 올바른 파티션 크기를 정의합니다.
C.3.2. 이미지 크기 수정
수정된 파티션 스키마의 총합이 기본 디스크 크기(20G)를 초과할 수도 있습니다. 이 경우에는 이미지 크기를 수정해야 합니다. 이미지 크기를 수정하려면 이미지를 생성하는 데 사용되는 구성 파일을 편집합니다.
/usr/share/openstack-tripleo-common/image-yaml/overcloud-hardened-images.yaml
사본을 생성합니다.
# cp /usr/share/openstack-tripleo-common/image-yaml/overcloud-hardened-images.yaml \ /home/stack/overcloud-hardened-images-custom.yaml
UEFI 전체 디스크 이미지의 경우 /usr/share/openstack-tripleo-common/image-yaml/overcloud-hardened-images-uefi.yaml
을 사용합니다.
구성 파일에서 DIB_IMAGE_SIZE
를 편집하여 필요에 따라 값을 조정합니다.
...
environment:
DIB_PYTHON_VERSION: '2'
DIB_MODPROBE_BLACKLIST: 'usb-storage cramfs freevxfs jffs2 hfs hfsplus squashfs udf vfat bluetooth'
DIB_BOOTLOADER_DEFAULT_CMDLINE: 'nofb nomodeset vga=normal console=tty0 console=ttyS0,115200 audit=1 nousb'
DIB_IMAGE_SIZE: '40' 1
COMPRESS_IMAGE: '1'
- 1
- 이 값을 새로운 디스크 전체 크기에 맞게 조정합니다.
이 파일을 저장합니다.
director가 오버클라우드를 배포할 때 오버클라우드 이미지의 RAW 버전을 생성합니다. 따라서 언더클라우드에 RAW 이미지를 수용하는 데 필요한 여유 공간이 있어야 합니다. 예를 들어 보안 강화 이미지 크기를 40G로 늘리는 경우 언더클라우드의 하드 디스크에 40G의 사용 가능한 공간이 있어야 합니다.
결국 director가 물리 디스크에 이미지를 쓸 때 디스크 끝에 64MB의 구성 드라이브 주 파티션을 생성합니다. 전체 디스크 이미지를 생성할 때 이 추가 파티션을 수용할 수 있도록 물리 디스크 크기보다 작은지 확인합니다.