La risposta è duplice.
Soluzione alternativa: utilizzare / dev / xvdb (/ mnt) per i dati temporanei
Questo è il cosiddetto spazio di archiviazione effimero della tua istanza Amazon EC2 e le sue caratteristiche sono molto diverse da quelle del persistente spazio di archiviazione Amazon EBS in uso altrove. In particolare, questa memoria effimera andrà persa nei cicli di arresto / avvio e generalmente può andare via , quindi sicuramente non vuoi mettere lì qualcosa di valore duraturo, cioè solo mettere lì dati temporanei che puoi permetterti di perdere o ricostruire facilmente , come un file di scambio o dati strettamente temporanei in uso durante i calcoli. Ovviamente potresti archiviare enormi indici lì per esempio, ma devi essere pronto a ricostruirli dopo che l'archiviazione è stata cancellata per qualsiasi motivo (riavvio dell'istanza, errore hardware, ...).
Soluzione: ridimensionare / dev / xvda1 (/) per ottenere la memoria desiderata
Questo è il cosiddetto Root Device Storage della tua istanza EC2 supportata da Amazon EBS , che facilita Amazon EBS per la flessibilità e la durata in particolare, vale a dire che i dati messi lì sono ragionevolmente sicuri e sopravvivono ai guasti delle istanze; puoi aumentare ulteriormente la flessibilità e la durata acquisendo istantanee regolari del tuo volume EBS, che sono archiviate su Amazon S3 , con la ben nota 99,999999999% di durata.
Questa funzionalità di istantanea ti consente di risolvere il tuo problema a sua volta, nella misura in cui puoi sostituire il tuo attuale archivio root EBS da 8 GB (/ dev / xvda1) con uno più o meno grande quanto desideri. Il processo è descritto nell'eccellente articolo di Eric Hammond Ridimensionamento del disco di root su un'istanza di avvio EBS EC2 in esecuzione :
Fintanto che si va bene con un po 'di tempo morto sull'istanza EC2 (pochi minuti), è possibile cambiare il volume EBS di root con una copia più grande, senza bisogno di avviare una nuova istanza.
Se prepari correttamente i passaggi che descrive (ti consiglio vivamente di testarli prima con un'istanza EC2 eliminabile per familiarizzare con la procedura, o automatizzarla anche con uno script su misura), dovresti essere in grado di completare il processo con alcuni minuti di inattività solo davvero.
La maggior parte dei passaggi descritti può essere eseguita anche tramite la Console di gestione AWS , il che evita di trattare con gli strumenti API Amazon EC2 ; questo si riduce a:
- interrompere (non terminare!) l'istanza EC2
- scollegare il volume EBS dall'istanza arrestata
- creare un'istantanea del volume EBS staccato
- crea un nuovo volume EBS (più grande) dall'istantanea creata
- collega il nuovo volume EBS all'istanza EC2 ( Importante ! Se questo è il tuo dispositivo root assicurati di nominarlo esattamente come il dispositivo root dell'istanza come è stato menzionato ad esempio (/ dev / sda1) o (/ dev / xdva1) in caso contrario verrà collegato come dispositivo a blocchi e non come dispositivo root e non sarà possibile avviare l'istanza poiché non verrà elencato alcun dispositivo root per l'istanza.)
- SSH nell'istanza in esecuzione e confermare che tutto sia in ordine tramite
df -ah
- nel caso in cui il tuo sistema non abbia ridimensionato automaticamente il file system, dovrai farlo manualmente come spiegato nell'articolo di Eric
In bocca al lupo!
Alternativa
Data la versatilità e la facilità d'uso di questi volumi EBS, un'ulteriore opzione sarebbe quella di collegare più volumi EBS alla tua istanza e spostare aree di preoccupazione chiaramente separabili laggiù.
Ad esempio, stiamo usando un paio di applicazioni Java piuttosto pesanti, ognuna delle quali consuma 1-2 GB di spazio di archiviazione per versione; per facilitare l'aggiornamento delle versioni e in generale essere in grado di spostare queste app in diverse istanze a mia discrezione, le ho posizionate su volumi EBS dedicati ciascuna, montandole su un'istanza e collegandole alla posizione desiderata, ad esempio di solito /var/lib/<app>/<version>
e /usr/local/<app>/<version>
.
Con questo metodo, stiamo attualmente eseguendo istanze EC2 con l'archiviazione del dispositivo root ancora alla dimensione predefinita di 8 GB (proprio come la tua), ma a volte fino a 8 volumi EBS con dimensioni variabili (1-15 GB).
Tuttavia, è necessario essere consapevoli dei potenziali problemi di prestazioni della rete, nella misura in cui tutti questi volumi EBS utilizzano la stessa LAN per il loro I / O, il che potrebbe produrre anche i rispettivi guadagni in termini di prestazioni o saturare la rete in casi estremi, quindi come al solito dipende sul caso d'uso e sul carico di lavoro a portata di mano.