테스트 개발의 시스템 편 - 필요에 따라 테스트 가상 머신 만들기

먼저 KVM VM과 관련된 몇 가지 개념과 도구를 살펴보겠습니다.
  • kvm: 내장 기반 가상 머신(엔진)
  • qemu: 아날로그 VM IO 장치용
  • qemu-img: 가상 시스템 디스크 관리 도구
  • libvirt: 가상화 서비스의 API 인터페이스
  • virsh:libvirt 기반 명령행 도구
  • qemu-관리자: 도형화 관리 도구
  • KVM 가상 시스템을 새로 만들 때 BackingFile로 다른 디스크 파일을 지정할 수 있습니다.BackingFile은 여러 가상 시스템 간에 공유할 수 있는 읽기 전용 가상 디스크 기반 이미지입니다.BackingFile을 기반으로 가상 머신을 만들고 실행할 때, 자신의 디스크 파일에 파일만 증량적으로 써서 효율을 높이고 디스크와 유지보수 비용을 절약할 수 있다.
    가상 머신 스냅샷은 특정 시점에 가상 머신의 상태를 저장합니다. 자동 테스트 중에 문제나 오류가 발생하면 스냅샷을 저장하고 실행 중인 시점으로 복구할 수 있습니다.BackingFile 메커니즘을 통해 가상 시스템은 다음과 같은 다중 의존적인 스냅샷 체인을 지원한다.
    base image 

    다음 명령을 사용하면 스냅샷 체인에 있는 가상 머신을 다른 이미지에 의존하지 않는 독립된 디스크 이미지 파일로 내보낼 수 있습니다.
    qemu-img convert -O qcow2 vm02.qcow2 vm-templ.img

    사용자의 작업 디렉터리에 다음 디렉터리를 만들었다고 가정하십시오.
    kvm           
      iso             
      base        BackingFile
      share             ,        、   
      image               
      xml               XML    

    다음은 하나의 예를 들어 테스트 가상 기기를 신속하게 만드는 방법을 소개한다.
  • 이전 글의 절차에 따라 Win10 가상 머신을 생성한다.
  • 가상 기기에서 작업 중에 사용하는 테스트 소프트웨어를 설치한다.
  • 다음 명령을 사용하여 공유 도구 디스크를 새로 만듭니다.
  • qemu-img create -f qcow2 -o cluster_size=2M kvm/share/tools.qcow2 10G
  • 공유 디스크를 가상 시스템에 마운트하고 도구와 파일을 이 디스크에 복사합니다.
  • 이 가상 머신을 제거하고 확인 대화 상자에서 관련 디스크 파일을 삭제하지 않도록 선택하십시오.
  • kvm/base/windows/win10/x64-pro-zhcn.qcow2.
  • 위 기본 미러를 BackingFile로 사용하여 새 가상 머신 디스크를 생성하려면 다음 명령을 실행합니다.
  • qemu-img create -f qcow2 -o cluster_size=2M,backing_file=kvm/base/windows/win10/x64-pro-zh_cn.qcow2 kvm/image/test-win10-x64-pro-zh_cn-01.qcow2 40G
  • 그래픽 인터페이스에서 새 테스트 가상 머신, 새 가상 머신과 공유 디스크에 마운트됩니다.

  • 도형 인터페이스를 사용하는 qemu-manager 소프트웨어를 제외하고 여기에도 명령행 방법을 제공하여 테스트 플랫폼의 코드에 사용할 수 있다.
  • VM XML 프로파일 내보내기
  • virsh dumpxml test-win10-x64-pro-zh > kvm/xml/test-win10-x64-pro-zh.xml
  • XML 구성 파일의 다음 필드를 수정합니다.
  • name
  • uuid
  • vcpu
  • memory 및 currentMemory
  • mac address
  • 첫 번째 디스켓의 소스 파일
  • 첫 번째 디스켓의 Elemnt에 다음 BackingFile과 관련된 내용을 추가합니다.
  • 
      
      
    
  • 페이지 VNC로 가상 컴퓨터 데스크톱에 접근하려면 XML의graphics 요소를 찾아서 다음과 같이 수정합니다.
  • 
      
    
  • 다음 명령을 사용하여 가상 시스템을 정의합니다.
  • virsh define kvm/xml/test-win10-x64-pro-zh.xml
  • 다음 명령을 사용하여 가상 시스템을 시작합니다.
  • virsh start test-win10-x64-pro-zh
  • 다음 명령을 사용하여 가상 기기의 VNC 포트 번호를 얻고 VNC 소프트웨어에서'5900+이 숫자'의 포트를 사용하여 가상 기기의 원격 데스크톱에 접근한다
  • virsh vncdisplay test-win10-x64-pro-zh

    또한 저는 GO 언어를 사용하여libvirt 인터페이스를 바탕으로 하는 가상 기기 관리와 관련된 기능을 실현했습니다. 이 소스 오픈 프로젝트는 KVM 가상 기기와 Docker 용기를 바탕으로 하는 수요에 따라 테스트 환경 관리 플랫폼을 제공하는 데 목적을 두고 있습니다. 자세한 내용은 사이트 주소https://github.com/easysoft/z...를 참조하십시오.
    공통 명령:
    #        
    qemu-img info --backing-chain kvm/image/test-win10-x64-pro-zh_cn-01.qcow2
    
    #          
    qemu-img resize x64-pro-zh_cn.qcow2 +10G
    
    #         
    virsh list --all
    
    #      VNC  
    virsh vncdisplay win10-test
    
    #      XML    
    virsh dumpxml win10-test > win10-test.xml
    
    #          
    qemu-img create -f qcow2 -o cluster_size=2M,backing_file=base.qcow2 win10-test.qcow2 40G
    
    #        
    qemu-img convert -O qcow2 vm02.qcow2 vm-templ.img
    
    #   、    ,  、     
    virsh define win10-test.xml
    virsh start win10-test
    virsh destroy win10-test
    virsh undefine win10-test

    좋은 웹페이지 즐겨찾기