SUSE Manager 이미지를 사용하여 가상 머신 환경에 SUSE Manager 설치

1. 가상 머신 관리자(virt-manager) 설정

이 장에서는 SUSE Manager에 필요한 KVM(커널 가상 머신) 설정에 대해 설명합니다. 가상 머신 관리자(virt-manager)와 통합된 KVM을 이 설치를 위한 샌드박스로 사용할 수 있습니다.

다양한 형식의 SUSE Manager 4.3에 대한 VM 이미지를 찾을 수 있습니다. 여기에는 기본 OS 비트(SUSE Linux Enterprise Server_15 SP4)와 빌드 시점의 SUSE Manager 소프트웨어 최신 버전이 포함됩니다. https://download.suse.com/에서 사용 환경에 적합한 SUSE Manager 이미지를 다운로드합니다.

다음 테이블에는 최소 요구사항이 제공됩니다. 이러한 설정은 클라이언트가 1개인 서버와 같이 빠른 테스트 설치에 적합합니다. 프로덕션 환경을 사용하려면 하드웨어 요구사항에서 제공되는 요구사항을 확인합니다.

가상 머신 설정 개요

설치 방법

기존 디스크 이미지 임포트

OS:

SUSE Linux Enterprise 15 SP4

메모리:

16GB

CPU:

4

가상 디스크:

VirtIO 디스크 1

SUSE-Manager-Server.x86_64-4.3.10-KVM.qcow2

VirtIO 디스크 2

/var/spacewalk용 101GB

VirtIO 디스크 3

/var/lib/pgsql용 50GB

VirtIO 디스크 4

스왑용 4GB

CDROM

Ignition 또는 Cloud Init 구성 디스크

이름:

suse-manager-test-setup

네트워크

Bridge br0

가상화에 대한 자세한 내용은 https://documentation.suse.com/sles/15-SP4/html/SLES-all/book-virtualization.html에서 확인할 수 있습니다.

root 또는 다른 사용자 계정을 설정하지 않은 SUSE Manager VM 이미지입니다. 처음 부팅할 때 사용자 또는 root 인증을 설정해야 합니다. 이 작업은 Ignition 또는 Cloud-Init 방법을 사용하여 수행할 수 있습니다.

2. Ignition을 사용한 SUSE Manager 기본 구성

Ignition은 처음 부팅할 때 사용자의 사양에 따라 시스템을 구성할 수 있는 프로비저닝 도구입니다. 시스템이 처음 부팅되면 Ignition이 initramfs의 일부로 로드되고 특정 디렉토리(USB 플래시 디스크 또는 URL 제공 가능) 내에서 구성 파일을 검색합니다.

Ignition은 JSON 형식의 구성 파일을 사용합니다. 파일 이름은 config.ign입니다.

config.ign은 Ignition에 대한 해결 방법을 제공하는 JSON 구성 파일입니다. 이 파일을 JSON으로 수동으로 만들거나 Fuel Ignition 도구를 사용하여 기본 해결 방법 세트를 생성할 수 있습니다. Fuel Ignition 도구는 전체 옵션 세트를 제공하지 않으므로 파일을 수동으로 수정해야 할 수도 있습니다. 자세한 내용은 https://ignite.opensuse.org/에서 확인할 수 있습니다.

설치할 때 구성 파일 config.ignignition으로 레이블이 지정된 구성 미디어의 ignition 하위 디렉토리에 있어야 합니다. 디렉토리 구조는 다음과 같아야 합니다.

<root directory>
└── ignition
    └── config.ign

QEMU/KVM 가상 머신을 구성하려면 config.ign 파일의 경로를 qemu 명령의 특성으로 제공합니다. 예:

-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign

config.ign 파일에는 객체, 문자열, 정수, 부울, 객체 목록의 다양한 데이터 형식이 포함되어 있습니다. 전체 사양은 https://coreos.github.io/ignition/configuration-v3_3/에서 확인할 수 있습니다.

2.1. Ignition을 사용하여 루트 비밀번호 설정

SUSE Manager VM 이미지가 루트 또는 다른 사용자 계정을 설정하지 않습니다. 처음 부팅할 때 사용자 또는 root 인증을 설정해야 합니다. passwd 특성을 사용하여 사용자를 추가할 수 있습니다. 시스템에 로그인하려면 루트를 생성하고 루트의 비밀번호를 설정하거나 Ignition 구성에 SSH 키를 추가합니다. 예를 들어, openssl 명령을 사용하여 루트 비밀번호를 해시해야 합니다.

