KVM虛擬機的管理主要是經過virsh命令對虛擬機進行管理。廢話很少說,下面列出kvm平常管理中的命令node
1)查看KVM虛擬機配置文件及運行狀態 KVM虛擬機默認配置文件位置: /etc/libvirt/qemu/ autostart目錄是配置kvm虛擬機開機自啓動目錄。 virsh命令幫助 # virsh -help 或直接virsh命令和,再執行子命令。以下所示。 # virsh 歡迎使用 virsh,虛擬化的交互式終端。 輸入:'help' 來得到命令的幫助信息 'quit' 退出 virsh # help ....... 查看kvm虛擬機狀態 #virsh list --all 2)KVM虛擬機開機 # virsh start oeltest01 3)KVM虛擬機關機或斷電 關機 默認狀況下virsh工具不能對linux虛擬機進行關機操做,linux操做系統須要開啓與啓動acpid服務。在安裝KVM linux虛擬機必須配置此服務。 # chkconfig acpid on # service acpid restart virsh關機 # virsh shutdown oeltest01 強制關閉電源 # virsh destroy wintest01 4)經過配置文件啓動虛擬機 # virsh create /etc/libvirt/qemu/wintest01.xml 5)配置開機自啓動虛擬機 # virsh autostart oeltest01 autostart目錄是kvm虛擬機開機自啓動目錄,能夠看到該目錄中有KVM配置文件連接。 6)導出KVM虛擬機配置文件 # virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml KVM虛擬機配置文件能夠經過這種方式進行備份。 7)添加與刪除KVM虛擬機 刪除kvm虛擬機 # virsh undefine wintest01 說明:該命令只是刪除wintest01的配置文件,並不刪除虛擬磁盤文件。 從新定義虛擬機配置文件 經過導出備份的配置文件恢復原KVM虛擬機的定義,並從新定義虛擬機。 # mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml # virsh define /etc/libvirt/qemu/wintest01.xml 8)編輯KVM虛擬機配置文件 # virsh edit wintest01 virsh edit將調用vi命令編輯/etc/libvirt/qemu/wintest01.xml配置文件。也能夠直接經過vi命令進行編輯,修改,保存。 能夠但不建議直接經過vi編輯。 # vim /etc/libvirt/qemu/wintest01.xml 9)irsh console 控制檯管理linux虛擬機 配置virsh console見下文 kvm虛擬化學習筆記(六)之kvm虛擬機控制檯登陸配置 # virsh console oeltest01 10)其它virsh命令 掛起服務器 # virsh suspend oeltest01 恢復服務器 # virsh resume oeltest01 virsh命令豐富。能夠執行各類維護任務,本文只是從維護與管理的角度例舉了經常使用的命令,爲該命令的使用提供一個思路。 -------------------------------------------其餘命令------------------------------------------- 1)建立虛擬機 [root@localhost ~]# virt-install --name=centos1 \ #生成一個虛擬機 --ram 1024 --vcpus=1 \ --disk path=/root/centos1.img,size=10 \ --accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \ --graphics vnc,port=5921 --network bridge=br0 2)virsh的其餘操做 [root@localhost /]# virsh start centos1 #啓動虛擬機 [root@localhost /]# virt-viewer centos1 #若是有圖形界面的話,能夠進入虛擬機的界面 [root@localhost ~]# virsh shutdown centos1 #關閉虛擬機 [root@localhost /]# virsh reboot centos1 #重啓虛擬機 [root@localhost /]# virsh suspend centos1 #暫停虛擬機 [root@localhost /]# virsh resume centos1 #恢復虛擬機 [root@localhost /]# virsh autostart centos1 #自動加載虛擬機 -------------------------------------------virsh參數以下------------------------------------------- autostart #自動加載指定的一個虛擬機 connect #從新鏈接到hypervisor console #鏈接到客戶會話 create #從一個SML文件建立一個虛擬機 start #開始一個非活躍的虛擬機 destroy #刪除一個虛擬機 define #從一個XML文件定義一個虛擬機 domid #把一個虛擬機名或UUID轉換爲ID domuuid #把一個鬱悶或ID轉換爲UUID dominfo #查看虛擬機信息 domstate #查看虛擬機狀態 domblkstat #獲取虛擬機設備快狀態 domifstat #獲取虛擬機網絡接口狀態 dumpxml #XML中的虛擬機信息 edit #編輯某個虛擬機的XML文件 list #列出虛擬機 migrate #將虛擬機遷移到另外一臺主機 quit #退出非交互式終端 reboot #從新啓動一個虛擬機 resume #從新恢復一個虛擬機 save #把一個虛擬機的狀態保存到一個文件 dump #把一個虛擬機的內核dump到一個文件中以方便分析 shutdown #關閉一個虛擬機 setmem #改變內存的分配 setmaxmem #改變最大內存限制值 suspend #掛起一個虛擬機 vcpuinfo #虛擬機的cpu信息 version #顯示virsh版本 3)virt-clone,若是咱們要建幾個同樣的虛擬機,這個命令,很是有用! # virt-clone --connect=qemu:#/system -o centos1 -n centos3 -f /root/centos3.img #克隆centos1 正在克隆 centos1.img | 10.0 GB 00:07 Clone 'centos3' created successfully. libguestfs-tools是虛擬機一個管理包,頗有用的工具 [root@localhost ~]# yum -y install libguestfs-tools #安裝工具包 4)未登陸的狀況下,查看鏡像目錄 [root@localhost ~]# virt-ls centos.img /home #查看centos.img鏡像文件中/home目錄 tank 5)未登陸的狀況下,將鏡像文件中的文件copy出來 [root@localhost ~]# virsh list --all #查看全部的虛擬機名稱 Id 名稱 狀態 ---------------------------------------------------- 1 centos1 running 2 centos6.5 running - arch 關閉 - arch1 關閉 - arch2 關閉 - arch3 關閉 - arch5 關閉 - centos3 關閉 - ubuntu 關閉 - ubuntu1 關閉 [root@localhost ~]# virt-copy-out -d centos1 /etc/passwd /tmp #將centos1中的文件copy到tmp下面 6)查看虛擬機的分區狀況 [root@localhost ~]# virt-filesystems -d centos1 /dev/sda1 /dev/VolGroup/lv_root [root@localhost ~]# virt-list-partitions /root/centos.img /dev/sda1 /dev/sda2 [root@localhost ~]# virt-df centos.img Filesystem 1K-blocks Used Available Use% centos.img:/dev/sda1 495844 34510 435734 7% centos.img:/dev/VolGroup/lv_root 8780808 2842056 5492700 33% 7)mount虛擬機 [root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb [root@localhost ~]# cd /mnt/usb/ [root@localhost usb]# ls bin dev home lib64 media mnt opt root selinux sys usr boot etc lib lost+found misc net proc sbin srv tmp var 8)修改kvm中虛擬機的內存大小 [root@nfs ~]# virsh edit vm01 ##注意vi直接編輯不生效 vm01 df8604c1-dcf3-fa98-420f-6eea7b39c395 1048576 ###原本開始設置爲1G,如今這個單位是k 1048576 修改成1.5G [root@nfs ~]# expr 1536 \* 1024 1572864</p> <p>[root@nfs ~]# virsh list Id Name State ---------------------------------- 1 win2003 running 3 vm01 running [root@nfs ~]# virsh shutdown vm01 ###修改配置文件後須要從新啓動下虛擬機,先關閉它 Domain vm01 is being shutdown >[root@nfs ~]# virsh list ###確認已經被關閉 Id Name State ---------------------------------- 1 win2003 running [root@nfs ~]# virsh start vm01 ###啓動它 Domain vm01 started [root@nfs ~]# virsh list Id Name State ---------------------------------- 1 win2003 running 3 vm01 running 到機器上查看內存大小: [root@vm01 liuxiaojie]# free -m total used free shared buffers cached Mem: 1505 618 886 0 29 361 -/+ buffers/cache: 227 1277 Swap: 2000 0 2000 9)刪除一個虛擬機(vm01),能夠刪除一個狀態爲「shut off」的虛擬機 [root@nfs qemu]# virsh undefine vm01 [root@nfs qemu]# rm -f /home/data/vm01.img 10)刪除一個域 [root@nfs web01]# virsh list --all Id Name State ---------------------------------- 1 web01 running ##處於工做狀態 - myweb01 shut off - myweb03 shut off - mywin2003 shut off - myxp shut off - xp shut off [root@nfs web01]# virsh undefine web01 ##處於工做狀態也能刪除! Domain web01 has been undefined [root@nfs web01]# virsh list Id Name State ---------------------------------- 1 web01 running [root@nfs web01]# virsh destroy web01 Domain web01 destroyed [root@nfs web01]# virsh list --all ##web01已經沒有了! Id Name State ---------------------------------- - myweb01 shut off - myweb03 shut off - mywin2003 shut off - myxp shut off - xp shut off [root@nfs web01]# virsh define web01 error: Failed to open file 'web01': No such file or directory -------------------------------------------virsh相關命令------------------------------------------- 1)安裝libvirt #yum install kvm virt-* libvirt 2)檢查是否安裝成功 #lsmod |grep kvm 3)相關命令 #virsh -c qemu:#/system list #virsh list #virsh list --all #查看全部狀態的虛擬機 #virsh shutdown myWin7 #關閉myWin7虛擬機 #virsh destroy myWin7 #刪除myWin7虛擬機 #virsh start node4 #開機虛擬機 #virsh define /etc/libvirt/qemu/node5.xml #根據主機配置文檔添加虛擬機 #virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml #將node4虛機的配置文件保存至node6.xml #virsh edit node6 #修改node6的配置文件 #virsh suspend vm_name #暫停虛擬機 #virsh resume vm_name #恢復虛擬機 4)vm配置文件路徑 /etc/libvirtd/qemu/***.xml 能夠經過vim對配置文件進行管理,編輯後須要#service libvirtd restart(不會對現有VM有影響。)