10장. QEMU-img 및 QEMU 게스트 에이전트


이 장에는 게스트 가상 시스템과 qemu-img 패키지를 사용하는 데 필요한 유용한 팁과 팁이 포함되어 있습니다. QEMU 추적 이벤트 및 인수에 대한 정보를 찾고 있는 경우 여기에 있는 README 파일 /usr/share/doc/qemu-*/README.systemtap 을 참조하십시오.

10.1. qemu-img 사용

qemu-img 명령줄 툴은 KVM에서 사용하는 다양한 파일 시스템을 포맷, 수정 및 확인하는 데 사용됩니다. QEMU-img 옵션 및 사용법은 아래에 나열되어 있습니다.

확인

디스크 이미지 파일 이름에 대해 일관성 검사를 수행합니다.

#  qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2
Copy to Clipboard
참고
qcow2vdi 형식만 일관성 검사를 지원합니다.
r을 사용하여 검사 중에 발견된 불일치를 복구하려고 하지만 -r 누수 s 클러스터 누수와 함께 사용하면 모든 종류의 오류가 수정됩니다. 이 경우 잘못된 수정 사항을 선택하거나 이미 발생한 손상 문제를 숨길 위험이 있습니다.

커밋

지정된 파일(파일이름)에 기록된 변경 사항을 qemu-img commit 명령을 사용하여 파일의 기본 이미지에 커밋합니다. 필요한 경우 파일의 형식 유형(형식)을 지정합니다.

 # qemu-img commit [-f format] [-t cache] filename
Copy to Clipboard

convert

convert 옵션은 하나의 인식된 이미지 형식을 다른 이미지 형식으로 변환하는 데 사용됩니다.

명령 형식:
# qemu-img convert [-c] [-p] [-f format] [-t cache] [-O output_format] [-o options] [-S sparse_size] filename output_filename
Copy to Clipboard
p 매개 변수는 명령의 진행 상황(선택 사항 및 모든 명령의 경우 아님)을 표시하며, -S 옵션을 사용하면 디스크 이미지에 포함된 스파스 파일을 생성할 수 있습니다. 스파스 파일은 모든 용도의 표준 파일처럼 작동합니다. 단, 0만 포함된 물리 블록(nothing)을 제외하면 됩니다. 운영 체제에서 이 파일을 볼 때 실제로는 아무것도 사용하지 않더라도 실제 디스크 공간이 존재하는 것으로 취급되며 실제 디스크 공간을 차지합니다. 이는 디스크가 디스크 공간보다 많은 디스크 공간을 차지하는 것처럼 게스트 가상 머신에 대한 디스크를 만들 때 특히 유용합니다. 예를 들어 10Gb인 디스크 이미지에서 -S를 50Gb로 설정하면 10Gb의 디스크 공간만 실제로 사용되고 있지만 10Gb의 디스크 공간 크기는 60Gb로 나타납니다.
output_format 형식을 사용하여 디스크 이미지 파일 이름을 디스크 이미지 output_ filename 으로 변환합니다. 디스크 이미지는 선택적으로 -c 옵션으로 압축하거나, -o encryption 를 설정하여 -o 옵션으로 암호화할 수 있습니다. o 매개 변수와 함께 사용할 수 있는 옵션은 선택한 형식과 다릅니다.
qcow2 형식만 암호화 또는 압축을 지원합니다. qcow2 암호화는 보안 128비트 키와 함께 AES 형식을 사용합니다. qcow2 압축은 읽기 전용이므로 압축된 섹터를 qcow2 형식에서 변환하면 압축되지 않은 데이터로 새 형식으로 작성됩니다.
이미지 변환은 qcow 또는 cow 와 같이 커질 수 있는 형식을 사용할 때 작은 이미지를 가져오는 데 유용합니다. 빈 섹터는 감지되어 대상 이미지에서 비활성화됩니다.

create

크기포맷새 디스크 이미지 파일 이름을 생성합니다.

