Come posso convertire lo schema di partizionamento MBR predefinito in GPT per la mia istanza EC2 Ubuntu?

7 minuti di lettura
0

La mia istanza Amazon Elastic Compute Cloud (Amazon EC2) Ubuntu 16.04, 18.04 o 20.04 ha una quota massima per le partizioni MBR di 2 tebibyte (TiB). Per bypassare la quota, desidero passare a uno schema di partizionamento GPT sul mio volume Amazon Elastic Block Store (Amazon EBS).

Breve descrizione

Le versioni 22.04 e successive di Ubuntu utilizzano il partizionamento GPT per impostazione predefinita. Tuttavia, devi configurare manualmente il partizionamento GPT per le versioni di Ubuntu 16.04, 18.04 e 20.04.

Risoluzione

Importante: prima di arrestare e avviare l'istanza, intraprendi le seguenti azioni:

Nota: quando arresti e avvii un'istanza, l'indirizzo IP pubblico dell'istanza cambia. È consigliabile utilizzare un indirizzo IP elastico per indirizzare il traffico esterno all'istanza anziché un indirizzo IP pubblico. Se utilizzi Amazon Route 53, potresti dover aggiornare i record DNS di Route 53 quando l'IP pubblico cambia.

Per convertire lo schema di partizionamento MBR predefinito dell'istanza Ubuntu in GPT, completa i seguenti passaggi:

  1. Apri la console Amazon EC2.

  2. Avvia un'istanza da un'Amazon Machine Image (AMI) che esegue Ubuntu.

  3. Avvia una seconda istanza dalla stessa AMI che esegue Ubuntu con un volume root da 3 TiB nella stessa zona di disponibilità.

  4. Arresta la seconda istanza.

  5. Scollega il volume root /dev/xvda o /dev/sda1 dalla seconda istanza. Quindi collega il volume root come /dev/sdf alla prima istanza.

  6. Utilizza SSH per connetterti alla prima istanza.

  7. Per visualizzare la partizione root di /dev/sdf, esegui questo comando dev/sdf:

    sudo lsblk

    Esempio di output:

    NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    (snip)
    xvdf    202:80    0   3T  0 disk
    └─xvdf1 202:81    0   2T  0 part
    (snip)

    Nota: nell'esempio precedente, la partizione root di **/dev/sdf ** è di 2 terabyte (TB). Sui tipi di istanza Nitro, il nome del dispositivo a blocchi è simile a /dev/nvme1n1.

  8. Per convertire la tabella delle partizioni da MBR a GPT, utilizza lo strumento gdisk per eseguire questo comando:

    sudo gdisk /dev/xvdf

    Nota: se inserisci comandi errati in gdisk, premi q or Ctrl-C per uscire da gdisk e non salvare le modifiche.
    Esempio di output:

    GPT fdisk (gdisk) version 1.0.1
    
    Partition table scan:
      MBR: MBR only
      BSD: not present
      APM: not present
      GPT: not present
    
    ***************************************************************
    Found invalid GPT and valid MBR; converting MBR to GPT format
    in memory. THIS OPERATION IS POTENTIALLY
        DESTRUCTIVE! Exit by
    typing 'q' if you don't want to convert your MBR partitions
    to GPT format!
  9. Per accedere alla modalità Expert (Esperto) e impostare il valore di allineamento del settore, inserisci i seguenti valori quando richiesto:

    Command (? for help): x                                            
    Expert command (? for help): l                                     
    Enter the sector alignment value (1-65536, default = 2048): 1      
    Expert command (? for help): m

    Nota: premi Invio dopo ogni richiesta. La configurazione precedente modifica il valore di allineamento del settore dal valore predefinito 8 a 1. Se utilizzi l'allineamento a 8 byte (B), potrebbero verificarsi problemi durante la creazione della partizione GPT.

  10. Per creare una partizione GPT, inserisci i seguenti valori quando richiesto:

Command (? for help): n                                                                                                        
Partition number (2-128, default 2): 128                                                                                
First sector (34-6291455966, default = 4294967296) or {+-}size{KMGTP}: 34                     
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}:                                              
Hex code or GUID (L to show codes, Enter = 8300): ef02                                                     

Nota: premi Invio dopo ogni richiesta. Quando premi Invio per il prompt Last sector (Ultimo settore), viene visualizzato l'output Current type is 'Linux filesystem'. Nell'esempio precedente, ef02 è il numero della partizione di avvio del BIOS.
Esempio di output:

