Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ виртуальные машины Linux
Сводка
В следующий раз, когда потребуется восстановить виртуальную машину Azure Linux, автоматизируйте задачу, используя скрипты автоматического восстановления Azure Linux (ALAR). Вам больше не нужно запускать задание вручную. Эти сценарии упрощают процесс восстановления и позволяют даже неопытным пользователям легко восстановить виртуальную машину Linux.
ALAR использует расширение для восстановления виртуальной машины, описанное в восстановление виртуальной машины Linux с помощью команд восстановления виртуальной машины Azure.
ALAR охватывает следующие сценарии восстановления:
- Сценарии без загрузки
- Неправильной формы
/etc/fstab- синтаксическая ошибка
- отсутствующий диск
- Поврежденный initrd или отсутствует строка initrd в
/boot/grub/grub.cfg - Последнее установленное ядро не загружается
- Повреждена установка или конфигурация GRUB/EFI
- Проблемы с дисковым пространством и принудительное завершение работы auditd
- Легкое повреждение диска на томах ОС
- Неправильной формы
- Проблемы с конфигурацией
- Последовательная консоль и сериал GRUB неправильно настроены или отсутствуют
- Неправильная настройка Sudo
Как использовать ALAR
Скрипты ALAR используют расширение az vm repair, команду run и ее параметр --run-id. Значение опции --run-id автоматического восстановления равно linux-alar2. Чтобы исправить виртуальную машину Linux с помощью скрипта ALAR, выполните следующие действия.
Примечание.
Роль участника виртуальной машины не предоставляет достаточно разрешений для выполнения этих скриптовых операций, так как им требуются разрешения на чтение, запись и удаление ресурсов в группе ресурсов, включающую целевую виртуальную машину. Поэтому вам нужны такие роли, как "Соавтор" или "Владелец" на уровне группы ресурсов.
Создайте виртуальную машину спасения:
az vm repair create --verbose --resource-group <RG-NAME> --name <VM-NAME>- В настоящее время для процесса требуются три параметра. Если эти параметры не указаны в командной строке, процесс предложит ввести значения для них. Добавление этих параметров и значений в команду для неинтерактивного выполнения
--repair-username <RESCUE-USERNAME>--repair-password <RESCUE-PASS>--associate-public-ip
- Дополнительные параметры, которые можно использовать для управления созданием виртуальной машины восстановления, см. в документации по ремонту виртуальной машины az vm .
- В настоящее время для процесса требуются три параметра. Если эти параметры не указаны в командной строке, процесс предложит ввести значения для них. Добавление этих параметров и значений в команду для неинтерактивного выполнения
linux-alar2Запустите скрипт вместе с параметрами для одного или нескольких действий ALAR на виртуальной машине спасения:az vm repair run --verbose --resource-group <RG-NAME> --name <VM-NAME> --run-id linux-alar2 --parameters <action> --run-on-repairДопустимые имена действий перечислены в этом документе.
Переключите копию диска ОС обратно на исходную виртуальную машину и удалите временные ресурсы:
az vm repair restore --verbose --resource-group <RG-NAME> --name <VM-NAME>Примечание.
Исходные и новые диски не удаляются на
restoreэтапе.
Во всех примерах команд замените следующие параметры значениями:
-
<RG-NAME>: имя группы ресурсов, содержащей сломанную виртуальную машину. -
<VM-NAME>: имя неисправной виртуальной машины. -
<RESCUE-USERNAME>: пользователь, созданный на виртуальной машине восстановления для проверки подлинности. Это эквивалент пользователя, созданного на новой виртуальной машине на портале Azure. -
<RESCUE-PASS>: пароль дляRESCUE-USERNAME, заключенный в одинарные кавычки. Например:'password!234'. -
<action>: одно или несколько определенных действий, доступных для применения к сломанной виртуальной машине. См. следующий список доступных действий, а также ALAR GitHub ReadMe. Вы можете передать одно или несколько действий, которые выполняются последовательно. Для нескольких операций очертите их с помощью запятых без пробелов, напримерfstab,sudo.
Действия ALAR
fstab
Это действие проверяет etc/fstab файл, определяя нарушения синтаксиса и исправляя распространенные неправильные конфигурации. Он исправляет ошибки, такие как добавление параметра nofail для несущественных точек монтирования. Сначала он создает копию исходного файла для ссылки. При запуске ОС администратор может изменить fstab, чтобы исправить все ошибки, которые предотвратили перезагрузку системы.
Дополнительные сведения о проблемах, связанных с неправильного формата /etc/fstab файлом, см. в статье "Устранение неполадок при запуске виртуальных машин Linux по причине ошибок fstab".
efifix
Используйте это действие для переустановки необходимого программного обеспечения для загрузки с виртуальной машины 2-го поколения. Он также повторно создает grub.cfg файл.
grubfix
Используйте это действие для переустановки GRUB и повторного создания grub.cfg файла.
initrd
Используйте это действие, чтобы исправить повреждённый или неправильно созданный initrd или initramfs.
Чтобы правильно создать initrd или initramfs, добавьте в образ модули hv_vmbus, hv_netvsc и hv_storvsc.
Проблемы запуска, связанные с initrd, могут отображаться в виде следующих зарегистрированных симптомов.
В обоих случаях следующие сведения регистрируются перед записью ошибки.
kernel
Это действие изменяет ядро по умолчанию, заменив ядро по умолчанию или сломанное ядро ранее установленной версией.
Дополнительные сведения о сообщениях, которые последовательная консоль может регистрировать для событий запуска, связанных с ядром, см. в статье Как восстановить виртуальную машину Azure Linux в случае проблем с запуском из-за ядра.
serialconsole
Это действие исправляет неправильную или неправильно сформированную конфигурацию последовательной консоли для ядра Linux или GRUB. Выполните это действие в следующих случаях:
- Меню GRUB не отображается при запуске виртуальной машины.
- Сведения, связанные с операционной системой, не записываются в последовательную консоль.
sudo
Действие sudo сбрасывает разрешения на /etc/sudoers файл и все файлы в /etc/sudoers.d в требуемый режим 0440. Он также проверяет соответствие другим лучшим практикам. Базовая проверка выполняется для обнаружения и отчета о повторяющихся записях пользователей. Действие перемещает только /etc/sudoers.d/waagent файл, если он конфликтует с другими файлами.
corrupt
Это действие пытается выполнить основные недеструктивные исправления для повреждения файловой системы в томах, находящихся на диске ОС. При успешном выполнении выходные данные — это список данных файловой системы для проверки. Помните о возможности потери данных, вызванной повреждением файловой системы. Если это действие необходимо, выполните более интенсивную проверку данных после восстановления доступа к виртуальной машине.
auditd
Если виртуальная машина завершает работу сразу после запуска из-за конфигурации управляющей программы аудита, используйте это действие. Действие auditd изменяет конфигурацию управляющей программы аудита (в /etc/audit/auditd.conf файле), изменив HALT значение, настроенное для любых action параметров SYSLOG, которое не заставляет систему завершить работу. В среде диспетчера логических томов (LVM), если логический том, содержащий журналы аудита, заполнен и в группе томов есть доступное пространство, логический том расширяется на 10% текущего размера файловой системы. Однако если вы не используете среду LVM или нет свободного места, изменится только auditd файл конфигурации.
Внимание
Это действие изменяет состояние безопасности виртуальной машины, изменив конфигурацию управляющей программы аудита, чтобы устранить проблему завершения работы виртуальной машины. После запуска и доступности виртуальной машины оцените конфигурацию и потенциально верните ее в исходное состояние. Для этого ALAR создает резервную копию файла auditd.conf с меткой времени выполнения в /etc/audit.
Ограничение
Классические виртуальные машины не поддерживаются.
Следующие шаги
Если вы испытываете ошибку или хотите запросить улучшение средства ALAR, опубликуйте комментарий по GitHub.
Вы также можете найти последние сведения о средстве ALAR на GitHub.
Отказ от ответственности за контакт с третьими лицами
Microsoft предоставляет сторонние контактные данные, которые помогут вам найти дополнительные сведения об этом разделе. Эти контактные данные могут изменяться без уведомления. Microsoft не гарантирует точность сторонних контактных данных.