溫馨提示×

溫馨提示×

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

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

Linux動(dòng)態(tài)內(nèi)存配置與及時(shí)備份是怎樣的

發(fā)布時(shí)間:2021-09-27 16:06:56 來源:億速云 閱讀:148 作者:柒染 欄目:系統(tǒng)運(yùn)維

Linux動(dòng)態(tài)內(nèi)存配置與及時(shí)備份是怎樣的,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

Linux動(dòng)態(tài)內(nèi)存配置

動(dòng)態(tài)內(nèi)存配置是一項(xiàng)在 Hyper-V 中可選擇使用的技術(shù)之一,如果您啟用此技術(shù),Hyper-V 將會(huì)按照 Guest OS  所需要的內(nèi)存大小,自動(dòng)的保留或釋放物理內(nèi)存。 當(dāng)動(dòng)態(tài)內(nèi)存開啟時(shí),能夠聚集事實(shí)上還沒被 Guest OS 用到的內(nèi)存空間。  這使得內(nèi)存能夠更妥善的被利用,能夠提高單臺(tái) Host OS 上運(yùn)行的虛擬機(jī)數(shù)量,提高整體虛擬機(jī)的密度,能夠讓硬件有更高的利用率以及減少每個(gè)虛擬機(jī)所需要的花費(fèi)。動(dòng)態(tài)內(nèi)存配置技術(shù)在 Windows 以及 Linux 客戶端操作系統(tǒng)都能夠使用,甚至可以在單一 Hyper-V 主機(jī)上使用這兩種操作系統(tǒng)的混合配置。

動(dòng)態(tài)內(nèi)存配置是在多種混合環(huán)境,盡可能發(fā)揮內(nèi)存使用率的技術(shù)。 Hyper-V  將會(huì)減少對于內(nèi)存使用較少的客戶端操作系統(tǒng),并將其指定給使用較多內(nèi)存的客戶端操作系統(tǒng)使用。 而 Hyper-V  會(huì)自行做內(nèi)存的配置與調(diào)整和不需要管理人員去進(jìn)行調(diào)整等工作。

如果目前客戶端操作系統(tǒng)內(nèi)存需求已達(dá)穩(wěn)定的程度,這時(shí)動(dòng)態(tài)內(nèi)存所能帶來的好處就不會(huì)表現(xiàn)得太明顯。  如果您的配置情況是可以穩(wěn)定掌握的,那我們將會(huì)建議您關(guān)閉此項(xiàng)技術(shù)。另外,有些客戶端操作系統(tǒng)上的程序會(huì)嘗試著把所有劃分給他使用的內(nèi)存都拿去自行規(guī)劃管理,而繞過操作系統(tǒng)。像如果有這種程序自行規(guī)劃內(nèi)存配置時(shí),則動(dòng)態(tài)內(nèi)存建議不進(jìn)行啟用,因?yàn)檫@類的程序可能會(huì)與 Hyper-V 所提供的技術(shù)會(huì)有所沖突。  最普遍的例子就像是大型可擴(kuò)展的數(shù)據(jù)庫以及一些 Java 應(yīng)用服務(wù)器等。

在 Hyper-V 中動(dòng)態(tài)內(nèi)存的技術(shù)支持大部分的 Linux 發(fā)行版,但目前尚未于 FreeBSD 上支持。 這一部分可以持續(xù)關(guān)注在 TechNet  上的 LIS/BIS 技術(shù)表格,查看哪些發(fā)行版已經(jīng)支動(dòng)態(tài)內(nèi)存技術(shù)。

動(dòng)態(tài)內(nèi)存技術(shù)是如何工作的?

動(dòng)態(tài)內(nèi)存技術(shù)使用兩種技術(shù)達(dá)成,而彼此兩者為獨(dú)立的方式:做 ”Hot-Add” 以及 ”Ballooning”。 為了要了解這兩種技術(shù),首先我們先來看到 Hyper-V  允許您在虛擬機(jī)中設(shè)置三個(gè)動(dòng)態(tài)內(nèi)存配置的參數(shù):

◆起始內(nèi)存-最一開始虛擬機(jī)啟用時(shí)應(yīng)該配置的內(nèi)存大小。

◆***內(nèi)存限度-在這個(gè)虛擬機(jī)中能夠從動(dòng)態(tài)內(nèi)存術(shù)配置到的***內(nèi)存大小。

◆最小內(nèi)存限度-最小內(nèi)存是動(dòng)態(tài)內(nèi)存配置時(shí),最少需要給此虛擬機(jī)***限度的內(nèi)存大小。

通常起始內(nèi)存會(huì)介于***內(nèi)存限度與最小內(nèi)存限度之間。

