configpolicy/migration/loki0-to-loki1.sh

41 lines
1.3 KiB
Bash

#!/bin/sh
# vim: set sw=4 ts=4 sts=4 et :
set -e
cleanup() {
eval $(ssh-agent -k)
}
trap cleanup INT TERM QUIT EXIT
eval $(ssh-agent)
sshca-cli user login
ssh-add -K
: || {
ssh root@loki0.pyrocufflink.blue cat '>' .ssh/known_hosts <<EOF
@cert-authority *.pyrocufflink.blue ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII24CZGosLMTny0a2eDB6KOG47FhlwVkTEFQNAYzKV0t
EOF
ssh root@loki0.pyrocufflink.blue btrfs subvol snapshot -r /var /var/.snapshot
ssh root@loki0.pyrocufflink.blue btrfs send /var/.snapshot \| ssh root@loki1.pyrocufflink.blue btrfs receive /var/lib/loki
ssh root@loki0.pyrocufflink.blue systemctl stop loki
ssh root@loki0.pyrocufflink.blue btrfs subvol snapshot -r /var /var/.snapshot2
ssh root@loki0.pyrocufflink.blue btrfs send -p /var/.snapshot /var/.snapshot2 \| ssh root@loki1.pyrocufflink.blue btrfs receive /var/lib/loki
}
ssh root@loki1.pyrocufflink.blue systemctl stop loki
ssh root@loki1.pyrocufflink.blue cd /var/lib/loki '&&' rm -rf rules chunks tsdb-shipper-active tsdb-shipper-cache wal compactor
ssh root@loki1.pyrocufflink.blue cp -a --reflink=always /var/lib/loki/.snapshot2/lib/loki/. /var/lib/loki
ssh root@loki1.pyrocufflink.blue systemctl start loki
nsupdate -g <<EOF
del loki.pyrocufflink.blue
add loki.pyrocufflink.blue 300 A 172.30.0.14
send
EOF