欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種優(yōu)化的基于LVM的遠程復制方法與流程

文檔序號:12123408閱讀:1340來源:國知局
一種優(yōu)化的基于LVM的遠程復制方法與流程

本發(fā)明涉及云計算存儲技術領域,特別涉及一種優(yōu)化的基于LVM的遠程復制方法。



背景技術:

LVM(Logical Volume Manager,邏輯卷管理)是linux系統(tǒng)中一種動態(tài)管理存儲設備的管理機制,它通過將底層物理設備抽象封裝,向上層提供與普通塊存儲相同的連續(xù)存儲空間。LVM提供了完備的用戶態(tài)及內核態(tài)管理機制,同時LVM技術中提供的動態(tài)數(shù)據(jù)遷移、mirror、snapshot等特性,可以為數(shù)據(jù)復制系統(tǒng)提供完整的框架。

NBD(Network Block Device,網(wǎng)絡塊設備)通過提供client和server服務,將遠程主機提供的磁盤空間在本地當作塊設備使用。NBD是一個內核模塊,它通過定義在內核接口,可以和linux系統(tǒng)中其他塊設備管理器(如LVM)無縫對接。

遠程復制技術就是將源設備端的數(shù)據(jù),通過遠程連接復制到一個或多個目標設備端技術。該技術常用于容災系統(tǒng)中,它通過利用地理上的分散性,當一個地區(qū)的數(shù)據(jù)丟失后,可以通過遠端的數(shù)據(jù)快速恢復。

基于上述情況,本發(fā)明提出了一種優(yōu)化的基于LVM的遠程復制方法。



技術實現(xiàn)要素:

本發(fā)明為了彌補現(xiàn)有技術的缺陷,提供了一種簡單高效的優(yōu)化的基于LVM的遠程復制方法。

本發(fā)明是通過如下技術方案實現(xiàn)的:

一種優(yōu)化的基于LVM的遠程復制方法,其特征在于:基于LVM遠程復制架構包括LVM I/O Analysis模塊,LVM I/O Process模塊和LVM Remote Replication模塊三部分;所述LVM I/O Analysis模塊對上層應用的I/O請求解析進行優(yōu)化,對于讀請求直接訪問本地數(shù)據(jù),對于寫請求則發(fā)送到本地及遠程設備處理模塊;所述LVM I/O Process模塊對LVM中的Mirror接口進行優(yōu)化,更改寫請求的I/O處理流程,通過先記錄日志再更新數(shù)據(jù)的方法,將數(shù)據(jù)分別發(fā)送到本地及遠程設備;所述LVM Remote Replication模塊對NBD模塊進行更改,使之與LVM的內核結構對接,實現(xiàn)數(shù)據(jù)的遠程發(fā)送;同時,由于NBD報文是經(jīng)由TCP/IP傳輸?shù)?,所述LVM Remote Replication模塊還對TCP/IP網(wǎng)絡的參數(shù)也進行了優(yōu)化,調整TCP/IP網(wǎng)絡中的tcp_sack,tcp_timestamps,tcp_low_latency,tcp_westwood和tcp_bic參數(shù),使之更有效到適用于遠程復制場景。

所述LVM I/O Analysis模塊負責對上層應用發(fā)起的I/O請求過濾,通過改變lvm_make_request_fn()函數(shù)對I/O請求進行分類,讀請求或與復制無關的請求直接交由LVM自身機制從盤中讀取,寫請求則調用LVM I/O Process模塊的接口進行處理;所述LVM I/O Process模塊負責構建I/O的流程,同時與Remote Replication模塊對接;所述LVM Remote Replication模塊負責遠程復制的數(shù)據(jù)一致性定義及數(shù)據(jù)的遠程傳輸;將I/O請求在主端經(jīng)由LVM Remote Replication模塊處理后,發(fā)送到遠程設備端并成功提交日志寫到數(shù)據(jù)盤后,更新本地的日志信息并提交給LVM I/O Process模塊;當LVM I/O Process模塊中的mirror收到本地及遠程的返回消息后,向應用層返回寫成功。

所述LVM I/O Process模塊對寫請求的I/O處理流程,首先將I/O請求記錄到日志信息中,然后將BIOS復制兩份,一份發(fā)送到本地的數(shù)據(jù)盤,另一份發(fā)送到請求隊列中,最后調用Remote Replication模塊接口,利用多線程處理將數(shù)據(jù)發(fā)送到對端;當接收到本地及遠程設備兩個請求完成后,向上層應用返回請求處理成功。

