4.8. 오버클라우드 노드의 이미지 가져오기

director에는 오버클라우드 노드를 프로비저닝하기 위한 여러 개의 디스크 이미지가 필요합니다.

  • PXE 부팅을 통해 베어 메탈 시스템의 인트로스펙션에 사용되는 인트로스펙션 커널 및 램디스크
  • 시스템 프로비저닝 및 배포에 사용되는 배포 커널 및 램디스크
  • 노드의 하드 디스크에 기록된 기본 오버클라우드 시스템을 생성하는 오버클라우드 커널, 램디스크 및 전체 이미지

다음 절차에서는 오버클라우드 노드의 이미지를 확보하고 설치하는 방법을 설명합니다.

4.8.1. 단일 CPU 아키텍처 오버클라우드

기본 CPU 아키텍처 x86-64를 사용하는 오버클라우드를 배포하려면 다음 이미지 및 절차가 필요합니다.

절차

  1. stackrc 파일을 소싱하여 director 명령행 툴을 활성화합니다.

    [stack@director ~]$ source ~/stackrc
  2. rhosp-director-imagesrhosp-director-images-ipa 패키지를 설치합니다.

    (undercloud) [stack@director ~]$ sudo dnf install rhosp-director-images rhosp-director-images-ipa
  3. stack 사용자의 홈 디렉터리(/home/stack/images)에 있는 images 디렉터리에 압축된 이미지 파일을 풉니다.

    (undercloud) [stack@director ~]$ cd ~/images
    (undercloud) [stack@director images]$ for i in /usr/share/rhosp-director-images/overcloud-full-latest-16.1.tar /usr/share/rhosp-director-images/ironic-python-agent-latest-16.1.tar; do tar -xvf $i; done
  4. 이러한 이미지를 director로 가져옵니다.

    (undercloud) [stack@director images]$ openstack overcloud image upload --image-path /home/stack/images/

    이 스크립트는 다음 이미지를 director에 업로드합니다.

    • overcloud-full
    • overcloud-full-initrd
    • overcloud-full-vmlinuz

    이 스크립트는 director PXE 서버에 인트로스펙션 이미지도 설치합니다.

  5. 이미지가 성공적으로 업로드되었는지 확인합니다.

    (undercloud) [stack@director images]$ openstack image list
    +--------------------------------------+------------------------+
    | ID                                   | Name                   |
    +--------------------------------------+------------------------+
    | ef793cd0-e65c-456a-a675-63cd57610bd5 | overcloud-full         |
    | 9a51a6cb-4670-40de-b64b-b70f4dd44152 | overcloud-full-initrd  |
    | 4f7e33f4-d617-47c1-b36f-cbe90f132e5d | overcloud-full-vmlinuz |
    +--------------------------------------+------------------------+

    이 목록에는 인트로스펙션 PXE 이미지가 표시되지 않습니다. director는 해당 파일을 /var/lib/ironic/httpboot에 복사합니다.

    (undercloud) [stack@director images]$ ls -l /var/lib/ironic/httpboot
    total 417296
    -rwxr-xr-x. 1 root  root    6639920 Jan 29 14:48 agent.kernel
    -rw-r--r--. 1 root  root  420656424 Jan 29 14:48 agent.ramdisk
    -rw-r--r--. 1 42422 42422       758 Jan 29 14:29 boot.ipxe
    -rw-r--r--. 1 42422 42422       488 Jan 29 14:16 inspector.ipxe

4.8.2. 여러 CPU 아키텍처 오버클라우드

다음은 추가 CPU 아키텍처 지원을 활성화하기 위해 오버클라우드를 배포하는 데 필요한 이미지 및 절차입니다.

다음 예제 절차에서는 ppc64le 이미지를 사용합니다.

