1. 程式人生 > >使用virsh工具創建虛擬機模板

使用virsh工具創建虛擬機模板

systemctl 註意 版本 live tex cor 分配 mage 而是

今天我們介紹使用virsh虛擬機管理工具組件來創建虛擬機模板

首先準備基礎環境:

在vmware上安裝一臺Centos7.0的虛擬機
技術分享圖片
打開CPU的虛擬化功能
安裝完操作系統之後驗證虛擬化功能是否打開
使用 egrep --color=auto "(svm|vmx)" /proc/cpuinfo進行查看

技術分享圖片
安裝libvirt的工具組件
yum install libvirt libvirt-client virt-manager virt-install
因為我們要使用libvirt組件去管理kvm,所以在物理機上需要安裝qemu-kvm
systemctl start libvirtd 啟動服務

libvirt和libvirtd的配置文件:
守護進程配置文件:/etc/libvirt/libvirt.conf
/etc/libvirt/qemu/networks/目錄下面有一個default.xml的配置文件

技術分享圖片
此文件中定義的是qemu系的虛擬機的基本配置信息,例如安裝完libvirt之後會生成一個名為bridge的網橋,並生成一個IP地址,還可以實現dhcp服務的自動分配。
下面我們使用virt-install進行虛擬機模板鏡像的制作

Centso7.0鏡像模板制作

下面這個示例創建一個名為rhel7.0的虛擬機,其hypervisor為kvm,內存大小為512MB,存儲磁盤為20G的映像文件/images/rhel7.0.img,通過iso光盤鏡像來引導啟動安裝過程,虛擬機網卡連接物理主機上的名為brnet0的橋接網絡;虛擬機顯卡類型為cirrus。

virt-install --connect qemu:///system --virt-type kvm --name rhel7.0 --vcpus 1,maxvcpus=4 --ram 512 --disk path=/image/rhel7.0.img,size=20,format=qcow2,bus=virtio,sparse --network bridge=brnet0,model=virtio --graphics vnc --cdrom /tmp/CentOS-7.0-1406-x86_64-DVD.iso --os-variant rhel7 --force --video=cirrus

技術分享圖片
技術分享圖片
虛擬機安裝完成後,進入虛擬機查看驅動信息
技術分享圖片
在宿主機機上使用brctl查看網橋信息可以看到虛擬機的網卡掛載到virbr下面
技術分享圖片
我們使用virsh工具組件創建的虛擬機關機之後可以在virt-manager圖像化管理工具中看到此虛擬機實例。
技術分享圖片
此時將/image/rhel7.0.img鏡像文件拷出來上傳到雲平臺即可
技術分享圖片

