web-dev-qa-db-ja.com

Azure Ubuntu VMのスワップを作成するにはどうすればよいですか?

私はこれについてかなりの数の投稿を読みましたが、次のことを前提として、私はまだ正しいアプローチについて確信がありません:

  1. デフォルトのUbuntu 14.04 LTSがありますVM作成され、Azure上で実行されています。スワップは付属していません。

  2. 追加のストレージを使用して新しいディスクを作成する代わりに、既存のVMストレージを使用してスワップを作成したい

私が読んだ投稿:

多くの解決策が議論されましたが、サーバーの再起動後も持続する解決策を見つけることができないようです(おそらくcloud-initにはイメージのパーティション分割に関する独自のアイデアがあるため)。誰かがベストプラクティスについて助言できますか?

9
bitinn

Linuxエージェントがインストールされていると仮定します。 /etc/waagent.confでスワップを有効にするだけです。これらは関連する行です:

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に付属)を使用してスワップを作成します。そのためのディスクを作成する必要はありません。

pdate:スワップファイルを作成するには、以下の手順も実行する必要があります。

umount /mnt
service walinuxagent restart
8
Bruno Faria

Brunoの答えは素晴らしい出発点ですが、それは私が再起動して起動後に別の時間を与えた後にのみ機能しました。

a。 /etc/waagent.confの関連する行でスワップを有効にします。

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.

b。マシンの再起動を含む、rootとして以下を実行します。

umount /mnt
service walinuxagent restart
reboot

c。起動後、スワップが実際に有効になるまでにしばらく時間がかかります。 swapon -sで確認できます。

2
kqw

Cloud-initとwaagentの両方が( Cloud-Init Azure docs から)一緒に「ナイス」を再生するようにこれを行う正しい方法は、これらの値をこれに設定したままにすることです

# disabling provisioning turns off all 'Provisioning.*' function
Provisioning.Enabled=n
# this is currently not handled by cloud-init, so let walinuxagent do it.
ResourceDisk.Format=y
ResourceDisk.MountPoint=/mnt

マウントポイントを変更しようとしましたが、正しく機能していないようで、ドキュメントはおそらく値について正確です

そして、あなたはあなたが望むようにスワップオプションをカスタマイズすることができます

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

# Size of the swapfile.
ResourceDisk.SwapSizeMB=8192

基本的な再起動により、新しいスワップが正常に取得されます

Sudo service walinuxagent restart

free -m
             total       used       free     shared    buffers     cached
Mem:          3944        882       3061         44         29        163
-/+ buffers/cache:        689       3255
Swap:         8192          0       8192
1
FearlessHyena

これで、Azureの公式ドキュメントに手順があります: https://support.Microsoft.com/en-us/help/4010058/how-to-add-a-swap-file-in-linux-Azure-仮想マシン

0
fjsj