Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

24.2. 자동으로 디스크 이미지 설치

livemedia-creator를 사용하여 디스크 이미지 생성 및 설치를 자동화할 수 있습니다. 자동 설치를 수행하려면 설치된 Red Hat Enterprise Linux 시스템 및 킥스타트 파일이 필요합니다. 디스크 이미지 자체는 수동으로 생성할 필요가 없습니다. 킥스타트 파일 생성 및 사용에 대한 보다 자세한 내용은 23장. 킥스타트 설치에서 참조하십시오.

24.2.1. livemedia-creator 개요

livemedia-creator를 사용하여 사용자 지정 이미지를 생성하는 것은 일반적으로 두 단계의 프로세스입니다. 첫 번째 단계에서는 임시 디스크 이미지 파일이 생성되어 Anaconda, Red Hat Enterprise Linux 설치 프로그램이 킥스타트 파일에 지정된 매개 변수를 기반으로 이 이미지에 시스템을 설치합니다. 그 후 다음 단계에서 livemedia-creator는 이러한 임시 시스템을 사용하여 최종 부팅 가능한 이미지를 생성합니다.
이 동작은 추가 옵션을 지정하여 변경할 수 있습니다. 예를 들어 첫 번째 단계만 수행하여 디스크 이미지 파일을 생성하거나 첫 번째 단계를 생략하고 기존 디스크 또는 파일 시스템을 사용하여 최종 부팅 ISO 이미지를 생성하는 것입니다.

중요

livemedia-creator를 사용하여 사용자 지정 이미지를 생성하는 것은 현재 AMD64 및 Intel 64 (x86_64) 시스템에서만 지원됩니다.
또한 생성 절차는 Red Hat Enterprise Linux 7에서만 지원됩니다. 이전 릴리즈의 사용자 지정 이미지를 만들 수 있지만 Red Hat에서 지원하지 않습니다.
livemedia-creator의 사용 예제는 24.2.4절. “사용자 지정 이미지 생성 ”에 설명되어 있습니다. lorax 패키지가 설치된 시스템에서 사용 가능한 모든 옵션 목록은 livemedia-creator --help 명령을 사용하면 표시됩니다. 추가 문서는 lorax 패키지와 함께 설치되어 있습니다. livemedia-creator(1) man 페이지 및 README.livemedia-creator 파일은 /usr/share/doc/lorax-version/ 디렉토리에 있습니다. 여기서 version은 설치되어 있는 lorax 패키지 버전입니다.

24.2.2. livemedia-creator 설치

livemedia-creator 도구는 lorax 패키지의 일부입니다. 패키지를 설치하려면 root로 다음 명령을 실행합니다:
# yum install lorax 
lorax 이외에 여러 다른 패키지를 설치해야 합니다. 이러한 패키지는 lorax의 종속 패키지가 아니므로 자동으로 설치되지 않지만 livemedia-creator의 사용 목적에 따라 필요할 수 있습니다. 이러한 패키지는 다음과 같습니다:
  • virt-install: 새로운 가상 머신을 작성하는 도구를 제공하는 패키지입니다. --no-virt 옵션을 지정하지 않을 경우 라이브 미디어 생성의 첫 번째 단계에서 사용됩니다.
  • libvirt, qemu-kvm, virsh 및 기타 가상화 도구: virt-install을 사용할 때 가상 머신을 생성, 실행, 관리할 수 있도록 시스템이 준비되어 있어야 합니다. Red Hat Enterprise Linux에서 가상화에 대한 자세한 내용 및 가상화 도구 설치 및 작업에 대한 문서는 Red Hat Enterprise Linux 7 가상화 배포 및 관리 가이드에서 참조하십시오.
  • anaconda: Red Hat Enterprise Linux 설치 프로그램에서 --no-virt 옵션이 사용되는 경우 virt-install 대신 첫 번째 단계에서 사용됩니다.
