Устранение неполадок виртуальной машины Linux путем подключения диска ОС к виртуальной машине восстановления с помощью портал Azure

Если на виртуальной машине Linux возникает ошибка загрузки или диска, может потребоваться выполнить действия по устранению неполадок на самом виртуальном жестком диске. Распространенным примером является недопустимая запись в /etc/fstab , которая препятствует успешной загрузке виртуальной машины. В этой статье описано, как использовать портал Azure для подключения виртуального жесткого диска к другой виртуальной машине Linux, чтобы устранить ошибки, а затем повторно создать исходную виртуальную машину.

Обзор процесса восстановления

Процесс устранения неполадок выглядит следующим образом:

  1. Остановите затронутую виртуальную машину.
  2. Возьмите snapshot для диска ОС виртуальной машины.
  3. Создайте виртуальный жесткий диск из snapshot.
  4. Подключите и подключите виртуальный жесткий диск к другой виртуальной машине Linux для устранения неполадок.
  5. Подключитесь к виртуальной машине для устранения неполадок. Измените файлы или запустите любые средства, чтобы устранить проблемы на исходном виртуальном жестком диске.
  6. Отключите и отключите виртуальный жесткий диск от виртуальной машины, устраняющей неполадки.
  7. Переключите диск ОС на виртуальную машину.

Примечание.

Эта статья не относится к виртуальной машине с неуправляемыми дисками. Сведения о зашифрованном диске Linux см. в разделе Разблокировка зашифрованного диска Linux для восстановления в автономном режиме.

Определение проблем с загрузкой

Изучите диагностика загрузки и снимок экрана виртуальной машины, чтобы определить, почему виртуальная машина не может загрузиться правильно. Типичным примером может быть недопустимая запись в /etc/fstab, или базовый виртуальный жесткий диск, который удаляется или перемещается.

Выберите виртуальную машину на портале и прокрутите вниз до раздела Поддержка и устранение неполадок . Щелкните Загрузить диагностика, чтобы просмотреть сообщения консоли, передаваемые с виртуальной машины. Просмотрите журналы консоли, чтобы определить, почему на виртуальной машине возникла проблема. В следующем примере показана виртуальная машина, зависающая в режиме обслуживания, для чего требуется взаимодействие вручную.

Снимок экрана: просмотр журналов загрузки V M диагностика консоли.

Вы также можете щелкнуть снимок экрана в верхней части загрузочного диагностика журнал, чтобы скачать запись снимка экрана виртуальной машины.

Snapshot диска ОС

Snapshot — это полная копия виртуального жесткого диска (VHD) только для чтения. Рекомендуется полностью завершить работу виртуальной машины перед snapshot, чтобы очистить все выполняемые процессы. Чтобы выполнить snapshot диска ОС, выполните следующие действия.

  1. Перейдите к портал Azure. Выберите Виртуальные машины на боковой панели, а затем выберите виртуальную машину, на которую возникла проблема.

  2. На панели слева выберите Диски, а затем выберите имя диска ОС.

    Снимок экрана: имя диска операционной системы.

  3. На странице Обзор диска ОС выберите Создать snapshot.

  4. Создайте snapshot в том же расположении, что и диск ОС.

Создание диска из snapshot

Чтобы создать диск из snapshot, выполните следующие действия.

  1. Выберите Cloud Shell в портал Azure.

    Снимок экрана: кнопка Cloud Shell в портал Azure.

  2. Выполните следующие команды PowerShell, чтобы создать управляемый диск из snapshot. Эти примеры имен следует заменить соответствующими именами.

    #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
    
  3. Если команды выполняются успешно, вы увидите новый диск в указанной группе ресурсов.

Подключение диска к другой виртуальной машине

В следующих нескольких шагах вы используете другую виртуальную машину для устранения неполадок. После подключения диска к виртуальной машине для устранения неполадок можно просматривать и изменять содержимое диска. Этот процесс позволяет исправить любые ошибки конфигурации или просмотреть дополнительные файлы журнала приложений или системных журналов. Чтобы подключить диск к другой виртуальной машине, выполните следующие действия.

  1. Выберите свою группу ресурсов на портале, а затем выберите виртуальную машину для устранения неполадок. Выберите Диски, изменить и нажмите кнопку Добавить диск данных:

    Снимок экрана: параметр

  2. В списке Диски данных выберите диск ОС виртуальной машины, которую вы определили. Если диск ОС не отображается, убедитесь, что устранение неполадок виртуальной машины и диска ОС находится в одном регионе (расположении).

  3. Нажмите Сохранить, чтобы применить изменения.

Подключение подключенного диска данных

Примечание.

В следующих примерах подробно описаны действия, необходимые для виртуальной машины Ubuntu. Если вы используете другой дистрибутив Linux, например Red Hat Enterprise Linux или SUSE, расположение файлов журнала и mount команды могут немного отличаться. Соответствующие изменения в командах см. в документации по конкретному дистрибутиву.

  1. Подключение по протоколу 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и т. д.

  2. Создайте каталог для подключения существующего виртуального жесткого диска. В следующем примере создается каталог с именем troubleshootingdisk:

    sudo mkdir /mnt/troubleshootingdisk
    
  3. Если на существующем виртуальном жестком диске имеется несколько секций, подключите необходимый раздел. В следующем примере первая основная секция подключается по адресу /dev/sdc1:

    sudo mount /dev/sdc1 /mnt/troubleshootingdisk
    

    Примечание.

    Рекомендуется подключать диски данных на виртуальных машинах в Azure с помощью универсального уникального идентификатора (UUID) виртуального жесткого диска. В этом кратком сценарии устранения неполадок подключение виртуального жесткого диска с помощью UUID не требуется. Однако при обычном использовании изменение /etc/fstab для подключения виртуальных жестких дисков с использованием имени устройства, а не UUID может привести к сбою загрузки виртуальной машины.

Устранение проблем на исходном виртуальном жестком диске

После подключения существующего виртуального жесткого диска вы можете выполнять любые действия по обслуживанию и устранению неполадок по мере необходимости. После устранения проблем перейдите к следующим шагам.

Отключение и отключение исходного виртуального жесткого диска

После устранения ошибок отключите существующий виртуальный жесткий диск от виртуальной машины, устраняющей неполадки. Вы не можете использовать виртуальный жесткий диск с любой другой виртуальной машиной, пока не будет освобождена аренда, подключенная к виртуальной машине для устранения неполадок.

  1. От сеанса SSH до виртуальной машины для устранения неполадок отключите существующий виртуальный жесткий диск. Сначала выйдите из родительского каталога для точки подключения:

    cd /
    

    Теперь отключите существующий виртуальный жесткий диск. В следующем примере устройство отключает по адресу /dev/sdc1:

    sudo umount /dev/sdc1
    
  2. Теперь отсоедините виртуальный жесткий диск от виртуальной машины. Выберите виртуальную машину на портале и щелкните Диски. Выберите существующий виртуальный жесткий диск и нажмите кнопку Отсоединить:

    Снимок экрана: отключение виртуального жесткого диска от виртуальной машины

    Подождите, пока виртуальная машина успешно отсоединит диск данных, прежде чем продолжить.

Переключение диска ОС для виртуальной машины

портал Azure теперь поддерживает изменение диска ОС виртуальной машины. Для этого выполните следующие действия:

  1. Перейдите к портал Azure. Выберите Виртуальные машины на боковой панели, а затем выберите виртуальную машину, на которую возникла проблема.

  2. В левой области выберите Диски, а затем — Переключить диск ОС.

    Снимок экрана: параметр

  3. Выберите новый диск, который вы исправили, а затем введите имя виртуальной машины, чтобы подтвердить изменение. Если диск не отображается в списке, подождите 10–15 минут после отключения диска от виртуальной машины для устранения неполадок. Кроме того, убедитесь, что диск находится в том же расположении, что и виртуальная машина.

  4. Нажмите OK.

Дальнейшие действия

Если у вас возникли проблемы с подключением к виртуальной машине, см. статью Устранение неполадок SSH-подключений к виртуальной машине Azure. Проблемы с доступом к приложениям, запущенным на виртуальной машине, см. в статье Устранение неполадок с подключением приложений на виртуальной машине Linux.

Дополнительные сведения об использовании Resource Manager см. в статье Общие сведения об azure Resource Manager.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.