Changed type of partition to 'BIOS boot partition'
  1. Per eliminare la partizione root, inserisci i seguenti valori quando richiesto:
Command (? for help): d                                                                                                         
Partition number (1-128): 1

Nota: premi Invio dopo ogni richiesta. Per ricreare la partizione root a 3 TiB, inserisci i seguenti valori quando richiesto:

Command (? for help): n                                                                                                         
Partition number (1-128, default 1): 1                                                                                     
First sector (2048-6291455966, default = 2048) or {+-}size{KMGTP}:                                  
Last sector (2048-6291455966, default = 6291455966) or {+-}size{KMGTP}:                       
Hex code or GUID (L to show codes, Enter = 8300):

Nota: premi Invio dopo ogni richiesta. Quando premi Invio per il prompt Last sector (Ultimo settore), viene visualizzato l'output Current type is 'Linux filesystem'. Per utilizzare le impostazioni predefinite, premi Invio per i prompt First sector (Primo settore), Last sector (Ultimo settore) e Hex code or GUID (Codice esadecimale o GUID).
Esempio di output:

Changed type of partition to 'Linux filesystem'
  1. Per salvare la tabella delle partizioni GPT, inserisci i seguenti valori quando richiesto:
Command (? for help): w                                                                                                        
Do you want to proceed? (Y/N): y

Importante: questa azione sovrascrive le partizioni esistenti.
Esempio di output:

OK; writing new GUID partition table (GPT) to /dev/xvdf.
The operation has completed successfully.
  1. Per visualizzare le nuove informazioni sul volume, esegui questo comando lsblk:
sudo lsblk

Esempio di output:

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdf    202:80   0   3T  0 disk
└─xvdf1 202:81   0   3T  0 part
  1. Per verificare se il file system del dispositivo /dev/xvdf1 è corretto, utilizza lo strumento fsck ed esegui questo comando:
sudo e2fsck -f /dev/xvdf1

Nota: per rispondere a tutte le domande, aggiungi un parametro -y comando e2fsck. Per ulteriori informazioni sullo strumento fsck, consulta fsck.8.gz sul sito web di Ubuntu.
Esempio di output:

e2fsck 1.42.13 (17-May-2015)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
cloudimg-rootfs: 57524/262144000 files (0.0% non-contiguous), 16648272/536870655 blocks
  1. Per ridimensionare il file system a 3 TiB, esegui questo comando resize:
sudo resize2fs /dev/xvdf1

Nota: potrebbero essere necessari 10-20 secondi per ridimensionare il file system.
Esempio di output:

resize2fs 1.42.13 (17-May-2015)
Resizing the filesystem on /dev/xvdf1 to 786431739 (4k) blocks.
The filesystem on /dev/xvdf1 is now 786431739 (4k) blocks long.
  1. Installa Grub sul dispositivo /dev/xvdf1, quindi esegui questi comandi per configurare Grub in base alla versione di Ubuntu:
    Ubuntu 16.04 or 18.04:
sudo mount /dev/xvdf1 /mnt
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt /bin/bash
grub-install /dev/xvdf
grub-mkdevicemap
update-grub
exit
sudo umount -l /mnt/dev
sudo umount -l /mnt/sys
sudo umount -l /mnt/proc
sudo umount -l /mnt

Ubuntu 20.04:

sudo mount /dev/xvdf1 /mnt
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt /bin/bash
grub-install /dev/xvdf
grub-mkdevicemap
echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub
echo "GRUB_FORCE_PARTUUID=" >> /etc/default/grub.d/40-force-partuuid.cfg
update-grub
exit
sudo umount -l /mnt/dev
sudo umount -l /mnt/sys
sudo umount -l /mnt/proc
sudo umount -l /mnt-l /mnt/dev sudo umount -l /mnt/sys sudo umount -l /mnt/proc sudo umount -l /mnt`
  1. Scollega il volume /dev/xvdf dall'istanza in esecuzione.
  2. Ricollega il volume /dev/xvdf alla prima istanza come /dev/xvda o /dev/sda1.
  3. Utilizza SSH per connetterti alla prima istanza, quindi avviala.
  4. Per verificare che il volume root dell'istanza originale ora abbia 3 TiB di spazio, esegui il comando lsblk:
sudo lsblk

Informazioni correlate

Vincoli di volume di Amazon EBS

AWS UFFICIALE
AWS UFFICIALEAggiornata un mese fa