backup swap is not required anymore
This commit is contained in:
@@ -4,7 +4,6 @@ set -eu -o pipefail
|
|||||||
|
|
||||||
readonly USER_HOME="/home/yellowtent"
|
readonly USER_HOME="/home/yellowtent"
|
||||||
readonly APPS_SWAP_FILE="/apps.swap"
|
readonly APPS_SWAP_FILE="/apps.swap"
|
||||||
readonly BACKUP_SWAP_FILE="/backup.swap" # used when doing app backups
|
|
||||||
readonly USER_DATA_FILE="/root/user_data.img"
|
readonly USER_DATA_FILE="/root/user_data.img"
|
||||||
readonly USER_DATA_DIR="/home/yellowtent/data"
|
readonly USER_DATA_DIR="/home/yellowtent/data"
|
||||||
|
|
||||||
@@ -23,7 +22,6 @@ readonly swap_size="${physical_memory}" # if you change this, fix enoughResource
|
|||||||
readonly app_count=$((${physical_memory} / 200)) # estimated app count
|
readonly app_count=$((${physical_memory} / 200)) # estimated app count
|
||||||
readonly disk_size_gb=$(fdisk -l ${disk_device} | grep "Disk ${disk_device}" | awk '{ print $3 }')
|
readonly disk_size_gb=$(fdisk -l ${disk_device} | grep "Disk ${disk_device}" | awk '{ print $3 }')
|
||||||
readonly disk_size=$((disk_size_gb * 1024))
|
readonly disk_size=$((disk_size_gb * 1024))
|
||||||
readonly backup_swap_size=1024
|
|
||||||
readonly system_size=10240 # 10 gigs for system libs, apps images, installer, box code and tmp
|
readonly system_size=10240 # 10 gigs for system libs, apps images, installer, box code and tmp
|
||||||
readonly ext4_reserved=$((disk_size * 5 / 100)) # this can be changes using tune2fs -m percent /dev/vda1
|
readonly ext4_reserved=$((disk_size * 5 / 100)) # this can be changes using tune2fs -m percent /dev/vda1
|
||||||
|
|
||||||
@@ -32,8 +30,7 @@ echo "Physical memory: ${physical_memory}"
|
|||||||
echo "Estimated app count: ${app_count}"
|
echo "Estimated app count: ${app_count}"
|
||||||
echo "Disk size: ${disk_size}"
|
echo "Disk size: ${disk_size}"
|
||||||
|
|
||||||
# Allocate two sets of swap files - one for general app usage and another for backup
|
# Allocate swap for general app usage
|
||||||
# The backup swap is setup for swap on the fly by the backup scripts
|
|
||||||
if [[ ! -f "${APPS_SWAP_FILE}" ]]; then
|
if [[ ! -f "${APPS_SWAP_FILE}" ]]; then
|
||||||
echo "Creating Apps swap file of size ${swap_size}M"
|
echo "Creating Apps swap file of size ${swap_size}M"
|
||||||
fallocate -l "${swap_size}m" "${APPS_SWAP_FILE}"
|
fallocate -l "${swap_size}m" "${APPS_SWAP_FILE}"
|
||||||
@@ -45,17 +42,8 @@ else
|
|||||||
echo "Apps Swap file already exists"
|
echo "Apps Swap file already exists"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f "${BACKUP_SWAP_FILE}" ]]; then
|
|
||||||
echo "Creating Backup swap file of size ${backup_swap_size}M"
|
|
||||||
fallocate -l "${backup_swap_size}m" "${BACKUP_SWAP_FILE}"
|
|
||||||
chmod 600 "${BACKUP_SWAP_FILE}"
|
|
||||||
mkswap "${BACKUP_SWAP_FILE}"
|
|
||||||
else
|
|
||||||
echo "Backups Swap file already exists"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Resizing data volume"
|
echo "Resizing data volume"
|
||||||
home_data_size=$((disk_size - system_size - swap_size - backup_swap_size - ext4_reserved))
|
home_data_size=$((disk_size - system_size - swap_size - ext4_reserved))
|
||||||
echo "Resizing up btrfs user data to size ${home_data_size}M"
|
echo "Resizing up btrfs user data to size ${home_data_size}M"
|
||||||
umount "${USER_DATA_DIR}" || true
|
umount "${USER_DATA_DIR}" || true
|
||||||
# Do not preallocate (non-sparse). Doing so overallocates for data too much in advance and causes problems when using many apps with smaller data
|
# Do not preallocate (non-sparse). Doing so overallocates for data too much in advance and causes problems when using many apps with smaller data
|
||||||
|
|||||||
@@ -25,9 +25,6 @@ yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/reboot.sh
|
|||||||
Defaults!/home/yellowtent/box/src/scripts/reloadcollectd.sh env_keep="HOME BOX_ENV"
|
Defaults!/home/yellowtent/box/src/scripts/reloadcollectd.sh env_keep="HOME BOX_ENV"
|
||||||
yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/reloadcollectd.sh
|
yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/reloadcollectd.sh
|
||||||
|
|
||||||
Defaults!/home/yellowtent/box/src/scripts/backupswap.sh env_keep="HOME BOX_ENV"
|
|
||||||
yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/backupswap.sh
|
|
||||||
|
|
||||||
Defaults!/home/yellowtent/box/src/scripts/collectlogs.sh env_keep="HOME BOX_ENV"
|
Defaults!/home/yellowtent/box/src/scripts/collectlogs.sh env_keep="HOME BOX_ENV"
|
||||||
yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/collectlogs.sh
|
yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/collectlogs.sh
|
||||||
|
|
||||||
|
|||||||
+4
-10
@@ -45,10 +45,8 @@ var addons = require('./addons.js'),
|
|||||||
webhooks = require('./webhooks.js');
|
webhooks = require('./webhooks.js');
|
||||||
|
|
||||||
var BACKUP_BOX_CMD = path.join(__dirname, 'scripts/backupbox.sh'),
|
var BACKUP_BOX_CMD = path.join(__dirname, 'scripts/backupbox.sh'),
|
||||||
BACKUP_SWAP_CMD = path.join(__dirname, 'scripts/backupswap.sh'),
|
|
||||||
BACKUP_APP_CMD = path.join(__dirname, 'scripts/backupapp.sh'),
|
BACKUP_APP_CMD = path.join(__dirname, 'scripts/backupapp.sh'),
|
||||||
RESTORE_APP_CMD = path.join(__dirname, 'scripts/restoreapp.sh'),
|
RESTORE_APP_CMD = path.join(__dirname, 'scripts/restoreapp.sh');
|
||||||
BACKUP_SWAP_CMD = path.join(__dirname, 'scripts/backupswap.sh');
|
|
||||||
|
|
||||||
var NOOP_CALLBACK = function (error) { if (error) debug(error); };
|
var NOOP_CALLBACK = function (error) { if (error) debug(error); };
|
||||||
|
|
||||||
@@ -258,11 +256,9 @@ function backupBoxWithAppBackupIds(appBackupIds, callback) {
|
|||||||
|
|
||||||
debug('backupBoxWithAppBackupIds: %j', result);
|
debug('backupBoxWithAppBackupIds: %j', result);
|
||||||
|
|
||||||
async.series([
|
var args = [ result.s3Url, result.accessKeyId, result.secretAccessKey, result.sessionToken, result.region, result.backupKey ];
|
||||||
ignoreError(shell.sudo.bind(null, 'mountSwap', [ BACKUP_SWAP_CMD, '--on' ])),
|
|
||||||
shell.sudo.bind(null, 'backupBox', [ BACKUP_BOX_CMD, result.s3Url, result.accessKeyId, result.secretAccessKey, result.sessionToken, result.region, result.backupKey ]),
|
shell.sudo('backupBox', [ BACKUP_BOX_CMD ].concat(args), function (error) {
|
||||||
ignoreError(shell.sudo.bind(null, 'unmountSwap', [ BACKUP_SWAP_CMD, '--off' ])),
|
|
||||||
], function (error) {
|
|
||||||
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
|
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
|
||||||
|
|
||||||
debug('backupBoxWithAppBackupIds: success');
|
debug('backupBoxWithAppBackupIds: success');
|
||||||
@@ -402,10 +398,8 @@ function createNewBackup(app, addonsToBackup, callback) {
|
|||||||
debugApp(app, 'backupApp: backup url:%s backup config url:%s', result.url, result.configUrl);
|
debugApp(app, 'backupApp: backup url:%s backup config url:%s', result.url, result.configUrl);
|
||||||
|
|
||||||
async.series([
|
async.series([
|
||||||
ignoreError(shell.sudo.bind(null, 'mountSwap', [ BACKUP_SWAP_CMD, '--on' ])),
|
|
||||||
addons.backupAddons.bind(null, app, addonsToBackup),
|
addons.backupAddons.bind(null, app, addonsToBackup),
|
||||||
shell.sudo.bind(null, 'backupApp', [ BACKUP_APP_CMD, result.s3ConfigUrl, result.s3DataUrl, result.accessKeyId, result.secretAccessKey, result.sessionToken, result.region, result.backupKey ]),
|
shell.sudo.bind(null, 'backupApp', [ BACKUP_APP_CMD, result.s3ConfigUrl, result.s3DataUrl, result.accessKeyId, result.secretAccessKey, result.sessionToken, result.region, result.backupKey ]),
|
||||||
ignoreError(shell.sudo.bind(null, 'unmountSwap', [ BACKUP_SWAP_CMD, '--off' ])),
|
|
||||||
], function (error) {
|
], function (error) {
|
||||||
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
|
if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error));
|
||||||
|
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eu -o pipefail
|
|
||||||
|
|
||||||
if [[ ${EUID} -ne 0 ]]; then
|
|
||||||
echo "This script should be run as root." > /dev/stderr
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $# -eq 0 ]]; then
|
|
||||||
echo "No arguments supplied"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$1" == "--check" ]]; then
|
|
||||||
echo "OK"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
BACKUP_SWAP_FILE="/backup.swap"
|
|
||||||
|
|
||||||
if [[ "$1" == "--on" ]]; then
|
|
||||||
echo "Mounting backup swap"
|
|
||||||
|
|
||||||
if ! swapon -s | grep -q "${BACKUP_SWAP_FILE}"; then
|
|
||||||
swapon "${BACKUP_SWAP_FILE}"
|
|
||||||
else
|
|
||||||
echo "Backup swap already mounted"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$1" == "--off" ]]; then
|
|
||||||
echo "Unmounting backup swap"
|
|
||||||
|
|
||||||
if swapon -s | grep -q "${BACKUP_SWAP_FILE}"; then
|
|
||||||
swapoff "${BACKUP_SWAP_FILE}"
|
|
||||||
else
|
|
||||||
echo "Backup swap was not mounted"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -18,7 +18,6 @@ scripts=("${SOURCE_DIR}/src/scripts/rmappdir.sh" \
|
|||||||
"${SOURCE_DIR}/src/scripts/backupapp.sh" \
|
"${SOURCE_DIR}/src/scripts/backupapp.sh" \
|
||||||
"${SOURCE_DIR}/src/scripts/restoreapp.sh" \
|
"${SOURCE_DIR}/src/scripts/restoreapp.sh" \
|
||||||
"${SOURCE_DIR}/src/scripts/reboot.sh" \
|
"${SOURCE_DIR}/src/scripts/reboot.sh" \
|
||||||
"${SOURCE_DIR}/src/scripts/backupswap.sh" \
|
|
||||||
"${SOURCE_DIR}/src/scripts/collectlogs.sh" \
|
"${SOURCE_DIR}/src/scripts/collectlogs.sh" \
|
||||||
"${SOURCE_DIR}/src/scripts/reloadcollectd.sh")
|
"${SOURCE_DIR}/src/scripts/reloadcollectd.sh")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user