virt-install命令有許多選項,這些選項大體可以分為下面幾大類,同時對每類中的常用選選項也做出簡單說明;
          一般選項:指定虛擬機的名稱、內存大小、VCPU個數及特性等;
                -n NAME  -name=NAME    //虛擬機名稱,需全局唯一;
                -r MEMORY  --ram=MEMORY  ,虛擬機內存大小,單位為MB
                --vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cires=#][,threads=#] //VCPU個數及縣官配置;
                ---cpu=CPU    //CPU模式及特性,如coreduo等,可以使用qemu-kvm -cpu?來獲取支持的CPU模式;
        安裝方式:指定光盤安裝方式、GuestOS類型等;
              -c CDROM,--cdrom=CDROM  //光盤安裝介質;
              -l  LOCATION,--location=LOCATION  //安裝源URL,支持FTP\HTTP及NFS等,如ftp://172.16.0.1/pub:
            --pxe  //基於PXE完成安裝;
            --livecd  //把光盤當作LiveCD;
            --os-type=DISTRO_VARIANT  //操作系統類型,如Linux、unix或windows等;
            --os-variant=DISTRO_VARIANT  //某類型操作系統的變體,如rhel5,fedora8等;
            -x EXTRA,--extra-args=EXTRA  //根據--location指定的方式安裝GuestOS時,用於傳遞給內核的額外選項,例如指定kickstart文件位置,--extra=args "ks=http://172.16.0.1/class.cfs"
           --boot=BOOTOPTS  //指定安裝過程完成過後的配置選項,如引導設備次序,使用指定的而非按照kernel/initrd來引導系統啟動等:
                    例如:
                        --boot cdrom,hd,network:制定引導次序;
                        --boot kernel=KERNEL,initrd=INITRD,kernel_args="console=/dev/ttyS0  //指定啟動系統的內核及initrd文件;

        存儲配置:指定存儲類型、位置及屬性等;
                        --disk=DISKOPTS   //指定存儲設備及其屬性;格式為--disk   /some/storage/path,opt1=val1,opt2=val2等;
                         常用的選項有:
                                device:設備類型,如cdrom、disk或floppy等,默認為disk;
                                bus:磁盤總線類型,其值可以為ide,scsi,usb、virtio或xen;
                                perms:訪問權限,如rw、ro或sh(共享的可讀寫),默認為rw;
                                size:新建磁盤映像的大小,單位為GB;
                                cache:緩存模型,其值有none,writethrouth(緩存讀)及writeback(緩存讀寫);
                                format:磁盤映像格式,如raw,qcow2,vmdk等;
                                sparse:磁盤映像使用稀疏格式,即不立即分配指定大小的空間;
                            --nodisk:不使用本地磁盤,在LiveCD模式中常用;
         網絡配置:指定網路接口的網絡類型及接口屬性如MAC地址、驅動模式等;
                              -w NETWORK,--network=NETWORK,opt1=val1,opt2=val2 //將虛擬機連入宿主主機的網絡中,其中NETWORK可以為:
                                bridge=BRIDGE:連接至名為“BRIDEFG"的橋設備;
                                network=NAME:連接至名為“NAME"的網絡;
                         常用的其它選項還有:
                                 model:GuestOS中看到的網絡設備號,如e1000,rtl8139或virtio等;
                                 mac:固定的MAC地址;省略此選項時將使用隨機地址,但無論何種方式,對於KVM來說,其前三段必須為52:54:00
                                --nonetworks:虛擬機不適用網絡功能
          圖形配置:定義虛擬機顯示功能相關的配置,如VNC相關配置;
                                   --graphics TYPE,opt1=val1,opt2=val2 //指定圖形顯示相關的配置,此選項不會配置任何顯示硬件(如顯卡),而是僅指定虛擬機啟動後對其進行訪問的接口;
                                                TYPE:指定顯示類型,可以為vnc,sdl,soice或none,默認問vnc;
                                                port:TYPE為vnc或spice時其監聽的端口;
                                                listen:TYPE為vnc或spice時所監聽的IP地址,默認為127.0.0.1,可以通過修改/etc/libvirt/qemu
                                    conf定義新的默認值:
                                                 password:TYPE為vnc或spice時,為遠程訪問監聽的服務指定認證密碼;

windows2008鏡像制作

virt-install --connect=qemu:///system -n "windows2008" -r 1024 --vcpus 1 --network bridge=virbr0,model=virtio --disk path=/image/win08.img,format=qcow2,device=disk,bus=virtio,size=15,sparse --cdrom /tmp/cn_windows_server_2008_r2_hpc_edition_with_service_pack_1_x64_dvd_700632.iso --disk path=/tmp/virtio-win-1.7.4.iso,device=cdrom --graphics vnc --os-type windows --boot cdrom,hd
運行創建虛擬機命令之後,如果控制臺顯示如下,說明系統沒有將windows2008的鏡像文件作為第一啟動順序了,需要設置一下引導的啟動。
註意哪一個cdrom是windows2008的鏡像文件將其調整到第一引導順序,關閉虛擬機然後啟動。

技術分享圖片
技術分享圖片
在安裝操作系統選擇安裝磁盤目錄的時候會提示沒有驅動程序
技術分享圖片
這時候需要我們去virtis的鏡像文件中去加載驅動,選擇對應的版本
技術分享圖片
技術分享圖片
加載完成後會顯示如下信息
技術分享圖片
技術分享圖片
安裝完成後查看windows2008的驅動加載信息
技術分享圖片
技術分享圖片
右鍵點擊更新驅動
技術分享圖片
選擇virtio文件讓系統自動檢索
技術分享圖片
將所有需要更新的驅動更新完,然後關閉虛擬機,將/image文件下的win08.img磁盤文件上傳到雲平臺即可。

使用virsh工具創建虛擬機模板