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

Se la macchina virtuale (VM) Linux rileva un errore di avvio o del disco, potrebbe essere necessario eseguire i passaggi per la risoluzione dei problemi sul disco rigido virtuale stesso. Un esempio comune potrebbe essere una voce non valida in /etc/fstab che impedisce alla macchina virtuale di avviarsi correttamente. Questo articolo descrive in dettaglio come usare il portale di Azure per connettere il disco rigido virtuale a un'altra macchina virtuale Linux per correggere eventuali errori, quindi ricreare la macchina virtuale originale.

Panoramica del processo di recupero

Il processo di risoluzione dei problemi è il seguente:

  1. Arrestare la VM interessata.
  2. Scatta uno snapshot per il disco del sistema operativo della VM.
  3. Crea un disco rigido virtuale dallo snapshot.
  4. Collegare e montare il disco rigido virtuale su un'altra macchina virtuale Linux per la risoluzione dei problemi.
  5. Connettersi alla VM per la risoluzione dei problemi. Modifica i file o esegui qualsiasi strumento per risolvere i problemi sul disco rigido virtuale originale.
  6. Smonta e scollega il disco rigido virtuale dalla VM per la risoluzione dei problemi.
  7. Scambia il disco del sistema operativo per la VM.

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 la riparazione offline.

Determina i problemi di avvio

Esamina la diagnostica di avvio e lo screenshot della VM per determinare perché la tua VM 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.

Seleziona la tua macchina virtuale nel portale, quindi scorri verso il basso fino alla sezione Risoluzione dei problemi di supporto. Fai clic su Diagnostica di avvio per visualizzare i messaggi della console trasmessi dalla tua VM. Esamina i log della console per vedere se riesci a determinare il motivo per cui la VM sta riscontrando un problema. L'esempio seguente mostra una macchina virtuale bloccata in modalità di manutenzione che richiede l'interazione manuale:

                             Screenshot della visualizzazione dei log della console di diagnostica di avvio di VM.                                           

Puoi anche fare clic su Screenshot nella parte superiore del registro di diagnostica di avvio per scaricare un'acquisizione dello screenshot della VM.

Eseguire uno snapshot del disco del sistema operativo

Uno snapshot è una copia completa di sola lettura di un disco rigido virtuale (VHD). Si consiglia di arrestare in modo pulito la VM prima di acquisire uno snapshot, per cancellare eventuali processi in corso. Per eseguire un'istantanea di un disco del sistema operativo, procedere come segue:

  1. Vai a Portale di Azure. Seleziona Macchine virtuali dalla barra laterale, quindi seleziona la VM con problemi.

  2. Nel riquadro di sinistra, selezionare Dischi, quindi selezionare il nome del disco del sistema operativo.

                                 Lo screenshot mostra il nome del disco del sistema operativo.                                           

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

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

Crea un disco dallo snapshot

Per creare un disco dallo snapshot, attenersi alla seguente procedura:

  1. Seleziona Cloud Shell dal portale di Azure.

                                 Screenshot del pulsante Cloud Shell nel portale di Azure.                                           

  2. Eseguire i seguenti comandi di PowerShell per creare un disco gestito dallo snapshot. È necessario 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, vedrai il nuovo disco nel gruppo di risorse fornito.

Collega il disco a un'altra macchina virtuale

Per i passaggi successivi, utilizzerai un'altra macchina virtuale per la risoluzione dei problemi. Dopo aver collegato il disco alla macchina virtuale per la risoluzione dei problemi, è possibile sfogliare e modificare il contenuto del disco. Questo processo consente di correggere eventuali errori di configurazione o rivedere ulteriori file di registro dell'applicazione o del sistema. Per collegare il disco a un'altra macchina virtuale, attenersi alla seguente procedura:

  1. Seleziona il tuo gruppo di risorse dal portale, quindi seleziona la VM per la risoluzione dei problemi. Seleziona Dischi, seleziona Modifica, quindi fai clic su Aggiungi disco dati:

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

  2. Nell'elenco Disco dati, seleziona il disco del sistema operativo della VM che hai identificato. Se non vedi il disco del sistema operativo, assicurati che la VM per la risoluzione dei problemi e il disco del sistema operativo si trovino nella stessa regione (posizione).

  3. Selezionare Salva per applicare le modifiche.

Montare il disco dati collegato

Nota

