|
Como alguien que solía trabajar en Microsistemas solaresdónde ZFS se inventó, siempre me ha encantado trabajar con sistemas de almacenamiento que ofrecen copias en volumen instantáneas para mis necesidades de desarrollo y pruebas.
Hoy, me complace compartir que AWS está brindando capacidades similares a Amazon Elastic Block Store (Amazon EBS) con el lanzamiento de Amazon EBS Volume Clones, una nueva capacidad que le permite crear copias instantáneas en un momento dado de sus volúmenes de EBS dentro de la misma zona de disponibilidad.
Muchos clientes necesitan crear copias de sus datos de producción para respaldar las actividades de desarrollo y prueba en un entorno separado que no es de producción. Hasta ahora, este proceso requería tomar una instantánea de EBS (almacenada en Amazon Simple Storage Service (Amazon S3)) y luego crear un nuevo volumen a partir de esa instantánea. Aunque este enfoque funciona, el proceso genera una sobrecarga operativa debido a los múltiples pasos.
Con Amazon EBS Volume Clones, ahora puede crear copias de sus volúmenes de EBS con una sola llamada API o un clic en la consola. Los volúmenes copiados están disponibles en segundos y brindan acceso inmediato a sus datos con una latencia de milisegundos de un solo dígito. Esto hace que Volume Clones sea particularmente útil para configurar rápidamente entornos de prueba con datos de producción o crear copias temporales de bases de datos con fines de desarrollo.
Déjame mostrarte cómo funciona Volume Clones
Para esta publicación, creé una pequeña instancia de Amazon Elastic Compute Cloud (Amazon EC2), con un volumen adjunto. Creé un archivo en el sistema de archivos raíz con el comando echo "Hello CopyVolumes" > hello.txt
.
Para iniciar la copia, abro un navegador en la Consola de administración de AWS y navego hasta EC2, Tienda de bloques elásticos, Volúmenes. Selecciono el volumen que quiero copiar.
Tenga en cuenta que, en el momento de la publicación de esta publicación, solo se pueden copiar volúmenes cifrados.
en el Comportamiento menú, elijo el Copiar volumen opción.
A continuación, elijo los detalles del volumen objetivo. puedo cambiar el tipo de volumen y ajustar el Tamaño, IOPSy Rendimiento parámetros. yo elijo Copiar volumen para iniciar la operación de clonación de volumen.
El volumen copiado entra en el Creando estado y estará disponible en segundos. Luego puedo adjuntarlo a una instancia EC2 y comenzar a usarlo inmediatamente.
Los bloques de datos se copian del volumen de origen y se escriben en la copia del volumen en segundo plano. El volumen permanece en el Inicializando estado hasta que se complete el proceso. Puedo monitorear su progreso con el describe-volume-status
API. La operación de inicialización no afecta el rendimiento del volumen de origen. Puedo seguir usándolo normalmente durante el proceso de copia.
Me encanta que el volumen copiado esté disponible de inmediato. No necesito esperar a que se complete su inicialización. Durante la fase de inicialización, mi volumen copiado ofrece un rendimiento basado en el más bajo de: una línea base de 3000 IOPS y 125 MiB/s, el rendimiento aprovisionado del volumen de origen o el rendimiento aprovisionado del volumen copiado.
Una vez completada la inicialización, el volumen copiado se vuelve completamente independiente del volumen de origen y ofrece su rendimiento completo.
Alternativamente, puedo usar la interfaz de línea de comandos de AWS (AWS CLI) para iniciar la copia:
aws ec2 copy-volumes \
--source-volume-id vol-1234567890abcdef0 \
--size 500 \
--volume-type gp3
Una vez creada la copia del volumen, la adjunto a mi instancia EC2 y la monto. Puedo comprobar que el archivo que creé al inicio está presente.
Primero, conecto el volumen desde mi computadora portátil, usando el attach-volume
dominio:
aws ec2 attach-volume \
--volume-id 'vol-09b700e3a23a9b4ad' \
--instance-id 'i-079e6504ad25b029e' \
--device '/dev/sdb'
Luego, me conecto a la instancia y escribo estos comandos:
$ sudo lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1 xfs / 49e26d9d-0a9d-4667-b93e-a23d1de8eacd 6.2G 22% /
└─nvme0n1p128 vfat FAT16 3105-2F44 8.6M 14% /boot/efi
nvme1n1
├─nvme1n1p1 xfs / 49e26d9d-0a9d-4667-b93e-a23d1de8eacd
└─nvme1n1p128 vfat FAT16 3105-2F44
$ sudo mount -t xfs /dev/nvme1n1p1 /data
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 924M 0 924M 0% /dev/shm
tmpfs 370M 476K 369M 1% /run
/dev/nvme0n1p1 8.0G 1.8G 6.2G 22% /
tmpfs 924M 0 924M 0% /tmp
/dev/nvme0n1p128 10M 1.4M 8.7M 14% /boot/efi
tmpfs 185M 0 185M 0% /run/user/1000
/dev/nvme1n1p1 8.0G 1.8G 6.2G 22% /data
$ cat /data/home/ec2-user/hello.txt
Hello CopyVolumes
Cosas que debes saber
Volume Clones crea copias dentro de la misma zona de disponibilidad que su volumen de origen. Puede crear copias únicamente a partir de volúmenes cifrados y el tamaño de su copia debe ser igual o mayor que el volumen de origen.
Volume Clones crea copias consistentes de sus volúmenes, exactamente como instantáneas. Para lograr coherencia en la aplicación, debe pausar las operaciones de E/S de la aplicación antes de crear la copia. Por ejemplo, con las bases de datos PostgreSQL, puede utilizar el pg_start_backup()
y pg_stop_backup()
funciones para pausar escrituras y crear una copia consistente. A nivel de sistema operativo en Linux con XFS, puedes usar el xfs_freeze
comando para suspender y reanudar temporalmente el acceso al sistema de archivos y garantizar que todas las actualizaciones almacenadas en caché se escriban en el disco.
Aunque Volume Clones crea copias de un momento dado, complementa, en lugar de reemplazar, las instantáneas de EBS con fines de respaldo. Las instantáneas de EBS siguen siendo la solución recomendada para la copia de seguridad de datos y la protección contra fallas de volumen y nivel AZ. Las instantáneas proporcionan copias de seguridad incrementales en Amazon S3 con 11 nueves de durabilidad, en comparación con los clones de volumen, que mantienen la durabilidad del volumen de EBS (99,999 % para io2, 99,9 % para otros tipos de volúmenes). Considere la posibilidad de utilizar clones de volumen específicamente para escenarios de entornos de prueba y desarrollo en los que necesite acceso instantáneo a copias de volúmenes.
Los volúmenes copiados existen independientemente de sus volúmenes de origen y continúan generando cargos por volumen estándar de EBS hasta que los elimine. Para gestionar los costos de forma eficaz, implemente reglas de gobernanza para identificar y eliminar los volúmenes copiados que ya no son necesarios para sus actividades de desarrollo o prueba.
Precios y disponibilidad
Volume Clones admite todos los tipos de volúmenes de EBS y funciona con volúmenes en la misma cuenta de AWS y zona de disponibilidad. Esta nueva capacidad está disponible en todas las regiones comerciales de AWS, zonas locales seleccionadas y en AWS GovCloud (EE. UU.).
En cuanto a los precios, se le cobra una tarifa única por GiB de datos en el volumen de origen al inicio y el precio estándar de EBS para el nuevo volumen.
Considero que Volume Clones es particularmente valioso para cargas de trabajo de bases de datos y escenarios de integración continua (CI). Por ejemplo, puede crear rápidamente una copia de su base de datos de producción para probar nuevas funciones o solucionar problemas sin afectar su entorno de producción ni esperar a que los datos se hidraten desde Amazon S3.
Para comenzar con los clones de volumen de Amazon EBS, visite la sección de Amazon EBS en la consola o consulte la documentación de EBS. Espero saber cómo utiliza esta capacidad para mejorar sus flujos de trabajo de desarrollo.