virginia montar ec2 ebs east disco change aws linux file amazon-ec2 amazon-web-services

linux - montar - us east virginia aws



¿Puede conectar Amazon EBS a múltiples instancias? (8)

¿Por qué no creará una instancia con volumen y sshfs a ese volumen en otras instancias?

Actualmente usamos múltiples servidores web accediendo a un servidor mysql y al servidor de archivos. En cuanto a mudarme a la nube, ¿puedo usar esta misma configuración y conectar el EBS a múltiples instancias de máquina o qué otra solución?


Estoy bastante seguro de que no puedes, pero puedes clonar un EBS y adjuntarlo a otra instancia.

Esto es útil para conjuntos de datos fijos, o para probar datos ''reales'', pero no permite que más de 1 instancia opere en una sola tienda de bloques.


Hay algo en el mundo de TI conocido como Sistema de archivos agrupado, Redhat GFS, Oracle OCFS2, Veritas CFS ...


Múltiples servidores web que acceden al servidor y servidor de archivos MySQL es normal en AWS. Algunas de las mejores prácticas a seguir para la arquitectura mencionada son:

Punto 1) MySQL en EC2 se puede configurar como Maestro-Esclavo en modo asincrónico / semi sincronizado en AWS. Se recomienda EBS-OPT + PIOPS en RAID 0 para DB de alto rendimiento

Punto 2) Alternativamente, puede utilizar el modo Amazon RDS + Multi-AZ. Para la escala de lectura Se pueden adjuntar múltiples réplicas de lectura RDS a MySQL RDS.

Punto 3) El volumen de EBS no se puede adjuntar a múltiples EC2 simultáneamente. Puede crear un servidor de archivos basado en GlusterFS en Amazon EC2 usando EBS. Varios servidores web pueden hablar con un solo GlusterFS simultáneamente en AWS infra.

Punto 4) En caso de que su aplicación se pueda integrar con S3 como almacén de archivos, es preferible debido a la estabilidad que aporta a la arquitectura. También puede acceder a S3 utilizando herramientas como S3fuse y su aplicación.


No, de acuerdo con los documentos de EBS: "Un volumen solo se puede adjuntar a una instancia a la vez".

¿Cómo está usando el almacenamiento compartido actualmente? Si solo se trata de servir archivos desde el servidor de archivos, ¿ha considerado configurar un sistema para que pueda proxy ciertas solicitudes a un proceso en el servidor de archivos en lugar de que los servidores web sirvan esos archivos?


No, esto es como usar un disco duro en dos computadoras.

Si desea datos compartidos, puede configurar un servidor al que puedan acceder todas sus instancias. Si desea un área de almacenamiento simple para todas sus instancias, puede usar el servicio de almacenamiento S3 de Amazon para almacenar datos distribuidos y escalables.

Al pasar a la nube, puede tener la misma configuración exacta, pero posiblemente puede reemplazar el servidor de archivos con S3 o tener todas sus instancias conectadas a su servidor de archivos.

Tienes muchas opciones, pero compartir un disco duro entre instancias probablemente no sea la mejor opción.


Puede usar totalmente una unidad en varios servidores en AWS. Yo uso sshfs para montar una unidad externa y compartirla con varios servidores en EC2.

La razón por la que necesitaba conectar una sola unidad a varios servidores es tener un solo lugar para colocar todas mis copias de seguridad antes de bajarlas localmente.


ACTUALIZACIÓN (abril de 2015) : para este caso de uso, debería comenzar a buscar el nuevo sistema de archivos de Amazon Elastic (EFS) , que está diseñado para ser adjuntado de forma múltiple exactamente de la manera que usted lo desea. La diferencia clave entre EFS y EBS es que proporcionan diferentes abstracciones: EFS expone el protocolo NFSv4, mientras que EBS proporciona acceso de IO de bloque sin formato.

A continuación encontrará mi explicación original de por qué no es posible montar de forma segura un dispositivo de bloques sin formato en varias máquinas.

POSTAL ORIGINAL (2011):

Incluso si pudieras conectar un volumen de EBS a más de una instancia, sería un _REALLY_BAD_IDEA_. Para citar a Kekoa, "esto es como usar un disco duro en dos computadoras a la vez"

¿Por qué es esto una mala idea? ... La razón por la que no puede adjuntar un volumen a más de una instancia es porque EBS proporciona una abstracción de "almacenamiento en bloques" sobre la cual los clientes ejecutan un sistema de archivos como ext2 / ext3 / etc. La mayoría de estos sistemas de archivos (por ejemplo, ext2 / 3, FAT, NTFS, etc.) se escriben suponiendo que tienen acceso exclusivo al dispositivo de bloques. Dos instancias que acceden al mismo sistema de archivos casi con certeza terminarán en lágrimas y corrupción de datos.

En otras palabras, montar dos veces un volumen EBS solo funcionaría si estuviera ejecutando un sistema de archivos de clúster diseñado para compartir un dispositivo de bloques entre varias máquinas. Además, incluso esto no sería suficiente. EBS necesitaría ser probado para este escenario y para garantizar que ofrezca las mismas garantías de consistencia que otras soluciones de dispositivos de bloques compartidos ... es decir, que los bloques no se almacenan en caché en niveles intermedios no compartidos como el núcleo Dom0, capa Xen, y kernel DomU. Y luego están las consideraciones de rendimiento de la sincronización de bloques entre múltiples clientes: la mayoría de los sistemas de archivos en clúster están diseñados para trabajar en SAN dedicadas de alta velocidad, no en un ethernet básico de mejor esfuerzo. Suena muy simple, pero lo que estás pidiendo es algo muy trivial.

Alternativamente, vea si su escenario de intercambio de datos puede ser NFS, SMB / CIFS, SimpleDB o S3. Todas estas soluciones usan protocolos de capa superior que están destinados a compartir archivos sin tener un subsistema de dispositivo de bloque compartido. Muchas veces esa solución es en realidad más eficiente.

En su caso, aún puede tener una única instancia / servidor de archivos MySql a la que accedan varios front-ends web. Ese servidor de archivos podría almacenar sus datos en un volumen de EBS, lo que le permite realizar copias de seguridad de instantáneas nocturnas. Si se pierde la instancia que ejecuta el servidor de archivos, puede desconectar el volumen de EBS y volver a conectarlo a una nueva instancia del servidor de archivos y realizar una copia de seguridad en minutos.

"¿Hay algo como S3 como sistema de archivos?" - si y no. Sí, hay soluciones de terceros como s3fs que funcionan "bien", pero aún tienen que realizar llamadas de servicio web relativamente caras para cada lectura / escritura. Para un directorio de herramientas compartidas, funciona muy bien. Para el tipo de uso agrupado de FS que ve en el mundo de HPC, no es una oportunidad. Para hacerlo mejor, necesitaría un nuevo servicio que proporcione un protocolo binario orientado a la conexión, como NFS. Ofrecer un sistema de archivos de montaje múltiple con un rendimiento y comportamiento razonables sería un GRAN complemento de funciones para EC2. Durante mucho tiempo he sido un defensor de Amazon para construir algo así.