两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于物理服務器的在線遷移的方法及裝置與流程

文檔序號:12463337閱讀:565來源:國知局
用于物理服務器的在線遷移的方法及裝置與流程

本發(fā)明總體說來涉及操作系統(tǒng)遷移領域,更具體地講,涉及一種用于物理服務器的在線遷移操作系統(tǒng)的方法及裝置。



背景技術:

操作系統(tǒng)遷移,包括離線遷移和在線遷移兩種。

離線遷移(offline migration):又稱靜態(tài)遷移(static migration),是指在操作系統(tǒng)關機的情況下,對磁盤數(shù)據(jù)進行遷移。

在線遷移(online migration):又稱實時遷移、熱(hot)遷移、動態(tài)遷移(live migration),是指在操作系統(tǒng)運行的狀態(tài)下,對磁盤數(shù)據(jù)和內(nèi)存數(shù)據(jù)進行遷移。該技術目前已經(jīng)廣泛應用于虛擬機場景,即虛擬機到虛擬機的在線遷移(Virtual-to-Virtual live migration,簡稱V2V Live Migration)。然而物理服務器上的操作系統(tǒng)在線遷移(Physical-to-Physical Live Migration,簡稱P2P Live Migration)尚未成熟。

虛擬機在線遷移:目前主流的虛擬機在線遷移工具,如VMware的VMotion、XEN的xenMotion,都要求物理機之間采用SAN(storage area network)、NAS(network-attached storage)之類的集中式共享外存設備,因而在遷移時只需要考慮操作系統(tǒng)內(nèi)存執(zhí)行狀態(tài)的遷移,從而獲得較好的遷移性能。虛擬機內(nèi)存在線遷移主要是在虛擬化層通過預拷貝內(nèi)存(Pre-copy memory migration)技術進行遷移。

物理機在線遷移:目前沒有完整的可操作的物理機的操作系統(tǒng)在線遷移的方案,物理機的操作系統(tǒng)遷移主要采用離線的方式進行。



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

本發(fā)明的示例性實施例在于提供一種用于物理服務器的在線遷移的方法及裝置,其能夠有效減少在遷移過程中的服務中斷時間。

根據(jù)本發(fā)明的示例性實施例,提供一種用于物理服務器的在線遷移的方法,其中,所述方法包括:(A)獲取磁盤的分區(qū)信息,并將所述分區(qū)信息發(fā)送到另一物理服務器,其中,所述分區(qū)信息是關于磁盤的分區(qū)的信息;(B)將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器;(C)控制操作系統(tǒng)進入休眠狀態(tài),以使內(nèi)存數(shù)據(jù)保存到所述磁盤;(D)將所述磁盤上保存的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器,其中,所述物理服務器在執(zhí)行步驟(A)和(B)時,始終處于正常運行狀態(tài)。

可選地,步驟(B)包括:(b1)獲取所述磁盤的每個分區(qū)的文件系統(tǒng)元數(shù)據(jù);(b2)根據(jù)所述每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)來確定所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊;(b3)將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器,其中,所述數(shù)據(jù)包括所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

可選地,步驟(B)還包括:(b4)在執(zhí)行步驟(b3)的同時,監(jiān)控所述磁盤上存儲的文件夾和文件是否有更改;(b5)每當監(jiān)控到文件夾和/或文件有更改時,將被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器。

可選地,監(jiān)控所述磁盤上存儲的文件夾和文件是否有更改的步驟包括:監(jiān)控所述磁盤上存儲的文件夾和文件是否被執(zhí)行以下操作之中的至少一項:創(chuàng)建、修改和刪除。

根據(jù)本發(fā)明的另一示例性實施例,提供一種用于物理服務器的在線遷移的方法,其中,所述方法包括:(A)接收另一物理服務器發(fā)送的分區(qū)信息,并根據(jù)所述分區(qū)信息對磁盤進行分區(qū);(B)接收所述另一物理服務器發(fā)送的存儲在所述另一物理服務器的磁盤上的數(shù)據(jù)和所述數(shù)據(jù)的地址,并根據(jù)所述數(shù)據(jù)的地址將所述數(shù)據(jù)寫入所述磁盤的相同地址處;(C)接收所述另一物理服務器發(fā)送的所述另一物理服務器的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)的地址,并根據(jù)所述內(nèi)存數(shù)據(jù)的地址將所述內(nèi)存數(shù)據(jù)寫入所述磁盤的相同地址處;(D)重新從所述磁盤啟動并通過操作系統(tǒng)的喚醒機制將保存在所述磁盤中的內(nèi)存數(shù)據(jù)恢復到內(nèi)存中。

