kvm虛擬機平常操做命令梳理

 

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有影響。)
相關文章
相關標籤/搜索