Risolvere i problemi relativi a una macchina virtuale Linux collegando il disco del sistema operativo a una macchina virtuale di ripristino nel portale di Azure

Si applica a: ✔️ macchine virtuali Linux

Se nella VM Linux viene rilevato un errore di avvio o del disco, potrebbe essere necessario eseguire dei passaggi per la risoluzione dei problemi sul disco rigido virtuale stesso. Un esempio comune è una voce non valida in /etc/fstab che impedisce il corretto avvio della macchina virtuale. Questo articolo illustra come usare il portale di Azure per connettere il disco rigido virtuale a un'altra VM Linux per risolvere eventuali errori e quindi ricreare la VM originale.

Panoramica del processo di ripristino

I passaggi per la risoluzione dei problemi sono i seguenti:

  1. Arrestare la VM interessata.
  2. Creare uno snapshot per il disco del sistema operativo della macchina virtuale.
  3. Creare un disco rigido virtuale dallo snapshot.
  4. Collegare e montare il disco rigido virtuale in un'altra VM Linux per risolvere i problemi riscontrati.
  5. Connettersi alla macchina virtuale usata per la risoluzione dei problemi. Modificare i file o eseguire eventuali strumenti per risolvere i problemi nel disco rigido virtuale originale.
  6. Smontare e scollegare il disco rigido virtuale dalla macchina virtuale usata per la risoluzione dei problemi.
  7. Scambiare il disco del sistema operativo per la macchina virtuale.

Nota

Questo articolo non si applica alla macchina virtuale con disco non gestito. Per un disco Linux crittografato, vedere Sblocco di un disco Linux crittografato per il ripristino offline.

Individuare i problemi di avvio

Esaminare la diagnostica di avvio e la schermata della VM per determinare perché la macchina virtuale non è in grado di avviarsi correttamente. Un esempio comune è una voce non valida in /etc/fstab, oppure l'eliminazione o lo spostamento di un disco rigido virtuale sottostante.

Nel portale, selezionare la macchina virtuale e quindi scorrere verso il basso fino alla sezione Supporto e risoluzione dei problemi. Fare clic su Diagnostica di avvio per i visualizzare i messaggi della console originati dalla VM. Esaminare i log della console per cercare di determinare la causa del problema riscontrato nella macchina virtuale. L'esempio seguente mostra una macchina virtuale bloccata in modalità di manutenzione che richiede l'intervento manuale:

Screenshot della visualizzazione dei log della console di diagnostica di avvio di V M.

È anche possibile fare clic su Schermata nella parte superiore del log della diagnostica di avvio per scaricare una schermata della macchina virtuale.

Creare uno snapshot del disco del sistema operativo

Uno snapshot è una copia completa di sola lettura di un disco rigido virtuale. È consigliabile arrestare correttamente la macchina virtuale prima di creare uno snapshot per cancellare tutti i processi in corso. Per creare uno snapshot di un disco del sistema operativo, seguire questa procedura:

  1. Vai al portale di Azure. Selezionare Macchine virtuali nella barra laterale e quindi selezionare la macchina virtuale con problemi.

  2. Nel riquadro sinistro selezionare Dischi e quindi selezionare il nome del disco del sistema operativo.

    Screenshot che mostra il nome del disco del sistema operativo.

  3. Nella pagina Panoramica del disco del sistema operativo e quindi selezionare Crea snapshot.

  4. Creare uno snapshot nella stessa posizione del disco del sistema operativo.

Creare un disco dallo snapshot

Per creare un disco dallo snapshot, seguire questa procedura:

  1. Selezionare Cloud Shell nel portale di Azure.

    Screenshot del pulsante Cloud Shell nel portale di Azure.

  2. Eseguire i comandi di PowerShell seguenti per creare un disco gestito dallo snapshot. È consigliabile sostituire questi nomi di esempio con i nomi appropriati.

    #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. Se i comandi vengono eseguiti correttamente, il nuovo disco verrà visualizzato nel gruppo di risorse specificato.

Collegare un disco a un'altra macchina virtuale

Nei passaggi successivi viene utilizzata un'altra macchina virtuale per la risoluzione dei problemi. Dopo aver collegato il disco alla macchina virtuale per la risoluzione dei problemi, è possibile esplorare e modificare il contenuto del disco. Questo processo consente di correggere eventuali errori di configurazione o esaminare altri file di log di sistema o applicazioni. Per collegare il disco a un'altra macchina virtuale, seguire questa procedura:

  1. Nel portale, selezionare il gruppo di risorse e quindi la macchina virtuale da usare per la risoluzione dei problemi. Selezionare Dischi, selezionare Modifica e quindi fare clic su Aggiungi disco dati:

    Screenshot dell'opzione Aggiungi disco dati nella portale di Azure.

  2. Nell'elenco Dischi dati selezionare il disco del sistema operativo della macchina virtuale identificata. Se il disco del sistema operativo non viene visualizzato, assicurarsi che la macchina virtuale e il disco del sistema operativo si trovi nella stessa area (posizione).

  3. Seleziona Salva per applicare le modifiche.

