Merge "Use swapfile if no extra device is present"
This commit is contained in:
commit
dd63186f66
21
make_swap.sh
21
make_swap.sh
@ -21,13 +21,14 @@ if [ `grep SwapTotal /proc/meminfo | awk '{ print $2; }'` -eq 0 ]; then
|
|||||||
elif [ -b /dev/xvde ]; then
|
elif [ -b /dev/xvde ]; then
|
||||||
DEV='/dev/xvde'
|
DEV='/dev/xvde'
|
||||||
fi
|
fi
|
||||||
|
SWAPFILE=/swapfile
|
||||||
|
MEMKB=`grep MemTotal /proc/meminfo | awk '{print $2; }'`
|
||||||
|
# Use the nearest power of two in MB as the swap size.
|
||||||
|
# This ensures that the partitions below are aligned properly.
|
||||||
|
MEM=`python3 -c "import math ; print(2**int(round(math.log($MEMKB/1024, 2))))"`
|
||||||
|
|
||||||
# Avoid using config drive device for swap
|
# Avoid using config drive device for swap
|
||||||
if [ -n "$DEV" ] && ! blkid | grep $DEV | grep TYPE ; then
|
if [ -n "$DEV" ] && ! blkid | grep $DEV | grep TYPE ; then
|
||||||
MEMKB=`grep MemTotal /proc/meminfo | awk '{print $2; }'`
|
|
||||||
# Use the nearest power of two in MB as the swap size.
|
|
||||||
# This ensures that the partitions below are aligned properly.
|
|
||||||
MEM=`python3 -c "import math ; print(2**int(round(math.log($MEMKB/1024, 2))))"`
|
|
||||||
if mount | grep ${DEV} > /dev/null; then
|
if mount | grep ${DEV} > /dev/null; then
|
||||||
echo "*** ${DEV} appears to already be mounted"
|
echo "*** ${DEV} appears to already be mounted"
|
||||||
echo "*** ${DEV} unmounting and reformating"
|
echo "*** ${DEV} unmounting and reformating"
|
||||||
@ -61,6 +62,16 @@ if [ `grep SwapTotal /proc/meminfo | awk '{ print $2; }'` -eq 0 ]; then
|
|||||||
perl -nle "m,${DEV}, || print" -i /etc/fstab
|
perl -nle "m,${DEV}, || print" -i /etc/fstab
|
||||||
echo "${DEV}1 none swap sw 0 0" >> /etc/fstab
|
echo "${DEV}1 none swap sw 0 0" >> /etc/fstab
|
||||||
echo "${DEV}2 /opt ext4 errors=remount-ro,barrier=0 0 2" >> /etc/fstab
|
echo "${DEV}2 /opt ext4 errors=remount-ro,barrier=0 0 2" >> /etc/fstab
|
||||||
mount -a
|
elif [ ! -f "$SWAPFILE" ] ; then
|
||||||
|
# We don't have real devices to use so we make a swap file instead.
|
||||||
|
# Note you can skip this by precreating /swapfile.
|
||||||
|
# bs here is 1Mb
|
||||||
|
sudo dd if=/dev/zero of=${SWAPFILE} bs=1048576 count=${MEM}
|
||||||
|
sudo chown root:root $SWAPFILE
|
||||||
|
sudo chmod 600 $SWAPFILE
|
||||||
|
sudo mkswap $SWAPFILE
|
||||||
|
echo "${SWAPFILE} none swap sw 0 0" >> /etc/fstab
|
||||||
fi
|
fi
|
||||||
|
swapon -a
|
||||||
|
mount -a
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user