Sono abbastanza impressionato dai servizi Amazon EC2 ed EBS. Volevo sapere se è possibile far crescere un volume EBS.
Ad esempio: se ho un volume da 50 GB e inizio a corto di spazio, posso aumentarlo fino a 100 GB quando richiesto?
Sono abbastanza impressionato dai servizi Amazon EC2 ed EBS. Volevo sapere se è possibile far crescere un volume EBS.
Ad esempio: se ho un volume da 50 GB e inizio a corto di spazio, posso aumentarlo fino a 100 GB quando richiesto?
Risposte:
Tutti ottimi consigli, e ho pensato di aggiungere questo articolo che ho trovato, relativo all'espansione di un'istanza EBS Amazon EC2 di Windows utilizzando gli strumenti dell'interfaccia utente Web di Amazon per eseguire le modifiche necessarie. Se non ti senti a tuo agio con l'interfaccia della riga di comando, questo renderà il tuo aggiornamento molto più semplice.
http://www.tekgoblin.com/2012/08/27/aws-guides-how-to-resize-a-ec2-windows-ebs-volume/
Grazie a TekGoblin per aver pubblicato questo articolo.
Puoi aumentare lo spazio di archiviazione, ma non può essere fatto al volo. Dovrai scattare un'istantanea del blocco corrente, aggiungere un nuovo blocco più grande e ricollegare l'istantanea.
C'è una semplice procedura dettagliata qui basata sull'utilizzo di strumenti a linea di comando EC2 di Amazon
Non puoi semplicemente "imbatterti" più spazio al volo se ne hai bisogno, ma puoi ridimensionare la partizione con uno snapshot.
I passaggi per fare questo:
Guarda http://aws.amazon.com/ebs/ - Istantanea EBS:
Le istantanee possono anche essere utilizzate per creare un'istanza di più nuovi volumi, espandere le dimensioni di un volume o spostare i volumi nelle zone di disponibilità. Quando viene creato un nuovo volume, esiste la possibilità di crearlo in base a un'istantanea di Amazon S3 esistente. In quello scenario, il nuovo volume inizia come una replica esatta del volume originale. Specificando facoltativamente una diversa dimensione del volume o una diversa zona di disponibilità, questa funzionalità può essere utilizzata come modo per aumentare le dimensioni di un volume esistente o per creare volumi duplicati nelle nuove zone di disponibilità. Se si sceglie di utilizzare le istantanee per ridimensionare il volume, è necessario assicurarsi che il file system o l'applicazione supporti il ridimensionamento di un dispositivo.
Ho seguito tutta la risposta, tutti hanno qualcosa che manca con tutto il rispetto.
Se segui questi passaggi puoi aumentare il tuo volume EBS e conservare i tuoi dati (questo non è per il volume principale). Per semplicità sto suggerendo di usare il consule AWS per creare uno snapshot, ... puoi farlo anche usando gli strumenti della riga di comando di AWS.
Non stiamo toccando il volume di root qui.
Vai alla tua console AWS:
SSH per la tua istanza:
$ sudo fdisk -l
Questo ti dà qualcosa come:
Disk /dev/xvdf: 21.5 GB, 21474836480 bytes
12 heads, 7 sectors/track, 499321 cylinders, total 41943040 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: 0xd3a8abe4
Device Boot Start End Blocks Id System
/dev/xvdf1 2048 41943039 20970496 83 Linux
Annotare avvio e Id valori. (in questo caso 2048 e 83)
Usando fdisk, elimina la partizione xvdf1 e creane una nuova che inizia esattamente dallo stesso blocco (2048). Gli daremo lo stesso ID (83):
$ sudo fdisk /dev/xvdf
Command (m for help): d
Selected partition 1
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Questo passaggio è spiegato bene qui: http://litwol.com/content/fdisk-resizegrow-physical-partition-without-losing-data-linodecom
Quasi fatto, dobbiamo solo montare il volume ed eseguire resize2fs:
Montare il volume ebs: (il mio è a / mnt / ebs1)
$ sudo mount /dev/xvdf1 /mnt/ebs1
e ridimensionalo:
$ sudo resize2fs -p /dev/xvdf1
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/xvdf1 is mounted on /mnt/ebs1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvdf1 to 5242624 (4k) blocks.
The filesystem on /dev/xvdf1 is now 5242624 blocks long.
ubuntu@ip-xxxxxxx:~$
Fatto! Utilizzare df -h
per verificare la nuova dimensione.
Finché stai bene con qualche minuto di inattività, Eric Hammond ha scritto un buon articolo sul ridimensionamento del disco di root su un'istanza EBS in esecuzione: http://alestic.com/2010/02/ec2-resize-running-ebs -radice
Ora puoi farlo tramite la Console di gestione AWS. Il processo è lo stesso delle altre risposte ma non è più necessario passare alla riga di comando.
A proposito: come con i dischi fisici, potrebbe essere utile usare LVM; ex:
http://www.davelachapelle.ca/guides/ubuntu-lvm-guide/ http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/
Grande vantaggio: consente di aggiungere (o rimuovere) lo spazio in modo dinamico.
Può anche essere facilmente spostato tra / tra istanze.
Avvertenze:
I miei passi:
creare un nuovo volume con spazio su disco maggiore utilizzando l'istantanea sopra. Sfortunatamente l'interfaccia utente sulla console aws per creare un'istantanea è quasi inutilizzabile perché elenca tutte le istantanee su aws. L'uso dello strumento da riga di comando è molto più semplice, in questo modo:
ec2-create-volume -s 100 --snapshot snap-a31fage -z us-east-1c
staccare il volume ebs (più piccolo) esistente dall'istanza
Hai fatto!
Oltre al passaggio 3 sopra, puoi fare tutto usando la console di gestione di aws.
NOTA anche come menzionato qui:
/server/365605/how-do-i-access-the-attached-volume-in-amazon-ec2
il dispositivo sulla tua istanza ec2 potrebbe essere / dev / xv * mentre la console web aws ti dice che è / dev / s *.
Usa il comando "diskpart" per il sistema operativo Windows, dai un'occhiata qui: Usa http://support.microsoft.com/kb/300415 Di seguito sono i passaggi che ho seguito per un disco non root (di base non dinamico)
Dopo aver scattato un'istantanea, smontato il vecchio volume EBS (diciamo 600GB) e creato un volume EBS più grande (diciamo 1TB) e montato questo nuovo volume EBS - dovresti informare Windows del ridimensionamento (da 600GB a 1TB) così al prompt dei comandi (eseguito come amministratore)
diskpart.exe
seleziona disco = 9
seleziona volume = Z
estendere
[il mio disco 9, volume etichettato Z, era un volume di dimensioni 1 TB creato da un'istantanea ec2 di dimensioni 600 GB - Volevo ridimensionare da 600 GB a 1 TB e quindi seguire i passaggi precedenti per farlo.]
Consiglio vivamente Logical Volume Manager (LVM) per tutti i volumi EBS, se supportato dal sistema operativo. Le distribuzioni Linux generalmente lo fanno. È ottimo per diversi motivi.
Il ridimensionamento e lo spostamento di volumi logici possono essere eseguiti dal vivo, quindi invece dell'intera cosa di snapshot offline, che richiede tempi di inattività, è possibile aggiungere semplicemente creare un altro volume EBS più grande, aggiungerlo al pool LVM come volume fisico (PV), spostare il volume logico (LV), rimuovere il vecchio volume fisico dal pool ed eliminare il vecchio volume EBS. Quindi, ridimensiona semplicemente il volume logico e ridimensiona il filesystem su di esso. Ciò non richiede alcun tempo morto!
Estrae il tuo spazio di archiviazione dai tuoi dispositivi "fisici". Spostare le partizioni tra i dispositivi senza tempi di inattività o modifiche ai mountpoint / fstab è molto utile.
Sarebbe bello se Amazon consentisse di ridimensionare i volumi EBS al volo, ma con LVM non è così necessario.
se il tuo volume di root è il file system xfs, allora esegui questo comando xfs_growfs /