溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

大數(shù)據(jù)在線遷移的常見問題是怎么解決的

發(fā)布時間:2021-12-06 14:35:17 來源:億速云 閱讀:122 作者:柒染 欄目:云計算

這期內容當中小編將會給大家?guī)碛嘘P大數(shù)據(jù)在線遷移的常見問題是怎么解決的,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

大致描述一下場景:系統(tǒng)采用了計算存儲松耦合結構,虛機的映像文件在遠端共享存儲上,所以遷移起來速度很快。在我們系統(tǒng)中,最快一個用了6秒,即完成了在線遷移,這是真正的live migration,我們一邊遷移,一邊故意在虛機里寫數(shù)據(jù),也正常完成。

配置方案

1.修改Nova.conf文件

添加:  
image_cache_manager_interval=0  
live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_UNSAFE  
修改:  
vncserver_listen=0.0.0.0

2.參與的計算節(jié)點機器名字都能ping通。

3.修改計算節(jié)點上 /etc/libvirt/libvirtd.conf:

 before : #listen_tls = 0  
after : listen_tls = 0  
before : #listen_tcp = 1  
after : listen_tcp = 1  
add: auth_tcp = "none"

4.修改 /etc/sysconfig/libvirtd:

before :# LIBVIRTD_ARGS="--listen"  
after :LIBVIRTD_ARGS="–listen"

5.在源計算節(jié)點上修改要遷移虛機的/var/run/libvirt/qemu/instance–xxx.xml文件,刪除migrate-qemu-fd這一行,將vnc參數(shù)修改成0.0.0.0

6.重啟計算節(jié)點上nova

7備注:

1.由于云機之前沒有配置在線遷移,在遷移虛機之前,需要重啟虛機。  
2..因為計算節(jié)點上libvirtd的配置中增加了auth_tcp="none",算是一個安全漏洞,需要尋找更安全的辦法,或者在遷移完成之后,注釋掉這行,重啟libvirt  
3 已經編寫了一個輔助程序自動做遷移


遇到的問題和解決辦法

1.虛機的disk 的cache mode為writethrough,遷移的時候報錯

OpenStack認為在centos上磁盤cache mod為writethrough時,遷移是不安全的。
解決的辦法  :在nova.conf live_migration_flag參數(shù)后面增加VIR_MIGRATE_UNSAFE,官方在線遷移配置文件里沒有這個參數(shù)。

2.qemu1.4的一個bug導致遷移失敗

遷移失敗,在目的節(jié)點上/var/log/libvrit/qemu/instances--xxxx.log里:
char device redirected to /dev/pts/1 (label charserial1)
qemu: warning: error while loading state section id 2
load of migration failed
解決辦法:
1.在源計算節(jié)點上修改要遷移虛機的/var/run/libvirt/qemu/instance–xxx.xml文中刪除migrate-qemu-fd這一行
2.重啟源計算節(jié)點上的libvirtd
3.然后再執(zhí)行nova live-migration命令
這個操作已經編寫了一個程序自動執(zhí)行。

3.vncserver的問題,需要重啟虛擬機才可以遷移。

由于之前Nova.conf中vncserver_listen=計算機節(jié)點的ip,所以在虛擬機Kvm進程中參數(shù)中vnc=計算節(jié)點的ip,遷移的時候報錯,在目的節(jié)點綁定不了源節(jié)點的IP,所以需要修改Libvirt.xml配置文件,重啟虛機,然后才能進行遷移。
解決辦法:
1.在源計算節(jié)點上/var/run/libvirt/qemu/instance–xxx.xml文中將vnc的參數(shù)修改成0.0.0.0
2.重啟源計算節(jié)點libvirtd
3.然后再執(zhí)行nova live-migration命令
這個操作已經編寫了程序來自動完成

4.遷移完成后console.log,disk屬主變成了root/root

遷移完成后,發(fā)現(xiàn)虛機的console.log和disk文件屬主由qemu.qumu變成了root.root,這個估計是OpenStack遷移程序的問題,這個問題目前沒有影響虛機。
解決辦法:
修改文件屬主,這個操作已經編寫了程序來自動完成

5.源節(jié)點和目的節(jié)點cpu不兼容問題

遷移失敗,在/var/log/nova/compute的日志:
 "InvalidCPUInfo: Unacceptable CPU info: CPU doesn't have compatibility.\n\n0\n\nRefer to   http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult\n"]
解決辦法:
目前還沒有解決辦法

6.目的節(jié)點內存為負,

遷移失敗,從控制節(jié)點的api.log上輸出的錯誤是目的節(jié)點內存為-3400,不能滿足遷移的需要。
解決辦法:
用nova命令指定在該計算節(jié)點上創(chuàng)建虛機,能夠成功。估計是遷移時候的調度算法和創(chuàng)建虛機時的調度算法不一致。

7.錯誤日志,在2.4上api.log

遷移時候一般看的日志有:
1.目的節(jié)點上的/var/log/libvirt/qemu/instances–xxx.log
2.目的節(jié)點上的/var/log/nova/compute.log
3.源節(jié)點上的/var/log/nova/compute.log
有時候遷移失敗,命令行執(zhí)行后報錯:
ERROR: Live migration of instance bd785968-72f6-4f70-a066-b22b63821c3b to host compute-13 failed (HTTP 400) (Request-ID: req-180d27b5-9dc7-484f-9d9a-f34cccd6daa2)
但在上述的三個日志文件中都看不到任何的錯誤信息。
解決辦法:
在控制節(jié)點或者是在操作遷移命令的節(jié)點上/var/log/nova/api.log有錯誤信息

走的彎路

1.嘗試不用修改nova.conf里的vncserver_listen參數(shù)為0.0.0.0,

將/var/run/log/libvirt/qemu/instances--xxx.log里的vnc改成目的節(jié)點的ip,重啟libvritd,然后進行遷移,可以成功,但如果遷移失敗,當需要重新虛機的時候,虛機啟動失敗,在/var/log/libvrit/qemu/instances-xx.log的錯誤是
Failed to start VNC server on `172.18.2.15:0': Failed to bind socket: Cannot assign requested address
而/mnt/instances/instance--xxx/libvirt.xml里沒有修改成目的節(jié)點的Ip。不知道這個參數(shù)被保存到了哪里

2.vnc 端口問題

在一次遷移失敗后,在目的節(jié)點/var/log/libvirt/qemu/instance--xxx.log里的錯誤是:
2013-11-05 05:42:39.401+0000: shutting down
qemu: terminating on signal 15 from pid 10271,
猜想是由于虛機在源節(jié)點上的vnc監(jiān)聽端口在目的節(jié)點上被占用,所以導致啟動不了。后來在其他機器上做了測試發(fā)現(xiàn),在遷移到目的節(jié)點后vnc的端口自己會調整。

上述就是小編為大家分享的大數(shù)據(jù)在線遷移的常見問題是怎么解決的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI