博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Azure 上 Linux VM 中的交换空间 – 第 2 部分
阅读量:5930 次
发布时间:2019-06-19

本文共 1520 字,大约阅读时间需要 5 分钟。

本文章由 Azure CAT 团队的 撰写。

在前一篇文章 中,我介绍了在默认情况下, Azure IaaS镜像库中配置的 Linux VM 为何未配置交换空间。该文还提供了在资源磁盘 (/mnt/resource) 上配置基于文件的交换空间的一系列简单步骤。但是需要注意的是,当时介绍的步骤适用于已配置且正在运行的 VM。理想情况下,人们希望在 VM 配置时自动配置交换空间,而非等到以后再手动运行一堆命令。

在配置 VM 时自动配置交换空间的诀窍是使用 Windows Azure Linux 代理 (waagent)。大多数人隐约知道 Linux VM 中运行了一个代理,但同时又觉得它有些过于冷僻,因此会将其忽视,尽管 Azure 门户上有关于 waagent 的详尽文档。请参阅 。在深入讨论 waagent 的详细信息以及如何将其用于手边的任务之前,需要先弄明白另一点,即如果您有一个自己的自定义 Linux VM,并将其导出作为未来用于配置 Linux VM 的可复用镜像,这种方法效果很好。在使用 Azure 库中的 Linux 原始库镜像时,无法更改预设的waagent 功能。这不见得是限制,因为在我认为最有用的用例方案中,我最初使用利用库镜像进行配置的 VM,然后针对我需要的功能进行自定义,例如,我想要,而非开放 jdk Java;或者我可能要在 VM 上安装编译好的Hadoop,以便镜像以后可以用于多节点群集。在这种情况下,同样也很容易配置 waagent 以执行一些我希望通过配置过程自动完成的其他操作。

用户指南中所述,可以配置代理以执行很多操作,其中包括:

资源磁盘管理

格式化和安装磁盘资源

配置交换空间

通过库镜像配置的 VM 中已安装了 waagent,您只需编辑其位于“/etc/waagent.conf”的配置文件,其中配置如下所示:

通过如下设置,将配置文件中如上图所示的两行更改为启用交换:

设置 ResourceDisk.EnableSwap=y

设置 ResourceDisk.SwapSizeMB=5120

因此,整个过程如下:

使用库中的一个镜像照常配置 IaaS 中的 Linux VM。

通过安装或删除需要的软件组件,根据自己的喜好自定义 VM。

编辑“/etc/waagent.conf”文件以设置交换相关行,如上图所示。调整交换文件的大小(上面是将其设置为 5 GB)。

使用介绍的说明捕获 VM 的可复用镜像。

使用刚导出的镜像配置新的 Linux VM。这些 VM 将自动启用交换空间。

谈及Windows Azure Linux 代理,不得不说它提供的另一个有趣的功能,即通过相同配置文件“/etc/waagent.conf”中的 Role.StateConsumer 属性执行用户指定的任意脚本。例如,可以按如下所示创建一个 shell 脚本“do-cfg.sh”:

然后,在配置文件中设置 Role.StateConsumer=/home/scripts/do-cfg.sh,或将其设置为脚本路径。waagent 再在配置VM时将”Ready”信号发送给 Azure Fabric 前一刻执行脚本。它将命令行参数“Ready”传递到可以在脚本内进行测试的自定义脚本,如上图所示执行一些自定义初始化。同样,waagent 在 VM 关机时执行相同的脚本,并将命令行参数“Shutdown”传递给可以进行测试的脚本,一些自定义清理任务可以在 VM 中运行。

本文翻译自:

 

 

 

 

转载于:https://www.cnblogs.com/wuwa/p/6192048.html

你可能感兴趣的文章
OpenLayers IE 6 下 PNG 图片显示问题
查看>>
spring自定义事件和事件监听器以及事件的发布-ApplicationEvent
查看>>
一些前端开发的资源
查看>>
分布式系统基础
查看>>
poj1015 Jury Compromise - dp,背包模型
查看>>
线性表顺序存储-练习题2
查看>>
IOS——关于UIView的autoresizingMask属性的研究
查看>>
KSImageNamed-Xcode-master
查看>>
block 实现原理详解(一)
查看>>
当用户提出需要一匹千里马时,追问一句为什么
查看>>
开源项目哪家强?硅谷风投总结的最火的25个开源项目排名
查看>>
Android 引用外部字体
查看>>
OpenStack Horizon创建虚拟机时增加虚拟机OS用户
查看>>
纯CSS画的基本图形
查看>>
详解java定时任务
查看>>
HTML vs XHTML vs DHTML
查看>>
Ubuntu下JDK7安装全过程并调试第一个带包的java程序
查看>>
backbone(二)视图
查看>>
LeetCode-Minimum Window Substring
查看>>
【Linux 系统编程】shell 流程控制Loop和引号(三)
查看>>