Linux 사용자 정의 이미지 작성

사용자 정의 Linux 기반 이미지를 생성하여 에 가져올 수 IBM Cloud® Virtual Private Cloud 있습니다. 그런 다음 사용자 지정 이미지를 사용하여 인프라에 IBM Cloud® Virtual Private Cloud 가상 서버 또는 베어 메탈 서버를 배포할 수 있습니다.

IBM Cloud 클래식 인프라의 이미지 템플리트로 시작할 수 있습니다. 자세한 정보는 클래식 인프라에서 가상 서버 마이그레이션을 참조하십시오. 가져오기 시 인스턴스에 첨부된 부팅 볼륨의 사용자 지정 이미지를 생성할 수도 있다는 사실을 알고 계셨나요? 자세한 정보는 볼륨에서 이미지 작성 정보을 참조하십시오.

모든 사용자 지정 이미지는 다음 요건을 충족해야 합니다:

  • 단일 파일 또는 볼륨을 포함하고 있습니다.
  • qcow2 또는 VHD 형식이어야 합니다.
  • 용량은 250 GB를 초과하지 않습니다.
  • qcow2 이미지에서 cloud-init(Linux ) 또는 cloudbase-init(Windows) 이 설치되어 있고 활성화되어 있는지 확인합니다.
  • 최소 용량은 10 GB입니다. 10GB미만인 이미지의 경우 크기는 10GB로 반올림됩니다.

IBM Cloud Object Storage 옵션을 사용하여 보안 실행 기반 사용자 정의 이미지를 작성하려면 워크로드 준비 를 참조하십시오. 보안 실행 기반 이미지 작성에 대한 자세한 정보는 Linux 용 IBM Secure Execution 의 내용을 참조하십시오.

Linux 경우, 운영 체제의 SSH 서버가 이 키 유형을 지원하는 경우에만 Ed25519 SSH키 유형을 사용할 수 있습니다. 자세한 정보는 SSH키 시작하기를 참조하십시오.

다음 단계를 완료하여 IBM Cloud VPC 인프라 환경에서 고유한 Linux 사용자 정의 이미지를 성공적으로 배치할 수 있는지 확인하십시오. 암호화된 부팅 볼륨은 100GB가 아닌 경우 이미지를 생성할 수 없다는 점을 유의하십시오. 조작이 차단되었습니다.

1단계 - qcow2 또는 VHD 형식의 단일 이미지 파일로 시작하십시오.

자체 사용자 정의 Linux 기반 이미지를 작성하는 경우 qcow2 또는 VHD 형식의 단일 이미지 파일로 시작하십시오. 클라우드 공급업체 이미지로 시작하는 것이 도움이 될 수 있습니다.

커널 로그는 부트 관련 문제를 디버깅하는 데 중요합니다. 커널 로그가 직렬 콘솔에 인쇄되도록 하려면 console=ttyS0 커널 명령행 인수를 사용하십시오. 또한 nomodesetnofb 커널 매개변수는 2021년중반 이전에 릴리스된 이전 커널에 대한 부트 프로세스 중에 표시 관련 문제를 해결하는 데 사용됩니다. 새 커널은 커널에 비디오 모드 설정을 사용합니다.

2단계 - 버티오 드라이버 확인

  1. virtio 드라이버가 virtio에 필요한 코드와 함께 운영 체제 이미지에 설치되어 있는지 확인하십시오. Virtio 네트워크 드라이버가 네트워크 사용을 위해 필요합니다. 다음 명령을 실행하여 커널에 virtio 드라이버가 설치되어 있는지 확인합니다:

    grep -i virtio /boot/config-$(uname -r)
    

    출력에서 VIRTIO_BLKVIRTIO_NET을 확인하십시오. 해당 행이 표시되지 않으면 virtio 드라이버가 커널에 빌드되지 않습니다.

  2. VIRTIO_BLKVIRTIO_NET 줄이 있는 경우 다음 명령을 실행하여 임시 루트 파일 시스템에 드라이버가 있는지 확인합니다:

    lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
    

    Debian 운영 체제를 사용 중인 경우 다음 명령을 사용하십시오.

    lsinitramfs /boot/initrd.img-$(uname -r) | grep virtio
    

    virtio blk 드라이버 및 해당 종속성 virtio.ko, virtio_pci, virtio_ring 이 있는지 확인합니다. 버티오 종속성이 없는 경우 루트 파일 시스템을 복구해야 합니다.

3단계 - 네트워크 인터페이스가 자동 구성으로 설정됩니다

게스트 이미지에 네트워크 인터페이스가 정의되어 있는 경우 하나 이상의 네트워크 인터페이스가 자동 구성으로 설정되어 있는지 확인하세요. 모든 인터페이스를 수동 구성으로 지정할 수는 없습니다. 일반적으로 인터페이스는 DHCP를 사용하도록 설정됩니다. DHCP 구성에 대한 자세한 정보는 Linux 배포판의 문서를 참조하십시오.

4단계-이미지가 cloud-init 사용으로 설정되었는지 확인