# qemu-img create [-f format] [-o options] filename [size][preallocation]
Copy to Clipboard
기본 이미지를 -o backing_file=filename 로 지정하면 이미지는 자체와 기본 이미지 간의 차이점만 기록합니다. commit 명령을 사용하지 않는 한 백업 파일은 수정되지 않습니다. 이 경우 크기를 지정할 필요가 없습니다.
사전 할당은 qcow2 이미지 생성에서만 사용할 수 있는 옵션입니다. 허용되는 값은 -o preallocation=off|meta|full|falloc 입니다. 사전 할당된 메타데이터가 있는 이미지는 이미지보다 큽니다. 그러나 이미지 크기가 증가하는 경우 이미지가 증가함에 따라 성능이 향상됩니다.
전체 할당을 사용하면 이미지가 큰 데 시간이 오래 걸릴 수 있습니다. 전체 할당과 시간이 필요한 경우, falloc 를 사용하면 시간을 절약할 수 있습니다.

정보

info 매개 변수는 디스크 이미지 파일 이름에 대한 정보를 표시합니다. info 옵션의 형식은 다음과 같습니다.

# qemu-img info [-f format] filename
Copy to Clipboard
이 명령은 종종 표시된 크기와 다를 수 있는 디스크에 예약된 크기를 검색하는 데 사용됩니다. 디스크 이미지에 스냅샷을 저장하면 해당 스냅샷도 표시됩니다. 예를 들어 이 명령은 블록 장치의 qcow2 이미지에서 가져온 공간 수를 표시합니다. 이 작업은 qemu-img 를 실행하여 수행됩니다. 사용 중인 이미지가 qemu-img check 명령과 함께 qemu-img info 명령의 출력과 일치하는지 확인할 수 있습니다. 10.1절. “qemu-img 사용” 에서 참조하십시오.
# qemu-img info /dev/vg-90.100-sluo/lv-90-100-sluo
image: /dev/vg-90.100-sluo/lv-90-100-sluo
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 0
cluster_size: 65536
Copy to Clipboard

map

