centos環境下kvm虛擬機器之virt-install和virsh及virt-manager工具的使用

haolinhappy發表於2018-10-01

 

centos6.7環境下kvm虛擬機器之virt-install和virsh及virt-manager工具的使用

1. virt-install工具的使用

2. virsh命令的使用

3. virt-manager圖形化介面工具的使用

 

1. virt-install工具的使用

   virt-install是一個命令列工具,它能夠為KVM、Xen或其它支援libvrit API的hypervisor建立虛擬機器並完成GuestOS安裝;此外,它能夠基於序列控制檯、VNC或SDL支援文字或圖形安裝介面。安裝過程可以使用本地的安裝介質如CDROM,也可以透過網路方式如NFS、HTTP或FTP服務實現。對於透過網路安裝的方式,virt-install可以自動載入必要的檔案以啟動安裝過程而無須額外提供引導工具。當然,virt-install也支援PXE方式的安裝過程,也能夠直接使用現有的磁碟映像直接啟動安裝過程。

   virt-install命令有許多選項,這些選項大體可分為下面幾大類,同時對每類中的常用選項也做出簡單說明。

  ## 一般選項:指定虛擬機器的名稱、記憶體大小、VCPU個數及特性等;

    -n NAME, --name=NAME:虛擬機器名稱,需全域性惟一;

    -r MEMORY, --ram=MEMORY:虛擬機器內在大小,單位為MB;     n --vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cores=#][,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_TYPE:作業系統型別,如linux、unix或windows等;

    --os-variant=DISTRO_VARIANT:某型別作業系統的變體,如rhel5、fedora8等;

    -x EXTRA, --extra-args=EXTRA:根據--location指定的方式安裝GuestOS時,用於傳遞給核心的額外選項,例如指定kickstart檔案的位置,--extra-args "ks=

    --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:磁碟映像使用稀疏格式,即不立即分配指定大小的空間;

    --nodisks:不使用本地磁碟,在LiveCD模式中常用;

   ## 網路配置:指定網路介面的網路型別及介面屬性如MAC地址、驅動模式等;

    -w NETWORK, --network=NETWORK,opt1=val1,opt2=val2:將虛擬機器連入宿主機的網路中,其中NETWORK可以為:

    bridge=BRIDGE:連線至名為“BRIDEG”的橋裝置;

    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、spice或none等,預設為vnc;

    port:TYPE為vnc或spice時其監聽的埠;

    listen:TYPE為vnc或spice時所監聽的IP地址,預設為127.0.0.1,可以透過修改/etc/libvirt/qemu.conf定義新的預設值;

    password:TYPE為vnc或spice時,為遠端訪問監聽的服務進指定認證密碼;

    --noautoconsole:禁止自動連線至虛擬機器的控制檯;

   ## 裝置選項:指定文字控制檯、聲音裝置、序列介面、並行介面、顯示介面等;

    --serial=CHAROPTS:附加一個序列裝置至當前虛擬機器,根據裝置型別的不同,可以使用不同的選項,格式為“--serial type,opt1=val1,opt2=val2,...”,例如:

    --serial pty:建立偽終端;

    --serial dev,path=HOSTPATH:附加主機裝置至此虛擬機器;

    --video=VIDEO:指定顯示卡裝置模型,可用取值為cirrus、vga、qxl或vmvga;

   ## 虛擬化平臺:虛擬化模型(hvm或paravirt)、模擬的CPU平臺型別、模擬的主機型別、hypervisor型別(如kvm、xen或qemu等)以及當前虛擬機器的UUID等;

    -v, --hvm:當物理機同時支援完全虛擬化和半虛擬化時,指定使用完全虛擬化;

    -p, --paravirt:指定使用半虛擬化;

    --virt-type:使用的hypervisor,如kvm、qemu、xen等;所有可用值可以使用’virsh capabilities’命令獲取;

   ## 其它:

    --autostart:指定虛擬機器是否在物理啟動後自動啟動;

    --print-xml:如果虛擬機器不需要安裝過程(--import、--boot),則顯示生成的XML而不是建立此虛擬機器;預設情況下,此選項仍會建立磁碟映像;

    --force:禁止命令進入互動式模式,如果有需要回答yes或no選項,則自動回答為yes;

    --dry-run:執行建立虛擬機器的整個過程,但不真正建立虛擬機器、改變主機上的裝置配置資訊及將其建立的需求通知給libvirt;

    -d, --debug:顯示debug資訊;

    儘管virt-install命令有著類似上述的眾多選項,但實際使用中,其必須提供的選項僅包括--name、--ram、--disk(也可是--nodisks)及安裝過程相關的選項。此外,有時還需要使用括--connect=CONNCT選項來指定連線至一個非預設的hypervisor。

    下面這個示例建立一個名為rhel5的虛擬機器,其hypervisor為KVM,記憶體大小為512MB,磁碟為8G的映像檔案/var/lib/libvirt/images/rhel5.8.img,透過boot.iso光碟映象來引導啟動安裝過程。

   # virt-install \

     --connect qemu:///system \

     --virt-type kvm \

     --name rhel5 \

     --ram 512 \

     --disk path=/var/lib/libvirt/images/rhel5.img,size=8 \

     --graphics vnc \

     --cdrom /tmp/boot.iso \

     --os-variant rhel5

   下面的示例將建立一個名為rhel6的虛擬機器,其有兩個虛擬CPU,安裝方法為FTP,並指定了ks檔案的位置,磁碟映像檔案為稀疏格式,連線至物理主機上的名為brnet0的橋接網路:

   # virt-install \

     --connect qemu:///system \

     --virt-type kvm \

     --name rhel6 \

     --ram 1024 \

     --vcpus 2 \

     --network bridge=brnet0 \

     --disk path=/VMs/images/rhel6.img,size=120,sparse \

     --location ftp://172.16.0.1/rhel6/dvd \

     --extra_args “ks=” \

     --os-variant rhel6 \

     --force 

    下面的示例將建立一個名為rhel5.8的虛擬機器,磁碟映像檔案為稀疏模式的格式為qcow2且匯流排型別為virtio,安裝過程不啟動圖形介面(--nographics),但會啟動一個序列終端將安裝過程以字元形式顯示在當前文字模式下,虛擬機器顯示卡型別為cirrus:

         # virt-install \

     --connect qemu:///system \

     --virt-type kvm \ 

     --name rhel5.8 \ 

     --vcpus 2,maxvcpus=4 \

     --ram 512 \ 

     --disk path=/VMs/images/rhel5.8.img,size=120,format=qcow2,bus=virtio,sparse \ 

     --network bridge=brnet0,model=virtio

     --nographics \

     --location ftp://172.16.0.1/pub \ 

     --extra-args "ks=\

     --os-variant rhel5 \

     --force \

     --video=cirrus

   下面的示例則利用已經存在的磁碟映像檔案(已經有安裝好的系統)建立一個名為rhel5.8的虛擬機器:

    # virt-install \

     --name rhel5.8

     --ram 512

     --disk /VMs/rhel5.8.img

     --import

    每個虛擬機器建立後,其配置資訊儲存在/etc/libvirt/qemu目錄中,檔名與虛擬機器相同,格式為XML

 

