Si alguna vez te has quedado sin espacio con una Ami basada en un EBS ó con un EBS mismo que has asignado a una máquina, con este procedimiento podrás ampliar el espacio sin problemas:
- Desmontar el volumen
#umount /dev/sdg1
- Creamos el snapshot del volumen
$ ec2-create-snapshot vol-XXXXX
- Utilizando el comando obtendremos una lista de los snapshots que hay hechos (ya que puede haber más de uno)
$ ec3-describe-snapshots Resultado: # ec2-describe-snapshots SNAPSHOT snap-2cfxxxxx vol-1b5xxxxx completed 2012-05-03T16:53:20+0000 100% 112753036280 30 Created by CreateImage(i-07bxxxxx) for ami-398xxxxx from vol-1bxxxxx
- Creamos nuestro nuevo volúmen de mayor basándonos en el snapshot hecho en el paso anterior.
$ ec2-create-volume --availability-zone eu-west-1b --size 2 --snapshot snap-xxxxx
NOTA: Recuerda en el momento de crear el nuevo volúmen, que la zona debe ser la misma
- Hacemos un “attach” de nuestro nuevo volúmen a la máquina
$ ec2-attach-volume vol-360eea5f -i i-7b648e12 -d /dev/sdg1 NOTA: El punto de montura tiene que ser el mismo que estábamos utilizando.
- Recreamos nuestra partición:
# (ec2-host) fdisk /dev/sdg
Ejecución:
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p ----> Imprime un listado de las particiones
Disk /dev/sdg: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc43929c4
Device Boot Start End Blocks Id System
/dev/sdg1 1 130 1044193+ 83 Linux
Command (m for help): d ----> Elimina una partición
Selected partition 1
Command (m for help): p
Disk /dev/sdg: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc43929c4
Device Boot Start End Blocks Id System
Command (m for help): n ----> Crea una nueva partición
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-391, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-391, default 391):
Using default value 391
Command (m for help): p
Disk /dev/sdg: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc43929c4
Device Boot Start End Blocks Id System
/dev/sdg1 1 391 3140676 83 Linux
Command (m for help): w ----> Guarda los cambios
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
- Antes de hacer el resize comprobamos el disco por si algo se hubiese corrompido:
# (ec2-host) e2fsck -f /dev/sdg1 Resultado: # e2fsck -f /dev/sdg1 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sdg1: 12/65280 files (0.0% non-contiguous), 8529/261048 blocks
- Aplicamos el “resize”
# (ec2-host) resize2fs -p /dev/sdg1 Resultado: resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/sdg1 to 785169 (4k) blocks. The filesystem on /dev/sdg1 is now 785169 blocks long. /dev/sdg1 3.0G 18M 2.8G 1% /mnt/temporal
- Comprobamos nuestro volúmen nuevamente
# (ec2-host) e2fsck -f /dev/sdg1 Resultado: # e2fsck -f /dev/sdg1 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sdg1: 12/195840 files (0.0% non-contiguous), 16786/785169 blocks
- Por último, lo montamos otra vez.
# (ec2-host) mount /dev/sdg1 /mnt/temporal