Eu li alguns posts sobre isso, mas ainda não tenho certeza sobre a abordagem correta, assumindo:
Eu tenho uma VM LTS padrão do Ubuntu 14.04 criada e em execução no Azure, que não vem com uma troca
Gostaria de criar uma troca usando o armazenamento existente da VM, em vez de criar um novo disco usando armazenamento adicional
Posts que li:
- 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
Muitas soluções foram discutidas, mas parece que não consigo encontrar uma que persista nas reinicializações do servidor (provavelmente devido ao cloud-init ter sua própria idéia sobre o particionamento de imagens). Alguém pode me aconselhar sobre as melhores práticas?
fonte
ResourceDisk.Format
,ResourceDisk.EnableSwap
eResourceDisk.SwapSizeMB
. MAS o passo importante é fazer um manualsudo service walinuxagent restart
para criar o arquivo de troca, pois apenas a reinicialização do servidor não funciona para mim.swapon -s
ainda mostra a lista vazia de arquivos de troca.A resposta de Bruno é um ótimo ponto de partida, mas só funcionou depois que eu reiniciei e aguardei outro minuto após a inicialização.
uma. Ative a troca
/etc/waagent.conf
, linhas relevantes:b. Faça o seguinte como root, o que inclui reiniciar sua máquina:
c. Após a inicialização, ainda levará algum tempo até que a troca seja realmente ativada. Você pode conferir com
swapon -s
.fonte
Acredito que a maneira certa de fazer isso para que o cloud-init e o waagent sejam "agradáveis" juntos (dos documentos do Cloud-Init Azure ) é manter esses valores definidos para isso
Tentei alterar o ponto de montagem, mas ele não parecia funcionar corretamente, portanto os documentos provavelmente são precisos sobre os valores
E então você pode personalizar as opções de troca como desejar
Uma reinicialização básica pega a nova multa de swap
fonte
Eu também precisava disso (na verdade, 16.04 em vez de 14.04, mas minha resposta se aplica a ambos, eu acho).
Mas quando vi que tinha que ler ensaios tão longos que você aponta, eu desistia ... Mas de repente me lembrei de um artigo muito direto no blog da DigitalOcean:
Como adicionar swap no Ubuntu 14.04
É tão simples que até escrevi um script para ele (pelo menos na melhor parte, ainda não as configurações de swappiness e outras coisas avançadas):
Para que o trabalho acima funcione, você precisa
sudo apt install fsharp
primeiro (pelo menos o Ubuntu 16.04 tem fsharp nos repositórios, não tenho certeza sobre o 14.04).Você também precisa deste
InfraTools.fs
arquivo:A parte que faz minha resposta funcionar através da reinicialização do servidor é a gravação no arquivo / etc / fstab.
O bom dessa solução é que ela deve funcionar no Azure, DigitalOcean, YouNameIt, ...
Aproveitar!
fonte
Agora, existem instruções na documentação oficial do Azure: https://support.microsoft.com/en-us/help/4010058/how-to-add-a-swap-file-in-linux-azure-virtual-machines
fonte