Merge pull request #4 from bashclub/dev

Dev
This commit is contained in:
Chriz
2025-04-15 15:40:23 +02:00
committed by GitHub
3 changed files with 95 additions and 14 deletions

View File

@@ -68,3 +68,43 @@ TURNING OFF THE MACHINE!!!
Test Targets Tank if less than 75% free, otherwise report to Check_MK
Test Disks after PBS Maintenance, before shutdown with SmartCTL Short Test and report to Check_MK
Support multiple Sources
So how do you get back to Business, if your Source fails
Option A
Assign a new Proxmox Machine to your Proxmox Backup Server and restore all necessary VMs and Containers
Option B
Use your Miyagi System to get live
1. Rename your Datasets
zfs create rpool/data/pveold
zfs rename rpool/repl/pveold/data rpool/data/pveold/data
2. Create a new PVE Datastore
Type ZFS
Name rpool-data-pveold-data ZFS-POOL: rpool/data/pveold/data Content: Disk Image, Container
Check if your Disks show up in the new Datastore
3. Copy Configs (Please verify VMID from PBS ist not on Source System
cp rpool/data/pveold/PMconf/etc/pve/nodes/pveold/qemu-server /etc/pve/qemu-server
cp rpool/data/pveold/PMconf/etc/pve/nodes/pveold/lxc /etc/pve/lxc
4. Rename Datastore Names in new Configs
cd /etc/pve/qemu-server
sed -i 's/local-zfs:/rpool-data-pveold-data/g' *.conf
cd /etc/pve/lxc
sed -i 's/local-zfs:/rpool-data-pveold-data/g' *.conf
5. Optional repeat this Steps for a Second ZFS Pool and be aware of duplicate Names
6. Start your VMs
7. optional: run our Postinstaller

View File

@@ -7,7 +7,6 @@ SHUTDOWN=no #No be there anymore
UPDATES=yes #Do PVE and PBS Updates after run
SOURCEHOST='192.168.50.200' # IP from Proxmox VE System to be backuped and replicated daily
SOURCEHOSTNAME='pve3' #Hostname of Proxmox VE System to be backuped and replicated daily
#Replication
ZFSROOT='rpool/data' #First Dataset/Datastoresourcepath from Proxmox VE System to be backuped and replicated daily

View File

@@ -1,4 +1,8 @@
#!/bin/bash
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
echo "Sleeping for one Minute to be interruped if necessary"
echo sleep 60
#Requirements for Myiagi ultimate Backup found in README! Always use a Config File!
@@ -13,6 +17,12 @@ done
source $configfile
# bashclub-zsync Part
echo "Configuring and runnging bashclub-zsyncs Config in /etc/bashclub/$SOURCEHOST.conf"
SOURCEHOSTNAME=$(ssh $SOURCEHOST hostname)
ssh root@$SOURCEHOST zfs set $ZPUSHTAG=all $ZFSROOT
ssh root@$SOURCEHOST zfs set $ZPUSHTAG=all $ZFSSECOND
ssh root@$SOURCEHOST zfs set $ZPUSHTAG=all rpool/pveconf #you have to use our postinstaller on source
@@ -25,20 +35,53 @@ echo "snapshot_filter=$ZPUSHFILTER" >> /etc/bashclub/$SOURCEHOST.conf
echo "min_keep=$ZPUSHMINKEEP" >> /etc/bashclub/$SOURCEHOST.conf
echo "zfs_auto_snapshot_keep=$ZPUSHKEEP" >> /etc/bashclub/$SOURCEHOST.conf
echo "zfs_auto_snapshot_label=$ZPUSHLABEL" >> /etc/bashclub/$SOURCEHOST.conf
echo "zfs_auto_snapshot_engine=internal" >> /etc/bashclub/$SOURCEHOST.conf
echo "checkzfs_disabled=0" >> /etc/bashclub/$SOURCEHOST.conf
echo "checkzfs_local=0" >> /etc/bashclub/$SOURCEHOST.conf
echo "checkzfs_prefix=miyagi-$SOURCEHOSTNAME-$HOSTNAME" >> /etc/bashclub/$SOURCEHOST.conf
echo "checkzfs_max_age=1500,2000" >> /etc/bashclub/$SOURCEHOST.conf
echo "checkzfs_max_snapshot_count=180,200" >> /etc/bashclub/$SOURCEHOST.conf
echo "checkzfs_spool=1" >> /etc/bashclub/$SOURCEHOST.conf
echo "checkzfs_spool_maxage=90000" >> /etc/bashclub/$SOURCEHOST.conf
/usr/bin/bashclub-zsync -d -c /etc/bashclub/$SOURCEHOST.conf
CHECKZFS=$(which checkzfs)
# So one Day has 1440 Minutes, so we go condition Yellow on 1500
$CHECKZFS --source $SOURCEHOST --replicafilter "$ZFSTRGT/" --filter "#$ZFSROOT/|#$ZFSSECOND/" --threshold 1500,2000 --output checkmk --prefix pull-$(hostname):$ZPUSHTAG> /tmp/cmk_tmp.out && ( echo "<<<local>>>" ; cat /tmp/cmk_tmp.out ) > /tmp/90000_checkzfs
scp /tmp/90000_checkzfs $SOURCEHOST:/var/lib/check_mk_agent/spool/90000_checkzfs_$(hostname)_$ZPOOLSRC
if [[ "$BACKUPSERVER" == "no" ]]
# Updating Miyagi Host to latest Proxmox VE (no major Version Upgrades!)
if [[ "$UPDATES" == "yes" ]]
then
apt update && apt dist-upgrade -y
apt autopurge
else
echo "No Updates configured - Consider updating more often!"
fi
# Creating and moving Piggyback data to Sourcehost for soon shut down Miyagi Server
if [[ "$SHUTDOWN" == "yes" ]]
then
echo "Don´t forget to add a Host in CMK named: miyagi-$SOURCEHOSTNAME-$(hostname) without Agent, Piggyback enabled!"
echo "<<<<miyagi-$SOURCEHOSTNAME-$(hostname)>>>>" > 90000_miyagi-$SOURCEHOSTNAME-$(hostname)
/usr/bin/check_mk_agent >> 90000_miyagi-$SOURCEHOSTNAME-$(hostname)
echo "<<<<>>>>" >> 90000_miyagi-$SOURCEHOSTNAME-$(hostname)
scp ./90000_miyagi-$SOURCEHOSTNAME-$(hostname) $SOURCEHOST:/var/lib/check_mk_agent/spool
else
echo "No Shutdown configured, so we don´t do any Piggyback Data"
fi
if [[ "$BACKUPSERVER" == "no" ]]; then
echo No Backup configured in this Run
exit
[[ "$SHUTDOWN" == "yes" ]] && shutdown
fi
if [[ "$BACKUPSERVER" == "no" ]]; then
echo No Backup configured in this Run
[[ "$SHUTDOWN" == "no" ]] && exit
fi
PRUNEJOB=$(ssh $PBSHOST proxmox-backup-manager prune-job list --output-format json-pretty | grep -m 1 "id" | cut -d'"' -f4)
@@ -76,6 +119,7 @@ fi
scp /tmp/90000_checkpbs root@$SOURCEHOST:/var/lib/check_mk_agent/spool
###
ssh root@$SOURCEHOST pvesm set $BACKUPSTORE --disable 1
@@ -88,14 +132,12 @@ scp /tmp/90000_checkpbs root@$SOURCEHOST:/var/lib/check_mk_agent/spool
if [[ "$UPDATES" == "yes" ]]
then
apt dist-upgrade -y
ssh $PBSHOST apt dist-upgrade -y
ssh $PBSHOST apt update && apt dist-upgrade -y
else
echo no Updates configured - Consider updating more often!
fi
if [[ "$SHUTDOWN" == "yes" ]]
then
shutdown now