Устранение неполадок с виртуальной машиной Linux при присоединении диска операционной системы к виртуальной машине восстановления с помощью портала Azure
Область применения: ✔️ виртуальные машины Linux
Если возникает проблема с загрузкой или диском на виртуальной машине Linux, возможно, вам нужно устранить неполадки, связанные с самим виртуальным жестким диском. Например, такая ситуация возникает из-за неправильной записи в /etc/fstab
, которая мешает успешно загрузить виртуальную машину. В этой статье подробно описано, как с помощью портала Azure подключить виртуальный жесткий диск к другой виртуальной машине Linux для устранения ошибок, а затем восстановить исходную виртуальную машину.
Обзор процесса восстановления
Процесс устранения неполадок выглядит следующим образом.
- Остановите затронутую виртуальную машину.
- Создайте моментальный снимок для диска ОС виртуальной машины.
- Создайте виртуальный жесткий диск на основе моментального снимка.
- Присоедините и подключите виртуальный жесткий диск к другой виртуальной машине Linux для устранения неполадок.
- Подключитесь к этой виртуальной машине. Измените файлы или запустите средства, которые нужны для устранения неполадок на исходном виртуальном жестком диске.
- Отключите и отсоедините виртуальный жесткий диск от виртуальной машины, на которой выполняется устранение неполадок.
- Переключите диск ОС на виртуальную машину.
Примечание.
Эта статья не применяется к виртуальной машине с неуправляемыми дисками. Для зашифрованного диска Linux см . раздел "Разблокировка зашифрованного диска Linux" для автономного восстановления.
Выявление проблем при загрузке
Изучите диагностические сведения о загрузке и снимки экранов виртуальной машины, чтобы определить, почему виртуальная машина не может правильно загрузиться. Например, причиной может быть неправильная запись в /etc/fstab
, удаление или перемещение базового виртуального жесткого диска.
Выберите на портале эту виртуальную машину и прокрутите экран вниз до раздела Поддержка и устранение неполадок. Щелкните Диагностика загрузки, чтобы просмотреть сообщения консоли, транслируемые с виртуальной машины. Изучите журналы консоли и постарайтесь определить, что вызывает проблему на виртуальной машине. В следующем примере мы видим, что виртуальная машина не может выйти из режима обслуживания и требует вмешательства оператора.
Можно также щелкнуть Снимок экрана в верхней части журнала диагностики загрузки, чтобы загрузить снимок экрана виртуальной машины.
Создание моментального снимка диска ОС
Моментальный снимок — это полная копия виртуального жесткого диска, доступная только для чтения. Перед созданием моментального снимка рекомендуется полностью завершить работу виртуальной машины, чтобы очистить все процессы, которые выполняются. Чтобы создать моментальный снимок диска ОС, выполните следующие действия.
Перейдите на портал Azure. Выберите виртуальные машины на боковой панели и выберите виртуальную машину, которая имеет проблему.
На левой панели выберите диски и выберите имя диска ОС.
На странице обзора диска ОС и нажмите кнопку "Создать моментальный снимок".
Создайте моментальный снимок в том же расположении, что и диск ОС.
Создание диска из моментального снимка
Чтобы создать диск из моментального снимка, выполните следующие действия.
Использование портала Azure
В портал Azure перейдите к моментальному снимку, который вы хотите использовать для создания диска.
На странице "Обзор" выберите "Создать диск".
Следуйте инструкциям, чтобы завершить процесс создания диска.
Использование Azure CLI
Выберите Cloud Shell из портал Azure.
Выполните следующие команды PowerShell, чтобы создать управляемый диск из моментального снимка. Эти примеры имен следует заменить соответствующими именами.
#Provide the name of your resource group $resourceGroupName ='myResourceGroup' #Provide the name of the snapshot that will be used to create Managed Disks $snapshotName = 'mySnapshot' #Provide the name of theManaged Disk $diskName = 'newOSDisk' #Provide the size of the disks in GB. It should be greater than the VHD file size. In this sample, the size of the snapshot is 127 GB. So we set the disk size to 128 GB. $diskSize = '128' #Provide the storage type for Managed Disk. Premium_LRS or Standard_LRS. $storageType = 'Standard_LRS' #Provide the Azure region (e.g. westus) where Managed Disks will be located. #This location should be same as the snapshot location #Get all the Azure location using command below: #Get-AzLocation $location = 'westus' $snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName $diskConfig = New-AzDiskConfig -AccountType $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName
Если команды выполняются успешно, вы увидите новый диск в предоставленной группе ресурсов.
Подключение диска к другой виртуальной машине
В следующих нескольких шагах описывается использование другой виртуальной машины для устранения неполадок. После подключения диска к виртуальной машине по устранению неполадок можно просмотреть и изменить содержимое диска. Этот процесс позволяет исправлять ошибки конфигурации или просматривать дополнительные файлы приложений или системных журналов. Чтобы подключить диск к другой виртуальной машине, выполните следующие действия.
Выберите на портале группу ресурсов и виртуальную машину для устранения неполадок. Выберите диски, выберите "Изменить", а затем нажмите кнопку "Добавить диск данных":
В списке дисков данных выберите диск ОС виртуальной машины, которую вы определили. Если диск ОС не отображается, убедитесь, что устранение неполадок виртуальной машины и диска ОС находится в том же регионе (расположении).
Выберите Сохранить, чтобы применить изменения.
Подключение присоединенного диска данных
Примечание.
В следующих примерах описана процедура для виртуальной машины Ubuntu. Если вы используете другой дистрибутив Linux, например Red Hat Enterprise Linux или SUSE, команды mount
и расположение файлов журнала могут немного отличаться. Используйте документацию к своему дистрибутиву, чтобы скорректировать команды соответствующим образом.
Подключитесь к виртуальной машине для устранения неполадок по протоколу SSH, используя соответствующие учетные данные. Если присоединенный вами диск является первым диском данных на этой виртуальной машине, он скорее всего подключен к
/dev/sdc
. Запустите командуdmseg
, чтобы получить список присоединенных дисков.dmesg | grep SCSI
Вы должны увидеть результат, аналогичный приведенному ниже.
[ 0.294784] SCSI subsystem initialized [ 0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252) [ 7.110271] sd 2:0:0:0: [sda] Attached SCSI disk [ 8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk
В предыдущем примере диск операционной системы расположен в
/dev/sda
, а временный диск, предоставляемый для каждой виртуальной машины, расположен в/dev/sdb
. Если у вас несколько дисков данных, они будут присоединены как/dev/sdd
,/dev/sde
и т. д.Создайте каталог для подключения существующего виртуального жесткого диска. Следующая команда создает каталог с именем
troubleshootingdisk
.sudo mkdir /mnt/troubleshootingdisk
Если на существующем виртуальном жестком диске есть несколько разделов, подключите нужный. Следующая команда подключает первый основной разделу к каталогу
/dev/sdc1
.sudo mount /dev/sdc1 /mnt/troubleshootingdisk
Примечание.
Мы рекомендуем подключать диски данных к виртуальным машинам Azure с использованием глобального уникального идентификатора (UUID) виртуального жесткого диска. Для нашего упрощенного примера по устранению неполадок можно и не использовать UUID для подключения диска. Но в обычной ситуации, если вы измените
/etc/fstab
так, чтобы виртуальные жесткие диски подключались по имени устройства вместо UUID, у виртуальной машины могут быть проблемы с загрузкой.
Устранение неполадок на исходном виртуальном жестком диске
Теперь, когда существующий виртуальный жесткий диск подключен, вы можете выполнить любые необходимые действия по обслуживанию и (или) устранению неполадок. После устранения проблем выполните следующие действия.
Отключение и отсоединение исходного виртуального жесткого диска
После устранения ошибок отсоедините существующий виртуальный жесткий диск от виртуальной машины, которую использовали для устранения неполадок. Виртуальный жесткий диск нельзя использовать с другой виртуальной машиной, пока вы не отмените аренду, присоединяющую виртуальный жесткий диск к виртуальной машине для устранения неполадок.
Используя открытый сеанс подключения по SSH к виртуальной машине для устранения неполадок, отключите существующий виртуальный жесткий диск. Прежде всего выйдите из каталога, в котором создана точка подключения.
cd /
Теперь отключите существующий виртуальный жесткий диск. В следующем примере диск отключается от каталога
/dev/sdc1
:sudo umount /dev/sdc1
Теперь отсоедините виртуальный жесткий диск от виртуальной машины. Выберите на портале нужную виртуальную машину и щелкните Диски. Выберите существующий виртуальный жесткий диск и щелкните Отсоединить.
Подождите, пока виртуальная машина успешно отсоединит диск данных, прежде чем продолжать процесс.
Переключение диска ОС на виртуальную машину
портал Azure теперь поддерживает изменение диска ОС виртуальной машины. Для этого выполните следующие шаги.
Перейдите на портал Azure. Выберите виртуальные машины на боковой панели и выберите виртуальную машину, которая имеет проблему.
На левой панели выберите "Диски" и выберите " Переключение диска ОС".
Выберите новый диск, который вы исправили, и введите имя виртуальной машины, чтобы подтвердить изменение. Если диск не отображается в списке, подождите 10 ~ 15 минут после отключения диска от виртуальной машины устранения неполадок. Кроме того, убедитесь, что диск находится в том же расположении, что и виртуальная машина.
Нажмите кнопку ОК.
Следующие шаги
При возникновении проблем с подключением к виртуальной машине см. статью Устранение неполадок с SSH-подключением к виртуальной машине Azure Linux: сбой, ошибка или отклонение. Для решения проблем с доступом к приложениям, выполняющимся на виртуальной машине, см. статью Устранение проблем с подключением к приложениям на виртуальных машинах Linux в Azure.
Дополнительные сведения об использовании Resource Manager вы найдете в статье Общие сведения об Azure Resource Manager.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.