이 문서에서 제외된 다른 애플리케이션도 필요할 수 있습니다. livemedia-creator를 실행하여 지정된 옵션에 필요한 패키지가 누락되어 있는 경우 프로그램은 중지하고 계속 진행하기 전 설치해야 할 패키지를 알리는 오류 메세지가 표시됩니다.

24.2.3. 킥스타트 파일 예제

사용자 지정 라이브 이미지를 성공적으로 생성하려면 유효한 킥스타트 설정 파일이 필요합니다. lorax와 함께 두 개의 샘플이 자동으로 설치됩니다. 사용자 지정 이미지를 만들 때 샘플을 참조하거나 사용 목적에 맞게 이를 복사 및 수정할 수 있습니다. 두 샘플 모두는 /usr/share/doc/lorax-version/ 디렉토리에 있습니다. 여기서 version은 시스템에 설치된 lorax 패키지의 버전 번호입니다.
사용 가능한 예제는 다음과 같습니다:
  • rhel7-minimal.ks: 최소 설치 (@core 그룹) 및 커널 및 GRUB2 부트로더와 같은 필수 설치만을 제공하는 설정 파일입니다. root 이외의 사용자는 생성되지 않고 그래픽 인터페이스 또는 추가 패키지가 설치되지 않습니다.
  • rhel7-livemedia.ks: 그래픽 인터페이스로 라이브 시스템을 생성하는 고급 설정 파일입니다. root와 함께 liveuser라는 사용자가 생성됩니다.
설치 소스로 유효한 위치를 사용하려면 두 설정 예제를 수정해야 합니다. 이를 위해 vim과 같은 일반 텍스트 편집기에서 파일을 열고 url 명령을 배치하고 지정된 주소를 유효한 설치 소스로 변경합니다. 이러한 예제가 작동하게 하기 위해 다른 변경은 필요하지 않습니다.

중요

원래 위치로 샘플을 수정하지 않습니다. 다른 디렉토리에 이를 복사하고 복사본을 수정합니다.

참고

킥스타트 파일에서 설치 소스 및 추가 리포지터리를 지정할 때 공식적으로 제공되는 Red Hat 리포지터리만 지원되는 점에 유의합니다. 사용자 정의 리포지터리는 작동할 수 있지만 지원되지 않습니다.

24.2.4. 사용자 지정 이미지 생성

다음 부분에서는 livemedia-creator의 일반적인 사용 패턴에 대해 설명합니다. 이는 사용 가능한 옵션 전체 목록을 의미하지 않습니다. 사용 가능한 모든 옵션을 확인하려면 livemedia-creator --help를 실행하거나 livemedia-creator(1) man 페이지에서 참조하십시오.

24.2.4.1. virt-install을 사용하여 라이브 이미지 생성하기

livemedia-creator의 가장 일반적인 사용 방법은 virt-install을 사용하여 라이브 이미지 생성 절차에 사용할 임시 가상 머신을 생성하는 것입니다. virt-install을 사용하여 라이브 ISO를 생성하려면 유효한 킥스타트 파일과 Anaconda 설치 프로그램이 포함된 부팅 가능한 ISO 이미지가 필요합니다. 이러한 이미지는 "최소 부팅 매체"로 Red Hat에 의해 제공됩니다. 보다 자세한 내용은 2.2절. “USB 설치 미디어 만들기 ”에서 참조하십시오.
다음 명령은 virt-install을 사용하여 라이브 이미지를 생성할 때 최소 필요 사항입니다:
# livemedia-creator --make-iso --iso=/path/to/boot.iso --ks=/path/to/valid/kickstart.ks 
/path/to/boot.iso를 최소한의 부팅 이미지로의 경로로 대체하고 /path/to/valid/kickstart.ks를 이미지 생성 절차에서 사용할 유효한 킥스타트 파일의 경로로 대체합니다.
특정 사용 경우 유용한 추가 옵션은 다음과 같습니다:
  • --vnc vnc: 이 옵션을 사용하여 TigerVNC와 같은 VNC 클라이언트를 사용하여 설치 프로세스를 볼 수 있습니다. 옵션은 virt-install의 --graphics 옵션으로 전달됩니다. 보다 자세한 내용은 22장. VNC를 사용하여 설치하기에서 참조하십시오.
  • --ram x: 임시 가상 머신의 RAM 크기를 메가바이트 단위로 지정할 수 있습니다.
  • --vcpus x: 가상 머신의 프로세서 수입니다.

