¿Cómo puedo crear una partición de intercambio en Amazon EC2 con almacenamiento efímero?

Esta es la salida de df -k :

 Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 10317860 7059008 2734732 73% / none 847584 0 847584 0% /dev/shm /dev/xvdb 153899044 192068 145889352 1% /mnt/ephemeral 

Estoy usando la imagen de arranque de Centos EBS.

He leído varias preguntas con respecto a esto pero dicen para montar la nueva unidad. Pero creo que la unidad ya está montada en /dev/xvdb . ¿Estoy en lo correcto?

¿Puedo usar esto:

 mkswap -f /dev/xvdb #add in /etc/fstab /dev/xvdb swap swap defaults 0 0 swapon /dev/xvdb 

¿Funcionará?

/ Dev / xvdb está realmente montado, usted necesita comprobar para ver si hay algo almacenado en que desea mantener, aunque mantener cosas importantes en una unidad efímera es una idea muy mala.

Tendrás que desmontar / dev / xvdb antes de hacer nada con él.

Mientras puedas

 mkswap /dev/xvdb 

Se hará un espacio de intercambio de toda la unidad efímera, que es casi seguro que no es necesario. Además, si particiona su swap, puede usar el resto de la unidad efímera para cosas como la carpeta tmp, o almacenar sesiones (si su host es un servidor web). Los impulsos efímeros son muy rápidos, pero tristemente no muy persisent.

De todos modos, volver a intercambiar particiones!

Mejor que sea sfdisk como menciones Abhishek, o manualmente crear una partición de intercambio con fdisk:

 fdisk /dev/xvdb Press N to create a new partition P for primary 1 for the first partition Press Enter to accept the first location Enter +xG where x is the size of the swapspace you want. I typically use twice the amount of RAM, but this is not a hard and fast rule Enter T to change the type Enter 82 for Linux Swap Enter W to write the changes Enter q to quit 

Ahora puede crear su espacio de intercambio con

 mkswap /dev/xvdb1 

Y luego habilítelo con

 swapon /dev/xvdb1 

Una palabra de advertencia sin embargo, y me disculpo Si Im "Enseñando a la abuelita a chupar huevos" Pero como su nombre lo indica, una unidad efímera es … bueno, efímera. Si alguna vez cierra su instancia, tendrá que volver a crear su partición de intercambio y activarla. Por esta razón, no agregue su espacio de intercambio recién creado a su fstab.

Reiniciar debe estar bien sin embargo.

He creado un script que puede ser útil para crear swap en dispositivos efímeros. Utiliza lvm para crear el volumen de intercambio y también crea un volumen que podría ser útil como / tmp. Podrías usar cloud-init para activarlo.

 bootcmd: - [ cloud-init-per, once, mk-eph, /usr/local/sbin/mk-eph.sh] # Filesystem setup fs_setup: - label: 'tmp' filesystem: 'xfs' device: '/dev/ephemeral/tmp' partition: 'auto' mounts: - [ /dev/ephemeral/tmp, /tmp, auto, "defaults,nobootwait" ] - [ ephemeral0, null ] runcmd: - [ chmod, 1777, /tmp ] 

Primero desmonte su almacenamiento de epermal y vuelva a montar como a continuación

  umount /dev/xvdb # in case it is already mounted sfdisk /dev/xvdb << EOF ,1024,82 , ; ; EOF mkswap /dev/xvdb1 && swapon /dev/xvdb1 mkfs.xfs -f /dev/xvdb2 && mount /dev/xvdb2 /mnt