Tema 2 · 4 · EBS: snapshot, mover el disco a otra máquina y ampliarlo
Presentación del Tema 2: «Laboratorio almacenamiento en bloque - 2» y «Laboratorio de bloques · paso a paso». Duración: unos 45 minutos. Coste: la máquina Windows cuesta unos 0,19 USD/hora; un volumen desconectado sigue facturando.
Etiquetas de lo que creas. Todo recurso que crees a mano (máquina, volumen, bucket, base de datos, tabla, función...) ponle estas etiquetas, al crearlo (apartado Tags / Etiquetas) o después desde su pestaña de etiquetas:
curso=G214,universidad=CUNEFyactividad=02.04-EBSSnapshotDetachAmpliar. Si algún día hay que borrar recursos a mano, se localizan todos de golpe conaws resourcegroupstaggingapi get-resources --region eu-north-1 --tag-filters Key=actividad,Values=02.04-EBSSnapshotDetachAmpliar. Más detalle (cómo etiquetar con la CLI, cómo buscar y qué hacer en una emergencia): README principal, sección «Etiquetas».
Qué vas a hacer
Con el Windows y el disco de 8 GB del laboratorio anterior, comprobar las propiedades que hacen útil un volumen EBS:
- Hacer un snapshot (copia incremental que vive en S3).
- Desconectar el disco de Windows, conectarlo a otra máquina Linux y ver que tu fichero sigue ahí: el disco es independiente de la máquina.
- Comprobar que EBS es zonal: un volumen creado desde el snapshot en otra zona no se puede conectar a la instancia original.
- Ampliar el volumen de 8 a 12 GB «en caliente» y extender la partición desde el sistema operativo.
- Calcular cuánto cuesta.
Esta carpeta no tiene ficheros. Guía con capturas: Anexo - Tema 2 - Guías de creación de recursos.docx (apartado 7).
Qué se crea en AWS
Un snapshot, una instancia Linux t3.micro (Amazon Linux 2023), un volumen creado desde el snapshot en otra zona y, después, la ampliación del volumen original a 12 GB. Todo se borra al final.
Antes de empezar
- [ ] Has hecho
02.03-EBSWindowsFormatearDisco.md: la instancia Windows está en marcha,D:formateado y conD:\Prueba.txt. - [ ] Región eu-north-1. Anota la zona de disponibilidad de la instancia Windows (EC2 → Instances, columna Availability zone, por ejemplo
eu-north-1a).
Paso a paso
Paso 1 · Escribe un fichero y crea un snapshot
- En Windows, comprueba que existe
D:\Prueba.txt. - EC2 → Elastic Block Store → Snapshots → Create snapshot: tipo Volume y elige el volumen de 8 GB.
Qué verás: el snapshot pasa a Completed. Es una copia incremental que vive en S3; solo paga lo realmente ocupado.
Paso 2 · Desconecta el disco y llévalo a una máquina Linux
- En Windows: Disk Management → clic derecho sobre el disco (la cabecera, «Disk 1») → Offline. Así Windows vacía su caché y el sistema de archivos queda consistente.
- Lanza una segunda instancia Linux (Amazon Linux 2023,
t3.micro) en la misma zona de disponibilidad que el volumen. Entra con el botón Connect (EC2 Instance Connect; si no conecta, mira el apartado 2.1 de01.01-CrearYConectarVM.md). - EC2 → Volumes → selecciona el volumen de 8 GB → Actions → Detach volume. Cuando esté Available: Actions → Attach volume → la instancia Linux.
- En la máquina Linux:
lsblk -f
sudo mkdir -p /mnt/win && sudo mount -t ntfs3 /dev/nvme1n1p2 /mnt/win
ls /mnt/win
sudo umount /mnt/win
Qué verás: lsblk -f muestra la partición ntfs (suele ser nvme1n1p2). En Amazon Linux 2023 hay que indicar el controlador con -t ntfs3: sin él, mount falla con unknown filesystem type ntfs. No hace falta instalar nada. ls debe enseñar Prueba.txt (en Linux importan las mayúsculas): el disco conserva tus datos aunque cambie de máquina.
Paso 3 · Devuélvelo a Windows
- Tras
umount, EC2 → Volumes → Detach volume y después Attach volume a la instancia Windows. - En Windows el disco aparece Offline (Windows recuerda el estado): en Disk Management, clic derecho sobre el disco → Online (o en PowerShell:
Set-Disk -Number 1 -IsOffline $false).
Qué verás: D: y Prueba.txt siguen ahí.
Paso 4 · Prueba el límite de zona
- Crea un volumen desde el snapshot en otra zona de disponibilidad (Snapshots → el snapshot → Create volume from snapshot → zona distinta a la de la instancia Windows).
- Intenta conectarlo a la instancia Windows (Volumes → Attach volume).
Qué verás: la instancia no aparece en la lista (por API daría InvalidVolume.ZoneMismatch): EBS es zonal. Para mover un volumen de zona se hace un snapshot y un volumen nuevo en la zona de destino.
Paso 5 · Amplía el volumen de 8 a 12 GB
Son dos pasos:
- EC2 → Volumes → selecciona el volumen de 8 GB → Actions → Modify volume → Size 12 GiB → Modify. Solo se puede ampliar, nunca reducir, y hay que esperar a que el estado salga de optimizing antes de otro cambio.
- En Windows: Disk Management → clic derecho en D: → Extend Volume → Next → Finish.
- Si Extend Volume sale en gris: menú Action → Rescan Disks.
- O en PowerShell:
Resize-Partition -DriveLetter D -Size (Get-PartitionSupportedSize -DriveLetter D).SizeMax. - Si sigue en gris tras ampliar, abre PowerShell como administrador y ejecuta
Update-HostStorageCacheantes deResize-Partition(obliga a Windows a releer el tamaño del disco).
Qué verás: D: pasa de 7,98 GB a unos 11,98 GB.
Paso 6 · Calcula el coste
En https://calculator.aws (región Europe (Stockholm)): un volumen gp3 de 12 GB y su snapshot. Precio de referencia: el volumen gp3 de 12 GB cuesta unos 1,01 USD/mes y el snapshot unos 0,0475 USD por GB-mes sobre lo realmente ocupado. Los precios cambian: verifícalos en la calculadora.
Errores frecuentes
| Síntoma | Causa | Solución |
|---|---|---|
| No puedo conectar el volumen a la instancia Linux | Está en otra zona | Crea la instancia Linux en la misma zona del volumen |
mount: unknown filesystem type 'ntfs' |
Amazon Linux 2023 necesita el controlador explícito | sudo mount -t ntfs3 /dev/nvme1n1p2 /mnt/win |
| El disco aparece Offline al volver a Windows | Windows recuerda el estado | Clic derecho → Online |
| Extend Volume en gris | Windows aún no ha releído el tamaño | Action → Rescan Disks, o Update-HostStorageCache en PowerShell |
| Modify volume no me deja otro cambio | El volumen sigue en optimizing | Espera a que termine |
Limpieza (importante: todo sigue facturando)
- Terminar las dos instancias (Windows y Linux) y esperar a Terminated.
- EC2 → Volumes → Delete volume de todos los volúmenes que queden (el de 12 GB y el creado en la otra zona).
- EC2 → Snapshots → Delete snapshot.
- Borra el Security Group y el par de claves.
Cómo sabes que has terminado
- [ ] Viste
Prueba.txtdesde Linux y volviste a verlo desde Windows. - [ ] Probaste que el volumen de otra zona no se conecta y sabes por qué (EBS es zonal).
- [ ]
D:mide unos 12 GB tras ampliar. - [ ] No queda ninguna instancia, volumen ni snapshot en EC2.
Anterior: 02.03-EBSWindowsFormatearDisco.md · Siguiente: 02.05-EFSCarpetaCompartida.md