절차

  1. stackrc 파일을 소싱하여 director 명령행 툴을 활성화합니다.

    [stack@director ~]$ source ~/stackrc
  2. rhosp-director-images-all 패키지를 설치합니다.

    (undercloud) [stack@director ~]$ sudo dnf install rhosp-director-images-all
  3. stack 사용자의 홈 디렉터리(/home/stack/images)에 있는 images 디렉터리의 아키텍처별 디렉터리에 압축 파일을 풉니다.

    (undercloud) [stack@director ~]$ cd ~/images
    (undercloud) [stack@director images]$ for arch in x86_64 ppc64le ; do mkdir $arch ; done
    (undercloud) [stack@director images]$ for arch in x86_64 ppc64le ; do for i in /usr/share/rhosp-director-images/overcloud-full-latest-16.1-${arch}.tar /usr/share/rhosp-director-images/ironic-python-agent-latest-16.1-${arch}.tar ; do tar -C $arch -xf $i ; done ; done
  4. 이러한 이미지를 director로 가져옵니다.

    (undercloud) [stack@director ~]$ cd ~/images
    (undercloud) [stack@director images]$ openstack overcloud image upload --local --image-path ~/images/ppc64le --architecture ppc64le --whole-disk --http-boot /var/lib/ironic/tftpboot/ppc64le
    (undercloud) [stack@director images]$ openstack overcloud image upload --local --image-path ~/images/x86_64/ --http-boot /var/lib/ironic/tftpboot

    이러한 명령은 다음 이미지를 director로 가져옵니다.

    • overcloud-full
    • overcloud-full-initrd
    • overcloud-full-vmlinuz
    • ppc64le-bm-deploy-kernel
    • ppc64le-bm-deploy-ramdisk
    • ppc64le-overcloud-full

      이 스크립트는 director PXE 서버에 인트로스펙션 이미지도 설치합니다.

  5. 이미지가 성공적으로 업로드되었는지 확인합니다.

    (undercloud) [stack@director images]$ openstack image list
    +--------------------------------------+---------------------------+--------+
    | ID                                   | Name                      | Status |
    +--------------------------------------+---------------------------+--------+
    | 6a6096ba-8f79-4343-b77c-4349f7b94960 | overcloud-full            | active |
    | de2a1bde-9351-40d2-bbd7-7ce9d6eb50d8 | overcloud-full-initrd     | active |
    | 67073533-dd2a-4a95-8e8b-0f108f031092 | overcloud-full-vmlinuz    | active |
    | 69a9ffe5-06dc-4d81-a122-e5d56ed46c98 | ppc64le-bm-deploy-kernel  | active |
    | 464dd809-f130-4055-9a39-cf6b63c1944e | ppc64le-bm-deploy-ramdisk | active |
    | f0fedcd0-3f28-4b44-9c88-619419007a03 | ppc64le-overcloud-full    | active |
    +--------------------------------------+---------------------------+--------+

    이 목록에는 인트로스펙션 PXE 이미지가 표시되지 않습니다. director는 이 파일을 /tftpboot에 복사합니다.

    (undercloud) [stack@director images]$ ls -l /var/lib/ironic/tftpboot /var/lib/ironic/tftpboot/ppc64le/
    /var/lib/ironic/tftpboot:
    total 422624
    -rwxr-xr-x. 1 root   root     6385968 Aug  8 19:35 agent.kernel
    -rw-r--r--. 1 root   root   425530268 Aug  8 19:35 agent.ramdisk
    -rwxr--r--. 1 ironic ironic     20832 Aug  8 02:08 chain.c32
    -rwxr--r--. 1 ironic ironic    715584 Aug  8 02:06 ipxe.efi
    -rw-r--r--. 1 root   root          22 Aug  8 02:06 map-file
    drwxr-xr-x. 2 ironic ironic        62 Aug  8 19:34 ppc64le
    -rwxr--r--. 1 ironic ironic     26826 Aug  8 02:08 pxelinux.0
    drwxr-xr-x. 2 ironic ironic        21 Aug  8 02:06 pxelinux.cfg
    -rwxr--r--. 1 ironic ironic     69631 Aug  8 02:06 undionly.kpxe
    
    /var/lib/ironic/tftpboot/ppc64le/:
    total 457204
    -rwxr-xr-x. 1 root             root              19858896 Aug  8 19:34 agent.kernel
    -rw-r--r--. 1 root             root             448311235 Aug  8 19:34 agent.ramdisk
    -rw-r--r--. 1 ironic-inspector ironic-inspector       336 Aug  8 02:06 default

4.8.3. 최소 오버클라우드 이미지

overcloud-minimal 이미지를 사용하여 다른 Red Hat OpenStack Platform 서비스를 실행하지 않으려는 베어 OS를 프로비저닝하거나 서브스크립션 인타이틀먼트 중 하나를 사용할 수 있습니다.

절차

  1. stackrc 파일을 소싱하여 director 명령행 툴을 활성화합니다.

    [stack@director ~]$ source ~/stackrc
  2. overcloud-minimal 패키지를 설치합니다.

    (undercloud) [stack@director ~]$ sudo dnf install rhosp-director-images-minimal
  3. stack 사용자의 홈 디렉터리(/home/stack/images)에 있는 images 디렉터리에 압축된 이미지 파일을 풉니다.

    (undercloud) [stack@director ~]$ cd ~/images
    (undercloud) [stack@director images]$ tar xf /usr/share/rhosp-director-images/overcloud-minimal-latest-16.1.tar
  4. 이미지를 director로 가져옵니다.

    (undercloud) [stack@director images]$ openstack overcloud image upload --image-path /home/stack/images/ --os-image-name overcloud-minimal.qcow2

    이 스크립트는 다음 이미지를 director에 업로드합니다.

    • overcloud-minimal
    • overcloud-minimal-initrd
    • overcloud-minimal-vmlinuz
  5. 이미지가 성공적으로 업로드되었는지 확인합니다.

    (undercloud) [stack@director images]$ openstack image list
    +--------------------------------------+---------------------------+
    | ID                                   | Name                      |
    +--------------------------------------+---------------------------+
    | ef793cd0-e65c-456a-a675-63cd57610bd5 | overcloud-full            |
    | 9a51a6cb-4670-40de-b64b-b70f4dd44152 | overcloud-full-initrd     |
    | 4f7e33f4-d617-47c1-b36f-cbe90f132e5d | overcloud-full-vmlinuz    |
    | 32cf6771-b5df-4498-8f02-c3bd8bb93fdd | overcloud-minimal         |
    | 600035af-dbbb-4985-8b24-a4e9da149ae5 | overcloud-minimal-initrd  |
    | d45b0071-8006-472b-bbcc-458899e0d801 | overcloud-minimal-vmlinuz |
    +--------------------------------------+---------------------------+
참고

기본 overcloud-full.qcow2 이미지는 플랫 파티션 이미지입니다. 하지만 전체 디스크 이미지를 가져와서 사용할 수도 있습니다. 자세한 내용은 23장. 전체 디스크 이미지 생성을 참조하십시오.