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의 구성 드라이브 주 파티션을 생성합니다. 전체 디스크 이미지를 생성할 때 이 추가 파티션을 수용할 수 있도록 물리 디스크 크기보다 작은지 확인합니다.