将交换文件存储在 Azure 上的临时磁盘上是否安全?

将交换文件存储在 Azure 上的临时磁盘上是否安全?

我有一个在 Microsoft Azure 上运行的虚拟 Linux 服务器。该机器有一个/dev/sdb1安装到的磁盘/mnt。此文件夹包含一个文件DATALOSS_WARNING_README.txt,其内容如下:

警告:这是一个临时磁盘。

该驱动器上存储的任何数据都可能丢失,并且无法恢复。

请不要使用此磁盘存储任何个人或应用程序数据。

有关更多详细信息,请参阅 MSDN 文档: http://msdn.microsoft.com/en-us/library/windowsazure/jj672979.aspx

我想知道将 Linux 服务器的交换文件存储在这个磁盘上是否安全?或者这会导致问题吗?

答案1

在 Windows 虚拟机上,这是默认完成的。

在 Linux VM 上这也应该是安全的,除非系统预计交换文件在启动时已经存在:然后它可能会抱怨找不到它,从而无法挂载它。

在这种情况下,需要一些脚本在启动时检查交换文件是否实际存在,如果不存在则创建它;当然,所有这些都是在安装之前完成的。

Azure 可能提供了一些方法来自动管理这一点。

答案2

此磁盘上有交换文件没有问题,但请确保使用 Linux 代理来创建它。它将在资源磁盘中自动创建和管理它。

启用方法如下:

  • 编辑“/etc/waagent.conf”

添加或取消注释以下行:

ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource 
ResourceDisk.EnableSwap=y
ResourceDisk.SwapSizeMB=2048

通常只有 EnableSwap 和 SwapSizeMB 不会默认配置。保存并重新启动代理以应用。

答案3

实际上,建议添加交换空间,尤其是对于 RAM 较低的虚拟机

这篇文章和其他针对 Linux VM 的优化建议值得一读

除了提到的其他答案之外,如果您使用 CoreOS,用于管理交换空间(和其他选项)的 waagent.conf 位于

/usr/share/oem/waagent.conf

并不是

/etc/waagent.conf

其余步骤保持不变。即修改文件中的这些选项

# Create and use swapfile on resource disk.
ResourceDisk.EnableSwap=y

# Size of the swapfile.
ResourceDisk.SwapSizeMB=4096

并使用重新启动代理

sudo systemctl restart waagent 

如果你正在使用其他 Linux 发行版,你可能需要查看有关 waagent repo 的附加自述文档

相关内容