2013-04-16 19 views
7

Ho giocato a Amazon con i servizi Web da più di un anno, tuttavia non capisco come funziona. Quando, ad esempio, seleziono un AMI a mia scelta dalla console EC2 e continuo attraverso la procedura guidata, raggiungo la "Scheda di configurazione dell'archiviazione". Ci sono diverse opzioni qui.Consigli per l'archiviazione dei dati su Amazon EC2 in particolare per i database

C'è la scheda del volume di root e poi c'è la scheda del volume EBS. In che cosa differiscono entrambi? Qual è la dimensione massima che posso assegnare a ciascuno? Come posso configurare EBS Volumes affinché funzioni con la mia istanza? Ad esempio, decido di creare 8 volumi EBS ciascuno con 25 GB di spazio di archiviazione .... ora per qualcosa come un database Postgresql che risiede naturalmente sul dispositivo root, come lo configuro in modo che il database sia archiviato su tutti gli 8 volumi EBS? In un certo senso, gli 8 volumi EBS diventano un'unità da 200 GB e i dati del database postgres sono memorizzati su tutta l'unità.

Qualsiasi forma di chiarimento sarà apprezzata.

+0

Spiacenti, questo è stato chiuso, mi sarei aspettato che fosse migrato su ServerFault o dba.stackexchange.com. –

risposta

10

Si consiglia di leggere il benefits of EBS vs instance store. Ho anche scritto un po 'sull'angolo PostgreSQL di questo on my work blog recently. Vedi anche what root device to use for a new EC2 instance e le altre domande elencate nella barra laterale relativa.

L'archivio di istanze finirà per MANGIARE I TUOI DATI a meno che tu non abbia impostato attentamente la replica e i backup regolari. Se un'istanza fallisce o viene interrotta, non è possibile recuperare i dati se si trovano in un archivio di istanze. Hai bisogno di buoni backup comunque, è solo più importante con il negozio di istanze e devi essere più attento a configurare la replica quasi in tempo reale.

D'altra parte, EBS è più probabile che sia interessato da interruzioni e guasti che lo rendono non disponibile per un certo periodo di tempo; i tuoi dati potrebbero ancora esistere, ma se non riesci ad arrivarci per un paio d'ore non puoi fallire finché il problema non viene risolto. Quindi hai davvero bisogno di buoni backup e repliche comunque.

risposta rapida, lascio le spiegazioni dettagliate al post:

  • Il volume di root è o EBS o negozio esempio, a seconda del tipo AMI.

  • Nella scheda volumi è possibile aggiungere ulteriori volumi. È possibile scegliere se questi sono EBS o i volumi dell'archivio di istanza al momento della creazione del volume, indipendentemente dal tipo di AMI. Le dimensioni di istanze diverse hanno limiti diversi sul numero e sulla dimensione dei volumi dell'archivio di istanza, ma hanno tutti gli stessi limiti sui volumi EBS.

  • La dimensione massima di un volume dell'archivio di istanze è definita dal tipo di istanza. Vedi la documentazione per la tua istanza. La dimensione massima di un volume EBS è nel primo paragrafo di the EBS documentation:

    volumi Amazon EBS vengono creati in una particolare zona disponibilità e possono essere da 1 GB a 1 TB di dimensione.

  • Il database PostgreSQL non "vive in modo naturale sul volume di root". Vive dove l'hai messo. Se si sta utilizzando una versione installata di Gestione pacchetti, verrà solitamente inserita in /var/lib/pgsql o /var/lib/postgres, ma è possibile modificare le opzioni dello script di avvio per spostarla altrove, sostituirla con un collegamento simbolico alla posizione desiderata o montare una nuova volume a quel punto. Ci sono ampie discusioni su come spostare PostgreSQL su Stack Overflow, dba.stackexchange.com e serverfault quindi non ripeterò tutto ciò qui.

  • Per combinare più volumi EBS utilizzare il software RAID di Linux (md). EBS è come qualsiasi altro disco per quanto riguarda Linux, quindi consulta la solita documentazione per configurare il software RAID di Linux.

Personalmente non sono stato abbastanza impressionato dalle prestazioni di EC2, almeno con PostgreSQL. È possibile ottenere un database molto veloce in esecuzione, ma solo a un prezzo piuttosto schiacciante. È molto utile se si desidera attivare alcuni grandi database per un lavoro a breve termine, ma non è economico come opzione di hosting a lungo termine, è meglio guardare i provider VPS che offrono prestazioni I/O migliori. Cerca ServerFault, dba.stackexchange.com, ecc.

Infine, un promemoria: il deposito di istanza su istanze di I/O elevate sembra essere più veloce rispetto alle altre opzioni ... ma se è necessario arrestare o riavviare l'istanza o l'istanza fallisce, perderai tutti i dati sui volumi dell'archivio dell'istanza, quindi deve avere buoni backup e la replica in tempo reale se hai intenzione di utilizzare l'archivio di istanze.

+0

grazie per il vostro consiglio, è molto apprezzato! – noahandthewhale

-1

La risposta breve è:

Per un rapido e sporco, si può solo avere negozio esempio su tutti le istanze di EC2, e fare i backup a S3. Il vantaggio dell'archivio EBS su istanza è che quando si uccide quel server, l'EBS rimarrà e può essere riutilizzato e un archivio di istanze non lo farà.

200 Gb è un piccolo spazio, è sufficiente disporre di un dispositivo di archiviazione (archivio di istanze) per esso, quindi eseguire il backup su S3 o replicare l'intera cosa da 200 GB. È possibile che non si utilizzi la replica RAID o di dispositivi avvii per migliorare l'affidabilità/disponibilità del database.

tl; dr

Usa negozio di esempio a meno che non è necessario per i volumi trasferibili tra i server.

+4

Penso che sia * un consiglio veramente pericoloso *, specialmente il tuo tl; dr. "Usa l'istanza di archiviazione per il volume PostgreSQL a meno che non sia necessario trasferire i volumi tra i server [o ti preoccupi dei tuoi dati e non sei sicuro di capire come creare una solida configurazione di replica di PostgreSQL su più AZ o regioni]". Hai a che fare con un nuovo utente, hai davvero bisogno di essere chiaro ed esplicito riguardo al grave rischio di perdita dei dati coinvolti nell'uso dell'istanza dell'archivio senza comprenderlo correttamente e impostando una ridondanza corretta. –

+1

Yep Craig, punto valido. Ho appena riflettuto sull'idea che un utente principiante trascorrerà molto tempo a costruire una soluzione fragile con la replica EBS, che si interromperà e impiegherà molto tempo nella manutenzione e sarà infine sostituita da altre soluzioni. I negozi di istanze sono anche più economici, quindi un principiante da solo potrebbe risparmiare un dollaro non usando EBS. –

Problemi correlati