可選地,存儲在所述另一物理服務器的磁盤上的數(shù)據(jù)包括:所述另一物理服務器的磁盤的每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

可選地,所述方法還包括:(E)在執(zhí)行步驟(B)的同時,接收所述另一物理服務器發(fā)送的所述另一物理服務器的磁盤上被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)的地址,并根據(jù)所述被更改的文件夾和/或文件的數(shù)據(jù)的地址將所述被更改的文件夾和/或文件的數(shù)據(jù)寫入所述磁盤的相同地址處。

可選地,所述被更改的文件夾和/或文件是被執(zhí)行以下操作之中的至少一項的文件夾和/或文件:創(chuàng)建、修改和刪除。

根據(jù)本發(fā)明的另一示例性實施例,提供一種用于物理服務器的在線遷移的裝置,其中,所述裝置包括:分區(qū)同步模塊,被配置為獲取磁盤的分區(qū)信息,并將所述分區(qū)信息發(fā)送到另一物理服務器,其中,所述分區(qū)信息是關于磁盤的分區(qū)的信息;數(shù)據(jù)同步模塊,被配置為將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器;休眠控制模塊,被配置為控制操作系統(tǒng)進入休眠狀態(tài),以使內(nèi)存數(shù)據(jù)保存到所述磁盤;內(nèi)存數(shù)據(jù)同步模塊,被配置為將所述磁盤上保存的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器,其中,在分區(qū)同步模塊和數(shù)據(jù)同步模塊執(zhí)行操作的同時,所述物理服務器始終處于正常運行狀態(tài)。

可選地,數(shù)據(jù)同步模塊包括:元數(shù)據(jù)獲取單元,被配置為獲取所述磁盤的每個分區(qū)的文件系統(tǒng)元數(shù)據(jù);數(shù)據(jù)塊確定單元,被配置為根據(jù)所述每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)來確定所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊;有效數(shù)據(jù)同步單元,被配置為將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器,其中,所述數(shù)據(jù)包括所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

可選地,數(shù)據(jù)同步模塊還包括:監(jiān)控單元,被配置為在有效數(shù)據(jù)同步單元執(zhí)行操作的同時,監(jiān)控所述磁盤上存儲的文件夾和文件是否有更改;增量同步單元,被配置為每當監(jiān)控單元監(jiān)控到文件夾和/或文件有更改時,將被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)在所述磁盤上的地址發(fā)送到所述另一物理服務器。

可選地,監(jiān)控單元監(jiān)控所述磁盤上存儲的文件夾和文件是否被執(zhí)行以下操作之中的至少一項:創(chuàng)建、修改和刪除。

根據(jù)本發(fā)明的另一示例性實施例,提供一種用于物理服務器的在線遷移的裝置,其中,所述裝置包括:分區(qū)同步模塊,被配置為接收另一物理服務器發(fā)送的分區(qū)信息,并根據(jù)所述分區(qū)信息對磁盤進行分區(qū);數(shù)據(jù)同步模塊,被配置為接收所述另一物理服務器發(fā)送的存儲在所述另一物理服務器的磁盤上的數(shù)據(jù)和所述數(shù)據(jù)的地址,并根據(jù)所述數(shù)據(jù)的地址將所述數(shù)據(jù)寫入所述磁盤的相同地址處;內(nèi)存數(shù)據(jù)同步模塊,被配置為接收所述另一物理服務器發(fā)送的所述另一物理服務器的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)的地址,并根據(jù)所述內(nèi)存數(shù)據(jù)的地址將所述內(nèi)存數(shù)據(jù)寫入所述磁盤的相同地址處;內(nèi)存恢復模塊,被配置為重新從所述磁盤啟動并通過操作系統(tǒng)的喚醒機制將保存在所述磁盤中的內(nèi)存數(shù)據(jù)恢復到內(nèi)存中。

可選地,存儲在所述另一物理服務器的磁盤上的數(shù)據(jù)包括:所述另一物理服務器的磁盤的每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

