Koozali.org: home of the SME Server

Backup su NAS con affa

Offline gromit60

  • ***
  • 97
  • +0/-0
Backup su NAS con affa
« on: June 25, 2018, 12:43:57 PM »
Scenario: SME 9.2 con una cartella condivisa di quasi 800 Gb di dati e poco più di 80 Gb liberi; NAS Synology sulla stessa rete con cartella di backup condivisa.
Vorrei backuppare la cartella condivisa dello SME sul NAS, ho seguito il wiki, ma mi sono perso in un bicchier d'acqua.
Praticamente il wiki dice di montare via NFS la cartella presente sul NAS in /mnt/cartellanas, poi impostare affa per fare il backup lì sopra, ad esempio:

[nomedeljob]
remoteHostName=localhost
TimeSchedule=1400
scheduledKeep=1
SMEServer=no
Include=/home/e-smith/files/…
RootDir=/mnt/cartellanas

Il tutto funziona (tecnicamente) ma poco dopo si blocca tutto perché lo spazio su disco dello SME viene esaurito.
Ok, allora ho provato a fare un backup diretto senza montare la cartella, ma qui mi sono perso.
Provando a dare un:

rsync -av home//e-smith/files/… admin@ip_nas::backupdata/

a mano, funziona. Non so come tradurlo in affa-style.

Oddio, a me interessa risolvere il problema del backup. Se affa non è indicato, disponibilissimo ad utilizzare un altro metodo.

Grazie in anticipo.

Offline Stefano

  • *
  • 10,836
  • +2/-0
Re: Backup su NAS con affa
« Reply #1 on: June 25, 2018, 02:55:46 PM »
quindi stai cercando di avere una copia di un'unica share/ibay di SME su una cartella condivisa del nas?

se così, 2 osservazioni:
1) se la cartella sul nas è condivisa, non è una copia di sicurezza.. se c'è la possibilità di accedere potrebbero sorgere casini
2) se vuoi fare quanto da me capito e descritto sopra, monti la share del nas in un mount point e poi fai rsync.. in questo modo hai una copia precisa della share di SME ed il backup è velocissimo (copia solo i dati modificati)

Offline gromit60

  • ***
  • 97
  • +0/-0
Re: Backup su NAS con affa
« Reply #2 on: June 27, 2018, 12:06:33 PM »
quindi stai cercando di avere una copia di un'unica share/ibay di SME su una cartella condivisa del nas?
Esatto

Quote
se così, 2 osservazioni:
1) se la cartella sul nas è condivisa, non è una copia di sicurezza.. se c'è la possibilità di accedere potrebbero sorgere casini
A dire la verità nessuno in azienda sa dell'esistenza del NAS, tranne me.

Quote
2) se vuoi fare quanto da me capito e descritto sopra, monti la share del nas in un mount point e poi fai rsync.. in questo modo hai una copia precisa della share di SME ed il backup è velocissimo (copia solo i dati modificati)
L'ho fatto, ma ad un certo punto si satura lo spazio su disco dello SME e si blocca tutto.


Offline Fumetto

  • *
  • 874
  • +1/-0
Re: Backup su NAS con affa
« Reply #3 on: June 27, 2018, 01:41:51 PM »
...e lanciare la procedura dal NAS? Non so che apparato sia ma se puoi dare un sync dal NAS eventuali file temporanei rimarrebbero sul NAS evitandoti il problema "spazio esaurito"...

Offline Stefano

  • *
  • 10,836
  • +2/-0
Re: Backup su NAS con affa
« Reply #4 on: June 27, 2018, 01:49:58 PM »
Quote
L'ho fatto, ma ad un certo punto si satura lo spazio su disco dello SME e si blocca tutto.

Questo perché prima di tutto devi verificare che la share remota sia montata
Appena riesco ti posto del codice

Offline Stefano

  • *
  • 10,836
  • +2/-0
Re: Backup su NAS con affa
« Reply #5 on: June 27, 2018, 02:32:02 PM »
questa è una funzione che uso in uno script di backup personalizzato:

