Я прочитал довольно много постов по этому вопросу, но я все еще не уверен в правильном подходе, предполагая:
У меня есть виртуальная машина Ubuntu 14.04 LTS по умолчанию, созданная и работающая в Azure, которая не поставляется со свопом
Я хотел бы создать подкачку с использованием существующего хранилища виртуальных машин, а не создавать новый диск с использованием дополнительного хранилища
Должности, которые я прочитал:
- 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 имеет свое представление о разбиении образа), может кто-нибудь посоветовать мне лучшие практики?
источник
ResourceDisk.Format
,ResourceDisk.EnableSwap
иResourceDisk.SwapSizeMB
. НО важным шагом является создание руководстваsudo service walinuxagent restart
для создания файла подкачки, так как просто перезагрузка сервера не работает для меня.swapon -s
прежнему отображается пустой список файлов подкачки.Ответ Бруно - отличная отправная точка, но он сработал только после того, как я перезагрузился, и дал еще одну минуту после загрузки.
а. Включить своп
/etc/waagent.conf
, соответствующие строки:б. Выполните следующие действия от имени пользователя root, что включает перезагрузку компьютера:
с. После загрузки все равно пройдет некоторое время, прежде чем своп действительно будет включен. Вы можете проверить это с
swapon -s
.источник
Я считаю, что правильный способ сделать так, чтобы и cloud-init, и waagent играли «хорошо» вместе (из документов Cloud-Init Azure ), это сохранить эти значения на этом
Я попытался изменить точку монтирования, но она не работает должным образом, поэтому документы, вероятно, точны в отношении значений
И тогда вы можете настроить параметры подкачки, как вы хотите
Базовый перезапуск забирает новый штраф подкачки
источник
Я также нуждался в этом (фактически 16.04 вместо 14.04, но мой ответ будет относиться к обоим, я думаю).
Но когда я увидел, что должен был прочитать столько длинных эссе, на которые вы указали, я собирался сдаться ... Но вдруг я вспомнил очень прямолинейную статью в блоге DigitalOcean:
Как добавить своп на Ubuntu 14.04
Это так просто, что я даже написал сценарий для него (по крайней мере, к лучшему, пока нет настроек подкачки и других дополнительных вещей):
Чтобы вышеперечисленное сработало, вам нужно
sudo apt install fsharp
сначала (по крайней мере, в Ubuntu 16.04 есть fsharp в репозиториях, не уверен насчет 14.04).Также вам нужен этот
InfraTools.fs
файл:Часть, которая заставляет мой ответ работать через перезагрузку сервера, - это запись в файл / etc / fstab.
Преимуществом этого решения является то, что оно должно работать в Azure, DigitalOcean, YouNameIt, ...
Наслаждайтесь!
источник
Теперь есть инструкции в официальной документации Azure: https://support.microsoft.com/en-us/help/4010058/how-to-add-a-swap-file-in-linux-azure-virtual-machines.
источник