可選地,所述裝置還包括:增量同步模塊,被配置為在數(shù)據(jù)同步模塊執(zhí)行操作的同時,接收所述另一物理服務器發(fā)送的所述另一物理服務器的磁盤上被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)的地址,并根據(jù)所述被更改的文件夾和/或文件的數(shù)據(jù)的地址將所述被更改的文件夾和/或文件的數(shù)據(jù)寫入所述磁盤的相同地址處。

可選地,所述被更改的文件夾和/或文件是被執(zhí)行以下操作之中的至少一項的文件夾和/或文件:創(chuàng)建、修改和刪除。

在根據(jù)本發(fā)明的示例性實施例的用于物理服務器的在線遷移的方法及裝置中,物理服務器中斷服務的時間僅從源物理服務器休眠開始,到目的物理服務器被喚醒結束,有效縮短了遷移過程中的中斷服務時間;并且,僅對源物理服務器的磁盤上的有效數(shù)據(jù)進行拷貝遷移,有效降低了遷移時間。

將在接下來的描述中部分闡述本發(fā)明總體構思另外的方面和/或優(yōu)點,還有一部分通過描述將是清楚的,或者可以經(jīng)過本發(fā)明總體構思的實施而得知。

附圖說明

通過下面結合示例性地示出實施例的附圖進行的描述,本發(fā)明示例性實施例的上述和其他目的和特點將會變得更加清楚,其中:

圖1示出根據(jù)本發(fā)明示例性實施例的用于物理服務器的在線遷移的方法的流程圖;

圖2示出根據(jù)本發(fā)明示例性實施例的將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器的步驟的流程圖;

圖3示出根據(jù)本發(fā)明示例性實施例的用于物理服務器的在線遷移的方法的流程圖;

圖4示出根據(jù)本發(fā)明示例性實施例的用于物理服務器的在線遷移的裝置的框圖;

圖5示出根據(jù)本發(fā)明示例性實施例的數(shù)據(jù)同步模塊的框圖;

圖6示出根據(jù)本發(fā)明示例性實施例的用于物理服務器的在線遷移的裝置的框圖。

具體實施方式

現(xiàn)將詳細參照本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中,相同的標號始終指的是相同的部件。以下將通過參照附圖來說明所述實施例,以便解釋本發(fā)明。

圖1示出根據(jù)本發(fā)明示例性實施例的用于物理服務器的在線遷移的方法的流程圖。這里,所述物理服務器(以下,稱為源物理服務器)可以是物理機、裸金屬等物理服務器。

所述方法可由源物理服務器來執(zhí)行,也可通過計算機程序來實現(xiàn)。例如,所述方法可通過源物理服務器中的功能程序來執(zhí)行。

如圖1所示,在步驟S10,獲取磁盤的分區(qū)信息,并將所述分區(qū)信息發(fā)送到另一物理服務器(以下,稱為目的物理服務器),其中,所述分區(qū)信息是關于磁盤的分區(qū)的信息。這里,所述分區(qū)信息可包括關于磁盤被分為哪幾個分區(qū)、每個分區(qū)的起始地址和長度等的信息。

在步驟S20,將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器。具體說來,將源物理服務器的磁盤上的數(shù)據(jù)全量同步到目的物理服務器的磁盤上,并按地址進行遷移,保證同一數(shù)據(jù)在源物理服務器的磁盤上的地址(即,存儲位置)和在目的物理服務器的磁盤上的地址(即,存儲位置)相同。

應注意,源物理服務器在執(zhí)行步驟S10和S20時,始終處于正常運行狀態(tài),從而保證在整個遷移過程中耗時最長的數(shù)據(jù)全量同步階段,源物理服務器能夠正常提供服務,不會中斷服務。

在步驟S30,控制操作系統(tǒng)進入休眠狀態(tài),以使內(nèi)存數(shù)據(jù)保存到所述磁盤。具體說來,操作系統(tǒng)進入休眠狀態(tài)之后,所有的進程均被凍結,內(nèi)存數(shù)據(jù)被保存到指定的交換文件或交換分區(qū)中。

在步驟S40,將所述磁盤上保存的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器。具體說來,將源物理服務器的磁盤上保存的內(nèi)存數(shù)據(jù)按地址遷移到目的物理服務器的磁盤上,保證內(nèi)存數(shù)據(jù)在源物理服務器的磁盤上的地址和在目的物理服務器的磁盤上的地址相同,即,均保存在交換文件或交換分區(qū)中。

