Quantcast
Channel: CodeSection,代码区,Linux操作系统:Ubuntu_Centos_Debian - CodeSec
Viewing all articles
Browse latest Browse all 11063

Microsoft Loves Linux―Linux 动态存储器配置与即时备份

$
0
0

在此篇文章中,您可以看到:

初步介绍 linux动态存储器配置 动态存储器配置技术是如何运作的? 动态存储器配置范例 Linux及时备份 结论 初步介绍

这篇文章是有关于如何在私有资料中心上,利用 Hyper-V 运行与管理 Linux 以及 FreeBSD。先前的系列文章可以在下面的连结找到:

Microsoft Loves Linux―运行在Hyper-V上的Linux与FreeBSD http://www.linuxidc.com/Linux/2015-10/124627.htm

Microsoft Loves Linux―探讨 Hyper-V 的关键技术

http://www.linuxidc.com/Linux/2016-07/132827.htm

鼓励大家若尚未阅读前述文章,请先行阅读了解。

Linux 动态存储器配置

动态存储器配置是一项在 Hyper-V 内可以选择使用的技术之一,如果您启用此技术,Hyper-V 将会依照客端虚拟机器所需要的存储器大小,自动的保留或者释出实体存储器。当动态存储器开启时,能够聚集这些实际上还没被客端作业系统用到的存储器空间。这能够使得存储器能够更妥善的被利用,能够提高在单一主端上运作更多虚拟机器的数量,提高整体虚拟机器的密度,能够让硬体有更高的利用率以及减少每个虚拟机所需要的存储器花费。动态存储器配置技术在 windows 以及 Linux 客户端作业系统皆能够使用,甚至可以在单一 Hyper-V 主端上达成这两种作业系统的混合配置。

动态存储器配置是在多种混合环境,尽可能发挥存储器使用率的技术。Hyper-V 将会减少对于存储器使用较少的客端作业系统,并将其指定给使用较多存储器的客端作业系统使用。而 Hyper-V 会自行做存储器的配置与调整和不需要管理人员去进行调整等工作。

如果目前客端作业系统存储器需求已达稳定的程度,这时动态存储器配置所能带来的好处就不会彰显出来。如果您的配置情况是可以稳定掌握的,那我们将会建议您关闭此项技术。另外,有些客端作业系统上的程式会尝试着把所有划分给他使用的存储器都拿去自行规划管理,而绕过客端作业系统。像如果有这种程式自行规划存储器配置时,则动态存储器配置建议不进行启用,因为这类的程式可能会与 Hyper-V 所提供的技术会有所冲突。最普遍的例子就像是大型可扩展的资料库以及一些JAVA应用伺服器等。

在 Hyper-V 内动态存储器配置的技术支援大部分的 Linux 发行版本,但目前尚未于 FreeBSD 上支援。这一部分可以持续关注在 TechNet 上的 LIS/BIS 技术表格,得到那些发行版本已经支援动态存储器配置技术。

动态存储器配置技术是如何运作的?

动态存储器配置技术使用两种技术达成,而彼此两者为独立的方式分 ”Hot-Add” 以及 ”Ballooning”。为了要了解这两种技术,首先我们先来看到 Hyper-V 允许您在虚拟机器中设置三个动态存储器配置的参数:

起始存储器-在一开始虚拟机器启用时应该配置的存储器大小为何。 最大存储器限度-在这个虚拟机器中能够通过动态存储器配置技术配置到的最大存储器大小为何。 最小存储器限度-最小存储器是动态存储器配置时,最少需要给此虚拟机器最低限度的存储器大小为何。

通常起始存储器会介于最大存储器限度与最小存储器限度之间。

而前面提到 ”Hot-add” 技术是当虚拟机器对存储器用量需求增加时,则会逐渐地将该虚拟机器的可用存储器逐渐提升到最大存储器限度。而这种方式只会逐渐提升虚拟机器中可用的存储器限度,但并没有办法做到 ”Hot-remove”,也就是说这个方式只能增加存储器而无法收回不使用的存储器。

而在存储器自虚拟机器中回收已配置的大小是使用 ”Ballooning” 技术。这是由 LIS 内的动态存储器驱动程式来像客端作业系统宣称这些存储器必须要留给 LIS,因此在 Linux 客端作业系统上并没有办法使用到这些存储器。接着LIS存储器驱动程式会将这些由 LIS 占用的存储器还给 Hyper-V,让 Hyper-V 能够配置给其他虚拟机器使用。这个操作并不会导致原本的 Linux 客端作业系统的总存储器容量减少,反而是其 Linux 客端作业系统认为存储器应该是被用来当作某些程序的缓冲区域。因此 Ballooning 技术不会将其 Linux 客端作业系统所看到实际可以用的存储器空间减少至小于最小存储器限度所设定的值以下。

Ballooning 技术亦可将可用存储器配置回虚拟机器当中,当 Hyper-V 决定要归还借用的存储器时,LIS 内将会归还先前宣称需要使用的存储器空见回 Linux 客端作业系统。当虚拟机器存储器需求提升且 Ballooned 的存储器皆已归还,这时 Hyper-V 将会使用 Hot-add 配置更多的存储器给需要的虚拟机器中。

动态存储器配置范例

让我们来看看动态存储器的配置流程,我们用下列的范例来解释这三个步骤:

一台虚拟机器开启,其存储器大小将会依照起始存储器所设定的存储器大小做配置。 虚拟机器对存储器的需求增加,于是 Hyper-V 通过 Hot-add 技术增加该虚拟机器的存储器。 虚拟机对对存储器的需求减少,于是 Hyper-V 通过 Ballooning 技术是放空闲`存储器。

而上面这三个步骤的过程我们用几种方式来观察:

从一个概要的存储器配置图来显示目前存储器配置状况。 通过 Hyper-V 管理员内的存储器页面查看存储器状况。 在 Linux 底下通过 free m 指令查询存储器状况。

前面两个方式为从虚拟机观察存储器消耗状况,而第三种方式为从客端作业系统内部观察存储器使用状况。


Microsoft Loves Linux―Linux 动态存储器配置与即时备份

在第一个步骤时,虚拟机器此时开机完毕后并没有特别显着的程式消耗存储器。依照该虚拟机器设定的起始存储器配置相对应大小的存储器。此时在 Hyper-V 与 Linux 客端作业系统内也可以看到相同数量的存储器,但要注意 Linux 内已经预留 32MB 的存储器大小给 BIOS 作其他的用途使用。


Microsoft Loves Linux―Linux 动态存储器配置与即时备份

在第二个步骤时,虚拟机器内开始有显着的存储器需求出现,这时 Hyper-V 会开始通过 Hot-add 技术将更多的存储器配置置虚拟机器中,可以看到在 Assigned Memory 的栏位显示的大小增加,而在 Linux 客端作业系统中也会跟着提升(依然保留 32MB 给 BIOS 使用)。


Microsoft Loves Linux―Linux 动态存储器配置与即时备份

在第三个步骤时,先前耗费存储器的程序完成运算,对存储器使用量下降,这时 Hyper-V 会通过 LIS 使用 Ballooning 技术开始回收这些存储器,而在 Hyper-V 内的 Assigned memory 此时会开始下降。但是在 Linux 客端作业系统内查看存储器状态时,并不会作任何改变,仍然保持刚刚在高存储器使用量额外加上的存储器大小。尽管 Linux 客端作业系统可使用的存储器看起来没有任何改变,但其实在亮绿色的区块中,是有 LIS 拿取并宣称是 LIS 使用的,藉此让 Linux 客端作业系统认为是拿去作为 Buffer 用途。如果这些亮绿色的区块皆被 Linux 拿去使用且 Linux 客端作业系统对存储器需求量又开始增长,这时会回到步骤一的情况,通过 Hot-add 配置更多存储器到该虚拟机器中。

Linux 即 时备份

接着我们来谈谈另外一项机能,即时备份。即时备份允许您在不需要停止或者关闭虚拟机器的情况下,能够建立一个 Linux 虚拟机器的完整备份,包括其中的虚拟磁碟机。这个功能主要是确保您在生产力阶段所使用的环境能够保持其最大的上线时间。

档案系统的备份必须要维持一致性,当一个备份动作被执行时,Linux 客端作业系统上的档案系统将会把位于存储器 Buffer 内的资料回写入虚拟磁碟中。这个动作是为了确保作业系统有把所有的资料回写入磁碟,否则当您通过备份档案回_┬槟饣


Viewing all articles
Browse latest Browse all 11063

Trending Articles