Risoluzione dei problemi relativi all'avvio di un'istanza Amazon EC2 Linux da un volume errato - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi relativi all'avvio di un'istanza Amazon EC2 Linux da un volume errato

In alcune situazioni, un volume diverso da quello collegato /dev/xvda o /dev/sda diventa il volume principale di un'istanza Linux. Questo può succedere se hai collegato il volume root di un'altra istanza o un volume creato dalla snapshot di un volume root a un'istanza con un volume root esistente.

Ciò è dovuto al modo in cui il ramdisk iniziale funziona in Linux: Sceglie il volume definito come / nel file /etc/fstab, e in alcune distribuzioni; ciò è determinato dall'etichetta collegata alla partizione di volume. Nello specifico, puoi notare che il file /etc/fstab si presenta nel modo seguente:

LABEL=/ / ext4 defaults,noatime 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0

Se controlli l'etichetta di entrambi i volumi, vedrai che per tutti e due contiene /:

[ec2-user ~]$ sudo e2label /dev/xvda1 / [ec2-user ~]$ sudo e2label /dev/xvdf1 /

In questo esempio, /dev/xvdf1 potrebbe diventare il dispositivo root su cui si avvia l'istanza dopo l'esecuzione iniziale del ramdisk, invece del volume /dev/xvda1 da cui intendevi eseguire l'avvio. Per risolvere questo problema, utilizzare lo stesso comando e2label per modificare l'etichetta del volume collegato dal quale non si desidera eseguire l'avvio.

In alcuni casi, è /etc/fstab possibile risolvere il problema specificando un UUID in. Tuttavia, se entrambi i volumi provengono dalla stessa istantanea o il secondario viene creato da un'istantanea del volume principale, condividono un. UUID

[ec2-user ~]$ sudo blkid /dev/xvda1: LABEL="/" UUID=73947a77-ddbe-4dc7-bd8f-3fe0bc840778 TYPE="ext4" PARTLABEL="Linux" PARTUUID=d55925ee-72c8-41e7-b514-7084e28f7334 /dev/xvdf1: LABEL="old/" UUID=73947a77-ddbe-4dc7-bd8f-3fe0bc840778 TYPE="ext4" PARTLABEL="Linux" PARTUUID=d55925ee-72c8-41e7-b514-7084e28f7334
Per modificare l'etichetta di un volume ext4 collegato
  1. Utilizzare il comando e2label per modificare l'etichetta del volume in modo diverso da /.

    [ec2-user ~]$ sudo e2label /dev/xvdf1 old/
  2. Verificare che il volume abbia la nuova etichetta.

    [ec2-user ~]$ sudo e2label /dev/xvdf1 old/
Per modificare l'etichetta di un volume xfs collegato
  • Utilizzare il comando xfs_admin per modificare l'etichetta del volume in modo diverso da /.

    [ec2-user ~]$ sudo xfs_admin -L old/ /dev/xvdf1 writing all SBs new label = "old/"

Dopo avere modificato l'etichetta del volume come mostrato, è possibile riavviare l'istanza con il volume corretto selezionato dal ramdisk iniziale all'avvio dell'istanza.

Importante

Se desideri distaccare il volume con la nuova etichetta e collegarlo a un'altra istanza per utilizzarlo come volume root, devi eseguire nuovamente la procedura di cui sopra e riportare l'etichetta del volume al suo valore originale. Diversamente, l'altra istanza non si avvia in quanto il ramdisk non è in grado di individuare il volume con l'etichetta /.