動(dòng)態(tài)遷移(Live Migration):也叫在線遷移(Online Migration)。就是在保證虛擬機(jī)上服務(wù)正常運(yùn)行的同時(shí),將一個(gè)虛擬系統(tǒng)從一個(gè)物理主機(jī)移動(dòng)到另一個(gè)物理主機(jī)的過(guò)程。該過(guò)程不會(huì)對(duì)最終用戶造成明顯的影響,從而使得管理員能夠在不影響用戶正常使用的情況下,對(duì)物理服務(wù)器進(jìn)行離線維修或者升級(jí)。
與靜態(tài)遷移不同的是,為了保證遷移過(guò)程中虛擬機(jī)服務(wù)的可用,遷移過(guò)程僅有非常短暫的停機(jī)時(shí)間。遷移的前面階段,服務(wù)在源主機(jī)的虛擬機(jī)上運(yùn)行,當(dāng)遷移進(jìn)行到一定階段,目的主機(jī)已經(jīng)具備了運(yùn)行虛擬機(jī)系統(tǒng)的必須資源,經(jīng)過(guò)一個(gè)非常短暫的切換,源主機(jī)將控制權(quán)轉(zhuǎn)到目的主機(jī),虛擬機(jī)系統(tǒng)在目的主機(jī)上繼續(xù)運(yùn)行。對(duì)于虛擬機(jī)服務(wù)本身而言,由于切換的時(shí)間非常短暫,用戶感覺(jué)不到服務(wù)的中斷,因而遷移過(guò)程對(duì)用戶是透明的。動(dòng)態(tài)遷移適用于對(duì)虛擬機(jī)服務(wù)可用性要求很高的場(chǎng)合。
動(dòng)態(tài)遷移需要將原有的虛擬機(jī)鏡像放在采用SAN(storage area network)或NAS(network-attached storage)之類的集中式共享外存設(shè)備,這樣遷移的時(shí)候,不是遷移整個(gè)硬盤(pán)鏡像,而是遷移內(nèi)存的信息,所以遷移起來(lái),速度比較快,停頓時(shí)間少。
動(dòng)態(tài)遷移實(shí)際上是把虛擬機(jī)的配置封裝在一個(gè)文件中,然后通過(guò)高速網(wǎng)路,把虛擬機(jī)配置和內(nèi)存運(yùn)行狀態(tài)從一臺(tái)物理機(jī)迅速傳到另外一臺(tái)物理機(jī)上,期間虛擬機(jī)一直保持運(yùn)行狀態(tài)。現(xiàn)有技術(shù)條件下,大多虛擬機(jī)軟件如VMware、Hyper-V、Xen進(jìn)行動(dòng)態(tài)遷移都需要共享存儲(chǔ)的支持。典型的共享存儲(chǔ)包括NFS和SMB/CIFS協(xié)議的網(wǎng)路文件系統(tǒng),或者通過(guò)ISCSI連接到SAN網(wǎng)絡(luò)。選用哪一種網(wǎng)絡(luò)文件系統(tǒng),需要根據(jù)具體情況而定。本文的實(shí)驗(yàn)采用了NFS文件系統(tǒng)作為源主機(jī)和目的主機(jī)之間的共享存儲(chǔ)。
成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、西青網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為西青等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
1、一臺(tái)源主機(jī)對(duì)應(yīng)IP為:192.168.80.121
2、一臺(tái)目標(biāo)主機(jī)對(duì)應(yīng)IP為:192.168.80.161
3、一臺(tái)NFS共享存儲(chǔ)對(duì)應(yīng)IP為:192.168.80.100
4、三臺(tái)機(jī)器綁定同一張?zhí)摂M網(wǎng)卡
源主機(jī)和目標(biāo)主機(jī)都通過(guò)網(wǎng)卡和NFS server進(jìn)行連接,所有的VM鏡像都在NFS Server上,然后將VM1從源主機(jī)遷移到目標(biāo)主機(jī)上,通過(guò)網(wǎng)絡(luò)來(lái)進(jìn)行遷移,所以網(wǎng)絡(luò)的速度決定這遷移的快慢。
yum install nfs-utils //安裝nfs
mkdir -p /opt/kvmshare //新建共享目錄
vi /etc/exports //修改文件
/opt/kvmshare 192.168.80.121(rw,sync,no_root_squash)
/opt/kvmshare 192.168.80.162(rw,sync,no_root_squash)
/opt/kvmshare //為共享文件夾
rw:可讀寫(xiě)的權(quán)限
ro:只讀的權(quán)限
no_root_squash:登錄到NFS主機(jī)的用戶如果是ROOT用戶,就擁有ROOT權(quán)限,此參數(shù)很不安全,建議不要使用。
sync:資料同步寫(xiě)入存儲(chǔ)器中。
async:資料會(huì)先暫時(shí)存放內(nèi)存中,不會(huì)直接寫(xiě)入硬盤(pán)。
systemctl start rpcbind //先啟動(dòng)
systemctl start nfs //后啟動(dòng)
netstat -anpu | grep rpcbind //UDP 111端口在監(jiān)聽(tīng)
exportfs -av //如果顯示出共享的文件夾的話,說(shuō)明設(shè)置已經(jīng)生效
搭建成功后將CentOS 7鏡像上傳到共享目錄/opt/kvmshare下
1、開(kāi)啟CPU虛擬化(兩臺(tái)都要開(kāi)啟)
2、安裝圖形界面(無(wú)圖形界面)yum groupinstall "GNOME 桌面" -y
輸入init 5 后:initial setup of centos linux 7 界面依次輸入:1-2-q-yes-登錄-設(shè)置
3、安裝必要工具插件
yum install -y \
qemu-kvm.x86_64 \
qemu-kvm-tools.x86_64 \
python-virtinst.noarch \
qemu-img.x86_64 \
bridge-utils.x86_64 \
libvirt \
virt-manager \
openssh-askpass
4、驗(yàn)證當(dāng)前主機(jī)是否滿足KVM的運(yùn)行條件cat /proc/cpuinfo | egrep -o "vmx|smv" //intel CPU過(guò)濾vmx,AMD CPU過(guò)濾smv
modprobe kvm //初始化
lsmod | grep kvm //查看kvm虛擬化是否開(kāi)啟成功
5、創(chuàng)建橋接網(wǎng)卡vi /etc/sysconfig/network-scripts/ifcfg-ens33 //在末尾新增一行
BRIDGE="br0"vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=static
#NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.80.121
NETMASK=255.255.255.0
systemctl restart network
6、開(kāi)啟虛擬系統(tǒng)管理器
或者打開(kāi)終端用virt-manager開(kāi)啟
7、新建存儲(chǔ)池
8、新建虛擬機(jī)
等待裝機(jī)成功
1、開(kāi)啟cpu虛擬化(步驟如上)
2、安裝圖形界面(步驟如上)
3、安裝必備工具(步驟如上)
4、驗(yàn)證當(dāng)前主機(jī)是否滿足KVM的運(yùn)行條件
5、創(chuàng)建橋接網(wǎng)卡vi /etc/sysconfig/network-scripts/ifcfg-ens33 //在末尾新增一行
BRIDGE="br0"vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=static
#NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.80.161
NETMASK=255.255.255.0
systemctl restart network
6、添加存儲(chǔ)池(步驟如上)
1、添加目標(biāo)主機(jī)的連接
2、遷移虛擬機(jī)vi /etc/hostname //修改目的主機(jī)名
vi /etc/hosts //修改對(duì)應(yīng)映射表
重啟虛擬機(jī)
3、去目的主機(jī)查看