通過利用操作系統(tǒng)的休眠機制將內(nèi)存數(shù)據(jù)保存到磁盤,然后將內(nèi)存數(shù)據(jù)遷移到目的物理服務器,從而實現(xiàn)內(nèi)存數(shù)據(jù)的遷移。此過程耗時相對較少,減少了源物理服務器的服務中斷時間。并且,由于在步驟S20中采用按地址遷移,保證了遷移到目的物理服務器的內(nèi)存數(shù)據(jù)和磁盤上存儲的數(shù)據(jù)的匹配。

針對步驟S20,作為優(yōu)選方式,以下將參照圖2來描述在根據(jù)本發(fā)明示例性實施例的用于物理服務器的在線遷移的方法中的將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器的流程。

如圖2所示,在步驟S201,獲取所述磁盤的每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

在步驟S202,根據(jù)所述每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)來確定所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊。

作為示例,可針對每個分區(qū),從每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)中獲取每個分區(qū)的文件元數(shù)據(jù),然后根據(jù)文件元數(shù)據(jù)確定文件所使用的數(shù)據(jù)塊(即,已被使用的數(shù)據(jù)塊)。

在步驟S203,將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器,其中,所述數(shù)據(jù)包括所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

考慮到磁盤的空間一般比較大(例如,幾百GB),并且磁盤的讀寫速度比較慢(例如,普通磁盤的讀寫速度為130M/S左右,SSD的讀寫速度為500M/S左右),根據(jù)本發(fā)明的上述方式,能夠僅將磁盤上存儲的有效數(shù)據(jù)進行遷移,有效降低了遷移時間。

優(yōu)選地,根據(jù)本發(fā)明示例性實施例的將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器的流程還可包括:在執(zhí)行步驟S203的同時,監(jiān)控所述磁盤上存儲的文件夾和文件是否有更改。每當監(jiān)控到文件夾和/或文件有更改時,將被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器。即,對在執(zhí)行步驟S203時磁盤上被更改的文件夾和/或文件的數(shù)據(jù)再進行一次同步。

作為示例,可監(jiān)控所述磁盤上存儲的文件夾和文件是否被執(zhí)行以下操作之中的至少一項:創(chuàng)建、修改和刪除。作為示例,可利用Linux操作系統(tǒng)的inotify機制對整個文件系統(tǒng)中的在磁盤上的文件和文件夾進行監(jiān)控。

由于數(shù)據(jù)全量同步過程時間較長,期間操作系統(tǒng)又處于運行狀態(tài),文件系統(tǒng)會產(chǎn)生臟數(shù)據(jù),通過在數(shù)據(jù)全量同步過程中進行增量同步,能夠保證源物理服務器的磁盤上的數(shù)據(jù)和目的物理服務器上的數(shù)據(jù)的一致性。

圖3示出根據(jù)本發(fā)明示例性實施例的用于物理服務器(即,目的物理服務器)的在線遷移的方法的流程圖。這里,目的物理服務器可以是物理機、裸金屬等物理服務器。

所述方法可由目的物理服務器來執(zhí)行,也可通過計算機程序來實現(xiàn)。例如,所述方法可通過目的物理服務器中的功能程序來執(zhí)行。

如圖3所示,在步驟S50,接收源物理服務器發(fā)送的分區(qū)信息,并根據(jù)所述分區(qū)信息對磁盤進行分區(qū)。這里,所述分區(qū)信息可包括關于磁盤被分為哪幾個分區(qū)、每個分區(qū)的起始地址和長度等的信息。

在執(zhí)行步驟S50之前,目的物理服務器可從boot kernel啟動,boot kernel是指一個內(nèi)存操作系統(tǒng),可以是Live CD或通過PXE、iPXE加載的;此外,也可從普通的操作系統(tǒng)啟動,但所述磁盤沒有被使用。

在步驟S60,接收源物理服務器發(fā)送的存儲在源物理服務器的磁盤上的數(shù)據(jù)和所述數(shù)據(jù)的地址,并根據(jù)所述數(shù)據(jù)的地址將所述數(shù)據(jù)寫入所述磁盤的相同地址處。具體說來,將源物理服務器的磁盤上的數(shù)據(jù)全量同步到目的物理服務器的磁盤上,并按地址進行遷移,保證同一數(shù)據(jù)在源物理服務器的磁盤上的地址(即,存儲位置)和在目的物理服務器的磁盤上的地址(即,存儲位置)相同。

