Volúmenes de intercambio de almacén de instancias - Amazon Elastic Compute Cloud

Volúmenes de intercambio de almacén de instancias

El espacio de intercambio en Linux puede utilizarse cuando un sistema necesita más memoria que la que tiene asignada físicamente. Cuando se habilita el espacio de intercambio, los sistemas Linux pueden intercambiar páginas de memoria que se utilizan con poca frecuencia de la memoria física al espacio de intercambio (una partición especial o un archivo de intercambio en un sistema de archivos existente) y liberar ese espacio para las páginas de memoria que requieren acceso de alta velocidad.

nota

El uso del espacio de intercambio para las páginas de memoria no es tan rápido ni eficiente como utilizar RAM. Si la carga de trabajo pagina memoria con regularidad en el espacio de intercambio, debería pensar en la posibilidad de migrarlo a un tipo de instancia de mayor tamaño con más RAM. Para obtener más información, consulte Cambie el tipo de instancia.

Los tipos de instancias c1.medium y m1.small tienen una cantidad limitada de memoria física con la que trabajar, y disponen de un volumen de intercambio de 900 MiB durante su inicialización para actuar como memoria virtual para las AMIs de Linux. Aunque el kernel de Linux considera este espacio de intercambio como una partición en el dispositivo raíz, en realidad es un volumen de almacén de instancias distinto, sin importar el tipo de dispositivo raíz.

Amazon Linux habilita y utiliza automáticamente este espacio de intercambio, pero es posible que la AMI necesite algunos pasos adicionales para reconocer y utilizar este espacio de intercambio. Para comprobar si la instancia utiliza el espacio de intercambio, puede utilizar el comando swapon -s.

[ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

La instancia anterior tiene adjuntado y habilitado un volumen de intercambio de 900 MiB. Si no ve un volumen de intercambio con este comando, es posible que tenga que habilitar el espacio de intercambio del dispositivo. Para comprobar los discos disponibles, utilice el comando lsblk.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk

Aquí, está disponible el volumen de intercambio xvda3 para la instancia, pero no está habilitado (fíjese en que el campo MOUNTPOINT está vacío). Puede habilitar el volumen de intercambio con el comando swapon.

nota

Tiene que colocar /dev/ como prefijo en el nombre del dispositivo que aparece con el comando lsblk. Es posible que su dispositivo tenga otro nombre, como sda3, sde3 o xvde3. Utilice el nombre de dispositivo de su sistema en el siguiente comando.

[ec2-user ~]$ sudo swapon /dev/xvda3

Ahora, el espacio de intercambio debería aparecer en la salida de lsblk y swapon -s.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk [SWAP] [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

También tiene que editar el archivo /etc/fstab para que este espacio de intercambio se habilite automáticamente en cada arranque del sistema.

[ec2-user ~]$ sudo vim /etc/fstab

Adjunte la siguiente línea al archivo /etc/fstab (utilizando el nombre del dispositivo de intercambio del sistema):

/dev/xvda3 none swap sw 0 0
Para utilizar un volumen de almacén de instancias como espacio de intercambio

Se puede utilizar cualquier volumen de almacén de instancias como espacio de intercambio. Por ejemplo, el tipo de instancia m3.medium incluye un volumen de almacén de instancias SSD de 4 GB que es apropiado para el espacio de intercambio. Si el volumen de almacén de instancias es mucho mayor (por ejemplo, 350 GB), puede pensar en la posibilidad de particionar el volumen con una partición de intercambio menor de 4-8 GB y el resto para un volumen de datos.

nota

Este procedimiento solo se aplica a los tipos de instancias que admiten el almacenamiento de instancias. Para ver una lista de los tipos de instancia admitidos, consulte Volúmenes de almacén de instancias.

  1. Muestre los dispositivos de bloques adjuntados a la instancia para obtener el nombre de dispositivo del volumen de almacén de instancias.

    [ec2-user ~]$ lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/xvdb 202:16 0 4G 0 disk /media/ephemeral0 /dev/xvda1 202:1 0 8G 0 disk /

    En este ejemplo, el volumen de almacén de instancias es /dev/xvdb. Dado que se trata de una instancia de Amazon Linux, el volumen de almacén de instancias se formatea y se monta en /media/ephemeral0, aunque no todos los sistemas operativos Linux hacen esto automáticamente.

  2. (Opcional) Si el volumen de almacén de instancias está montado (muestra un MOUNTPOINT en la salida del comando lsblk), tiene que desmontarlo con el siguiente comando.

    [ec2-user ~]$ sudo umount /dev/xvdb
  3. Configure un área de intercambio de Linux en el dispositivo mediante el comando mkswap.

    [ec2-user ~]$ sudo mkswap /dev/xvdb mkswap: /dev/xvdb: warning: wiping old ext3 signature. Setting up swapspace version 1, size = 4188668 KiB no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
  4. Habilite el espacio de intercambio.

    [ec2-user ~]$ sudo swapon /dev/xvdb
  5. Compruebe que el nuevo espacio de intercambio se está utilizando.

    [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvdb partition 4188668 0 -1
  6. Edite el archivo /etc/fstab para que este espacio de intercambio se habilite automáticamente en cada arranque del sistema.

    [ec2-user ~]$ sudo vim /etc/fstab

    Si el archivo /etc/fstab tiene una entrada para /dev/xvdb (o /dev/sdb), cámbiela para que se corresponda con la siguiente línea; si no tiene una entrada para este dispositivo, adjunte la siguiente línea al archivo /etc/fstab (utilizando el nombre del dispositivo de intercambio del sistema):

    /dev/xvdb none swap sw 0 0
    importante

    Los datos de los volúmenes del almacén de instancias se pierden cuando una instancia se detiene o hiberna; esto incluye el formato del espacio de intercambio de almacenes de instancias creado en Paso 3. Si detiene y reinicia una instancia que se ha configurado para utilizar el espacio de intercambio del almacén de instancias, debe repetir Paso 1 a Paso 5 en el nuevo volumen de almacén de instancias.