Gli esempi seguenti descrivono in dettaglio i passaggi richiesti in una macchina virtuale Ubuntu. Se utilizzi una distribuzione Linux diversa, come Red Hat Enterprise Linux o SUSE, le posizioni dei file di registro e i comandi mount potrebbero essere leggermente diversi. Fare riferimento alla documentazione per la distribuzione specifica per le modifiche appropriate nei comandi.

  1. SSH alla VM per la risoluzione dei problemi utilizzando le credenziali appropriate. Se questo disco è il primo disco dati collegato alla macchina virtuale per la risoluzione dei problemi, è probabilmente collegato a /dev/sdc. Utilizzare dmseg per elencare i dischi collegati:

    dmesg | grep SCSI
    

    L'output è simile al seguente esempio:

    [    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 si trova in /dev/sda e il disco temporaneo fornito per ogni VM si trova in /dev/sdb. Se disponi di più dischi dati, dovrebbero trovarsi in /dev/sdd, /dev/sde e così via.

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

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

    sudo mount /dev/sdc1 /mnt/troubleshootingdisk
    

    Nota

    La procedura consigliata consiste nel montare i dischi dati nelle macchine virtuali in Azure usando l'identificatore univoco universale (UUID) del disco rigido virtuale. Per questo breve scenario di risoluzione dei problemi, non è necessario montare il disco rigido virtuale utilizzando l'UUID. Tuttavia, in condizioni di utilizzo normale, la modifica di /etc/fstab per montare i dischi rigidi virtuali utilizzando il nome del dispositivo anziché l'UUID potrebbe impedire l'avvio della VM.

Risolvi i problemi sul disco rigido virtuale originale

Con il disco rigido virtuale esistente montato, è ora possibile eseguire qualsiasi operazione di manutenzione e risoluzione dei problemi secondo necessità. Dopo aver risolto i problemi, continuare con i passaggi seguenti.

Smonta e scollega il disco rigido virtuale originale

Una volta risolti gli errori, scollegare il disco rigido virtuale esistente dalla VM per la risoluzione dei problemi. Non è possibile utilizzare il disco rigido virtuale con qualsiasi altra macchina virtuale fino a quando non viene rilasciato il lease che collega il disco rigido virtuale alla macchina virtuale per la risoluzione dei problemi.

  1. Dalla sessione SSH alla VM per la risoluzione dei problemi, smonta il disco rigido virtuale esistente. Cambia prima dalla directory principale per il tuo punto di montaggio:

    cd /
    

    Ora smonta il disco rigido virtuale esistente. L'esempio seguente smonta il dispositivo in /dev/sdc1:

    sudo umount /dev/sdc1
    
  2. Ora scollega il disco rigido virtuale dalla VM. Seleziona la tua VM nel portale e fai clic su Dischi. Seleziona il tuo disco rigido virtuale esistente e fai clic su Scollega:

                                 Screenshot per scollegare il disco rigido virtuale dalla macchina virtuale.                                           

    Attendere che la VM abbia scollegato correttamente il disco dati prima di continuare.

Scambia il disco del sistema operativo per la VM

Il portale di Azure ora supporta la modifica del disco del sistema operativo della macchina virtuale. A tal fine, attenersi alla seguente procedura:

  1. Vai a Portale di Azure. Seleziona Macchine virtuali dalla barra laterale, quindi seleziona la VM con problemi.

  2. Nel riquadro di sinistra, seleziona Dischi, quindi seleziona Scambia disco del sistema operativo.

                                 Screenshot dell'opzione Scambia disco del sistema operativo nel portale di Azure.                                           

  3. Scegli il nuovo disco che hai riparato, quindi digita il nome della VM per confermare la modifica. Se non vedi il disco nell'elenco, attendi 10 ~ 15 minuti dopo aver scollegato il disco dalla VM per la risoluzione dei problemi. Assicurati inoltre che il disco si trovi nella stessa posizione della VM.

  4. Selezionare OK.

Passaggi successivi

Se si verificano problemi di connessione alla macchina virtuale, vedere Risolvere i problemi relativi alle connessioni SSH a una macchina virtuale di Azure. Per problemi con l'accesso alle applicazioni in esecuzione sulla macchina virtuale, vedere Risolvere i problemi di connettività delle applicazioni su una macchina virtuale Linux.

Per ulteriori 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.