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

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

首先準備基礎環境:

在vmware上安裝一臺Centos7.0的虛擬機
使用virsh工具創建虛擬機模板
打開CPU的虛擬化功能
安裝完操作系統之後驗證虛擬化功能是否打開
使用 egrep --color=auto "(svm|vmx)" /proc/cpuinfo進行查看

使用virsh工具創建虛擬機模板
安裝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的配置文件

使用virsh工具創建虛擬機模板
此文件中定義的是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

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

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的鏡像文件將其調整到第一引導順序,關閉虛擬機然後啓動。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章