24.2.4.2. Anaconda의 이미지 설치를 사용하여 라이브 이미지 생성하기

라이브 이미지를 생성하는 다른 방법은 Anaconda의 이미지 설치 기능을 사용하는 것입니다. 이러한 경우 설치 프로그램이 포함된 이미지는 필요하지 않지만 anaconda 패키지는 시스템에 설치되어 있어야 합니다. 절차는 두 단계로 되어 있습니다. 먼저 임시 디스크 이미지를 생성하고 시스템을 이미지에 설치합니다. 그 후 이 이미지는 최종 부팅 가능한 ISO를 생성하는데 사용됩니다.

주의

Anaconda를 사용하여 라이브 이미지를 생성하는 것은 가상 머신 내부에서가 아닌 시스템 자체의 설치 프로그램을 사용하기 때문에 잠재적으로 위험할 수 있습니다. 문제를 일으킬 수 있는 알려진 버그는 현재 존재하지 않지만 이 프로세스는 전체 시스템을 사용할 수 없게 만들 수 있습니다. --no-virt 옵션과 함께 livemedia-creator를 이러한 용도로만 사용할 수 있는 가상 머신 (게스트)에서 실행할 것을 권장합니다.

중요

Anaconda에서 사용자 지정 이미지를 생성하기 전 Security Enhanced Linux (SELinux)를 허용 (또는 비활성화) 모드로 설정합니다. SELinux 모드 설정 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 7 SELinux 사용자 및 관리자 가이드에서 참조하십시오.
Anaconda를 사용하여 라이브 이미지를 생성하려면 --no-virt 옵션을 사용합니다. 예:
# livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --no-virt 

24.2.4.3. 디스크 또는 파일 시스템 이미지 생성하기

livemedia-creator를 사용하여 디스크 또는 파일 시스템 이미지를 생성할 수 있습니다. 이는 이미지 생성 절차의 첫 번째 단계만을 실행할 수 있음을 의미합니다. 최종 ISO는 생성되지 않고 임시 디스크나 파일 시스템 이미지 파일에 있는 설치 프로세스를 완료한 후 프로그램이 중지됩니다. 그 후 이미지를 마운트하여 오류가 있는지 검사할 수 있습니다. 이는 수정된 킥스타트 파일의 문제를 해결할 때 유용하며 차후 이미지를 생성할 때 저장해 두면 시간을 절약할 수 있습니다.
첫 번째 단계 후 생성 프로세스를 중지하기 위한 여러가지 방법이 있습니다. 다음의 예와 같이 --image-only 옵션을 사용할 수 있습니다:
# livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso --image-only 
또는 --make-iso 대신 --make-disk 옵션을 사용할 수 있습니다:
# livemedia-creator --make-disk --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 
--make-fsimage 옵션을 사용하여 파티션된 디스크 이미지 대신 파일 시스템 이미지를 생성할 수 있습니다:
# livemedia-creator --make-fsimage --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 

참고

이 섹션의 모든 예에서 --no-virt 옵션을 사용할 수 도 있습니다.
이 경우 파티션된 디스크 이미지 또는 파일 시스템 이미지는 기본값으로 /var/tmp/ 디렉토리에 배치됩니다. 기본값의 위치를 변경하려면 --tmp /path/to/temporary/directory/ 옵션을 사용합니다. 여기서 /path/to/temporary/directory/는 대상 디렉토리로의 경로입니다.

24.2.4.4. 이전에 생성한 디스크 또는 파일 시스템 이미지 사용

