虛擬化
KVM (kernel-based virtual machine)
常見的一些虛擬化的軟件xen kvm vmware esx openVZ Oracle VM VirtualBox vsphere
rhel5 xen
rhel6 kvm
rhel7 kvm
半(準)虛擬化:
客戶機器操作系統內核必須是修改過的,才能使用半虛擬化。
硬件虛擬化技術。
典型代表: Xen
全虛擬化:
必須cpu支持硬件虛擬化。
客戶機器不需要修改內核,原則上可以安裝任何的操作系統。
Intel # cat /proc/cpuinfo | grep vmx
AMD : svm
典型代表: kvm , VMware ESXi
=============================================================================
紅帽官檔下載路徑
docs.redhat.com
https://access.redhat.com/documentation/en-US/
準備工作
1,在宿主機準備好yum(只需要本地鏡像yum就可以了)
2,# cat /proc/cpuinfo |grep -E "vmx|svm" --查看CPU是否支持intel或AMD的虛擬技術
在宿主機上安裝kvm
# yum install qemu-kvm libvirt virt-install libvirt-python virt-manager virt-install libvirt-client virt-viewer
# systemctl start libvirtd
# systemctl status libvirtd
# systemctl enable libvirtd
# lsmod |grep kvm --確認是否有裝載kvm模塊,沒有裝載的可以使用modprobe kvm來裝載
kvm_intel 170181 0
kvm 554609 1 kvm_intel
irqbypass 13503 1 kvm
開始安裝kvm
1,圖形安裝
# virt-manager --和xen一樣的命令,打開虛擬機管理器
第一步:
安裝方式: --我這裏選擇第一個,使用iso直接安裝
第二步:
安裝路徑:/data/CentOS-7-x86_64-DVD-1611.iso --寫上iso的路徑
第三步:
內存大小: 800M -- 內存如果較小,安裝時無法使用圖形安裝方式,只能使用文本安裝方式
cpu個數:2 --不能大於宿主機器的cpu核數
第四步:
硬盤大小: 20 G --我這裏定義20G大小;它的默認路徑會在/var/lib/libvirt/images/kvm1.qcow2
第五步:
name : kvm1 --自定義一個虛擬機名稱
網絡現在只能選擇default --這是一個nat網絡(私有網絡),橋接網絡不能選,需要後面單獨配置後才能選擇
2,直接使用命令行來安裝
# virt-install --hvm --name "kvm1" --memory 800 --vcpus 2 --disk=/var/lib/libvirt/images/kvm1.qcow2,size=20 -l /share/CentOS-7-x86_64-DVD-1611.iso --network bridge=virbr0
--hvm指使用全虛擬化
3, 通過指定ks文件來實現自動安裝
# virt-install --noautoconsole --hvm --name "kvm2" --memory 800 --vcpus 2 --disk=/var/lib/libvirt/images/kvm2.img,size=20 -l /share/CentOS-7-x86_64-DVD-1611.iso --extra-args="ks=nfs:172.16.13.250:/ks/ks.cfg" --network bridge=virbr0
--noautoconsole 代表不連接虛擬機(也就是不用去看它自動安裝的過程)
-extra-args="ks=nfs:172.16.13.250:/ks/ks.cfg" 指定ks文件的路徑,它會讀取此文件並按照此文件的內容進行自動安裝(這裏是使用nfs來共享的,你也可以使用ftp或http來做)
4,直接使用以前學過的kickstart或cobbler網絡安裝服務器自動安裝
virt-install --pxe --network bridge=br0 --prompt
==============================================================================
主要的管理命令:
virsh help
virsh help domain
virsh help network
virsh help monitor --因爲參數很多,可以用象domain,network,monitor這種關鍵字,只查看與關鍵字有關的參數幫助
......
# virsh list
Id Name State
----------------------------------------------------
1 kvm1 running
# virsh list --all
Id Name State
----------------------------------------------------
1 kvm1 running
- kvm2 shut off
啓動,關閉,重啓相關基本操作
# virsh start kvm1 --啓動一個虛擬機
# virsh shutdown kvm1 --正常關閉一個虛擬機(把服務都停掉,再關電源)
# virsh reboot kvm1 --正常重啓一個虛擬機,先shutdown再start
# virsh destroy kvm1 --強制關閉一個虛擬機,類似斷電,可以瞬間關閉虛擬機
# virsh reset kvm1 --相當於是先destroy,再start
保存,暫停相關基本操作
# virsh save kvm1 /etc/libvirt/qemu/kvm1.save --把kvm1關閉,並把當前狀態保存爲一個文件
# virsh restore /etc/libvirt/qemu/kvm1.save --通過保存的文件,恢復當時save時的狀態
# virsh suspend kvm1 --暫停kvm1的狀態
# virsh resume kvm1 --由暫停切換爲繼續的狀態
連接虛擬機(domain)相關操作
方法一:
# virt-manager 打開管理器,雙擊你要連接的虛擬機
方法二;
# virt-viewer kvm1 --連接一個已經啓動的虛擬機,並使用圖形查看
方法三:
# ssh x.x.x.x --非圖形方式就可以連,但需要虛擬機配置好ip
方法四:
非圖形方式也可以使用console連(此方法不需要虛擬機配置ip都可以連),但需要配置授權
# virsh console kvm1 --字符連接一個虛擬機,但是現在連接不了;因爲需要一個串口的授權纔可以;
授權做法:
1,在kvm1虛擬機裏操作(注意不是在宿主機上操作)
# grubby --update-kernel=ALL --args="console=ttyS0"
# reboot
2,在宿主機virsh console kvm1連接使用
3,退出的方式
exit只是退出登錄的用戶而已
要完全退出這個console連接,需要使用的是ctrl+ ] (也就是右中框號的這個鍵)
======================================================================
虛擬機相關的文件:
以kvm1爲例:
配置文件在:/etc/libvirt/qemu/kvm1.xml
磁盤文件默認在:/var/lib/libvirt/images/kvm1.qcow2
打開虛擬機配置文件的做法:
方法一:
# vim /etc/libvirt/qemu/kvm1.xml
方法二:
# virsh edit kvm1 --此方法默認是調用vi,所以沒有顏色,你可以做個軟鏈接,讓訪問vi實際鏈接到vim就可以了
命令刪除一個虛擬機的做法(假設爲kvm3)
# virsh destroy kvm3
# virsh undefine kvm3
# rm -rf /var/lib/libvirt/images/kvm3.img
======================================================================
kvm 的克隆
--注意:克隆都需要源虛擬機器是關閉或暫停狀態
例一:圖形克隆
1,先關閉kvm1或 virsh suspend kvm1暫停kvm1(使用virsh resume kvm1恢復)
2,virt-manager--》右鍵點kvm1--》選擇clone-->修改克隆後的名字或其它參數--》點clone
例二:文本克隆
1,拷貝配置文件和磁盤文件
# cp /etc/libvirt/qemu/kvm1.xml /etc/libvirt/qemu/kvm3.xml
# cp /var/lib/libvirt/images/kvm1.qcow2 /var/lib/libvirt/images/kvm3.qcow2
修改拷貝的配置文件
# vim /etc/libvirt/qemu/kvm3.xml
<domain type='kvm'>
<name>kvm3</name> --名字改成kvm3
<uuid>811d69e8-b1d8-cfbf-684a-69f2e0af6b88</uuid> --uuid隨便改幾個數字
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/var/lib/libvirt/images/kvm3.qcow2'/> --磁盤路徑改成kvm3.qcow2的路徑
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<mac address='52:54:00:5c:3a:2d'/> --網卡地址隨便改下,只改後三位
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='tablet' bus='usb'/>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'/>
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
3,保存後,使用virsh list --all查看不到的,需要define一下
# virsh define /etc/libvirt/qemu/kvm3.xml
# virsh list --all --再查就可以查看到kvm3
Id Name State
----------------------------------------------------
- kvm1 shut off
- kvm1-clone shut off
- kvm2 shut off
- kvm3 shut off
4,再啓動
# virsh start kvm3 --可以啓動克隆的機器了
例三:命令克隆
# virt-clone -o kvm1 -n kvm4 -f /var/lib/libvirt/images/kvm4.img
Allocating kvm4.img 7% [- ] 34 MB/s | 957 MB 05:29 ETA
--把kvm1克隆成kvm4,指定磁盤路徑爲/var/lib/libvirt/images/kvm4.img;如果kvm1有多個硬盤,那麼克隆時也要對應的克隆成多個路
===============================================================================
kvm 網絡管理
# virsh help network --只查看與網絡有關的幫助參數
# virsh net-list --all
Name State Autostart
-----------------------------------------
default active yes --這是一個NAT網絡,私有網絡
# virsh net-info default
Name default
UUID 704eb1b7-3feb-4a38-8642-9c3fe2f023bb
Active: yes
Persistent: yes
Autostart: yes
Bridge: virbr0
default網段的配置文件的路徑爲:
/etc/libvirt/qemu/networks/default.xml
# virsh net-destroy default --停掉default網絡,由virsh net-list --all去查看,狀態變爲inactive
# virsh net-start default --啓動default網絡,狀態變爲active
=====================================================================
例四:圖形增加私有網絡
virt-manager打開圖形--》edit --》connections details --》 virtual networks--》點左下角的+號增加一個私有網絡(選擇名字,網絡分配地址範圍,dhcp的分配範圍)
--注意:這裏最後一步有三種網絡:
1,isolated 相當vmware的hostonly,沒有NAT,也沒有網關(完全和vmware的hostonly類型一樣)
2,NAT 有網關,有NAT,可以通過宿主上外網(和vmware的NAT類型一樣)
3,routed 也是相當於hostonly,在isolated的基礎上就是加了一個網關(仍然是和vmware的hostonly一致,但多了一個網關)
把上面的步驟做完後,直接在宿主機用ifconfig或virsh net-list --all,就可以看到新加的網絡了
=====================================================================
例五:手動加一個私有網絡
1,# cp /etc/libvirt/qemu/networks/default1.xml /etc/libvirt/qemu/networks/default2.xml
# vim /etc/libvirt/qemu/networks/default2.xml
<network>
<name>default2</name> --修改名字爲default2
<uuid>243166ddb-e2fd-9983-1997-5e8efdc06c42</uuid> --uuid隨便修改一下
<bridge name='virbr2' stp='on' delay='0' /> --virbr1改成virbr2
<mac address='52:54:00:AF:27:25'/> --MAC地址改一下,只改後面三位
<ip address='192.168.101.1' netmask='255.255.255.0'> --IP改爲101
<dhcp>
<range start='192.168.101.128' end='192.168.101.254' /> --dhcp地址範圍也改成101的
</dhcp>
</ip>
</network>
2,# virsh net-define /etc/libvirt/qemu/networks/default2.xml --定義一下,然後你可以使用virsh net-list --all去查看,狀態爲inactive,autostart的狀態爲no
3,# virsh net-start default2 --啓動
# ifconfig virbr2 |head -2 --查看就有了
virbr2 Link encap:Ethernet HWaddr 52:54:00:AF:27:25
inet addr:192.168.101.1 Bcast:192.168.101.255 Mask:255.255.255.
# ls /etc/libvirt/qemu/networks/autostart/
default1.xml default.xml
4,# virsh net-autostart default2 --讓他開機自動啓動
# ls /etc/libvirt/qemu/networks/autostart/ --這裏就會多了default2.xml了,其實都是網絡配置文件的軟鏈接
default1.xml default2.xml default.xml
剛加的網絡配置文件都在下面的目錄
# ls /etc/libvirt/qemu/networks
autostart default1.xml default2.xml default.xml
=====================================================================
例六:修改一個網絡
1,# vim /etc/libvirt/qemu/networks/default2.xml
<network>
<name>default2</name>
<uuid>243166ddb-e2fd-9982-1996-5e8efdc06c42</uuid>
<forward dev='eth0' mode='route'>
<interface dev='eth0'/>
</forward>
<bridge name='virbr2' stp='on' delay='0' />
<mac address='52:54:00:AF:166:45'/>
<ip address='192.168.102.1' netmask='255.255.255.0'> --我這裏把以前的192.168.101.0的IP範圍都改成了192.168.102.0
<dhcp>
<range start='192.168.102.128' end='192.168.102.254' />
</dhcp>
</ip>
</network>
保存後,使用ifconfig virbr1 查看,還是192.168.102.1,沒有改變
需要做下面三步:
2,# virsh net-define /etc/libvirt/qemu/networks/default2.xml --定義一個網絡,使你的修改被他知道
Network default2 defined from /etc/libvirt/qemu/networks/default3.xml
3,# virsh net-destroy default2 --停一下這個網絡
Network default2 destroyed
4,# virsh net-start default2 --再啓這個網絡
Network default2 started
# ifconfig virbr2查看,成功修改成192.168.102.1
上面的第一步和第二步可以統一成一步來做:
# virsh net-edit default2 --使用這個命令打開,修改,然後就直接net-destroy和net-start,不需要去net-define
=====================================================================
例七:
圖形刪除一個網絡
virt-manager打開圖形--》edit --》connections details --》 virtual networks--》選擇你要刪除的網絡,然後左下角,先停,再刪除就可以了
用命令刪除一個網絡
# virsh net-destroy default2 --停掉要刪除的網絡,用virsh net-list --all命令去查就變成了inactive狀態
# virsh net-undefine default2 --這下就刪除了這個網絡定義了,並且物理上的配置文件也沒了
=====================================================================
例八:增加一個橋接網絡:
把物理網卡enp2s0橋接到br0(這個名字是自己定義的)
1,在宿主機上創建一個橋接網絡
# systemctl stop NetworkManager
# systemctl status NetworkManager
# systemctl disable NetworkManager
# vim /etc/sysconfig/network-scripts/ifcfg-br0 --此文件不存在,br0這個名字是自定義的
DEVICE=br0 --名字對應好
TYPE=Bridge --這裏的Birdge,B要大寫,後面的irdge要小寫
BOOTPROTO=static
IPADDR=172.16.13.X
NETMASK=255.255.255.0
GATEWAY=172.16.13.254
DNS1=114.114.114.114
ONBOOT=yes
2,把一個物理網卡加到一個橋接網絡裏,我這裏是把enp2s0加到br0
# vim /etc/sysconfig/network-scripts/ifcfg-enp2s0 --原物理網卡enp2s0裏的配置只留下這三句就可以了
DEVICE="enp2s0"
ONBOOT="yes"
BRIDGE=br0
3,重啓網絡 /etc/init.d/network restart 或者 systemctl restart network
在宿主機上ifconfig 查看就會有br0這個網卡,有IP;
而原enp2s0網卡沒有IP;這是正常的
=====================================================================
例九:圖形修改一個虛擬機網卡鏈接
virt-manager打開圖形,雙擊你要修改的虛擬機--》點擊左上的一個!號(centos7裏看到的是一個像燈泡一樣的符號)按鈕show virtual hardware detail-->>找個網卡,修改成你想要改的網絡
=====================================================================
例十:命令修改一個虛擬機的網卡連接
# virsh edit kvm3
<interface type='network'>
<mac address='52:54:00:07:8d:e5'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
改成下面的樣子
<interface type='bridge'> --network改成了bridge
<mac address='52:54:00:07:8d:e5'/>
<source bridge='br0'/> --network改成了bridge;default改成了br0
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
# virsh shutdown kvm1
# virsh start kvm1 --重啓後,虛擬機就是橋接網絡
=====================================================================
例十一:添加網卡或硬盤
virt-manager--》 雙擊打開kvm4--》點左上角的燈泡符號show virtual hardware details --》點左下角add devices 直接添加,並寫上相關參數就可以(注意參數,device type都選擇virtio,不需要重啓虛擬機,可以直接生效,並且磁盤名叫vda,vdb,vdc...;如果你第一次加硬盤選擇IDE disk,需要重啓,並且磁盤名叫sda,sdb,sdc...)
--用圖形方式在線刪除磁盤後,還要去物理上把它的磁盤xxx.qcow2文件給rm掉
=====================================================================
例十二:直接用命令來添加一個硬盤設備
1,使用dd命令創建一個磁盤文件
# dd if=/dev/zero of=/var/lib/libvirt/images/kvm4-2.img bs=1M count=1 seek=4000000
--seek是指跳過多少個BS塊,這裏就是產生一個4T大小的文件(實際大小隻1M)
# qemu-img info /var/lib/libvirt/images/kvm4-2.img
image: /var/lib/libvirt/images/kvm4-2.img
file format: raw --格式爲raw(這是老版本的默認格式,新版本是qcow2格式)
virtual size: 3.8T (4194305048576 bytes)
disk size: 1.0M
# cd /var/lib/libvirt/images/
# qemu-img convert -f raw -O qcow2 kvm4-2.img kvm4-2.qcow2 --把kvm4-2.img文件轉換成一個新文件kvm4-2.qcow2(格式也轉換成qcow2)
# rm kvm4-2.img -rf --原來的這個文件不用了就可以刪除掉了
# qemu-img info /var/lib/libvirt/images/kvm4-2.qcow2
image: /var/lib/libvirt/images/kvm4-2.qcow2
file format: qcow2 --轉化後的新文件格式就爲qcow2格式了
virtual size: 3.8T (4194305048576 bytes)
disk size: 256K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
2,編輯虛擬機的配置文件
# virsh edit kvm4
<devices>與</devices>之間加上下面的一段,也可以把其它磁盤的配置定義拷貝一段進行修改
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' /> --格式爲qcow2
<source file='/var/lib/libvirt/images/kvm4-2.qcow2'/> --路徑名稱改成kvm4-2.qcow2
<target dev='vdb' bus='virtio'/> --新加的硬盤,就叫vdb
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> --slot也改一下,我這裏是把0x07改成0x09(只要這個編號沒有被重複佔用就可以)
</disk>
3,重啓虛擬機後(有可能reboot還不行,需要force off再啓動),登錄使用fdisk就能查看到這個4T大小的硬盤了
=====================================================================
例十三:因爲有些人的機器的/var目錄空間不夠,想把磁盤文件改到其它目錄(如/data/kvm/目錄)
# virsh destroy kvm1 --先停掉kvm1
# mv /var/lib/libvirt/images/kvm1.qcow2 /data/kvm/
# virsh edit kvm1
......
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' />
<source file='/data/kvm/kvm1.qcow2'/> --把這個路徑改成mv後的新路徑
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
......
# virsh start kvm1
=============================================================================
kvm 的遠程管理
例十四:在172.16.13.250(宿主機)上遠程圖形管理172.16.13.62(宿主機)
1,先在/etc/hosts裏綁定對方(被管理的宿主機器)的主機名
2,做ssh等效性
# ssh-keygen --直接三次回車
# ssh-add /root/.ssh/id_rsa --加入自己的私鑰
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
# ssh-copy-id -i /root/.ssh/id_rsa.pub 172.16.13.62
--把自己的公鑰scp傳給對方
3,所有的被管理客戶端宿主機,需要啓動libvirtd服務
4,virt-manager--》file--》add connection--》填上要遠程連接的主機IP(或主機名,但要求/etc/hosts綁定)
5,連接上去之後,就可以看到有遠程的虛擬客戶機,雙擊就可以遠程調取他們的圖形了
--或者用命令的方式去連接
# virt-viewer -c qemu+ssh://[email protected]/system kvm1
--表示使用root用戶(當然前面你做的ssh等效性需要是root用戶)去訪問172.16.13.62上叫kvm1的虛擬機
==============================================================================
遷移:
冷遷移: 這個和克隆還是有區別的:克隆是把源虛擬機關閉,那麼內存的數據都沒了;而遷移是遷過去成功,然後打開後,還保持原來的內存數據
熱遷移:
172.16.13.250 172.16.13.62
老舊的宿主機 新的宿主機
虛擬機 ---->
冷遷移過程:
1,虛擬機kvm1是開啓狀態
2,保存當前的運行狀態
# virsh save kvm1 /etc/libvirt/qemu/kvm1.xml.save
Domain kvm1 saved to /etc/libvirt/qemu/kvm1.xml.save
3,scp或者rsync把相關的文件都拷貝到被遷移的宿主機
# scp /etc/libvirt/qemu/kvm1.xml.save 172.16.13.62:/etc/libvirt/qemu/
# scp /etc/libvirt/qemu/kvm1.xml 172.16.13.62:/etc/libvirt/qemu/
# scp /var/lib/libvirt/images/kvm1.qcow2 172.16.13.62:/var/lib/libvirt/images/
4,到172.16.13.62(也就是遷移的目標宿主機)上操作
# virsh define /etc/libvirt/qemu/kvm1.xml --define一下,然後就可以用virsh list --all查看到
5,# virsh restore /etc/libvirt/qemu/kvm1.xml.save
熱遷移過程:
1,做熱遷移需要使用共享存儲(也就是說這些虛擬機都安裝在宿主機的共享存儲設備上);我們這裏只能使用nfs來替代
172.16.13.250 172.16.13.62
\ /
\ /
\ /
storage(SAN;storage area network)
2,在源宿主機器上把虛擬機的磁盤文件路徑用nfs導出
# vim /etc/exports
/var/lib/libvirt/images *(rw,no_root_squash,sync)
# systemctl restart nfs
3,在目標宿主機器上把源共享的目錄掛載,保證路徑一致(目標宿主機的掛載目錄一定要與源宿主機的目錄一致)
# mount 172.16.13.250:/var/lib/libvirt/images/ /var/lib/libvirt/images/
4,進行遷移,下面的操作是在源172.16.13.250上的操作(注意檢查一下防火牆和selinux要關閉)
命令遷
# virsh migrate --live kvm1 qemu+ssh://172.16.13.62/system
--(可能會有很多問題:如kvm1有橋接網絡,但172.16.13.62那邊沒有,會報錯:或者本地有iso鏡像,但對方那裏iso路徑不一樣,會報錯;或者kvm1內存較大,172.16.13.62那邊沒有足夠的內存分配,則也會報錯等等;雙方主機名沒有綁定,也有可能報錯;還有可能是因爲網絡的問題,造成一次不成功;畢竟我們是實驗環境@_@多試幾次看看)
圖形遷
virt-manager --》右鍵點kvm1-->點遷移
遷移回來可能出現下面錯誤
錯誤信息:
Unable to migrate guest: Unsafe migration: Migration may lead to data corruption if disks use cache != none
解決方法:
在高級選項裏把allow unsafe打勾就可以了
======================================================================================================
在rhel7和centos7下使用快照非常方便,速度也快很多(前提條件:磁盤爲qcow2格式)
查看幫助
virsh help snapshot
主要記住下面幾條命令就ok
# virsh snapshot-list kvm1 --列表kvm1這個虛擬機的快照
# virsh snapshot-create-as --domain kvm1 snap1 --description "my first test snapshot" --爲kvm1當前狀態創建一個快照,名稱爲snap1;後面的描述信息自定義
# virsh snapshot-revert kvm1 snap1 --恢復kvm1的快照snap1
# virsh snapshot-delete kvm1 snap1 --刪除kvm1的快照snap1
==================================================================================================