而前面提到 ”Hot-add” 技術(shù)是當(dāng)虛擬機(jī)對內(nèi)存用量需求增加時(shí),則會(huì)逐漸地將該虛擬機(jī)的可用內(nèi)存逐漸提升到***內(nèi)存限度。  而這種方式只會(huì)逐漸提升虛擬機(jī)中可用的內(nèi)存限度,但并沒有辦法做到 ”Hot-remove”,也就是說這個(gè)方式只能增加內(nèi)存而無法收回不使用的內(nèi)存。

而在內(nèi)存自虛擬機(jī)中回收已配置的大小是使用 ”Ballooning” 技術(shù)。 這是由 LIS 內(nèi)動(dòng)態(tài)內(nèi)存驅(qū)動(dòng)程序來向客戶端操作系統(tǒng)宣稱這些內(nèi)存必須要留給  LIS,因此在 Linux 客戶端操作系統(tǒng)上并沒有辦法使用到這些內(nèi)存。 接著LIS內(nèi)存驅(qū)動(dòng)程序會(huì)將這些由 LIS 占用的內(nèi)存還給 Hyper-V,讓  Hyper-V 能夠配置給其他虛擬機(jī)使用。 這個(gè)操作并不會(huì)導(dǎo)致原本的 Linux 客戶端操作系統(tǒng)的總內(nèi)存容量減少,反而是其 Linux  客戶端操作系統(tǒng)認(rèn)為內(nèi)存應(yīng)該是被用來當(dāng)作某些程序的緩沖區(qū)域。 因此 Ballooning 技術(shù)不會(huì)將其 Linux  客戶端操作系統(tǒng)所看到實(shí)際可以用的內(nèi)存空間減少至小于最小內(nèi)存限度所設(shè)定的值以下。

Ballooning 技術(shù)亦可將可用內(nèi)存配置回虛擬機(jī)當(dāng)中,當(dāng) Hyper-V 決定要?dú)w還界用的內(nèi)存時(shí),LIS 內(nèi)將會(huì)歸還先前宣稱需要使用的內(nèi)存空間回  Linux 客戶端操作系統(tǒng)。 當(dāng)虛擬機(jī)內(nèi)存需求提升且 Ballooned 的內(nèi)存皆已歸還,這時(shí) Hyper-V 將會(huì)使用 Hot-add  配置更多的內(nèi)存給需要的虛擬機(jī)中。

動(dòng)態(tài)內(nèi)存配置范例

讓我們來看看動(dòng)態(tài)內(nèi)存的配置流程,我們用下列的示例來解釋這三個(gè)步驟:

◆一臺(tái)虛擬機(jī)開啟,其內(nèi)存大小將會(huì)依照起始內(nèi)存所設(shè)定的內(nèi)存大小做配置。

◆虛擬機(jī)對內(nèi)存的需求增加,于是 Hyper-V 通過 Hot-add 技術(shù)增加該虛擬機(jī)的內(nèi)存。

◆虛擬機(jī)對對內(nèi)存的需求減少,于是 Hyper-V 通過 Ballooning 技術(shù)釋放空閑內(nèi)存。

而上面這三個(gè)步驟的過程我們用幾種方式來觀察:

◆從一個(gè)概要的內(nèi)存配置圖來顯示目前內(nèi)存配置狀況?!?/p>

◆通過 Hyper-V 管理員內(nèi)的內(nèi)存頁面查看內(nèi)存狀況?!?/p>

◆在 Linux 下使用 free –m 命令查詢內(nèi)存狀況。

前面兩個(gè)方式為從虛擬機(jī)觀察內(nèi)存消耗狀況,而第三種方式為從客戶端操作系統(tǒng)內(nèi)部觀察內(nèi)存使用狀況。

Linux動(dòng)態(tài)內(nèi)存配置與及時(shí)備份是怎樣的

在***個(gè)步驟時(shí),虛擬機(jī)此時(shí)開機(jī)完畢后并沒有特別顯明的程序消耗內(nèi)存。 依照該虛擬機(jī)設(shè)定的起始內(nèi)存配置相對應(yīng)大小的內(nèi)存。此時(shí)在 Hyper-V 與  Linux 客戶端操作系統(tǒng)內(nèi)也可以看到相同數(shù)量的內(nèi)存,但要注意 Linux 內(nèi)已經(jīng)預(yù)留 32MB 的內(nèi)存大小給 BIOS 作為其他的用途使用。

Linux動(dòng)態(tài)內(nèi)存配置與及時(shí)備份是怎樣的

在第二個(gè)步驟時(shí),虛擬機(jī)內(nèi)開始有顯著的內(nèi)存需求出現(xiàn),這時(shí) Hyper-V 會(huì)開始通過 Hot-add 技術(shù)將更多的內(nèi)存配置給虛擬機(jī),可以看到在  Assigned Memory 的字段顯示的大小增加,而在 Linux 客戶端操作系統(tǒng)中也會(huì)跟著提升(依然保留 32MB 給 BIOS 使用)。

Linux動(dòng)態(tài)內(nèi)存配置與及時(shí)備份是怎樣的