所述LVM Remote Replication模塊對遠程復制的數(shù)據(jù)一致性定義是指采用實時同步的方式,即上層應用發(fā)出的多個寫請求必須等待主端和備端的數(shù)據(jù)同時寫入方可繼續(xù)執(zhí)行;當請求到來時,先按照請求順序提交日志,寫日志成功后再寫數(shù)據(jù)盤,寫數(shù)據(jù)盤時,按照順序依次寫盤,只有寫日志及寫數(shù)據(jù)盤同時成功提交后,才按照請求提交順序更新日志信息,最后通知上層請求完成;

所述LVM Remote Replication模塊對數(shù)據(jù)的遠程傳輸是基于NBD模塊完成的,首先對主端和備端通過nbd_init函數(shù)初始化并連接,然后利用do_nbd_request函數(shù)從請求隊列中讀取相應的請求,使用報文結構中的handle域裝載發(fā)送到備端;調用nbd_do_it循環(huán)等待并調用nbd_read_stat讀取備端的寫盤狀態(tài);當讀寫請求完成后,則從請求隊列中刪除請求并向上層返回成功。

所述LVM Remote Replication模塊對TCP/IP網(wǎng)絡的參數(shù)的優(yōu)化包括利用tcp_sack參數(shù)啟用有選擇應答模式,提升亂序報文的回復,只發(fā)送丟失的報文;利用tcp_timestamps參數(shù)啟用TCP時間戳,更精確控制報文重發(fā);關閉tcp_low_latency參數(shù)和選用tcp_westwood參數(shù)通過吞吐量評估對帶寬的整體利用情況進行優(yōu)化;為了快速長距離的傳輸啟用tcp_bic參數(shù)的Binary Increase Congestion,更好利用傳輸網(wǎng)絡的GB級速度。

本發(fā)明的有益效果是:該優(yōu)化的基于LVM的遠程復制方法,可以用于云計算領域的遠距離容災系統(tǒng)中,不需要特殊的物理環(huán)境,只需對原有的IP網(wǎng)絡作相應的改進,以完全軟件的方法將數(shù)據(jù)遠程復制到另一個遠端設備,提升了數(shù)據(jù)在遠程復制中的穩(wěn)定性、安全性及傳輸效率。

附圖說明

附圖1為本發(fā)明基于LVM遠程復制架構結構示意圖。

附圖2為本發(fā)明LVM I/O Process模塊處理流程示意圖。

附圖3為本發(fā)明LVM Remote Replication模塊IO流程優(yōu)化示意圖。

附圖4為本發(fā)明LVM Remote Replication模塊處理流程示意圖。

附圖5為本發(fā)明LVM Remote Replication模塊中NBD子模塊報文結構示意圖。

具體實施方式

為了使本發(fā)明所要解決的技術問題、技術方案及有益效果更加清楚明白,以下結合附圖和實施例,對本發(fā)明進行詳細的說明。應當說明的是,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

該優(yōu)化的基于LVM的遠程復制方法,基于LVM遠程復制架構包括LVM I/O Analysis模塊,LVM I/O Process模塊和LVM Remote Replication模塊三部分;所述LVM I/O Analysis模塊對上層應用的I/O請求解析進行優(yōu)化,對于讀請求直接訪問本地數(shù)據(jù),對于寫請求則發(fā)送到本地及遠程設備處理模塊;所述LVM I/O Process模塊對LVM中的Mirror接口進行優(yōu)化,更改寫請求的I/O處理流程,通過先記錄日志再更新數(shù)據(jù)的方法,將數(shù)據(jù)分別發(fā)送到本地及遠程設備;所述LVM Remote Replication模塊對NBD模塊進行更改,使之與LVM的內核結構對接,實現(xiàn)數(shù)據(jù)的遠程發(fā)送;同時,由于NBD報文是經(jīng)由TCP/IP傳輸?shù)?,所述LVM Remote Replication模塊還對TCP/IP網(wǎng)絡的參數(shù)也進行了優(yōu)化,調整TCP/IP網(wǎng)絡中的tcp_sack,tcp_timestamps,tcp_low_latency,tcp_westwood和tcp_bic參數(shù),使之更有效到適用于遠程復制場景。

