libvirt(virsh命令總結)


virsh回車進入交互式界面:

  version

  pwd

  hostname  顯示本節點主機名

  nodeinfo    顯示節點信息

  list --all   顯示所有雲主機

  7種狀態:

    running   運行中

    idel     空閑,未運行

    paused   暫停狀態

    shutdown 關閉

    crashed  虛擬機崩潰

    dying   垂死狀態,但是又沒有完全關閉或崩潰

    shutdown <domain>  

    destroy    <domain>  強制關閉虛擬機(相當於直接撥電源)

    start   <domain>  啟動虛擬機

    edit  <domain>     編輯該虛擬機的xml文件

    dommemstat <domain> 獲取domain的內存狀態

    suspend  <domain>      掛起一個正在運行的虛擬機,該虛擬機仍占資源;

    resume  <domain>    從掛起狀態恢復一下虛擬機

    vcpuinfo <domain>    顯示一些虛擬機的vcpu的信息

    vncdisplay  <domain>    顯示vnc監聽地址和端口

快照相關:

  snapshot-create <domain> xmlfile   給domain創建一個snapshot,詳細內容保存在xmlfile中

  snapshot-current <domain>      顯示一個domain的當前的snapshot

  snapshot-list <domain>         顯示一個domain的所有的snapshot

  snapshot-revert <domain> snapshot       恢復一個domian到以前的snapshot

  snapshot-delete <domain> snapshot --children   刪除一個domain的snapshot

 如何用libvirt遠程管理虛擬機?

  要用libvirt連接到超級管理程序,我們需要一個URI,這個URI配合virsh和virt-viewer命令使用,后面可以跟一些可選項,virt-viewer可以調用一些鏈接參數,例如:virsh -c qemu:///system 當鏈接到遠程機器時,可以定義幾種使用的協議:ssh,tcp,tls。當鏈接到遠程機器時,需要使用遠程主機的用戶和主機名進行鏈接,如果沒有定義鏈接用戶,則會使用本機環境的$USER的用戶進行鏈接,當連接到qemu hypervisor時,接受兩種鏈接類型:system可以有所有的訪問權限,session有限制的訪問。例如:

  使用full access鏈接至本機的qemu hypervisor,前面的-c 是為了執行后面的list命令(--connect)

  virsh -c  qemu:///system list

  使用full access鏈接至遠程主機的qemu hypervisor,每次都要輸入ssh密碼,改成ssh無密碼登陸就不需要輸入密碼了,直接顯示結果。

  virsh -c qemu+ssh://tux@mercur/system   直接進入交互virsh模式

  virsh -c qemu+ssh://10.1.1.8/system list   直接顯示list后的結果

  其余連接格式如下:

  qemu:///session                      (local access to per-user instance)
  qemu+unix:///session                 (local access to per-user instance)
  qemu:///system                       (local access to system instance)
  qemu+unix:///system                  (local access to system instance)
  qemu://example.com/system            (remote access, TLS/x509)  
  qemu+tcp://example.com/system        (remote access, SASl/Kerberos)
  qemu+ssh:///system   (remote access, SSH tunnelled)

使用libvirt創建kvm虛擬機:
  1、制作虛擬機鏡像
    qemu-img create -f qcow2 test.qcow2 10G //格式,名字,大小
  2、下載並復制iso鏡像到指定目錄(在第3步中創建xml文件中指定)
  3、創建安裝配置文件,demo.xml如下,可以根據自己需求更改

 1 <domain type='kvm'>
 2         <name>test_ubuntu</name> //虛擬機名稱
 3         <memory>1048576</memory> //最大內存,單位k
 4         <currentMemory>1048576</currentMemory> //可用內存,單位k
 5         <vcpu>8</vcpu> //虛擬cpu個數
 6         <os>
 7           <type arch='x86_64' machine='pc'>hvm</type>
 8           <boot dev='cdrom'/> //光盤啟動
 9        </os>
10        <features>
11          <acpi/>
12          <apic/>
13          <pae/>
14        </features>
15        <clock offset='localtime'/>
16        <on_poweroff>destroy</on_poweroff>
17        <on_reboot>restart</on_reboot>
18        <on_crash>destroy</on_crash>
19        <devices>
20          <emulator>/usr/libexec/qemu-kvm</emulator>
21          <disk type='file' device='disk'>
22           <driver name='qemu' type='qcow2'/>
23            <source file='/var/lib/libvirt/images/test.qcow2'/> //目的鏡像路徑
24            <target dev='hda' bus='ide'/>
25          </disk>
26          <disk type='file' device='cdrom'>
27            <source file='/var/lib/libvirt/images/ubuntu.iso'/> //光盤鏡像路徑
28            <target dev='hdb' bus='ide'/>
29          </disk>
30         <interface type='bridge'> //虛擬機網絡連接方式
31           <source bridge='kvmbr0'/> //當前主機網橋的名稱
32           <mac address="00:16:3e:5d:aa:a8"/> //為虛擬機分配mac地址,務必唯一,否則dhcp獲得同樣ip,引起沖突
33         </interface>
34         <input type='mouse' bus='ps2'/>
35          <graphics type='vnc' port='-1' autoport='yes' listen = '0.0.0.0' keymap='en-us'/>//vnc方式登錄,端口號自動分配,自動加1,可以通過virsh vncdisplay來查詢
36        </devices>
37      </domain>

  virsh define  demo.xml    //創建虛擬機

  virsh  start    test_ubuntu   //啟動虛擬機

  virsh  vncdisplay   test_ubuntu   ////查看虛擬機的vnc端口, 然后就可以通過vnc登錄來完成虛擬機的安裝

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM