[發(fā)明專利]虛擬機升級方法、裝置、設(shè)備及存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202010119885.2 | 申請日: | 2020-02-26 |
| 公開(公告)號: | CN111352647A | 公開(公告)日: | 2020-06-30 |
| 發(fā)明(設(shè)計)人: | 瞿盛輝 | 申請(專利權(quán))人: | 平安科技(深圳)有限公司 |
| 主分類號: | G06F8/656 | 分類號: | G06F8/656;G06F9/455 |
| 代理公司: | 北京市京大律師事務所 11321 | 代理人: | 劉挽瀾 |
| 地址: | 518033 廣東省深圳市福田區(qū)福*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 虛擬機 升級 方法 裝置 設(shè)備 存儲 介質(zhì) | ||
本發(fā)明涉及云技術(shù)領(lǐng)域,公開了一種虛擬機升級方法,通過根據(jù)源宿主機本身的虛擬系統(tǒng)的程序代碼進行修改,得到新的系統(tǒng)程序,并基于修改后的系統(tǒng)程序?qū)υ此拗鳈C進行升級,并且在升級過程中,將源宿主機中的內(nèi)存和磁盤兩部分的數(shù)據(jù)分開通過中轉(zhuǎn)宿主機來實現(xiàn)遷移;本發(fā)明還提供了一種虛擬機升級裝置、設(shè)備及計算機可讀存儲介質(zhì),這樣的實現(xiàn)方式可以不用關(guān)閉虛擬機直接升級虛擬系統(tǒng),同時熱遷移虛擬機到其他宿主機上,避免了升級過程中可能存在的掛起問題。
技術(shù)領(lǐng)域
本發(fā)明涉及云技術(shù)領(lǐng)域,尤其涉及一種虛擬機升級方法、裝置、設(shè)備及計算機可讀存儲介質(zhì)。
背景技術(shù)
在云計算環(huán)境中,虛擬模擬器qemu、虛擬化模塊kvm和qcow2格式盤的架構(gòu)是當前實現(xiàn)虛擬系統(tǒng)所應用較為廣泛的實現(xiàn)方式之一,在使用該架構(gòu)實現(xiàn)虛擬化過程中,熱遷移是qemu提供的一個強大功能,但是在當前熱遷移實現(xiàn)數(shù)據(jù)遷移的過程中,會通過構(gòu)建bitmap來標示是否需要遷移數(shù)據(jù),而在構(gòu)建bitmap時,qemu會先通過調(diào)用format driver(qcow2 driver)獲取本次所要探測數(shù)據(jù)區(qū)域數(shù)據(jù)分配實際情況;當發(fā)現(xiàn)存在數(shù)據(jù)分配,會再次調(diào)用相應的file driver(raw driver)來探測在文件對應的實際區(qū)域是否真實存在數(shù)據(jù)。以跳過文件中實際并沒有寫的區(qū)域,以減少遷移時數(shù)據(jù)傳輸。在file driver探測是否存在空洞時,通過調(diào)用lseek系統(tǒng)調(diào)用來判斷文件是否存在數(shù)據(jù)空洞。
在查找空洞時會從傳入的開始位置一直查找到空洞或查找到文件結(jié)束為止,而進入lseek的時間長短與文件(也就是磁盤)大小和文件碎片多少成正比,也就是文件越大碎片越多在lseek中的時間就越長。這就導致當虛擬機單個磁盤很大同時磁盤碎片很多時當前熱遷移過程就長時間呆在lseek系統(tǒng)調(diào)用中,導致qemu主進程無法去響應其他的事務,對應虛擬機來說體現(xiàn)的就是虛擬機主流程被掛住,即是可以理解為是虛擬化實現(xiàn)的主流程進入了深度循環(huán),這就導致了系統(tǒng)無法在調(diào)度資源來實現(xiàn)其他的業(yè)務了,這就大大降低了虛擬系統(tǒng)對于業(yè)務的處理能力;而在目前的解決方式中,只能通過重啟虛擬機或者是關(guān)閉虛擬機進行qemu升級的方式來實現(xiàn),而不管是重啟還是關(guān)閉虛擬機升級,都會造成數(shù)據(jù)的丟失,拖延后續(xù)系統(tǒng)的業(yè)務處理,影響用戶的使用。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種虛擬機升級方法、裝置、設(shè)備及計算機可讀存儲介質(zhì),旨在解決現(xiàn)有的虛擬機在升級過程中會被掛住的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供一種虛擬機升級方法,應用于服務器,所述虛擬機升級方法包括以下步驟:
檢測源宿主機的虛擬機程序的狀態(tài)信息,并根據(jù)所述狀態(tài)信息判斷是否對虛擬機程序進行升級;
若是,則接收所述虛擬機發(fā)起的升級請求,以及確定所述源宿主機正在運行的虛擬機程序的程序代碼,其中,所述升級請求包括對所述程序代碼的升級手段;
根據(jù)所述程序代碼的升級手段,對所述程序代碼中被掛起的進程對應的代碼進行修改,并對修改后的所述程序代碼進行重新編譯,得到新的系統(tǒng)程序;
讀取所述源宿主機中的運行內(nèi)存數(shù)據(jù)和磁盤數(shù)據(jù),將所述運行內(nèi)存數(shù)據(jù)遷移至中轉(zhuǎn)宿主機上,并通過網(wǎng)絡(luò)文件共享的方式將所述磁盤數(shù)據(jù)共享至中轉(zhuǎn)宿主機上;
通過所述中轉(zhuǎn)宿主機將所述運行內(nèi)存數(shù)據(jù)遷移至目的宿主機上,以及所述中轉(zhuǎn)宿主機通過遠程訪問的方式讀取所述源宿主機上的磁盤數(shù)據(jù)發(fā)送至目的宿主機中,以實現(xiàn)對所述源宿主機上的全部數(shù)據(jù)的遷移保存;
關(guān)閉所述源宿主機,并根據(jù)所述系統(tǒng)程序?qū)λ鲈此拗鳈C上的虛擬系統(tǒng)進行升級處理。
可選地,所述狀態(tài)信息為所述虛擬機程序當前運行的進程狀態(tài);
所述根據(jù)所述狀態(tài)信息判斷是否需要對虛擬機程序進行升級的步驟包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于平安科技(深圳)有限公司,未經(jīng)平安科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010119885.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