2. virsh命令的使用

    virsh常用命令:

       virsh start x 啟動名字為x的非活動虛擬機器

       virsh list 列出虛擬機器

       virsh create x.xml 建立虛擬機器(建立後,虛擬機器立即執行,成為活動主機)

       virsh suspend x 暫停虛擬機器

       virsh resume x 啟動暫停的虛擬機器

       virsh shutdown x 正常關閉虛擬機器

       virsh destroy x 強制關閉虛擬機器

       # virsh undefine x 刪除虛擬機器

       virsh dominfo x 顯示虛擬機器的基本資訊

       virsh domname 2 顯示id號為2的虛擬機器名

       virsh domid x 顯示虛擬機器id號

       virsh domuuid x 顯示虛擬機器的uuid

       virsh domstate x 顯示虛擬機器的當前狀態

       virsh dumpxml x 顯示虛擬機器的當前配置檔案(可能和定義虛擬機器時的配置不同,因為當虛擬機器啟動時,需要給虛擬機器分配id號、uuid、vnc埠號等等)

       virsh setmem x 512000 給不活動虛擬機器設定記憶體大小

       virsh edit x 編輯配置檔案(一般是在剛定義完虛擬機器之後)

示例1:virsh命令新增網橋:

# service libvirtd start
可以檢視幫助
# virsh help iface-bridge
透過virsh的命令可以直接新增網橋
# virsh iface-bridge eth0 br0
Created bridge br0 with attached device eth0
Bridge interface br0 started
# ifconfig

 

3. virt-manager圖形化介面工具的使用

略略略...

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27785870/viewspace-2215393/,如需轉載,請註明出處,否則將追究法律責任。

相關文章