openssl passwd -6

이 명령은 사용자가 선택한 비밀번호의 해시를 생성합니다. 이 해시를 passwordHash 특성의 값으로 사용합니다.

사용자 특성에는 이름 특성이 하나 이상 포함되어야 합니다. ssh_authorized_keys는 사용자의 ssh 키 목록입니다.

다음 내용으로 root/ignition/config.ign 파일을 생성합니다

{
  "ignition": {
    "version": "3.2.0"
  },
  "passwd": {
    "users": [
      {
        "name": "root",
        "passwordHash": "$2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K"
      }
    ]
  }
}

다음 명령을 사용하여 Ignition ISO 파일을 준비합니다.

mkisofs -full-iso9660-filenames -o suma_ignition.iso -V ignition root

만든 suma_ignition.iso 파일을 처음 부팅할 때 가상 머신에 볼륨으로 연결합니다. 이 특정 예제에서는 루트 비밀번호를 linux로 설정합니다. 이 예제의 비밀번호 해시를 본인의 비밀번호 해시로 바꿉니다.

Ignition에 대한 자세한 내용은 https://documentation.suse.com/sle-micro/5.4/single-html/SLE-Micro-deployment/#cha-images-ignition에서 확인할 수 있습니다.

3. Cloud Init 디스크를 사용한 SUSE Manager 기본 구성

Cloud Init은 최초 부팅 시 사용자의 사양에 따라 시스템을 구성할 수 있는 프로비저닝 도구입니다. 시스템을 처음 부팅하면 Cloud Init 서비스가 로드되어 특정 디렉토리(USB 플래시 디스크 또는 URL 제공 가능) 내에서 구성 파일을 검색합니다.

Cloud Init은 몇 개의 YAML 형식 구성 파일을 사용합니다. 사용되는 파일의 이름은 meta-data, network-configuser-data입니다.

Cloud Init을 사용하면 구성 데이터를 저장할 다양한 소스를 사용할 수 있습니다. 이 가이드에서는 볼륨 ID가 cidata인 로컬 iso 이미지를 소스로 사용합니다. 디렉토리 구조는 다음과 같아야 합니다.

<root directory>
└── meta-data
└── network-config
└── user-data

QEMU/KVM 가상 머신을 구성하려면 config.ign의 경로를 qemu 명령의 특성으로 제공합니다. 예:

-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign

Cloud Init은 다양한 관리 옵션을 제공합니다. 전체 사양은 Cloud Init 사양(https://cloudinit.readthedocs.io/en/latest/index.html)을 참조하십시오.

3.1. Cloud Init을 사용한 루트 비밀번호 설정

예를 들어, openssl 명령을 사용하여 루트 비밀번호를 해시해야 합니다.

openssl passwd -6

이 명령은 사용자가 선택한 비밀번호의 해시를 생성합니다. 이 해시를 password 특성의 값으로 사용합니다.

다음 명령을 사용하여 필요한 구성 파일을 준비합니다.

touch network-config
touch meta-data

다음 내용으로 이름이 user-data인 파일을 만듭니다.

#cloud-config
chpasswd:
  expire: false
  users:
    - name: root
      password: $2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K

다음 명령을 사용하여 Cloud Init ISO 파일을 준비합니다.

mkisofs -rational-rock -joliet -o suma_cloudinit.iso -V cidata network-config meta-data user-data

만든 suma_cloudinit.iso 파일을 생성하는 가상 머신에 볼륨으로 연결합니다. 이 특정 예제에서는 root 비밀번호를 linux로 설정합니다. 비밀번호 해시를 이 예제의 비밀번호 해시로 바꿉니다.

4. SUSE Manager 가상 머신 설정

SUSE Manager 저장소 파티션에 필요한 추가 가상 디스크 3개를 생성합니다.

절차: KVM을 사용한 필수 파티션 생성
  1. 다운로드한 SUSE Manager KVM 이미지를 사용하여 새 가상 머신을 생성하고 기존 디스크 이미지 임포트를 선택합니다.

  2. SUSE Linux Enterprise 15 SP4를 설치된 운영 체제로 설정합니다.

  3. RAM 및 CPU 수(RAM 16GB 및 CPU 4개 이상)를 구성합니다.

  4. KVM 머신에 이름을 지정하고 구성을 사용자 정의한 후 설치 확인란을 선택합니다.

  5. 하드웨어 추가를 클릭하여 이러한 사양의 새 가상 디스크 3개를 생성합니다. 이러한 디스크는 [proc.sumavm.susemgr.prep]에서 파티셔닝 및 탑재됩니다.

    저장소 크기 값은 절대적으로 최솟값이며 소규모 테스트 또는 데모 설치용으로만 적합합니다. 특히 /var/spacewalk/에서는 빠르게 추가 공간이 필요하게 됩니다. 또한, Kiwi 이미지가 저장되는 /srv에 대한 별도의 파티션도 생성하는 것이 좋습니다.

    VirtIO 저장소 디스크 이름 크기

    VirtIO 디스크 2

    spacewalk

    500GB

    VirtIO 디스크 3

    pgsql

    100GB

    VirtIO 디스크 4

    스왑

    4GB

  6. 하드웨어 추가를 클릭하여 준비된 Ignition 또는 Cloud Init 디스크가 있는 가상 CDROM 장치를 연결합니다.

  7. 설치 시작을 클릭하여 SUSE Manager 이미지에서 새 VM을 부팅합니다. 로그인 프롬프트가 표시될 때까지 기다립니다. 구성 디스크에 설정된 자격 증명을 사용하여 로그인합니다.

5. SUSE Manager 가상 머신 설정 - VMWare

이 세그먼트에서는 VMWare 환경 내에서 SUSE Manager 스토리지 파티션에 필수적인 추가 가상 디스크 생성을 중심으로 하는 VMWare 구성을 제공합니다.

절차: VMware 가상 머신 생성
  1. SUSE Manager 서버 .vmdk 파일을 다운로드한 후 사본을 VMware 스토리지로 전송합니다.

  2. 위의 지침에 따라 생성한 준비된 Ignition 또는 Cloud Init 디스크 파일을 업로드합니다.

  3. 게스트 OS 제품군 Linux 및 게스트 OS 버전 SUSE Linux Enterprise 15(64비트)를 기반으로 새 가상 머신을 생성하고 이름을 지정합니다.

  4. menu:[설정 사용자 정의]에서 컨트롤러 위치IDE 컨트롤러 0 저장소 장치를 사용하여 업로드한 .vmdk를 찾습니다.

  5. 500GB(또는 그 이상)의 추가 하드 디스크 2 추가

  6. RAM 및 CPU 수(RAM 16GB 및 CPU 4개 이상)를 구성합니다.

  7. 필요에 따라 네트워크 어댑터를 설정합니다.

CD/DVD 드라이브 1을 설정하여 업로드한 구성을 Datastore ISO로 사용하도록 합니다. 연결 옆의 상자를 선택합니다. 이 드라이브는 처음 시스템 전원을 켤 때 반드시 있어야 합니다.

  1. VM의 전원을 켜고 구성 디스크에서 설정한 자격 증명을 사용하여 로그인합니다.

6. SUSE Manager용 가상 머신 준비

시작하기 전에 SUSE Customer Center(https://scc.suse.com)에서 SUSE 관리자 등록 코드를 받습니다.

절차: SUSE Manager 실행 준비
  1. root 로 로그인합니다.

  2. SCC를 사용하여 SUSE Manager를 등록합니다. 예를 들어, <productnumber>을(를) 4.3(으)로 바꾸고 <architecture>x86_64로 바꿉니다.

    SUSEConnect -e <EMAIL_ADDRESS> -r <SUSE_MANAGER_CODE> \
      -p SUSE-Manager-Server/<productnumber>/<architecture>
  3. 확장 프로그램 목록 명령을 실행하여 승인된 확장 프로그램의 유효성을 검사합니다.

    SUSEConnect --list-extensions
  4. SUSE Manager 리포지토리 추가:

    SUSEConnect -p sle-module-basesystem/15.4/x86_64
    SUSEConnect -p sle-module-server-applications/15.4/x86_64
    SUSEConnect -p sle-module-web-scripting/15.4/x86_64
    SUSEConnect -p sle-module-suse-manager-server/<productnumber>/x86_64
  5. SUSE Manager 저장소를 준비합니다. suma-storage 명령은 이전에 생성한 외부 저장소를 SUSE Manager에 사용할 수 있도록 자동으로 준비하고 구성합니다. 다음 명령에서 첫 번째 파라미터는 SUSE Manager 데이터를 위한 장치이고, 두 번째 파라미터는 데이터베이스를 위한 장치입니다.

    suma-storage /dev/vdb /dev/vdc
  6. 이제 SUSE Manager를 위한 가상 머신을 설정할 준비가 되었습니다.

SUSE Manager 설정을 진행하려면, SUSE Manager 설정을 참조하십시오.