RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
microsoft:azure:cloud-init_fuckup

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
microsoft:azure:cloud-init_fuckup [2021/08/17 15:36] – создано dxmicrosoft:azure:cloud-init_fuckup [2022/07/24 18:25] (текущий) dx
Строка 1: Строка 1:
 +====== cloud-init does not appear to be running ======
  
 +После обычного ''apt upgrade'' пропал доступ по SSH к серверу Debian 10.
 +
 +В Serial console в Azure бесконечно идут сообщения
 +
 +<code>
 +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
 +</code>
 +
 +{{:microsoft:azure:azure_ovf-env.xml.png?nolink|}}
 +
 +Видимо на смену waagent идёт cloud-init, который всё только портит.
 +
 +Решение: с другого сервера скопировать файл **ovf-env.xml** и скопировать в ''/var/lib/waagent/'' на проблемном сервере.
 +
 +Github завален подобными "issues'ами" ([[https://github.com/Azure/WALinuxAgent/issues/2025|1]], [[https://github.com/Azure/WALinuxAgent/issues/1359|2]], [[https://github.com/Azure/WALinuxAgent/issues/1933|3]]), но решения универсального нет.
 +
 +Забавный момент - сначала я думал просто сделать откат VM в Azure, но это нельзя сделать с неработающим Waagent.
 +
 +После такого "апдейта" у меня сломался swap. Об этом ниже.
 +
 +Пример файла **ovf-env.xml**
 +
 +++++ Покажите мне это |
 +<code 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>
 +</code>
 +++++
 +
 +==== SWAP в Azure [NEW] ====
 +
 +Платная техническая поддержка Microsoft полное дно. Индусы в Microsoft полное дно. Всё чему они научились так это мне по методичке сожалеть о мои злоключениях с их облаком.
 +
 +Речь идёт **только о Debian 10**. В Debian 9, Ubuntu18/20, CentOS/RHEL/Oracle до сих пор исправно со swap работает waagent (''ResourceDisk.EnableSwap'').
 +
 +Я конечно могу сделать всё вручную и прибить гвоздями вот так
 +
 +<code bash>
 +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
 +</code>
 +
 +Но если раньше это работало автоматически, то надо стараться всё делать в cloud стиле.
 +
 +После бессмысленных сожалений о моём горе со стороны Microsoft мне через несколько дней [[https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/swap-file-not-recreated-linux-vm-restart|прислали ссылку]], которую я ранее нашёл самостоятельно за 15 минут.
 +
 +КОРОЧЕ. Создать файл **create_swapfile.sh** в каталоге ''/var/lib/cloud/scripts/per-boot''
 +
 +<code bash>
 +#!/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
 +</code>
 +
 +Для самоуспокоения потом надо посмотреть ''/var/log/waagent.log'' или ''/var/log/cloud-init.log''
 +
 +{{tag>microsoft windows azure linux debian swap waagent}}