Устранение неполадок с загрузкой виртуальной машины Linux в Azure из-за полного диска ОС
Область применения: ✔️ виртуальные машины Linux
При определенных обстоятельствах и конфигурациях полный диск операционной системы (ОС) может привести к проблемам загрузки виртуальной машины Linux в Azure. В этой статье приведены некоторые причины и решения проблем с загрузкой.
Симптомы
Во время обычных системных операций, если диск ОС или критически важные разделы системы становятся полными, могут возникнуть следующие проблемы:
- Виртуальная машина неожиданно завершает работу.
- Виртуальная машина успешно не загружается.
Предварительные требования
Чтобы устранить неполадки загрузки и завершить восстановление системы, необходимо выполнить следующие требования:
Разрешения на создание моментального снимка диска или использование некоторых средств резервного копирования и восстановления.
В этой статье данные или диски изменяются, поэтому возможность вернуть виртуальную машину к предыдущему состоянию является критически важным компонентом безопасного администрирования системы.
Диагностика загрузки, которые включены и настроены.
Наличие этой конфигурации позволяет в будущем просматривать хранилище журнала консоли и взаимодействовать с последовательным интерфейсом консоли виртуальной машины.
Разрешения на создание виртуальной машины в случае необходимости аварийной виртуальной машины в любой момент.
Разрешения на создание, отсоединение и подключение дисков в случае, если требуется переключение дисков.
Примечание.
Не все требования применяются к следующим сценариям.
Сценарий 1. Непредвиденное завершение работы виртуальной машины и сбой загрузки
Многие методики обеспечения безопасности могут привести к трудностям в обслуживании систем. Если при записи в журнал аудита возникает ошибка, одна общая конфигурация требует немедленного завершения работы системы. Чтобы проверить, является ли этот сценарий причиной завершения работы системы, выполните следующие действия:
Проверьте сообщения о завершении работы системы в журнале последовательной консоли .
Если система загружается, запускается служба аудита безопасности..." отображается сообщение. Это сообщение не указывает, что служба запущена. Вместо этого виртуальная машина немедленно переходит к завершении работы и отображается сообщение "Power down". Если система запущена и неожиданно завершает работу, последовательная консоль может показать упорядоченный процесс завершения работы в сообщении Power Down. Пример см. на следующих снимках экрана:
Подключите диск ОС с помощью команд az vm repair, виртуальной машины восстановления вручную или однопользовательского режима. Затем проверьте использование диска с помощью
df
средства командной строки и проверьте, находится ли диск, содержащий каталог /var/log/audit , почти 100 % использования.Доступ к файловой системе ОС с помощью команд восстановления az vm, виртуальной машины восстановления вручную или однопользовательского режима и проверьте, содержит ли файл /etc/audit/auditd.conf следующие конфигурации:
[root@linux /]# grep action /etc/audit/auditd.conf admin_space_left_action = HALT disk_full_action = HALT disk_error_action = HALT
Разрешение. Временно отключить конфигурацию HALT
Примечание.
Если это разрешение не работает или не подходит для вашей среды, перейдите в раздел "Разрешение ".
Если аудит конфигурации вызывает завершение работы системы при сбоях журнала аудита, временное отключение HALT
конфигурации позволяет виртуальной машине загружаться в полную ОС для исправления.
Чтобы устранить эту распространенную проблему аудита и несколько других распространенных проблем, запустите az vm repair
расширение автоматически в Azure CLI с помощью проверенного действия в средстве автоматического восстановления Azure Linux (ALAR). Чтобы выполнить ту же процедуру вручную, выполните следующие действия.
Создайте моментальный снимок диска ОС, чтобы обеспечить состояние восстановления.
Получите доступ к файлу конфигурации с помощью команд az vm repair, виртуальной машины восстановления вручную или одного пользовательского режима.
Запишите текущую конфигурацию, так как пространство может быть недоступно для резервного копирования файла на виртуальной машине.
Измените предыдущие конфигурации в файле /etc/audit/auditd.conf на
HALT
любое другое допустимое значение, кромеSINGLE
. В этом сценарии значения могут бытьIGNORE
,SUSPEND
или любые другие значения, перечисленные на странице Linuxman
для файла auditd.conf , который предоставляет соответствующие параметры для версий программного обеспечения, используемого на виртуальной машине.[root@linux /]# grep action /etc/audit/auditd.conf admin_space_left_action = SUSPEND disk_full_action = SUSPEND disk_error_action = SUSPEND
Если вы используете виртуальную машину восстановления, выполните инструкции, описанные в разделе "Отключение и отключение исходного виртуального жесткого диска ", чтобы переключить диск ОС обратно на проблемную виртуальную машину и попытаться загрузить виртуальную машину обычно. Если вы используете один пользовательский режим, выход и перезагрузка виртуальной машины.
После полной загрузки виртуальной машины перейдите к файловой системе и освободите место с помощью таких средств командной строки, как
df
иdu
. Около 10% файловой системы, содержащей каталог /var/log/audit , должен быть хорошим начальным целевым объектом.
После устранения проблемы верните содержимое файла /etc/audit/auditd.conf в исходные значения и перезагрузите виртуальную машину.
Сценарий 2. Размер диска виртуальной машины изменяется в Azure, но не удается изменить размер ос, и виртуальная машина не загружается полностью.
После определения полного диска и завершения работы виртуальной машины для изменения размера диска ОС виртуальная машина может не загрузиться. Этот сценарий может быть запутан в некоторых дистрибутивах, где ОС пытается автоматически изменить размер корневой (/
) файловой системы при перезагрузке. Если диск заполнен, операция изменения размера может завершиться ошибкой, так как для этого процесса требуется свободное место для расширения файловой системы. Отсутствие свободного места может привести к сбою cloud-init, а затем виртуальная машина не завершает загрузку.
Чтобы определить эту проблему, просмотрите журналы загрузки в последовательной консоли и проверьте, присутствуют ли строки, похожие на следующий текст:
[ 15.384699] cloud-init[1142]: OSError: [Errno 28] No space left on device
[ 15.384742] cloud-init[1142]: Original exception was:
[ 15.384784] cloud-init[1142]: OSError: [Errno 28] No space left on device
Так как определенные сообщения cloud-init не могут быть наиболее видимыми, найдите другие строки, содержащие текст "[Errno 28] Нет места на устройстве", или аналогичные "нет пробелов".
Чтобы устранить эту проблему, снимите ненужные данные, чтобы освободить небольшое количество дискового пространства, а затем развернуть файловую систему.
Сценарий 3. Загрузка виртуальной машины недоступна из-за сбоев служб
Виртуальная машина, которая, кажется, полностью загружается, может иметь следующие проблемы:
- Проблемы со службой возникают во время загрузки.
- Агент Azure может появиться недоступен.
- Подключения к виртуальной машине могут завершиться ошибкой.
- Виртуальная машина может быть автономной в соответствии с приложениями.
Во время загрузки несколько сообщений, таких как "[Errno 28] Нет места на устройстве" или другие типы сообщений показывают, что корневая файловая система заполнены.
Если виртуальная машина загружается, но отображается недоступно, проверьте последовательный журнал в диагностика загрузки, чтобы просмотреть сообщения о загрузке или использовать последовательную консоль для взаимодействия с виртуальной машиной. Если недостаточно места, удалите ненужные данные для свободного места или разверните диски.
Если журнал консоли содержит множество сообщений с сообщением "ERROR ExtHandler /proc/net/route не содержит маршрутов", полный диск ОС также может быть причиной, так как сетевые службы не могут запускаться полностью.
Решение
Следующие резолюции применяются к любому из предыдущих сценариев.
Решение 1. Очистка ненужных данных
Получите доступ к диску и секциям ОС с помощью команд az vm repair, виртуальной машины восстановления вручную или одного пользовательского режима, так как система не загружается нормально.
Определите большие файлы и каталоги с помощью стандартных средств и команд Linux:
du -ks /* | sort -n
— Поиск наиболее потребляющих пробелы файлов или каталогов в расположении. Повторяйте в крупнейшем отчетном каталоге, пока некоторые большие данные не будут обнаружены.ls -altSr /var/log
— Вывод списка содержимого каталога, упорядоченного по размеру, в порядке возрастания.find / -size +500M -exec ls -alFh {} \;
— Поиск больших отдельных файлов. Измените500M
значение на несколько мегабайт или гигабайт, чтобы найти наиболее эффективные файлы для очистки.
Удалите все файлы, которые можно определить как ненужные, например старые журналы, забытые резервные копии и аналогичные файлы.
После очистки подходящего объема свободного диска на целевом диске на 10 % и перезагрузке системы.
Решение 2. Развертывание файловой системы ОС
Если данные не могут быть удалены из файловой системы ОС, рекомендуется развернуть диск, содержащий критически важные тома ОС. Дополнительные сведения см. в разделе "Развернуть виртуальные жесткие диски" на виртуальной машине Linux.
Следующие шаги
Если конкретная ошибка загрузки не является проблемой загрузки Linux из-за полного диска ОС, см . статью "Устранение ошибок загрузки виртуальной машины Linux Azure" для дальнейшего устранения неполадок.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.