J'ai lu pas mal de messages à ce sujet, mais je ne suis toujours pas sûr de la bonne approche, en supposant:
J'ai une machine virtuelle Ubuntu 14.04 LTS par défaut créée par et exécutée sur Azure, qui ne vient pas avec un échange
Je voudrais créer un swap en utilisant le stockage de VM existant, au lieu de créer un nouveau disque en utilisant un stockage supplémentaire
Articles que j'ai lus:
- 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
De nombreuses solutions ont été discutées mais je n'arrive pas à en trouver une qui persiste lors des redémarrages du serveur (probablement en raison du cloud-init a sa propre idée sur le partitionnement d'image), quelqu'un peut-il me conseiller sur la meilleure pratique?
la source
ResourceDisk.Format
,ResourceDisk.EnableSwap
etResourceDisk.SwapSizeMB
. MAIS l'étape importante est de faire un manuelsudo service walinuxagent restart
pour créer le fichier d'échange, car le redémarrage du serveur ne fonctionne pas pour moi.swapon -s
affiche toujours une liste vide de fichiers d'échange.La réponse de Bruno est un excellent point de départ, mais cela n'a fonctionné qu'après que j'ai redémarré et lui ai donné une minute après le démarrage.
une. Activer l'échange
/etc/waagent.conf
, lignes pertinentes:b. Effectuez les opérations suivantes en tant que root, ce qui comprend le redémarrage de votre ordinateur:
c. Après le démarrage, il faudra encore un certain temps avant que l'échange ne soit réellement activé. Vous pouvez le vérifier avec
swapon -s
.la source
Je crois que la bonne façon de le faire pour que cloud-init et waagent jouent `` bien '' ensemble (à partir des documents Cloud-Init Azure ) est de conserver ces valeurs définies sur ce
J'ai essayé de changer le point de montage mais cela ne semblait pas fonctionner correctement, donc les documents sont probablement précis sur les valeurs
Et puis vous pouvez personnaliser les options de swap comme vous le souhaitez
Un redémarrage de base reprend le nouveau swap fine
la source
J'en avais aussi besoin (en fait 16.04 au lieu de 14.04, mais ma réponse s'appliquera aux deux je pense).
Mais quand j'ai vu que je devais lire des essais si longs que vous le dites, j'allais abandonner ... Mais soudain, je me suis souvenu d'un article très simple dans le blog de DigitalOcean:
Comment ajouter Swap sur Ubuntu 14.04
C'est si simple que j'ai même écrit un script pour cela (au moins pour la meilleure partie, pas encore les paramètres de swappiness et d'autres choses avancées):
Pour que ce qui précède fonctionne, vous devez d'
sudo apt install fsharp
abord (au moins Ubuntu 16.04 a fsharp dans les référentiels, pas sûr de 14.04).Vous avez également besoin de ce
InfraTools.fs
fichier:La partie qui fait fonctionner ma réponse lors des redémarrages du serveur est l'écriture dans le fichier / etc / fstab.
La bonne chose à propos de cette solution est qu'elle devrait fonctionner dans Azure, DigitalOcean, YouNameIt, ...
Prendre plaisir!
la source
Il existe maintenant des instructions dans la documentation officielle Azure: https://support.microsoft.com/en-us/help/4010058/how-to-add-a-swap-file-in-linux-azure-virtual-machines
la source