所述LVM I/O Analysis模塊負責對上層應用發(fā)起的I/O請求過濾,通過改變lvm_make_request_fn()函數(shù)對I/O請求進行分類,lvm_make_request_fn()函數(shù)的主要功能是對將Mapped Device通過地址映射到底層的Target Device,并將映射的地址返回給系統(tǒng),讀請求或與復制無關的請求直接交由LVM自身機制從盤中讀取,寫請求則調用LVM I/O Process模塊的接口進行處理;所述LVM I/O Process模塊負責構建I/O的流程,同時與Remote Replication模塊對接,整個LVM I/O Process模塊是基于LVM的mirror特性更改實現(xiàn)的,mirror特性是將I/O請求分別發(fā)送到本地及復制卷中;所述LVM Remote Replication模塊負責遠程復制的數(shù)據(jù)一致性定義及數(shù)據(jù)的遠程傳輸;將I/O請求在主端經(jīng)由LVM Remote Replication模塊處理后,發(fā)送到遠程設備端并成功提交日志寫到數(shù)據(jù)盤后,更新本地的日志信息并提交給LVM I/O Process模塊;當LVM I/O Process模塊中的mirror收到本地及遠程的返回消息后,向應用層返回寫成功。

所述LVM I/O Process模塊對寫請求的I/O處理流程,首先將I/O請求記錄到日志信息中,然后將BIOS復制兩份,一份發(fā)送到本地的數(shù)據(jù)盤,另一份發(fā)送到請求隊列中,最后調用Remote Replication模塊接口,利用多線程處理將數(shù)據(jù)發(fā)送到對端;當接收到本地及遠程設備兩個請求完成后,向上層應用返回請求處理成功。

請求隊列是對I/O請求的緩沖。引進該機制是因為遠程復制的I/O需要發(fā)送到遠程設備上的傳輸速度與本地存儲速度相差很大,為了提升整體I/O寫的性能,考慮將I/O請求存放到隊列中,利用多線程處理將數(shù)據(jù)發(fā)送到對端,從而優(yōu)化系統(tǒng)整體的寫請求處理。

所述LVM Remote Replication模塊對遠程復制的數(shù)據(jù)一致性定義是指采用實時同步的方式,即上層應用發(fā)出的多個寫請求必須等待主端和備端的數(shù)據(jù)同時寫入方可繼續(xù)執(zhí)行;當請求到來時,先按照請求順序提交日志,寫日志成功后再寫數(shù)據(jù)盤,寫數(shù)據(jù)盤時,按照順序依次寫盤,只有寫日志及寫數(shù)據(jù)盤同時成功提交后,才按照請求提交順序更新日志信息,最后通知上層請求完成;

所述LVM Remote Replication模塊對數(shù)據(jù)的遠程傳輸是基于NBD模塊完成的,首先對主端和備端通過nbd_init函數(shù)初始化并連接,然后利用do_nbd_request函數(shù)從請求隊列中讀取相應的請求,使用報文結構中的handle域裝載發(fā)送到備端;調用nbd_do_it循環(huán)等待并調用nbd_read_stat讀取備端的寫盤狀態(tài);當讀寫請求完成后,則從請求隊列中刪除請求并向上層返回成功。

所述LVM Remote Replication模塊對TCP/IP網(wǎng)絡的參數(shù)的優(yōu)化包括利用tcp_sack參數(shù)啟用有選擇應答模式,提升亂序報文的回復,只發(fā)送丟失的報文;利用tcp_timestamps參數(shù)啟用TCP時間戳,更精確控制報文重發(fā);關閉tcp_low_latency參數(shù)和選用tcp_westwood參數(shù)通過吞吐量評估對帶寬的整體利用情況進行優(yōu)化;為了快速長距離的傳輸啟用tcp_bic參數(shù)的Binary Increase Congestion,更好利用傳輸網(wǎng)絡的GB級速度。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
北碚区| 武定县| 平山县| 定兴县| 柳州市| 三穗县| 洱源县| 洛阳市| 诸城市| 莒南县| 和龙市| 泸溪县| 灌阳县| 大理市| 左权县| 休宁县| 瑞金市| 阜康市| 石河子市| 屏东县| 兴安盟| 黔江区| 邹平县| 临江市| 从江县| 上栗县| 桦川县| 贡觉县| 扬州市| 南宁市| 桂阳县| 阜城县| 池州市| 蕉岭县| 巴马| 朝阳县| 涞水县| 福鼎市| 宾阳县| 山丹县| 台中县|