10장. QEMU-img 및 QEMU 게스트 에이전트
/usr/share/doc/qemu-*/README.systemtap
을 참조하십시오.
10.1. qemu-img 사용
확인
디스크 이미지 파일 이름에 대해 일관성 검사를 수행합니다.
qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2
# qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2
qcow2
및 vdi
형식만 일관성 검사를 지원합니다.
-r
누수
s 클러스터 누수와 함께 사용하면 모든
종류의 오류가 수정됩니다. 이 경우 잘못된 수정 사항을 선택하거나 이미 발생한 손상 문제를 숨길 위험이 있습니다.
커밋
지정된 파일(파일이름)에 기록된 변경 사항을 qemu-img commit 명령을 사용하여 파일의 기본 이미지에 커밋합니다. 필요한 경우 파일의 형식 유형(형식)을 지정합니다.
qemu-img commit [-f format] [-t cache] filename
# qemu-img commit [-f format] [-t cache] filename
convert
convert
옵션은 하나의 인식된 이미지 형식을 다른 이미지 형식으로 변환하는 데 사용됩니다.
qemu-img convert [-c] [-p] [-f format] [-t cache] [-O output_format] [-o options] [-S sparse_size] filename output_filename
# qemu-img convert [-c] [-p] [-f format] [-t cache] [-O output_format] [-o options] [-S sparse_size] filename output_filename
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
형식에서 변환하면 압축되지 않은 데이터로 새 형식으로 작성됩니다.
create
크기
및 포맷
의 새 디스크 이미지 파일 이름을 생성합니다.
qemu-img create [-f format] [-o options] filename [size][preallocation]
# qemu-img create [-f format] [-o options] filename [size][preallocation]
-o backing_file=filename
로 지정하면 이미지는 자체와 기본 이미지 간의 차이점만 기록합니다. commit 명령을 사용하지 않는 한 백업 파일은 수정되지 않습니다. 이 경우 크기를 지정할 필요가 없습니다.
-o preallocation=off|meta|full|falloc
입니다. 사전 할당된 메타데이터가 있는 이미지는 이미지보다 큽니다. 그러나 이미지 크기가 증가하는 경우 이미지가 증가함에 따라 성능이 향상됩니다.
전체
할당을 사용하면 이미지가 큰 데 시간이 오래 걸릴 수 있습니다. 전체 할당과 시간이 필요한 경우, falloc
를 사용하면 시간을 절약할 수 있습니다.
정보
info 매개 변수는 디스크 이미지 파일 이름에 대한 정보를 표시합니다. info 옵션의 형식은 다음과 같습니다.
qemu-img info [-f format] filename
# qemu-img info [-f format] filename
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
# 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
map
# qemu-img 맵 [-f format] [--output=output_format] 파일 이름 명령은 이미지 파일 이름의 메타데이터와 백업 파일 체인을 덤프합니다. 특히 이 명령은 백업 파일 체인에 할당하는 최상위 파일과 함께 지정된 파일의 모든 섹터의 할당 상태를 덤프합니다. 예를 들어 c.qcow2 f 형식
옵션은 지정된 이미지 파일의 형식입니다. raw, qcow2, vhdx 및 vmdk와 같은 형식을 사용할 수 있습니다. 사용 가능한 출력 옵션은 human
및 json
입니다.
사용자가
기본 설정입니다. 이 형식은 사람의 눈에 더 쉽게 읽을 수 있도록 설계되어 있으므로 이 형식을 구문 분석해서는 안 됩니다. 명확성과 단순성을 위해 기본사람
형식은 파일의 0이 아닌 영역만 덤프합니다. 파일의 알려진 0 부분은 완전히 생략되며 체인 전체에 할당되지 않은 부분에도 적용됩니다. 명령을 실행하면 qemu-img 출력이 데이터를 읽을 수 있는 파일과 파일의 오프셋을 식별합니다. 출력은 네 개의 열이 있는 테이블로 표시됩니다. 처음 3 개는 16진수입니다.qemu-img map -f qcow2 --output=human /tmp/test.qcow2
# 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 Copied! - JSON 또는 JSON(JavaScript Object Notation)은 사람이 읽을 수 있지만 프로그래밍 언어이므로 구문 분석하도록 설계되었습니다.
예를 들어 구문 분석기에서 "qemu-img 맵"의 출력을 구문 분석하려면
--output=json
옵션을 사용해야 합니다.qemu-img map -f qcow2 --output=json /tmp/test.qcow2
# 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 Copied! JSON 형식에 대한 자세한 내용은 qemu-img(1) 매뉴얼 페이지를 참조하십시오.
Rebase
이미지의 백업 파일을 변경합니다.
qemu-img rebase [-f format] [-t cache] [-p] [-u] -b backing_file [-F backing_format] filename
# qemu-img rebase [-f format] [-t cache] [-p] [-u] -b backing_file [-F backing_format] filename
qcow2
형식만 백업 파일 변경(리베이스)을 지원합니다.
크기 조정
크기 크기로 생성된 것처럼 디스크 이미지 파일 이름을 변경합니다. 버전에 관계없이 원시 형식의 이미지만 크기를 조정할 수 있습니다. Red Hat Enterprise Linux 6.1 이상에서는 qcow2
형식의 이미지를 확장(하지만 축소할 수 없음)할 수 있는 기능이 추가되었습니다.
qemu-img resize filename size
# qemu-img resize filename size
증가
하려는 바이트 수를 접두사로 추가하거나 -
는 해당 바이트 수만큼 디스크 이미지 크기를 줄입니다. 단위 접미사를 추가하면 킬로바이트(K), 메가바이트(M), 기가바이트(G) 또는 테라바이트(T)로 이미지 크기를 설정할 수 있습니다.
qemu-img resize filename [+|-]size[K|M|G|T]
# qemu-img resize filename [+|-]size[K|M|G|T]
스냅샷
이미지의 기존스냅샷(파일이름)을 나열, 적용, 생성 또는 삭제합니다.
qemu-img snapshot [ -l | -a snapshot | -c snapshot | -d snapshot ] filename
# qemu-img snapshot [ -l | -a snapshot | -c snapshot | -d snapshot ] filename
지원되는 형식
QEMU-img 는 다음 형식 중 하나로 파일을 변환하도록 설계되었습니다.
-
raw
- 원시 디스크 이미지 형식(기본값). 가장 빠른 파일 기반 형식일 수 있습니다. 파일 시스템이 허점이 있는 경우(예: Windows의 Linux 또는 NTFS에서 ext2 또는 ext3의 ext3에서) 기록된 섹터만 공간을 예약합니다. qemu-img 정보를 사용하여 Unix/Linux에서 이미지 또는 ls -ls 에서 사용하는 실제 크기를 가져옵니다. 원시 이미지는 최적의 성능을 제공하지만 원시 이미지에서 매우 기본적인 기능만 사용할 수 있습니다(예: 스냅샷을 사용할 수 없음).
-
qcow2
- QEMU 이미지 형식: 최상의 기능을 갖춘 가장 유연한 형식인 QEMU 이미지 형식입니다. 이 도구를 사용하면 선택적 AES 암호화, zlib 기반 압축, 여러 VM 스냅샷 지원 및 소형 이미지(Windows의 비NTFS 파일 시스템)를 지원하지 않는 파일 시스템에서 유용합니다. 이 확장 기능 세트는 성능 비용으로 제공됩니다.
원시
또는 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 디스크 이미지 형식입니다.