Montare il disco dati collegato

Nota

Gli esempi seguenti mostrano in dettaglio i passaggi necessari in una VM Ubuntu. Se si usa una diversa distribuzione Linux, ad esempio Red Hat Enterprise Linux o SUSE, i percorsi dei file di log e i comandi mount potrebbero differire. Consultare la documentazione relativa alla distribuzione specifica per le opportune modifiche ai comandi.

  1. Eseguire SSH nella macchina virtuale di cui risolvere i problemi usando le credenziali appropriate. Se questo disco è il primo disco dati collegato alla macchina virtuale di cui risolvere i problemi, è probabilmente connesso a /dev/sdc. Usare dmseg per elencare i dischi collegati:

    dmesg | grep SCSI
    

    L'output è simile all'esempio seguente:

    [    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
    

    Nell'esempio precedente, il disco del sistema operativo è in /dev/sda e il disco temporaneo fornito per ogni macchina virtuale è in /dev/sdb. Se sono presenti più dischi dati, devono trovarsi in /dev/sdd, /dev/sde, e così via.

  2. Creare una directory per montare il disco rigido virtuale esistente. L'esempio seguente crea una directory denominata troubleshootingdisk:

    sudo mkdir /mnt/troubleshootingdisk
    
  3. Se sul disco rigido virtuale esistente sono presenti più partizioni, montare la partizione richiesta. L'esempio seguente monta la prima partizione primaria in /dev/sdc1:

    sudo mount /dev/sdc1 /mnt/troubleshootingdisk
    

    Nota

    Si consiglia di montare i dischi dati nelle macchine virtuali in Azure usando l'identificatore univoco universale (UUID) del disco rigido virtuale. Per questo scenario, non è necessario montare il disco rigido virtuale usando il relativo l'UUID. Durante il normale utilizzo, invece, modificare /etc/fstab per montare i dischi rigidi virtuali usando il nome di dispositivo anziché l'UUID può impedire il corretto avvio della macchina virtuale.

Risolvere i problemi del disco rigido virtuale originale

Dopo aver montato il disco rigido virtuale eseguire tutte le operazioni di manutenzione e i passaggi necessari per la risoluzione dei problemi. Dopo avere risolto i problemi, continuare con la procedura seguente.

Smontare e scollegare il disco rigido virtuale originale

Dopo aver risolto gli errori, scollegare il disco rigido virtuale esistente dalla macchina virtuale usata per la risoluzione dei problemi. Non è possibile usare il disco rigido virtuale con altre macchine virtuali finché non viene rilasciato il lease che collega il disco rigido virtuale alla macchina virtuale usata per la risoluzione dei problemi.

  1. Dalla sessione SSH nella macchina virtuale usata per la risoluzione dei problemi, smontare il disco rigido virtuale esistente. Modificare innanzitutto la directory padre del punto di montaggio:

    cd /
    

    A questo punto smontare il disco rigido virtuale esistente. Nell'esempio viene smontato il dispositivo in /dev/sdc1:

    sudo umount /dev/sdc1
    
  2. Scollegare il disco rigido virtuale dalla macchina virtuale. Selezionare la macchina virtuale nel portale, quindi fare clic su Dischi. Selezionare il disco rigido virtuale esistente quindi fare clic su Scollega:

    Screenshot per scollegare il disco rigido virtuale dalla V M.

    Attendere che il disco dati sia completamente scollegato dalla macchina virtuale prima di continuare.

Scambiare il disco del sistema operativo per la macchina virtuale

portale di Azure supporta ora la modifica del disco del sistema operativo della macchina virtuale. A tale scopo, effettuare i passaggi seguenti:

  1. Vai al portale di Azure. Selezionare Macchine virtuali nella barra laterale e quindi selezionare la macchina virtuale con problemi.

  2. Nel riquadro sinistro selezionare Dischi e quindi selezionare Scambia disco del sistema operativo.

    Screenshot dell'opzione Scambia disco O S nel portale di Azure.

  3. Scegliere il nuovo disco ripristinato e quindi digitare il nome della macchina virtuale per confermare la modifica. Se il disco non viene visualizzato nell'elenco, attendere 10 ~ 15 minuti dopo aver scollegato il disco dalla macchina virtuale per la risoluzione dei problemi. Assicurarsi anche che il disco si trova nella stessa posizione della macchina virtuale.

  4. Seleziona OK.

Passaggi successivi

Se si sono verificati problemi durante la connessione alla macchina virtuale, vedere l'articolo sulla risoluzione dei problemi di connessione SSH a una macchina virtuale di Azure. Per problemi relativi all'accesso alle applicazioni in esecuzione nella macchina virtuale, vedere Risolvere i problemi di connettività delle applicazioni in una macchina virtuale di Azure per Linux.

Per altre informazioni sull'uso di Resource Manager, vedere Panoramica di Azure Resource Manager.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.