이미 디스크 또는 파일 시스템 이미지가 있을 경우 (24.2.4.3절. “디스크 또는 파일 시스템 이미지 생성하기 ” 참조) 이를 livemedia-creator에 제공하여 최종 부팅 가능한 ISO 이미지를 만들 수 있습니다. 이러한 경우 킥스타트 파일이나 Anaconda 설치 이미지가 필요하지 않습니다. 이는 이미지 생성 절차의 첫 번째 단계만 필요로 하므로 이 경우 생략되어 있습니다.
기존 파티션 디스크 이미지 파일에서 최종 이미지를 생성하려면 --disk-image 옵션을 사용합니다. 예:
# livemedia-creator --make-iso --disk-image=/path/to/disk/image.img 
디스크 이미지 대신 파일 시스템 이미지를 사용하려면 --fs-image 옵션을 사용합니다:
# livemedia-creator --make-iso --fs-image=/path/to/filesystem/image.img 

24.2.4.5. 어플라이언스 생성

livemedia-creator를 사용하여 어플라이언스 이미지 파티션된 디스크 이미지)를 생성할 수 있습니다. 이에는 템플릿을 사용하여 생성된 설명이 포함된 XML 파일이 포함되어 있습니다. 이 경우 이미지 설치 이외에 가상 머신 설치가 지원됩니다. 어플라이언스 이미지 및 설명을 생성하려면 --make-iso 대신 --make-appliance 옵션을 사용합니다. 예:
# livemedia-creator --make-appliance --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 
--resultdir 옵션을 사용하여 다른 디렉토리에 지정되지 않는 한 이미지 및 설명 XML 파일 모두 /var/tmp/ 디렉토리에 저장됩니다.
어플라이언스 생성에 대한 주가 옵션은 다음과 같습니다:
  • --app-name name: 어플라이언스의 이름을 지정합니다. 이는 <name> 태그로 표시된 XML 설명 파일에 나타납니다. 기본값은 None입니다.
  • --app-template /path/to/template.tmpl: 사용할 템플릿을 지정합니다. 기본값은 /usr/share/lorax/appliance/libvirt.tmpl입니다.
  • --app-file /path/to/app/file.xml: 생성된 설명 XML 파일 이름을 지정합니다. 기본값은 appliance.xml입니다.

24.2.4.6. AMI (Amazon Machine Image) 생성하기

Amazon Elastic Compute Cloud (EC2)에서 사용하기 위해 AMI (Amazon Machine Image)를 생성하려면 --make-ami 옵션을 사용합니다. 가상 및 이미지 설치 모두가 지원됩니다.
# livemedia-creator --make-ami --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso 
다른 위치를 지정하기 위해 --resultdir 옵션을 사용하지 않을 경우 ami-root.img라는 이미지 파일이 /var/tmp/ 디렉토리에 배치됩니다.

24.2.4.7. 추가 인수

다음 옵션은 위의 사용 사례 모두에서 사용할 수 있습니다. (가상 설치, Anaconda 이미지 설치 등)
  • --keep-image: 이 옵션을 지정하면 설치 중 첫 번째 단계에서 사용되는 디스크 이미지 파일이 삭제되지 않습니다. 이는 /var/tmp/ 디렉토리에 저장되어 diskgU42Cq.img와 같은 임시로 생성된 이름을 갖습니다.
  • --image-only: 이 옵션을 사용하면 이미지 생성 절차의 첫 번째 단계만 실행됩니다. 최종 부팅 가능한 ISO 이미지를 생성하는 대신 livemedia-creator는 임시 디스크 이미지 파일만을 생성하고 파일 설치를 수행합니다. 이 옵션을 사용하면 오랜 시간이 소모되는 두 번째 단계를 생략하고 임시 디스크 이미지 파일을 검사할 수 있기 때문에 킥스타트 파일의 수정한 내용을 테스트할 때 시간을 절약할 수 있습니다.
  • --image-name name: 임시 디스크 이미지 파일의 사용자 정의 이름을 지정할 수 있습니다. 기본값 이름은 임의로 생성됩니다 (예: disk1Fac8G.img).
  • --tmp /path/to/temporary/directory/: 최상위 임시 디렉토리를 지정합니다. 기본값은 /var/tmp/입니다. 이 옵션을 사용하면 기존 디렉토리를 지정해야 합니다.
  • --resultdir /path/to/results/directory/: livemedia-creator 완료 후 생성되는 부팅 가능한 ISO 이미지가 나타나는 디렉토리를 지정합니다. 기존의 디렉토리를 지정할 수 없습니다. 기본값은 /var/tmp/입니다. 이 옵션은 최종 ISO 이미지에만 적용됩니다. 디스크 또는 파일 시스템 이미지를 생성하고 특정 위치에 이를 저장하고자 할 경우 --tmp 옵션을 사용합니다.
  • --logfile /path/to/log/file/: 프로그램 로그 파일의 위치를 지정합니다.