優(yōu)選地,存儲在源物理服務器的磁盤上的數(shù)據(jù)可包括:源物理服務器的磁盤的每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。即,僅將源物理服務器的磁盤上存儲的有效數(shù)據(jù)進行遷移,有效降低了遷移時間。

在步驟S70,接收源物理服務器發(fā)送的源物理服務器的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)的地址,并根據(jù)所述內(nèi)存數(shù)據(jù)的地址將所述內(nèi)存數(shù)據(jù)寫入所述磁盤的相同地址處。具體說來,將源物理服務器的磁盤上保存的內(nèi)存數(shù)據(jù)按地址遷移到目的物理服務器的磁盤上,保證內(nèi)存數(shù)據(jù)在源物理服務器的磁盤上的地址和在目的物理服務器的磁盤上的地址相同,即,均保存在交換文件或交換分區(qū)中。

在步驟S80,重新從所述磁盤啟動并通過操作系統(tǒng)的喚醒機制將保存在所述磁盤中的內(nèi)存數(shù)據(jù)恢復到內(nèi)存中,從而實現(xiàn)內(nèi)存數(shù)據(jù)的遷移(進程的遷移)。

作為優(yōu)選示例,根據(jù)本發(fā)明示例性實施例的用于目的物理服務器的在線遷移的方法還可包括:在執(zhí)行步驟S60的同時,接收源物理服務器發(fā)送的源物理服務器的磁盤上被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)的地址,并根據(jù)所述被更改的文件夾和/或文件的數(shù)據(jù)的地址將所述被更改的文件夾和/或文件的數(shù)據(jù)寫入所述磁盤的相同地址處。

作為示例,所述被更改的文件夾和/或文件可以是被執(zhí)行以下操作之中的至少一項的文件夾和/或文件:創(chuàng)建、修改和刪除。

由于數(shù)據(jù)全量同步過程時間較長,期間源物理服務器的操作系統(tǒng)又處于運行狀態(tài),文件系統(tǒng)會產(chǎn)生臟數(shù)據(jù),通過在數(shù)據(jù)全量同步過程中進行增量同步,能夠保證源物理服務器的磁盤上的數(shù)據(jù)和目的物理服務器上的數(shù)據(jù)的一致性。

圖4示出根據(jù)本發(fā)明示例性實施例的用于物理服務器(即,源物理服務器)的在線遷移的裝置的框圖。

如圖4所示,根據(jù)本發(fā)明示例性實施例的用于源物理服務器的在線遷移的裝置包括:分區(qū)同步模塊10、數(shù)據(jù)同步模塊20、休眠控制模塊30和內(nèi)存數(shù)據(jù)同步模塊40。這些模塊可通過專門的器件來實現(xiàn),作為示例,所述模塊可由數(shù)字信號處理器、現(xiàn)場可編程門陣列、應用處理器、CPU等通用硬件處理器來實現(xiàn),也可通過專用芯片等專用硬件處理器來實現(xiàn),還可完全通過計算機程序來以軟件方式實現(xiàn),例如,被實現(xiàn)為源物理服務器中的功能程序。

分區(qū)同步模塊10被配置為獲取磁盤的分區(qū)信息,并將所述分區(qū)信息發(fā)送到目的物理服務器,其中,所述分區(qū)信息是關于磁盤的分區(qū)的信息。這里,所述分區(qū)信息可包括關于磁盤被分為哪幾個分區(qū)、每個分區(qū)的起始地址和長度等的信息。

數(shù)據(jù)同步模塊20被配置為將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器。具體說來,數(shù)據(jù)同步模塊20將源物理服務器的磁盤上的數(shù)據(jù)全量同步到目的物理服務器的磁盤上,并按地址進行遷移,保證同一數(shù)據(jù)在源物理服務器的磁盤上的地址(即,存儲位置)和在目的物理服務器的磁盤上的地址(即,存儲位置)相同。

應注意,在分區(qū)同步模塊10和數(shù)據(jù)同步模塊20執(zhí)行操作的同時,源物理服務器始終處于正常運行狀態(tài),從而保證在整個遷移過程中耗時最長的數(shù)據(jù)全量同步階段,源物理服務器能夠正常提供服務,不會中斷服務。

休眠控制模塊30被配置為控制操作系統(tǒng)進入休眠狀態(tài),以使內(nèi)存數(shù)據(jù)保存到所述磁盤。具體說來,操作系統(tǒng)進入休眠狀態(tài)之后,所有的進程均被凍結,內(nèi)存數(shù)據(jù)被保存到指定的交換文件或交換分區(qū)中。