이미지가 cloud-init를 사용하도록 설정되어 있는지 확인하십시오. Cloud-init 버전 0.7.9 이상이 필요합니다.

  1. 클라우드 초기화가 설치되어 있는지 확인하려면 다음 명령을 실행하세요: cloud-init --version

    • 일부 경우에는 cloud-init가 설치될 수 있으나 환경 경로에는 설치되지 않을 수 있습니다.
    • ExecStart에서 cloud-init의 경로를 찾으려면 systemctl cat cloud-init 명령을 실행하십시오.
  2. cloud-init를 설치하려면 다음 명령 중 하나를 사용하십시오.

    • Ubuntu 또는 Debian의 경우 다음 명령을 실행하십시오. apt-get install cloud-init
    • CentOS 또는 Red Hat의 경우 다음 명령을 실행하십시오. yum install cloud-init
  3. datasources_list 특성이 /etc/cloud/cloud.cfg에 있는 경우 NoCloud 만 포함하는지 확인하거나 datasources_list 특성을 완전히 제거하십시오. ConfigDrive 는 지원되지 않습니다. 데이터 소스에 대한 자세한 정보는 데이터 소스를 참조하십시오. IBM Cloud cloud-init 이미지는 메타데이터를 제공하기 위해 NoCloud 데이터 소스를 사용하여 환경에 대해 작성됩니다.

    블록 디바이스가 제공된다. 다음 예를 참조하십시오.

    blkid
    /dev/vdb: UUID="2023-03-15-16-50-02-00" LABEL="cidata" TYPE="iso9660"
    

    이 블록 디바이스는 cloud-init에서 찾을 수 있으며 다음 파일을 포함합니다.

    • 메타 데이터 인스턴스 ID: INSTANCE_ID 로컬 호스트 이름: NAME
    • user-data 인스턴스가 작성될 때 제공된 선택적 사용자 데이터입니다. 자세한 정보는 사용자 데이터 를 참조하십시오.
    • vendor-data 인스턴스가 작성될 때 제공된 SSH키에서 파생된 클라우드 구성 SSH 권한 및 추가 초기화 정보를 포함하는 MIME 형식 파일입니다.
  4. /etc/cloud/cloud.cfg 파일에서 cloud_final_modules 섹션에 사용 가능한 scripts-vendor 모듈이 포함되어 있는지 확인하십시오. 기본적으로 Red Hat Enterprise Linux 및 CentOS에는 IBM Cloud VPC 인프라에서 인스턴스를 프로비저닝하는 데 필요한 scripts-vendor 모듈이 포함되지 않습니다. Linux 사용자 정의 이미지를 사용하여 IBM Cloud VPC 가상 서버 인스턴스를 프로비저닝하려면 scripts-vendor 모듈을 사용으로 설정해야 합니다.

    Red Hat Enterprise Linux (RHEL) 이미지의 경우 다음 패키지가 기본 이미지의 일부로 기본적으로 포함되어 있으며 클라우드 초기화를 성공적으로 실행하는 데 필요합니다: subscription-manager, ethtool, 및 rpm 입니다. 또한 다음과 같은 서비스가 사용으로 설정되어 있는지 확인하십시오(cloud-init-local.service, cloud-init.service, cloud-config.servicecloud-final.service).

  5. 가상 서버에 로그인할 때 SSH를 사용하도록 이미지를 구성했는지 확인하세요.

RHEL 기반 사용자 지정 이미지의 기본 사용자는 cloud-user 입니다. 클라우드 초기화를 사용 설정하는 방법에 대한 자세한 내용은 클라우드 초기화 설정을 참조하세요.

5단계 - 부팅 디스크 크기

이미지의 부팅 디스크 크기가 10~250GB인지 확인하세요. 10GB 미만인 이미지는 10GB로 반올림됩니다.

클래식 인프라에서 마이그레이션하도록 가상 서버를 사용자 지정하는 경우, 클래식 인프라에서 가상 서버 마이그레이션으로 돌아가 마이그레이션 단계를 계속 완료하세요.

6단계- IBM Cloud Object Storage 에 이미지 업로드

이미지를 IBM Cloud Object Storage에 업로드하십시오. IBM Cloud® Object Storage 버킷의 개체 페이지에서 업로드를 클릭합니다. Aspera 고속 전송 플러그인을 사용하여 200MB보다 큰 이미지를 업로드할 수 있습니다. IBM Cloud Object Storage에 업로드에 대한 자세한 정보는 데이터 업로드를 참조하십시오.

다음 단계

Linux 사용자 정의 이미지가 작성되어 IBM Cloud Object Storage에서 사용 가능한 경우 사용자 정의 이미지를 VPC로 가져오고 VPC의 가상 서버 이미지 온보드 할 수 있습니다. 이미지를 가져오기 위해 IBM Cloud Object Storage 에 대한 액세스 권한을 부여했는지 확인하십시오.

사용자 지정 이미지를 관리하기 위해 사설 카탈로그를 사용할 계획이라면, 먼저 해당 이미지를 로 가져온 다음 가상 서버 이미지를 IBM Cloud VPC 사설 카탈로그에 등록해야 합니다.

사용자 정의 이미지를 가져온 후 사용자 정의 이미지를 사용하여 IBM Cloud® Virtual Private Cloud 인프라에 가상 서버를 배치할 수 있습니다.