/dev/xvdb está realmente montado, debe verificar si hay algo almacenado allí que desee conservar, aunque mantener cosas importantes en un disco efímero es una REALMENTE mala idea.
Deberá desmontar /dev/xvdb antes de hacer algo con él.
Mientras puedas
mkswap /dev/xvdb
creará un espacio de intercambio de todo el disco efímero, que seguramente no necesitará. Además, si divide su intercambio, puede usar el resto de la unidad efímera para cosas como la carpeta tmp o el almacenamiento de sesiones (si su host es un servidor web). Las unidades efímeras son muy rápidas, pero lamentablemente no muy persistentes.
De todos modos, ¡volvamos a intercambiar particiones!
Es mejor usar sfdisk como menciona Abhishek, o crear manualmente una partición de intercambio usando 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 habilitarlo con
swapon /dev/xvdb1
Sin embargo, una palabra de advertencia, y me disculpo si estoy "enseñando a la abuela a chupar huevos". Pero como su nombre lo indica, un impulso efímero es... bueno, efímero. Si alguna vez apaga su instancia, tendrá que volver a crear su partición de intercambio y habilitarla. Por esta razón, no agregue su espacio de intercambio recién creado a su fstab.
Sin embargo, reiniciar debería estar bien.
Creé un script que puede ser útil para crear intercambios 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ía 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 permanente y vuelva a montarlo como se muestra 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