После обычного apt upgrade
пропал доступ по SSH к серверу Debian 10.
В Serial console в Azure бесконечно идут сообщения
INFO Daemon Waiting for cloud-init to copy ovf-env.xml to /var/lib/waagent/ovf-env.xml WARNING Daemon cloud-init does not appear to be running
Видимо на смену waagent идёт cloud-init, который всё только портит.
Решение: с другого сервера скопировать файл ovf-env.xml и скопировать в /var/lib/waagent/
на проблемном сервере.
Github завален подобными "issues'ами" (1, 2, 3), но решения универсального нет.
Забавный момент - сначала я думал просто сделать откат VM в Azure, но это нельзя сделать с неработающим Waagent.
После такого "апдейта" у меня сломался swap. Об этом ниже.
Пример файла ovf-env.xml
++++ Покажите мне это |
<ns0:Environment xmlns:ns0="http://schemas.dmtf.org/ovf/environment/1" xmlns:ns1="http://schemas.microsoft.com/windowsazure" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns1:ProvisioningSection> <ns1:Version>1.0</ns1:Version> <ns1:LinuxProvisioningConfigurationSet> <ns1:ConfigurationSetType>LinuxProvisioningConfiguration</ns1:ConfigurationSetType> <ns1:UserName>john</ns1:UserName> <ns1:DisableSshPasswordAuthentication>false</ns1:DisableSshPasswordAuthentication> <ns1:HostName>vm1337</ns1:HostName><ns1:UserPassword>REDACTED</ns1:UserPassword></ns1:LinuxProvisioningConfigurationSet> </ns1:ProvisioningSection> <ns1:PlatformSettingsSection> <ns1:Version>1.0</ns1:Version> <ns1:PlatformSettings> <ns1:KmsServerHostname>kms.core.windows.net</ns1:KmsServerHostname> <ns1:ProvisionGuestAgent>true</ns1:ProvisionGuestAgent> <ns1:GuestAgentPackageName xsi:nil="true" /> <ns1:RetainWindowsPEPassInUnattend>true</ns1:RetainWindowsPEPassInUnattend> <ns1:RetainOfflineServicingPassInUnattend>true</ns1:RetainOfflineServicingPassInUnattend> <ns1:PreprovisionedVm>false</ns1:PreprovisionedVm> <ns1:EnableTrustedImageIdentifier>false</ns1:EnableTrustedImageIdentifier> <ns1:PreprovisionedVMType xsi:nil="true" /> </ns1:PlatformSettings> </ns1:PlatformSettingsSection> </ns0:Environment>
++++
Платная техническая поддержка Microsoft полное дно. Индусы в Microsoft полное дно. Всё чему они научились так это мне по методичке сожалеть о мои злоключениях с их облаком.
Речь идёт только о Debian 10. В Debian 9, Ubuntu18/20, CentOS/RHEL/Oracle до сих пор исправно со swap работает waagent (ResourceDisk.EnableSwap
).
Я конечно могу сделать всё вручную и прибить гвоздями вот так
sudo /bin/dd if=/dev/zero of=/mnt/swap.2g bs=1M count=2048 sudo /sbin/mkswap /mnt/swap.2g sudo chmod 600 /mnt/swap.2g sudo /sbin/swapon /mnt/swap.2g echo "/mnt/swap.2g swap swap defaults 0 0" >> /etc/fstab
Но если раньше это работало автоматически, то надо стараться всё делать в cloud стиле.
После бессмысленных сожалений о моём горе со стороны Microsoft мне через несколько дней прислали ссылку, которую я ранее нашёл самостоятельно за 15 минут.
КОРОЧЕ. Создать файл create_swapfile.sh в каталоге /var/lib/cloud/scripts/per-boot
#!/bin/sh if [ ! -f '/mnt/swapfile' ]; then fallocate --length 2GiB /mnt/swapfile --> Here, set the swapsize as necessary. chmod 600 /mnt/swapfile mkswap /mnt/swapfile swapon /mnt/swapfile swapon -a else swapon /mnt/swapfile; fi
Для самоуспокоения потом надо посмотреть /var/log/waagent.log
или /var/log/cloud-init.log