內(nèi)存數(shù)據(jù)同步模塊40被配置為將所述磁盤上保存的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器。具體說來,內(nèi)存數(shù)據(jù)同步模塊40將源物理服務器的磁盤上保存的內(nèi)存數(shù)據(jù)按地址遷移到目的物理服務器的磁盤上,保證內(nèi)存數(shù)據(jù)在源物理服務器的磁盤上的地址和在目的物理服務器的磁盤上的地址相同,即,均保存在交換文件或交換分區(qū)中。

通過利用操作系統(tǒng)的休眠機制將內(nèi)存數(shù)據(jù)保存到磁盤,然后將內(nèi)存數(shù)據(jù)遷移到目的物理服務器,從而實現(xiàn)內(nèi)存數(shù)據(jù)的遷移。此過程耗時相對較少,減少了源物理服務器的服務中斷時間。并且,由于數(shù)據(jù)同步模塊20采用按地址遷移,保證了遷移到目的物理服務器的內(nèi)存數(shù)據(jù)和磁盤上存儲的數(shù)據(jù)的匹配。

作為優(yōu)選方式,以下將參照圖5來描述數(shù)據(jù)同步模塊的示例性結構。如圖5所示,根據(jù)本發(fā)明示例性實施例的數(shù)據(jù)同步模塊20可包括:元數(shù)據(jù)獲取單元201、數(shù)據(jù)塊確定單元202和有效數(shù)據(jù)同步單元203。

元數(shù)據(jù)獲取單元201被配置為獲取所述磁盤的每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

數(shù)據(jù)塊確定單元202被配置為根據(jù)所述每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)來確定所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊。

作為示例,數(shù)據(jù)塊確定單元202可針對每個分區(qū),從每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)中獲取每個分區(qū)的文件元數(shù)據(jù),然后根據(jù)文件元數(shù)據(jù)確定文件所使用的數(shù)據(jù)塊(即,已被使用的數(shù)據(jù)塊)。

有效數(shù)據(jù)同步單元203被配置為將存儲在所述磁盤上的數(shù)據(jù)和所述數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器,其中,所述數(shù)據(jù)包括所述每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

考慮到磁盤的空間一般比較大(例如,幾百GB),并且磁盤的讀寫速度比較慢(例如,普通磁盤的讀寫速度為130M/S左右,SSD的讀寫速度為500M/S左右),有效數(shù)據(jù)同步單元203能夠僅將磁盤上存儲的有效數(shù)據(jù)進行遷移,有效降低了遷移時間。

優(yōu)選地,根據(jù)本發(fā)明示例性實施例的數(shù)據(jù)同步模塊還可包括:監(jiān)控單元(未示出)和增量同步單元(未示出)。

監(jiān)控單元被配置為在有效數(shù)據(jù)同步單元執(zhí)行操作的同時,監(jiān)控所述磁盤上存儲的文件夾和文件是否有更改。

作為示例,監(jiān)控單元可監(jiān)控所述磁盤上存儲的文件夾和文件是否被執(zhí)行以下操作之中的至少一項:創(chuàng)建、修改和刪除。作為示例,監(jiān)控單元可利用Linux操作系統(tǒng)的inotify機制對整個文件系統(tǒng)中的在磁盤上的文件和文件夾進行監(jiān)控。

增量同步單元被配置為每當監(jiān)控單元監(jiān)控到文件夾和/或文件有更改時,將被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)在所述磁盤上的地址發(fā)送到目的物理服務器。即,對在有效數(shù)據(jù)同步單元203執(zhí)行操作時磁盤上被更改的文件夾和/或文件的數(shù)據(jù)再進行一次同步。

由于數(shù)據(jù)全量同步過程時間較長,期間操作系統(tǒng)又處于運行狀態(tài),文件系統(tǒng)會產(chǎn)生臟數(shù)據(jù),通過在數(shù)據(jù)全量同步過程中進行增量同步,能夠保證源物理服務器的磁盤上的數(shù)據(jù)和目的物理服務器上的數(shù)據(jù)的一致性。

圖6示出根據(jù)本發(fā)明示例性實施例的用于物理服務器(即,目的物理服務器)的在線遷移的裝置的框圖。

