/dev/xvdb è effettivamente montato, devi controllare se vi è memorizzato qualcosa che vuoi conservare, anche se mantenere cose importanti su un'unità temporanea è DAVVERO una pessima idea.
Dovrai smontare /dev/xvdb prima di fare qualsiasi cosa con esso.
Mentre puoi
mkswap /dev/xvdb
creerà uno spazio di scambio dell'intera unità effimera, di cui quasi certamente non hai bisogno. Inoltre, se partizioni il tuo swap, puoi utilizzare il resto dell'unità temporanea per cose come la cartella tmp o l'archiviazione di sessioni (se il tuo host è un server web). Le unità effimere sono molto veloci, ma purtroppo non molto persistenti.
Comunque, torniamo a scambiare le partizioni!
Meglio sfdisk come menziona Abhishek, o creare manualmente una partizione di swap 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
Ora puoi creare il tuo spazio di scambio con
mkswap /dev/xvdb1
E poi abilitalo con
swapon /dev/xvdb1
Un avvertimento, tuttavia, e mi scuso se sto "insegnando alla nonna a succhiare le uova". Ma come suggerisce il nome, una pulsione effimera è... beh, effimera. Se chiudi l'istanza, dovrai ricreare la partizione di swap e abilitarla. Per questo motivo, non aggiungere il tuo spazio di swap appena creato al tuo fstab.
Tuttavia, il riavvio dovrebbe andare bene.
Ho creato uno script che potrebbe essere utile per creare swap su dispositivi effimeri. Utilizza lvm per creare il volume di scambio e crea anche un volume che potrebbe essere utile come /tmp. Potresti utilizzare cloud-init per attivarlo.
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 ]
Per prima cosa smonta la tua memoria permanente e rimontala come di seguito
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