blog/content/posts/2015/09/02/swap-on-temp-disk.md
2022-06-25 08:47:06 +01:00

46 lines
1.4 KiB
Markdown

---
title: When life gives you temp space - make lemonade !
date: 2015-09-02 20:00:24
tags: [cloud, azure, linux]
---
Some VPS providers, e.g. Azure provide you with 2 disk drives for
your VPSes. One, of very limited size, system disk, and the other one,
spacy but with not guarantees that the data survives reboot. Basically
it means that you can have a small VPS, with a small amount of RAM but
large temp disk space. Why this could be useful ? Imagine tasks with
lots of mem requirements but that not need to be extra fast, where
swapping is allowed. Like complex nightly builds. Here is a set of super
simple scripts I've come up with to quickly boot up a system, and then
in the background add a new swap file on the temp drive there. The temp
drive is assumed to be under /mnt.
```
root@someazurehost:~# cat /etc/rc.local
#!/bin/sh -e
set -v
# do not wait for swap to become online,
# proceed with the boot further,
# with swap being created in the background
/etc/make_and_enable_swap &
exit 0
```
```
root@someazurehost:~# cat /etc/make_and_enable_swap
#!/bin/sh
set -e
set -v
# create new 2GB swap file
dd if=/dev/zero of=/mnt/swap bs=1M count=2048
chmod 0600 /mnt/swap
mkswap /mnt/swap
swapon /mnt/swap
```
Don't forget to make `/etc/make_and_enable_swap` executable !
Do not add this swap file to fstab, as it is being read before rc.local,
and this may certainly result in a boot failure, as the swap file would
not be ready yet.