在第三個(gè)步驟時(shí),先前耗費(fèi)內(nèi)存的程序完成運(yùn)算,對內(nèi)存使用量下降,這時(shí) Hyper-V 會(huì)通過 LIS 使用 Ballooning  技術(shù)開始回收這些內(nèi)存,而在 Hyper-V 內(nèi)的 Assigned memory 此時(shí)會(huì)開始下降。 但是在 Linux  客戶端操作系統(tǒng)內(nèi)查看內(nèi)存狀態(tài)時(shí),并不會(huì)作任何改變,仍然保持剛剛在高內(nèi)存使用量額外加上的內(nèi)存大小。盡管 Linux  客戶端操作系統(tǒng)可使用的內(nèi)存看起來沒有任何改變,但其實(shí)在亮綠色的區(qū)塊中,是有 LIS 拿取并宣稱是 LIS 使用的,借此讓 Linux  客戶端操作系統(tǒng)認(rèn)為是拿去作為 Buffer 用途。 如果這些亮綠色的區(qū)塊皆被 Linux 拿去使用且 Linux  客戶端操作系統(tǒng)對內(nèi)存需求量又開始增長,這時(shí)會(huì)回到步驟一的情況,使用 Hot-add 配置更多內(nèi)存到該虛擬機(jī)中。

Linux 及時(shí)備份

接著,我們來談?wù)劻硗庖豁?xiàng)功能,及時(shí)備份。 及時(shí)備份允許您在不停止或者關(guān)閉虛擬機(jī)的情況下,能夠建立一個(gè) Linux  虛擬機(jī)的完整備份,包括其中的虛擬磁盤驅(qū)動(dòng)器。這個(gè)功能主要是確保您在生產(chǎn)階段所使用的環(huán)境能夠保持其***的上線時(shí)間。

文件系統(tǒng)的備份必須要維持一致性,當(dāng)一個(gè)備份動(dòng)作被執(zhí)行時(shí),Linux 客戶端操作系統(tǒng)上的文件系統(tǒng)將會(huì)把位于內(nèi)存 Buffer 內(nèi)的數(shù)據(jù)回寫入虛擬磁盤中。  這個(gè)動(dòng)作是為了確保操作系統(tǒng)有把所有的數(shù)據(jù)回寫入磁盤,否則當(dāng)您通過備份文件恢復(fù)虛擬機(jī)時(shí)可能會(huì)遇到數(shù)據(jù)不一致的問題。

Linux動(dòng)態(tài)內(nèi)存配置與及時(shí)備份是怎樣的

讓我們通過上圖示例,看看及時(shí)備份是如何工作的吧!

◆通過微軟或者第三方廠商所提供的備份軟件,要求 Hyper-V 備份一個(gè)或多個(gè)虛擬機(jī)。

◆通過在 LIS 內(nèi)的 VSS 驅(qū)動(dòng)程序,Hyper-V 與 Linux 虛擬機(jī)溝通并開始備份程序。 而這個(gè)稱作 VSS  的驅(qū)動(dòng)程序其實(shí)是因?yàn)椴糠止δ茴愃朴?Windows 中 ”Volume Shadow Copy Service” 而命名。  但不盡相同,因此別把這兩個(gè)名稱視為同一種技術(shù)。

◆而 VSS 驅(qū)動(dòng)程序與 Linux User space 內(nèi)的 VSS 服務(wù)溝通,而 VSS 服務(wù)將會(huì)向 Linux  發(fā)出暫停文件系統(tǒng)與回寫內(nèi)存回虛擬磁盤請求。

◆Hyper-V 將會(huì)建立一個(gè)備份的檢查點(diǎn)(Check point ),并告訴 LIS 可以將系統(tǒng)狀態(tài)解除暫停。 而 Linux  文件系統(tǒng)僅會(huì)在第三與第四步驟時(shí)暫停操作,而這足夠?qū)?nèi)存內(nèi)的數(shù)據(jù)回寫并且建立虛擬機(jī)檢查點(diǎn),通常這個(gè)動(dòng)作會(huì)小于 2 秒。

◆在 Hyper-V 內(nèi)的 Windows VSS 將會(huì)對該虛擬磁盤建立一個(gè)快照磁盤卷(VHD/VHDX)。

◆而備份軟件再將此 VHD/VHDX 復(fù)制到其他的儲(chǔ)存空間上。

動(dòng)態(tài)內(nèi)存配置以及及時(shí)備份是您在 Hyper-V 上運(yùn)行 Linux 時(shí)相當(dāng)重要的功能。這兩項(xiàng)功能需要 Hyper-V  主機(jī)與客戶端操作系統(tǒng)間密切的協(xié)同處理方能達(dá)成的功能。而現(xiàn)在微軟已經(jīng)將這兩項(xiàng)功能帶至 Hyper-V 與 Linux 之中。

關(guān)于Linux動(dòng)態(tài)內(nèi)存配置與及時(shí)備份是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

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

AI