我已经阅读了相当多的帖子,但我仍然不确定正确的方法,假设:
>我有一个由Azure创建并在其上运行的默认Ubuntu 14.04 LTS VM,它没有交换
>我想使用现有的VM存储创建交换,而不是使用额外的存储创建新磁盘
帖子我读过:
> https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-how-to-inject-custom-data/
> https://wiki.ubuntu.com/AzureSwapPartitions
> https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1374166
讨论了很多解决方案,但我似乎找不到一个会在服务器重新启动后持续存在的问题(可能是因为cloud-init有自己的想法关于图像分区),有人可以告诉我最佳实践吗?
假设您已安装Linux代理.您所要做的就是在/etc/waagent.conf下启用swap.这些是相关的:
ResourceDisk.Format=y # Format if unformatted. If 'n',resour$ ResourceDisk.Filesystem=ext4 # Typically ext3 or ext4. FreeBSD image$ ResourceDisk.MountPoint=/mnt/resource # ResourceDisk.EnableSwap=y # Create and use swapfile on resource d$ ResourceDisk.SwapSizeMB=2048 # Size of the swapfile.
它将自动使用资源磁盘(每个VM附带)来创建交换.没有必要为它创建磁盘.
更新:您还需要执行以下步骤以创建交换文件:
umount /mnt service walinuxagent restart