24.2.5. livemedia-creator 문제 해결하기

다음 부분에서는 livemedia-creator를 사용할 때 자주 발생하는 다양한 문제를 해결하는 방법에 대해 설명합니다. 여기에 설명되어 있지 않은 문제가 발생할 경우 프로그램의 로그 파일을 확인합니다. 로그 파일은 실행될 때 마다 자동으로 생성되어, --logfile 옵션을 사용하여 다른 디렉토리를 지정하지 않는 한 도구를 실행한 디렉토리에 저장됩니다. 로그 파일은 사용하는 옵션에 따라 다릅니다. — 예를 들어 --no-virt 옵션을 사용할 때 virt-install.log는 생성되지 않습니다. (대신 anaconda/ 디렉토리에 있는 Anaconda에서 로그 파일이 생성됨). livemedia.logprogram.log라는 다른 파일은 매번 생성됩니다.
문제를 발견하고 해결하는 다른 방법은 유틸리티를 실행할 때 --image-only 옵션을 사용하는 것입니다. 이 옵션은 첫 번째 단계 후 프로그램을 중지시키기 때문에 최종 부팅 ISO 대신 디스크 이미지 파일만을 생성합니다. 그 후 두 번째 단계를 완료할 때 까지 기다리지 않고 디스크 이미지 파일을 마운트하여 내용을 확인합니다. 다른 방법으로 --keep-image 옵션을 사용하여 두 단계를 수행하지만 차후 분석을 위해 임시 디스크 이미지를 저장할 수 있습니다.
킥스타트 파일의 변경 내용을 테스트할 때 --vnc 옵션 사용을 권장합니다. 이 옵션을 사용하여 VNC 클라이언트를 사용하여 가상 머신에 연결하고 설치 프로세스를 볼 수 있습니다. 보다 자세한 내용은 22장. VNC를 사용하여 설치하기에서 참조하십시오.

24.2.5.1. 가상 머신 설치 중지

설치 프로그램이 첫 번째 가상 설치 단계 동안 어떠한 이유로 중지되는 경우 livemedia-creator도 설치 완료를 대기하고 중지됩니다. 프로그램을 직접 중단하거나 임시 가상 머신을 정지시켜 문제를 해결할 수 있습니다. Livemedia-creator는 게스트 운영 체제가 중지된 것을 감지하고 모든 임시 파일을 삭제 후 종료합니다.
임시 가상 머신을 중지하려면 다음 절차를 따르십시오:

절차 24.1. 임시 가상 머신 중지

  1. virsh를 사용하여 현재 시스템에서 사용 가능한 모든 가상 머신 (게스트)을 나열합니다. 출력 결과는 다음과 유사하게 나타납니다:
    # virsh list --all Id Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut off 
    임시 가상 머신을 식별합니다. 이름은 LiveOS로 시작하는 임의의 숫자 및 문자열로 되어 있습니다.
  2. 임시 가상 머신을 확인한 후 virsh destroy name 명령을 사용하여 이를 중지합니다. 여기서 name은 가상 머신의 이름입니다:
    # virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed 

24.2.5.2. 가상 머신 설치 중단

