21.13. virt-diff: 가상 머신 파일 간의 차이점 나열
virt-diff 명령줄 툴을 사용하여 두 가상 머신 디스크 이미지의 파일 차이점을 나열할 수 있습니다. 출력에 가상 시스템의 디스크 이미지가 실행된 후 변경 사항이 표시됩니다. 명령을 사용하여 오버레이 간의 차이점을 표시할 수도 있습니다.
참고
읽기 전용 액세스만 필요하므로 실시간 게스트 가상 머신에서 virt-diff 를 안전하게 사용할 수 있습니다.
이 툴은 실행 중인 가상 머신과 선택한 이미지 간의 파일 이름, 파일 크기, 체크섬, 확장 속성, 파일 콘텐츠 등에 차이점을 찾습니다.
참고
virt-diff 명령은 부트 로더, 파티션 또는 파일 시스템 간 사용되지 않은 공간 또는 "hidden" 섹터를 확인하지 않습니다. 따라서 보안 또는 법학 도구로 사용하지 않는 것이 좋습니다.
virt-diff
를 설치하려면 다음 명령 중 하나를 실행합니다.
# yum install /usr/bin/virt-diff
또는
# yum install libguestfs-tools-c
두 게스트를 지정하려면 첫 번째 게스트에
-a
또는 -d
옵션과 두 번째 게스트에 -A
또는 -D
옵션을 사용해야 합니다. 예를 들면 다음과 같습니다.
$ virt-diff -a old.img -A new.img
libvirt 에 알려진 이름을 사용할 수도 있습니다. 예를 들면 다음과 같습니다.
$ virt-diff -d oldguest -D newguest
다음 명령 옵션을 virt-diff 와 함께 사용할 수 있습니다.
명령 | 설명 | 예제 |
---|---|---|
--help | 특정 명령 또는 virt-diff 유틸리티에 대한 간략한 도움말 항목을 표시합니다. 추가 도움말은 virt-diff 매뉴얼 페이지를 참조하십시오. | virt-diff --help |
-a [파일] 또는 --add [file] |
첫 번째 가상 시스템의 디스크 이미지여야 하는 지정된 파일 을 추가합니다. 가상 머신에 블록 장치가 여러 개 있는 경우 별도의
-a 옵션으로 모든 장치를 제공해야 합니다.
디스크 이미지 형식이 자동으로 탐지됩니다. 이 값을 재정의하고 특정 형식을 강제 적용하려면
--format 옵션을 사용합니다.
| virt-customize --add /dev/vms/original.img -A /dev/vms/new.img |
-a [URI] 또는 --add [URI] | 원격 디스크를 추가합니다. URI 형식은 RuntimeClass와 호환됩니다. 자세한 내용은 21.4.2절. “RuntimeClass를 사용하여 파일 추가”의 내용을 참조하십시오. | virt-diff -a rbd://example.com[:port]/pool/newdisk -A rbd://example.com[:port]/pool/olddisk |
--all | --extra-stats --uids --uids --xattrs 와 동일합니다. | virt-diff --all |
--atime | 기본적으로 virt-diff 는 파일 액세스 시간에 대한 변경 사항을 무시합니다. 이러한 변경 사항은 흥미로운 경우가 거의 없기 때문입니다. --atime 옵션을 사용하여 액세스 시간 차이를 표시합니다. | virt-diff --atime |
-a [파일] | 두 번째 가상 시스템의 디스크 이미지여야 하는 지정된 파일 또는 URI 를 추가합니다. | virt-diff --add /dev/vms/original.img -A /dev/vms/new.img |
-c [URI] 또는 --connect [URI] | libvirt 를 사용하는 경우 지정된 URI에 연결합니다. 생략하면 기본 libvirt 하이퍼바이저에 연결됩니다. 게스트 블록 장치를 직접 지정하는 경우 (virt-diff -a), libvirt 가 전혀 사용되지 않습니다. | virt-diff -c qemu:///system |
--csv | 결과를 쉼표로 구분된 값(CSV) 형식으로 제공합니다. 이 형식은 데이터베이스 및 스프레드로 쉽게 가져올 수 있습니다. 자세한 내용은 참고 에서 참조하십시오. | virt-diff --csv |
-d [guest] 또는 --domain [guest] | 지정된 게스트 가상 머신의 모든 디스크를 첫 번째 게스트 가상 시스템으로 추가합니다. 도메인 UUID는 도메인 이름 대신 사용할 수 있습니다. | $ virt-diff --domain 90df2f3f-8857-5ba9-2714-7d95907b1c9e |
-d [guest] | 지정된 게스트 가상 시스템의 모든 디스크를 두 번째 게스트 가상 시스템으로 추가합니다. 도메인 UUID는 도메인 이름 대신 사용할 수 있습니다. | virt-diff --D 90df2f3f-8857-5ba9-2714-7d95907b1cd4 |
--extra-stats | 추가 통계를 표시합니다. | virt-diff --extra-stats |
--format 또는 --format=[raw |qcow2 ] | -a /-A 옵션의 기본값은 디스크 이미지의 형식을 자동으로 감지하는 것입니다. 이 기능을 사용하면 명령줄에서 뒤에 오는 -a /-A 옵션에 대한 디스크 형식이 강제 적용됩니다. --format auto 를 사용하여 후속 -a 옵션에 대한 자동 감지로 다시 전환합니다(위의 -a 명령 참조). | virt-diff --format raw -a new.img -A old.img 는 new.img 및 old.img에 대해 원시 형식(자동 감지 없음)을 강제 적용하지만 virt-diff --format raw -a new.img --format auto-format auto -a old.img 는 원시 형식(자동 감지 없음)을 강제 적용하며 new.img 에 대해 원시 형식(자동 탐지 없음)을 강제 적용합니다. 신뢰할 수 없는 원시 형식 게스트 디스크 이미지가 있는 경우 이 옵션을 사용하여 디스크 형식을 지정해야 합니다. 이로 인해 악의적인 게스트의 보안 문제가 발생할 수 있습니다. |
-H 또는 --human-readable | 사용자가 읽을 수 있는 형식으로 파일 크기를 표시합니다. | virt-diff -h |
--time-days |
변경된 파일의 시간 필드를 이제까지의 일(나중에 있는 경우)으로 표시합니다.
0 은 향후 86,399초(23시간, 59분, 59분, 59초) 사이를 의미합니다.
| virt-diff --time-days |
-v 또는 --verbose | 디버깅을 위해 자세한 메시지를 활성화합니다. | virt-diff --verbose |
-v 또는 --version | virt-diff 버전 번호를 표시하고 종료합니다. | virt-diff -V |
-x | libguestfs API 호출 추적을 활성화합니다. | virt-diff -x |
참고
쉼표로 구분된 값(CSV) 형식은 구문 분석하기 어려울 수 있습니다. 따라서 쉘 스크립트에서 csvtool을 사용하고 다른 언어의 경우 CSV 처리 라이브러리(예: Perl 또는 Python의 내장 csv 라이브러리)를 사용하는 것이 좋습니다. 또한 대부분의 스프레드 및 데이터베이스는 CSV를 직접 가져올 수 있습니다.
추가 옵션을 포함한 자세한 내용은 libguestfs.org 를 참조하십시오.