Code: [Select]
#verifica destinazione
DoCheckMount() {
#chech se esiste il mount point locale
if [ ! -d "$MOUNTPOINT" ]; then
echo "il mount point locale $MOUNTPOINT non esiste.. exiting"
exit 7
fi

#check se esiste il file jollyroger sulla directory remota, per evitare di eseguire il backup in locale
if [ ! -e "$TESTMOUNT" ]; then
echo "mount point not found.."
$MOUNT -t cifs -ousername=$username,password=$password $remoteserver $MOUNTPOINT
sleep 10
fi

## secondo test del mount point, se fallisce, esco con errore ###
if [ ! -e "$TESTMOUNT" ]; then
echo $TESTMOUNT
echo "mount point not found, error in mounting.. exiting"
echo "verificare che la share $remoteserver sia raggiungibile, che le credenziali siano corrette e che esista il file remoto jollyroger.txt"
exit 2
fi

#verifica se esiste la directory remota
if [ ! -d "$DESTINATION" ]; then
echo "la directory remota $DESTINATION su $remoteserver non esiste.. exiting"
exit 8
fi

echo "mount point presente"
}

$MOUNTPOINT: è una variabile che è tipo /mnt/tmp
$TESTMOUNT: è una stringa comporta da $MOUNTPOINT/jollyroger.txt

in altre parole, sul NAS esiste un file vuoto jollyroger.txt che serve per verificare se la share è stata montata o meno

$DESTINATION è il percorso $MOUNTPOINT/cartella_dove_fare_il_backup

$username e password sono credenziali per l'accesso alla share (in questo caso cifs), $remoteserver è la macchina remota

la funzione quindi:
- verifica se /mnt/tmp (esempio) esiste.. se no, esce
- verifica se il file jollyroger.txt esiste.. se si, la share è montata, se no, prova a montare la share remota sul mountpoint ed attende 10 secondi per dar tempo all'operazione
- riverifica se il file è raggiungibile: se no, evidentemente il server remoto non c'è o qualcosa altro non funziona, ergo esce
- verifica se sulla share remota esiste la directory di destinazione: se no, esce

se tutto va bene, il programma prosegue.

ergo, uno script

- deve avere una sezione dove mettere i valori alle variabili
- deve contenere questa funzione
- deve richiamare questa funzione semplicemente con DoCheckMount()
- subito dopo esegue il backup (qualsiasi esso sia)

nel tuo caso è da modificare la parte di mount (non ti servono credenziali e cambia la sintassi) ed è da scrivere l'istruzione per fare rsync tra la directory locale e la cartella remota

Offline gromit60

  • ***
  • 97
  • +0/-0
Re: Backup su NAS con affa
« Reply #6 on: June 27, 2018, 05:47:04 PM »
...e lanciare la procedura dal NAS? Non so che apparato sia ma se puoi dare un sync dal NAS eventuali file temporanei rimarrebbero sul NAS evitandoti il problema "spazio esaurito"...

In effeti stavo pensando di orientarmi in questa direzione. Il NAS è un Synology con DSM 6.2


Per quanto riguarda la risposta di Stefano, io ho seguito le indicazioni del wiki, cioè, dopo l'installazione di affa, ho dato:

mkdir -p /mnt/affadevice
mount ip_del_nas:/mnt/affashare /mnt/affadevice

poi ho creato un file in /etc/affa/ chiamandolo pippo.conf, con all'interno le istruzioni che ho messo nel primo post, inserendo SMEServer=no perché voglio fare solo la copia della cartella, che ho indicato con un Include.
La cartella è regolarmente montata, tanto che posso navigarla tranquillamente, e creandoci un file direttamente sullo SME, me lo ritrovo pari pari sul NAS.
Ecco, mi accorgo ora che l'unica istruzione che non ho dato è quella relativa a portmap.
« Last Edit: June 27, 2018, 06:08:40 PM by gromit60 »