come faccio a sapere quale parte della mia memoria ec2 è effimera


10

Questa potrebbe essere una domanda sciocca, scusa la mia ignoranza.

Ho un'istanza che funziona in questo modo: Console AWs

Non root device: EBS dire tutto il mio sistema è in EBS?

Ho configurato apache e un'app perl qui, tutte le mie configurazioni e file non spariranno, vero?

Come faccio a sapere cosa è in esecuzione su memoria temporanea e cosa è in esecuzione su EBS? Se faccio clic sull'istanza nella console di gestione e osservo i dettagli in fondo, viene visualizzato il messaggio: EBS Optimized: falseCosa significa esattamente?

Ecco come appare il mio spazio di archiviazione:

[ec2-user@<MY_IP> ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  1.7G  6.2G  22% /
tmpfs                 298M     0  298M   0% /dev/shm

[ec2-user@<MY_IP> ~]$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

2
L'istanza t1.micro non ha memoria temporanea, solo m1.small o superiore.
5

Ah, carino. Non lo sapevo. Non c'è da stupirsi che non vedo alcuna opzione.
Gideon,

Risposte:


4

Il dispositivo di root è il tuo '/'. In questo caso è / dev / xvda1 ed è unità EBS.

I dispositivi effimeri sono (come so):

  • sdb (xvdb)
  • sdc (xvdc)
  • SDD (xvdd)
  • sde (xvde)

Puoi sempre controllare quali dispositivi sono unità EBS, utilizzando l'interfaccia utente di AWS: EC2 -> Istanze -> [scegli la tua] -> Blocca dispositivi


Eccezionale. Grazie :) Cosa c'è sysfs1, devpte cosa no.
Gideon,

1
tmpfs è simile a ramfs e consente di mantenere i file nella RAM veloce. devpts e sysfs sono filesystem linux "virtuali", che forniscono accesso ad alcuni dati del kernel. Puoi controllare di più su google: ci sono molti articoli su di loro.
Tomasz Olszewski,

xvda1 Xvdd xvdc xvdbQuesti sono volumi EBS. Come puoi dire che sono effimeri?

3
La risposta di cui sopra non è corretta e non deve essere selezionata come "la risposta"
Andrew S,

Questo è sbagliato!!
eyeApps LLC

12

I dispositivi effimeri ed ebs possono assumere praticamente qualsiasi nome di file di dispositivo con lettere, quindi non fare affidamento solo sul nome del dispositivo. Il nome del dispositivo è importante per determinare se è effimero o no, come illustrerò di seguito. Affidarsi al nome di un mount point con le parole "effimero" o "ebs" non è altrettanto affidabile.

Anche se parte di questo può essere fatto tramite la GUI di EC2, alcuni comandi dovrebbero comunque essere eseguiti sul server stesso, quindi qui ti do solo un metodo "tutto a riga di comando". Ti fornirò esempi da un negozio con memoria m3.medium CentOS minimal 6.5 (ovvero effimero) supportato da AMI.

1) Installa l'utility wget con yum install -y wget

2) Esegui wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -

In questo esempio di archivio supportato AMI - l'output del comando n. 2 sopra è:

ami ephemeral0

A scopo di confronto, di seguito è riportato un esempio di output da un server CentOS supportato da EBS con solo volumi EBS (senza unità temporanee):

ami ebs2 ebs3

Tornerò all'istanza supportata da EBS con i volumi EBS più tardi. Per ora, continuiamo con l'esempio AMI supportato dall'archivio di istanze originale che ci mostra un'unità effimera.

Per scoprire quale file del dispositivo è mappato sull'unità effimera, esegui di nuovo wget, questa volta aggiungendo il nome dell'unità effimera come scoperto nel numero 2 sopra all'URL:

3) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -

e, in questo esempio, l'output è / era:

sdb

Questo sottolinea il mio punto sopra che non si può presumere che / dev / sdb tramite / dev / sde siano dispositivi ebs. Esso potrebbe essere vero che / dev / xvdb attraverso / dev / xvde sono EBS - ma i miei sistemi iniziano sempre con / dev / xvde1 , così l'esistenza di quelle lettere dispositivo probabilmente dipende dal sistema operativo, regione, AMI, ecc, che si sta utilizzando. Per inciso, puoi eseguire # 3 contro nomi "ebs", se presenti (es. ebs2), E produrre un risultato simile.

4) Quindi, esegui lsblk

In questo caso, l'output è simile al seguente:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvde1 202:65 0 8G 0 disk / xvdf 202:80 0 4G 0 disk

Ciò sottolinea il mio punto dall'alto che non puoi fare affidamento su un mount point per dirti se un dispositivo è effimero o no.

Noterai anche che la mappatura tra le lettere di volume del dispositivo EC2 e le lettere di mappatura del sistema operativo non corrispondono. Un piccolo frammento di buone notizie qui è che le lettere di unità aumenteranno nello stesso ordine, anche se le lettere stesse non corrispondono. Quindi, prendiamo la "altra" lettera di unità dai nostri metadati di mappatura dei dispositivi. Come hai visto sopra, c'erano due mappature dei dispositivi, uno chiamato amie l'altro chiamato ephemeral0. Abbiamo già esaminato effimero0, quindi esaminiamo ami:

5) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -

L'output è / era il seguente:

sda1

Possiamo concludere con sicurezza che la lettera più bassa nella mappatura del sistema operativo è la lettera più bassa della mappatura del dispositivo a blocchi EC2, e possiamo aumentare da lì verso l'alto. Così:

/dev/sda1 = /dev/xvde1 e /dev/sdb = /dev/xvdf

Ultimo ma non meno importante, noterai che la mappatura del dispositivo a blocchi aminon si presta immediatamente al fatto che sia supportato da EBS o da Instance Store. Abbiamo ancora un comando da eseguire.

6) wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -

Sono certo che gli AMI supportati da EBS non hanno un percorso manifest perché solo i volumi di archivio di istanze hanno un manifest (il manifest elenca i nomi e il percorso dei segmenti bundle dell'AMI in S3). Nei casi che ho verificato, il risultato di cui sopra # 6 quando viene eseguito e l'ami dell'istanza del negozio è qualcosa di simile a:

someamibucketname/someamidescription/someamidescription.manifest.xml

mentre quando # 6 viene eseguito contro un AMI supportato da EBS si ottiene:

(unknown)


1

sudo lsblkdovrebbe darti alcuni suggerimenti. IE

[ec2-user@ec2-host ~]$ sudo lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk 
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0   4G  0 disk /media/ephemeral0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.