GNU/Linux >> Linux Esercitazione >  >> Linux

Collegamento e montaggio del volume EBS esistente al problema del file system dell'istanza EC2

Ho riscontrato questo problema anche dopo aver aggiunto un nuovo volume da 16 GB e averlo collegato a un'istanza esistente. Prima di tutto devi sapere quali dischi hai presenteRun

  sudo fdisk -l 

Avrai un output simile a quello mostrato di seguito con informazioni dettagliate sui tuoi dischi (volumi"

 Disk /dev/xvda: 12.9 GB, 12884901888 bytes
  255 heads, 63 sectors/track, 1566 cylinders, total 25165824 sectors
  Units = sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *       16065    25157789    12570862+  83  Linux

 Disk /dev/xvdf: 17.2 GB, 17179869184 bytes
 255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/xvdf doesn't contain a valid partition table

Come puoi vedere, è presente il disco /dev/xvdf appena aggiunto. Per renderlo disponibile è necessario creare un filesystem su di esso e montarlo su un punto di montaggio. Puoi ottenerlo con i seguenti comandi

 sudo mkfs -t ext4 /dev/xvdf

La creazione di un nuovo file system cancella tutto nel volume, quindi fallo su un nuovo volume senza dati importanti

Quindi montalo magari in una directory sotto la cartella /mnt

 sudo mount /dev/xvdf /mnt/dir/

Conferma di aver montato il volume sull'istanza eseguendo

  df -h

Questo è ciò che dovresti avere

Filesystem      Size  Used Avail Use% Mounted on
 udev            486M   12K  486M   1% /dev
 tmpfs           100M  400K   99M   1% /run
 /dev/xvda1       12G  5.5G  5.7G  50% /
 none            4.0K     0  4.0K   0% /sys/fs/cgroup
 none            5.0M     0  5.0M   0% /run/lock
 none            497M     0  497M   0% /run/shm
 none            100M     0  100M   0% /run/user
 /dev/xvdf        16G   44M   15G   1% /mnt/ebs

E questo è tutto, hai il volume da utilizzare lì collegato al tuo instance.credit esistente


Ho notato che per qualche motivo il volume si trovava in /dev/xvdf1 , non /dev/xvdf .

Usando

sudo mount /dev/xvdf1 /vol -t ext4

ha funzionato a meraviglia


The One Liner

ð¥ Montare la partizione (se il disco è partizionato) :

sudo mount /dev/xvdf1 /vol -t ext4

Monta il disco (se non partizionato) :

sudo mount /dev/xvdf /vol -t ext4

dove:

  • /dev/xvdf viene cambiato nel dispositivo del volume EBS essere montato
  • /vol viene cambiato nella cartella vuoi montare.
  • ext4 è il tipo di filesystem del volume da montare

Errori comuni come fare:

✳️ Elenco dei dispositivi collegati

Controlla che il tuo comando di montaggio sia corretto Volume EBS nome dispositivo e tipo di filesystem . Quanto segue li elencherà tutti:

sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

Se il tuo volume EBS viene visualizzato con un partition allegato , monta il partition; non il disco.

✳️ Se il tuo volume non è elencato

Se non viene visualizzato, non hai Attach il tuo volume EBS nella console Web AWS

✳️ Rimontaggio automatico al riavvio

Questi dispositivi vengono nuovamente smontati se l'istanza EC2 si riavvia.

Un modo per farli rimontare all'avvio è aggiungere il volume all'/etc/fstab del server file.

ð¥ Attenzione:ð¥
Se corrompi il file /etc/fstab file, renderà il tuo sistema non avviabile. Leggi il breve articolo di AWS in modo da verificare di averlo fatto correttamente.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html#ebs-mount-after-reboot

Prima :
Con il lsblk comando sopra, trova il UUID del tuo volume &FSTYPE .

Secondo :
Conserva una copia del tuo fstab originale file.

sudo cp /etc/fstab /etc/fstab.original

Terzo :
Aggiungi una riga per il volume in sudo nano /etc/fstab .

I campi di fstab sono 'separati da tabulazioni' e ogni riga ha i seguenti campi:

<UUID>  <MOUNTPOINT>    <FSTYPE>    defaults,discard,nofail 0   0

Ecco un esempio per aiutarti, il mio fstab recita come segue:

LABEL=cloudimg-rootfs   /   ext4    defaults,discard,nofail 0   0
UUID=e4a4b1df-cf4a-469b-af45-89beceea5df7   /var/www-data   ext4    defaults,discard,nofail 0   0

Ecco fatto, hai finito. Verifica la presenza di errori nel tuo lavoro eseguendo:

sudo mount --all --verbose

Vedrai qualcosa del genere se le cose sono ð:

/                   : ignored
/var/www-data       : already mounted

Ho riscontrato questo problema e ora l'ho risolto

[[email protected] ~]$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0   8G  0 disk
└─xvdf1 202:81   0   8G  0 part

Dovresti montare il partition

/dev/xvdf1 (il cui tipo è una partizione)

non montare il disk

/dev/xvdf (il cui tipo è un disco)


Linux
  1. Come montare e smontare le unità su Linux

  2. Come creare un file e montarlo come filesystem?

  3. Come montare e smontare filesystem/partizione in Linux (esempi di comando di montaggio/smontaggio)

  4. Docker in Docker non può montare il volume

  5. Trova l'utilizzo corrente di IOPS del volume EBS dalla mia applicazione su AWS EC2

Come creare e aggiungere un volume EBS nell'istanza AWS (EC2)

Configura una semplice pipeline CI/CD utilizzando Github e Jenkins su un'istanza Linux AWS EC2

Come installare jq sull'istanza amazon EC2

Montare un filesystem in sola lettura e reindirizzare le scritture sulla RAM?

Montare e modificare un file di loopback senza sudo/root, è possibile?

Ha rotto il mio file /etc/sudoers su Amazon EC2