[發明專利]一種基于虛擬化的高可用系統設計方法有效
| 申請號: | 201410259847.1 | 申請日: | 2014-06-12 |
| 公開(公告)號: | CN103996004B | 公開(公告)日: | 2018-09-04 |
| 發明(設計)人: | 劉璧怡;宋立偉;何志平;周雄;吳楠 | 申請(專利權)人: | 浪潮電子信息產業股份有限公司 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 虛擬 可用 系統 設計 方法 | ||
1.一種基于虛擬化的高可用系統設計方法,其特征在于,基于虛擬化的高可用技術,實現內核關鍵數據結構的保護策略,依賴于影子頁表管理機制和超調用機制,以及異常處理邏輯保證正確有效執行;通過客戶機獲得內核關鍵數據的地址和域信息,擴展VMCALL異常處理方式,設計超調用機制,客戶機通過超調用機制與宿主機交換數據;客戶機信息通過VMCALL注入到內核后,由VMCALL擴充的調用機制來獲得信息和信息設置,獲得對應的客戶機內核數據結構的影子頁表;并設置對應影子頁表的寫保護權限,擴充缺頁異常處理程序;
所述超調用機制的具體流程為:
首先讀取idtr獲得中斷向量表地址,并計算Ox80對應系統調用中斷門,通過中斷門獲得系統調用處理函數總入口;然后掃描系統調用函數,獲得call指令對應的參數,即系統調用表地址,最后通過VMCALL注入地址信息和域長信息;
所述影子頁表管理機制的具體流程為:
步驟1、通過超調用傳入系統調用表地址addr;
步驟2、讀取客戶機狀態域的CR3頁表寄存器,存入頁表地址base,并讀取客戶機頁表層級lever;
步驟3、根據lever和addr計算addr對應客戶機頁表項的偏移offset,根據base和offset得到頁面項pte;
步驟4、若lever=1,則通過pte或者客戶機頁gfn,讀取客戶機影子頁的lever層級rlever,并讀取影子頁表頁目錄指針;
步驟5、根據rlever和addr計算偏移量soffset spte;
步驟6、若rlever=1,則設置spte項寫保護,進而記錄客戶機頁幀,影子頁spte以及主機頁pfn信息,并記錄設置的域長;
步驟7、若rlever=2且為大頁面,則設置spte項寫保護,進而記錄客戶機頁幀,影子頁spte以及主機頁pfn信息,并記錄設置的域長;否則,rlever非步驟6、步驟7中的情形,對于rlever--,設置base為spte指向的內容,并且返回步驟5進行執行;
步驟8、若lever=2且為大頁面,則通過pte或者客戶機頁gfn,讀取客戶機影子頁的lever層級rlever,并讀取影子頁表頁目錄指針;進行步驟5到步驟7的執行;
步驟9、lever非步驟4、步驟8中的情形,對于rlever--,則設置base為pte指向內容;并返回步驟3進行執行;
所述基于虛擬化的高可用系統設計方法提出了一種高可用系統,該系統基于虛擬化技術,利用客戶機的降權執行和資源管理手段,對內核關鍵數據結構進行保護。
2.根據權利要求1所述的基于虛擬化的高可用系統設計方法,其特征在于,所述高可用系統為基于客戶機異常處理的高可用系統,其整體系統框架由用戶操作模塊和內核模塊兩類模塊組成,所述內核模塊又包含初始化模塊、可用性處理模塊、注冊庫、異常處理模塊、日志記錄模塊及擴充的KVM異常處理模塊;其中,
1)用戶操作模塊:獲取客戶機的基本信息,提供日志記錄查詢接口,獲取可用性機制信息,提供可用性設置接口;
2)內核模塊部分:包含六個部分:初始化模塊、可用性處理模塊、注冊庫、異常處理模塊、日志記錄模塊以及擴充的KVM異常處理模塊;其中,
a)初始化模塊:通過標準ioctl提供用戶接口,接受用戶傳遞的參數并進行有效性檢查,根據處理參數從注冊庫中找到相關處理機制的初始化函數地址,調用該函數進行初始化處理過程;
b)可用性處理模塊:為了提高客戶機內核高可用而引入的處理邏輯,每一個可用性處理模塊包含三個基本函數:一個是初始化函數,一個為異常處理函數,一個是清理函數;初始化函數在用戶配置客戶機高可用機制后調用,用于初始化客戶機相關信息;異常處理函數用在客戶機發生指定異常時,進行處理的調用函數;清理函數用于用戶撤銷虛擬機的可用性設計后,調用的清理操作;
c)注冊庫:保存各個處理模塊通過register__ava_process()函數注冊模塊的信息;包括初始化函數地址,處理函數地址、名稱、以及描述信息;
d)異常處理模塊:調用處理邏輯的統一入口,根據調用參數從注冊庫中找到相關處理機制的處理函數地址,調用該處理函數進行異常處理化過程;
e)日志記錄模塊:記錄運行過程中的異常發生及處理的信息;
f)擴充的KVM異常處理模塊:擴充的KVM異常處理模塊作為客戶機引起異常退出VMX執行環境的統一出口,根據異常條件執行相關的處理邏輯;擴充的KVM異常處理模塊,用于引入可用性處理模塊后處理邏輯的擴充。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮電子信息產業股份有限公司,未經浪潮電子信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410259847.1/1.html,轉載請聲明來源鉆瓜專利網。





