Red Hat Training

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

21.11. virt-sysprep: 가상 머신 설정 재설정

virt-sysprep 명령줄 툴을 사용하여 게스트 가상 시스템을 재설정하거나 구성 해제하여 복제본을 만들 수 있습니다. 이 프로세스에서는 SSH 호스트 키를 제거하고, 영구 네트워크 MAC 구성을 제거하고, 사용자 계정을 제거해야 합니다. virt-sysprep은 SSH 키, 사용자 또는 로고를 추가하여 가상 머신을 사용자 지정할 수도 있습니다. 각 단계는 필요에 따라 활성화 또는 비활성화할 수 있습니다.
virt-sysprep 을 사용하려면 게스트 가상 머신이 오프라인 상태여야 하므로 명령을 실행하기 전에 종료해야 합니다. virt-sysprep 은 복사본을 만들지 않고 게스트 또는 디스크 이미지를 그대로 수정합니다. 게스트 가상 머신의 기존 콘텐츠를 유지하려면 먼저 디스크를 스냅샷, 복사 또는 복제해야 합니다. 디스크 복사 및 복제에 대한 자세한 내용은 libguestfs.org 를 참조하십시오.
디스크 이미지에 액세스하기 위해 root가 필요하지 않는 한 virt-sysprep 를 root로 사용하지 않는 것이 좋습니다. 그러나 이러한 경우 virt-sysprep 을 실행하는 루트가 아닌 사용자가 쓸 수 있도록 디스크 이미지의 권한을 변경하는 것이 좋습니다.
virt-sysprep 을 설치하려면 다음 명령을 입력합니다.
# yum install /usr/bin/virt-sysprep
다음 명령 옵션을 virt-sysprep 과 함께 사용할 수 있습니다.

표 21.1. virt-sysprep 명령

명령 설명 예제
--help 특정 명령 또는 virt-sysprep 명령에 대한 간략한 도움말 항목을 표시합니다. 추가 도움말은 virt-sysprep 도움말 페이지를 참조하십시오. virt-sysprep --help
-a [파일] 또는 --add [file] 게스트 가상 머신의 디스크 이미지여야 하는 지정된 파일 을 추가합니다. 디스크 이미지 형식이 자동으로 탐지됩니다. 이 값을 재정의하고 특정 형식을 강제 적용하려면 --format 옵션을 사용합니다. virt-sysprep --add /dev/vms/disk.img
-a [URI] 또는 --add [URI] 원격 디스크를 추가합니다. URI 형식은 RuntimeClass와 호환됩니다. 자세한 내용은 21.4.2절. “RuntimeClass를 사용하여 파일 추가”의 내용을 참조하십시오. virt-sysprep -a rbd://example.com[:port]/pool/disk
-c [URI] 또는 --connect [URI] libvirt 를 사용하는 경우 지정된 URI에 연결합니다. 생략하면 KVM 하이퍼바이저를 통해 연결됩니다. 게스트 블록 장치를 직접 지정하는 경우(virt-sysprep -a) libvirt 가 전혀 사용되지 않습니다. virt-sysprep -c qemu:///system
-d [guest] 또는 --domain [guest] 지정된 게스트 가상 머신의 모든 디스크를 추가합니다. 도메인 UUID는 도메인 이름 대신 사용할 수 있습니다. virt-sysprep --domain 90df2f3f-8857-5ba9-2714-7d95907b1c9e
-n 또는 --dry-run 게스트 가상 시스템에서 읽기 전용 "dry run" sysprep 작업을 수행합니다. 이렇게 하면 sysprep 작업이 실행되지만 결국 디스크에 변경 사항이 취소됩니다. virt-sysprep -n
--enable [작업] 지정된 작업을 활성화합니다. 가능한 작업을 나열하려면 --list 명령을 사용합니다. virt-sysprep --enable ssh-hostkeys,udev-persistent-net
--operation 또는 --operations 수행할 sysprep 작업을 선택합니다. 작업을 비활성화하려면 작업 이름 앞에 -를 사용합니다. virt-sysprep --operations ssh-hotkeys,udev-persistent-net 는 두 작업을 모두 활성화하는 반면 virt-sysprep --operations firewall-rules,-tmp-files 는 firewall-rules 작업을 활성화하고 tmp-files 작업을 비활성화합니다. 유효한 작업 목록은 libguestfs.org 를 참조하십시오.
--format [raw|qcow2|auto] a 옵션의 기본값은 디스크 이미지 형식을 자동으로 검색하는 것입니다. 이를 사용하면 명령줄에서 뒤에 오는 -a 옵션에 대해 디스크 형식이 강제 적용됩니다. --format auto를 사용하여 후속 -a 옵션에 대한 자동 감지로 다시 전환합니다(위의 -a 명령 참조). virt-sysprep --format raw -a disk.imgdisk.img 에 대해 원시 형식(자동 감지 없음)을 강제 적용하지만 virt-sysprep --format raw -a disk.img --format auto-format auto -a another.imgdisk.img 에 대해 원시 형식(자동 탐지 없음)을 강제 적용하여 다른.img .img의 경우 원시 형식(자동 탐지 없음)으로 되돌립니다.img 신뢰할 수 없는 원시 형식 게스트 디스크 이미지가 있는 경우 이 옵션을 사용하여 디스크 형식을 지정해야 합니다. 이로 인해 악의적인 게스트의 보안 문제가 발생할 수 있습니다.
--list-operations virt-sysprep 프로그램에서 지원하는 작업을 나열합니다. 이러한 필드는 한 줄에 하나씩 나열되며, 하나 이상의 단일 공백으로 구분된 필드가 있습니다. 출력의 첫 번째 필드는 --enable 플래그에 제공할 수 있는 작업 이름입니다. 두 번째 필드는 작업이 기본적으로 활성화되어 있거나 그렇지 않은 경우 비어 있는 경우 * 문자입니다. 동일한 줄의 추가 필드에는 작업에 대한 설명이 포함됩니다. virt-sysprep --list-operations
--Mount-options 게스트 가상 시스템의 각 마운트 지점에 대한 마운트 옵션을 설정합니다. RuntimeClass로 구분된 마운트 지점:options 쌍을 사용합니다. 쉘에서 보호하려면 이 목록에 따옴표를 배치해야 할 수 있습니다. virt-sysprep --mount-options "/:notime"notime 작업을 통해 루트 디렉토리를 마운트합니다.
-q 또는 --quiet 로그 메시지 인쇄를 방지합니다. virt-sysprep -q
-v 또는 --verbose 디버깅을 위해 자세한 메시지를 활성화합니다. virt-sysprep -v
-v 또는 --version virt-sysprep 버전 번호를 표시하고 종료합니다. virt-sysprep -V
--root-password 루트 암호를 설정합니다. 을 사용하여 새 암호를 명시적으로 지정하거나 선택한 파일의 첫 번째 행에서 문자열을 더 안전하게 지정할 수 있습니다.
virt-sysprep --root-password password:123456 -a guest.img
또는
virt-sysprep --root-password file:SOURCE_FILE_PATH -a guest.img
자세한 내용은 libguestfs 설명서 를 참조하십시오.