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

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

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

存储在此驱动器上的任何数据都将受到损失,并且无法恢复。

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

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

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

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

在Linux VM上,这应该也是安全的,除非系统希望交换文件在引导时已经存在:那么它可能会抱怨没有find它,因此无法挂载它。

在这种情况下,如果交换文件实际存在,则需要一些脚本来检查引导时间,如果不是,则创build它; 所有这些当然在安装之前。

Azure可能提供了一些手段来自动pipe理这个。

在这个磁盘上交换文件没有问题,但一定要使用Linux代理来创build它。 它会自动在资源磁盘上创build和pipe理它。

以下是如何启用:

  • 编辑“/etc/waagent.conf”

添加或取消注释这些行:

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

通常只有EnableSwap和SwapSizeMB不会默认configuration。 保存并重新启动要应用的代理。

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

阅读这个和其他build议的Linux VM优化

除了在使用CoreOS时提到的其他答案之外,用于pipe理交换空间(和其他选项)的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回购的其他自述文件