가상 설치를 수행하고 절차가 첫 번째 단계에서 어떠한 이유 (예를 들어 하드웨어 장애, 정전, 키보드 중단 등)로 중지되었을 경우 이전에 생성된 임시 디스크 이미지 및 가상 머신이 삭제될 때 까지 virt-install을 다시 시작할 수 없습니다. 다음 절차에서 이 방법에 대해 설명합니다.
모든 단계가 매번 필요하지 않습니다. 예를 들어 시스템 충돌 후 복구 실행하고 있을 경우 임시 가상 머신을 정지할 필요 없이 이를 정의 해제하면 됩니다. 또한 livemedia-creator에 의해 생성된 임시 파일만 삭제하고자 할 경우 다른 단계 없이 4 단계 및 5 단계를 사용할 수 있습니다.

절차 24.2. 임시 게스트 및 디스크 이미지 파일 삭제

  1. virsh를 사용하여 현재 시스템에서 사용 가능한 모든 가상 머신 (게스트)을 나열합니다. 출력 결과는 다음과 유사하게 나타납니다:
    # virsh list --all Id Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut off 
    임시 가상 머신을 식별합니다. 이름은 LiveOS로 시작하는 임의의 숫자 및 문자열로 되어 있습니다.
  2. 임시 가상 머신을 확인한 후 virsh destroy name 명령을 사용하여 이를 중지합니다. 여기서 name은 가상 머신의 이름입니다:
    # virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed 
  3. virsh undefine name을 사용하여 임시 가상 머신을 삭제합니다. 이전 단계의 name과 동일한 것을 사용합니다.
    # virsh undefine LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 has been undefined 
  4. 임시 파일 시스템의 마운트를 찾습니다. 이는 /var/tmp/ 디렉토리를 대상으로 하고 있으며 이름은 lorax.imgutils로 시작하는 6 자리 임의의 숫자나 문자로 되어 있습니다.
    # findmnt -T /var/tmp/lorax.imgutils* TARGET SOURCE FSTYPE OPTIONS /var/tmp/lorax.imgutils.bg6iPJ /dev/loop1 iso9660 ro,relatime 
    umount 명령을 사용하여 마운트 해제합니다:
     # umount /var/tmp/lorax.imgutils.bg6iPJ 
  5. /var/tmp 디렉토리에서 virt-install에 의해 생성된 임시 디스크 이미지를 찾습니다. 파일 이름은 설치 프로세스의 시작에서 명령행에 표시되며 --image-name 옵션을 사용하여 이름을 지정하지 않는 한 무작위로 생성됩니다. 예:
     2013-10-30 09:53:03,161: disk_size = 5GB 2013-10-30 09:53:03,161: disk_img = /var/tmp/diskQBkzRz.img 2013-10-30 09:53:03,161: install_log = /home/pbokoc/lorax/virt-install.log mount: /dev/loop1 is write-protected, mounting read-only 
    위의 예제에서 임시 디스크 이미지는 /var/tmp/diskQBkzRz.img입니다.
    첫 번째 메세지를 찾을 수 없는 경우 수동으로 임시 파일을 확인할 수 있습니다. ls 명령을 사용하여 /var/tmp 디렉토리의 내용을 나열하고 이름에 disk가 포함된 파일에 대한 출력을 필터링합니다:
    # ls /var/tmp/ | grep disk diskQBkzRz.img 
    그 후 임시 디스크 이미지를 삭제합니다:
    # rm -f /var/tmp/diskQBkzRz.img 
이 절차의 모든 단계를 완료하면 virt-install로 새로운 설치를 시작할 수 있습니다.

24.2.5.3. --no-virt를 사용한 설치 실패

Anaconda 이미지 설치 기능 (--no-virt 옵션)을 사용한 설치 중단에서 복구하려면 anaconda-cleanup 스크립트를 실행합니다. 이는 anaconda 패키지와 함께 설치됩니다. 이 스크립트는 /usr/bin/ 디렉토리에 있습니다.
다음 명령을 사용하여 삭제 스크립트를 실행합니다. 이를 위해 root 권한이 필요합니다.
# anaconda-cleanup