如圖6所示,根據(jù)本發(fā)明示例性實施例的用于目的物理服務器的在線遷移的裝置包括:分區(qū)同步模塊50、數(shù)據(jù)同步模塊60、內(nèi)存數(shù)據(jù)同步模塊70和內(nèi)存恢復模塊80。這些模塊可通過專門的器件來實現(xiàn),作為示例,所述模塊可由數(shù)字信號處理器、現(xiàn)場可編程門陣列、應用處理器、CPU等通用硬件處理器來實現(xiàn),也可通過專用芯片等專用硬件處理器來實現(xiàn),還可完全通過計算機程序來以軟件方式實現(xiàn),例如,被實現(xiàn)為目的物理服務器中的功能程序。

分區(qū)同步模塊50被配置為接收源物理服務器發(fā)送的分區(qū)信息,并根據(jù)所述分區(qū)信息對磁盤進行分區(qū)。

數(shù)據(jù)同步模塊60被配置為接收源物理服務器發(fā)送的存儲在源物理服務器的磁盤上的數(shù)據(jù)和所述數(shù)據(jù)的地址,并根據(jù)所述數(shù)據(jù)的地址將所述數(shù)據(jù)寫入所述磁盤的相同地址處。

優(yōu)選地,存儲在源物理服務器的磁盤上的數(shù)據(jù)可包括:源物理服務器的磁盤的每個分區(qū)內(nèi)已被使用的數(shù)據(jù)塊內(nèi)的數(shù)據(jù)和每個分區(qū)的文件系統(tǒng)元數(shù)據(jù)。

內(nèi)存數(shù)據(jù)同步模塊70被配置為接收源物理服務器發(fā)送的源物理服務器的內(nèi)存數(shù)據(jù)和所述內(nèi)存數(shù)據(jù)的地址,并根據(jù)所述內(nèi)存數(shù)據(jù)的地址將所述內(nèi)存數(shù)據(jù)寫入所述磁盤的相同地址處。

內(nèi)存恢復模塊80被配置為重新從所述磁盤啟動并通過操作系統(tǒng)的喚醒機制將保存在所述磁盤中的內(nèi)存數(shù)據(jù)恢復到內(nèi)存中,從而實現(xiàn)內(nèi)存數(shù)據(jù)的遷移(進程的遷移)。

作為優(yōu)選示例,根據(jù)本發(fā)明示例性實施例的用于目的物理服務器的在線遷移的裝置還可包括:增量同步模塊(未示出)。增量同步模塊被配置為在數(shù)據(jù)同步模塊執(zhí)行操作的同時,接收源物理服務器發(fā)送的源物理服務器的磁盤上被更改的文件夾和/或文件的數(shù)據(jù)以及所述被更改的文件夾和/或文件的數(shù)據(jù)的地址,并根據(jù)所述被更改的文件夾和/或文件的數(shù)據(jù)的地址將所述被更改的文件夾和/或文件的數(shù)據(jù)寫入所述磁盤的相同地址處。

作為示例,所述被更改的文件夾和/或文件可以是被執(zhí)行以下操作之中的至少一項的文件夾和/或文件:創(chuàng)建、修改和刪除。

根據(jù)本發(fā)明的示例性實施例的用于物理服務器的在線遷移的方法及裝置,物理服務器中斷服務的時間僅從源物理服務器休眠開始,到目的物理服務器被喚醒結束,有效縮短了遷移過程中的中斷服務時間;并且,僅對源物理服務器的磁盤上的有效數(shù)據(jù)進行拷貝遷移,有效降低了遷移時間。

雖然已表示和描述了本發(fā)明的一些示例性實施例,但本領域技術人員應該理解,在不脫離由權利要求及其等同物限定其范圍的本發(fā)明的原理和精神的情況下,可以對這些實施例進行修改。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
顺昌县| 上栗县| 虞城县| 宁晋县| 南京市| 盖州市| 晴隆县| 德保县| 乐业县| 舒城县| 岐山县| 师宗县| 阳西县| 鹤壁市| 文成县| 隆尧县| 准格尔旗| 沛县| 赤水市| 册亨县| 得荣县| 花莲市| 中江县| 海南省| 军事| 乌什县| 诏安县| 靖西县| 上饶县| 化州市| 柘荣县| 米易县| 宜宾县| 潼关县| 通辽市| 伽师县| 宁阳县| 灵石县| 乐清市| 澄江县| 图们市|