# qemu-img 맵 [-f format] [--output=output_format] 파일 이름 명령은 이미지 파일 이름의 메타데이터와 백업 파일 체인을 덤프합니다. 특히 이 명령은 백업 파일 체인에 할당하는 최상위 파일과 함께 지정된 파일의 모든 섹터의 할당 상태를 덤프합니다. 예를 들어 c.qcow2 b.qcow2 a.qcow2와 같은 체인이 있는 경우 a.qcow2가 원래 파일인 경우 b.qcow2 및 c.qcow2는 b.qcow2의 delta 파일입니다. 이 체인이 생성되면 일반 이미지 데이터를 저장하고 파일에 어떤 파일에 있는지와 파일 내에 있는 위치에 대한 정보를 저장합니다. 이러한 정보를 이미지 메타데이터라고 합니다. f 형식 옵션은 지정된 이미지 파일의 형식입니다. raw, qcow2, vhdx 및 vmdk와 같은 형식을 사용할 수 있습니다. 사용 가능한 출력 옵션은 humanjson 입니다.

  • 사용자가 기본 설정입니다. 이 형식은 사람의 눈에 더 쉽게 읽을 수 있도록 설계되어 있으므로 이 형식을 구문 분석해서는 안 됩니다. 명확성과 단순성을 위해 기본 사람 형식은 파일의 0이 아닌 영역만 덤프합니다. 파일의 알려진 0 부분은 완전히 생략되며 체인 전체에 할당되지 않은 부분에도 적용됩니다. 명령을 실행하면 qemu-img 출력이 데이터를 읽을 수 있는 파일과 파일의 오프셋을 식별합니다. 출력은 네 개의 열이 있는 테이블로 표시됩니다. 처음 3 개는 16진수입니다.
    # qemu-img map -f qcow2 --output=human /tmp/test.qcow2
    Offset          Length          Mapped to       File
    0               0x20000         0x50000         /tmp/test.qcow2
    0x100000        0x80000         0x70000         /tmp/test.qcow2
    0x200000        0x1f0000        0xf0000         /tmp/test.qcow2
    0x3c00000       0x20000         0x2e0000        /tmp/test.qcow2
    0x3fd0000       0x10000         0x300000        /tmp/test.qcow2
    
    Copy to Clipboard
  • JSON 또는 JSON(JavaScript Object Notation)은 사람이 읽을 수 있지만 프로그래밍 언어이므로 구문 분석하도록 설계되었습니다. 예를 들어 구문 분석기에서 "qemu-img 맵"의 출력을 구문 분석하려면 --output=json 옵션을 사용해야 합니다.
    # qemu-img map -f qcow2 --output=json /tmp/test.qcow2
    [{ "start": 0, "length": 131072, "depth": 0, "zero": false, "data": true, "offset": 327680},
    { "start": 131072, "length": 917504, "depth": 0, "zero": true, "data": false},
    
    Copy to Clipboard
    JSON 형식에 대한 자세한 내용은 qemu-img(1) 매뉴얼 페이지를 참조하십시오.

Rebase

이미지의 백업 파일을 변경합니다.

# qemu-img rebase [-f format] [-t cache] [-p] [-u] -b backing_file [-F backing_format] filename
Copy to Clipboard
백업 파일이 backing_file 으로 변경되고 (파일 이름의 형식을 지원하는 경우 백업 파일 형식이 backing_format )로 변경됩니다.
참고
qcow2 형식만 백업 파일 변경(리베이스)을 지원합니다.
리베이스안전안전하지 않음이라는 두 가지 모드를 사용할 수 있습니다.
안전 모드는 기본적으로 사용되며 실제 재베이스 작업을 수행합니다. 새로운 백업 파일은 이전 버전과 다를 수 있으며 qemu-img rebase 명령은 guest 가상 시스템의 파일 이름의 내용을 변경하지 않고 유지합니다. 이를 위해 backing_file 과 파일 이름의 이전 백업 파일 간에 다른 모든 클러스터는 백업 파일을 변경하기 전에 파일 이름으로 병합됩니다.
안전 모드는 이미지 변환과 비교했을 때 비용이 많이 드는 작업입니다. 이전 백업 파일이 성공적으로 작성되려면 필요합니다.
안전하지 않은 모드는 -u 옵션이 qemu-img 리베이스 에 전달되는 경우 사용됩니다. 이 모드에서는 파일 콘텐츠에 대한 검사가 수행되지 않고 백업 파일 이름과 파일 형식만 변경됩니다. 새 백업 파일이 올바르게 지정되었는지 또는 이미지의 게스트 눈에 띄는 콘텐츠가 손상되는지 확인합니다.
이 모드는 백업 파일의 이름을 변경하거나 이동하는 데 유용합니다. 액세스 가능한 이전 백업 파일없이 사용할 수 있습니다. 예를 들어 백업 파일이 이미 이동되었거나 이름이 변경된 이미지를 수정하는 데 사용할 수 있습니다.

크기 조정

크기 크기로 생성된 것처럼 디스크 이미지 파일 이름을 변경합니다. 버전에 관계없이 원시 형식의 이미지만 크기를 조정할 수 있습니다. Red Hat Enterprise Linux 6.1 이상에서는 qcow2 형식의 이미지를 확장(하지만 축소할 수 없음)할 수 있는 기능이 추가되었습니다.

다음을 사용하여 디스크 이미지 파일 이름의 크기를 바이트 크기로 설정합니다.
# qemu-img resize filename size
Copy to Clipboard
디스크 이미지의 현재 크기를 기준으로 크기를 조정할 수도 있습니다. 현재 크기를 기준으로 크기를 지정하려면 증가 하려는 바이트 수를 접두사로 추가하거나 - 는 해당 바이트 수만큼 디스크 이미지 크기를 줄입니다. 단위 접미사를 추가하면 킬로바이트(K), 메가바이트(M), 기가바이트(G) 또는 테라바이트(T)로 이미지 크기를 설정할 수 있습니다.
# qemu-img resize filename [+|-]size[K|M|G|T]
Copy to Clipboard
주의
디스크 이미지를 축소하려면 먼저 할당된 파일 시스템과 파티션 크기를 줄이기 위해 VM 자체 내에서 파일 시스템 및 파티션 툴을 사용해야 합니다. 그렇게 하지 않으면 데이터 손실이 발생합니다.
이 명령을 사용하여 디스크 이미지를 확장한 후에는 VM 내부에서 파일 시스템 및 파티션 툴을 사용하여 실제로 장치의 새 공간을 사용해야 합니다.

스냅샷

이미지의 기존스냅샷(파일이름)을 나열, 적용, 생성 또는 삭제합니다.

# qemu-img snapshot [ -l | -a snapshot | -c snapshot | -d snapshot ] filename
Copy to Clipboard
- L은 지정된 디스크 이미지와 연결된 모든 스냅샷을 나열합니다. apply 옵션인 -a 은 디스크 이미지(파일 이름)를 이전에 저장한 스냅샷 의 상태로 되돌립니다. - C는 이미지(파일이름)의스냅샷(스냅샷 )을 생성합니다. -D는 지정된 스냅샷을 삭제합니다.

지원되는 형식

QEMU-img 는 다음 형식 중 하나로 파일을 변환하도록 설계되었습니다.

raw
원시 디스크 이미지 형식(기본값). 가장 빠른 파일 기반 형식일 수 있습니다. 파일 시스템이 허점이 있는 경우(예: Windows의 Linux 또는 NTFS에서 ext2 또는 ext3의 ext3에서) 기록된 섹터만 공간을 예약합니다. qemu-img 정보를 사용하여 Unix/Linux에서 이미지 또는 ls -ls 에서 사용하는 실제 크기를 가져옵니다. 원시 이미지는 최적의 성능을 제공하지만 원시 이미지에서 매우 기본적인 기능만 사용할 수 있습니다(예: 스냅샷을 사용할 수 없음).
qcow2
QEMU 이미지 형식: 최상의 기능을 갖춘 가장 유연한 형식인 QEMU 이미지 형식입니다. 이 도구를 사용하면 선택적 AES 암호화, zlib 기반 압축, 여러 VM 스냅샷 지원 및 소형 이미지(Windows의 비NTFS 파일 시스템)를 지원하지 않는 파일 시스템에서 유용합니다. 이 확장 기능 세트는 성능 비용으로 제공됩니다.
게스트 가상 머신 또는 호스트 물리적 머신 머신에서 실행되는 데 위의 형식만 사용할 수 있지만 qemu-img원시 또는 qcow2 형식으로 변환하기 위해 다음 형식을 인식하고 지원합니다. 이미지 형식은 일반적으로 자동으로 탐지됩니다. 이러한 형식을 raw 또는 qcow2 로 변환하는 것 외에도 raw 또는 qcow2 에서 원래 형식으로 변환할 수 있습니다.
Bochs
디스크 이미지 형식입니다.
cloop
Linux Compressed loop 이미지, 예를 들어 Knoppix CD-ROM과 같이 직접 압축된 CD-ROM 이미지를 재사용할 수 있는 경우에만 유용합니다.
cow
User Mode Linux Copy On Write 이미지 형식입니다. cow 형식은 이전 버전과의 호환성을 위해서만 포함됩니다. Windows에서는 작동하지 않습니다.
dmg
Mac 디스크 이미지 형식입니다.
nbd
네트워크 블록 장치.
parallels
가상화 디스크 이미지 형식을 병렬로 지원합니다.
QCOW
이전 QEMU 이미지 형식. 이전 버전과의 호환성을 위해서만 포함되어 있습니다.
vdi
Oracle VM350 하드 디스크 이미지 형식입니다.
vmdk
VMware 호환 이미지 형식(버전 1 및 2에 대한 읽기-쓰기 지원 및 버전 3에 대한 읽기 전용 지원).
vpc
Windows 가상 PC 디스크 이미지 형식입니다. 또한 vhd 또는 Microsoft 가상 하드 디스크 이미지 형식이라고 합니다.
vvfat
가상 VFAT 디스크 이미지 형식입니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat