Personalizzazione backup¶
La personalizzazione di base può essere effettuata direttamente dal nuovo Server Manager. Vedi Personalizzazione backup dati.
Backup dati¶
Il backup dei dati può essere eseguito utilizzando diversi engine:
duplicity (default) - http://duplicity.nongnu.org/
restic - https://restic.net/
rsync - https://rsync.samba.org/
Quando si seleziona un engine, l'amministratore di sistema deve valutare attentamente molteplici aspetti:
Compressione: i dati vengono compressi sulla destinazione, l'utilizzo del disco può variare in funzione dell'efficienza della compressione, che dipende anche dal set di dati
Deduplicazione: invece di comprimere i file, i dati vengono suddivisi in blocchi e viene conservata solo una copia di ciascun blocco. L'efficienza dipende molto dal set di dati
Crittografia: i dati salvati nella memoria di destinazione sono crittografati. Di norma i dati vengono crittografati prima del trasferimento
Dimensione: lo spazio utilizzato nella destinazione per ciascun backup, può essere inferiore o uguale al set di dati originale. Quando si utilizzano engine senza supporto per la compressione, lo spazio sulla destinazione dovrebbe sempre essere più grande rispetto a quello occupato nella sorgente
Conservazione: la politica che fissa la quantità di tempo in cui un set di dati rimarrà disponibile per il ripristino
Integrità: è la capacità dell'engine di verificare se il backup eseguito è valido in caso di ripristino
Tipo: un backup può essere completo, incrementale o basato su snapshot (sempre incrementale):
completo: tutti i file vengono copiati nella destinazione ogni volta
incrementale: confronta i dati con l'ultimo backup completo e copia solo gli elementi modificati o aggiunti. Il backup completo e tutti gli incrementali intermedi sono necessari per il processo di ripristino. È richiesto che venga eseguito regolarmente un backup completo.
snapshot: crea un backup completo solo la prima volta, successivamente crea solo backup differenziali. Le istantanee possono essere eliminate e consolidate ed è necessario un solo backup completo
Engine |
Compressione |
Deduplicazione |
Crittografia |
Integrità |
Tipo |
---|---|---|---|---|---|
duplicity |
Sì |
No |
No |
Sì |
completo / incrementale |
restic |
No |
Sì |
Sì |
Sì |
snapshot |
rsync |
No |
Parziale |
No |
No |
snapshot |
Backend di archiviazione¶
Supportati da tutti gli engine:
CIFS: cartella condivisa Windows, disponibile su tutti i NAS (Network Attached Storage). Utilizza credenziali di accesso come: MioUtente,domain=miodominio.com
NFS: cartella condivisa Linux, disponibile su tutti i NAS, solitamente più veloce di CIFS
WebDAV: disponibile su molti server NAS e remoti (utilizzare come destinazione WebDAV un server con un certificato SSL valido, altrimenti il sistema non riuscirà a montare il filesystem)
USB: disco collegato ad una porta USB/SATA locale
Supportati da restic ed rsync
SFTP: SSH File Transfer Protocol
Supportati solo da restic
Engine¶
Duplicity¶
Duplicity è l'engine di backup predefinito per NethServer Enterprise. Ha un buon algoritmo di compressione che riduce in modo apprezzabile l'utilizzo della spazio sulla destinazione. Duplicity richiede un backup completo una volta alla settimana, quando il set di dati è molto grande il processo potrebbe richiedere più di 24 ore per essere completato. NethServer Enterprise non implementa la crittografia per il backup se l'engine è Duplicity.
Backend di archiviazione supportati:
CIFS
NFS
USB
WebDAV (solo quando usato come backup singolo)
Nota
Il nome della directory di destinazione è basato sul nome host del server: in caso di modifica dell'FQDN, l'amministratore dovrà occuparsi di copiare/spostare i dati di backup dalla vecchia directory a quella nuova.
Restic¶
Restic implementa un backup basato su snapshot e sempre crittografato. Supporta la deduplicazione e può eseguire il backup sui servizi cloud. Poiché Restic richiede solo un backup completo, tutte le esecuzioni successive alla prima dovrebbero essere veloci e potrebbero essere programmate più volte al giorno.
Backend di archiviazione supportati:
CIFS
NFS
USB
WebDAV (solo quando usato come backup singolo)
SFTP (SSH File Transfer Protocol)
Amazon S3 (o altro server compatibile come Minio)
Backblaze B2
restic REST server
Quando si configura un backup utilizzando l'engine restic e un back-end di archiviazione remoto, assicurarsi di disporre di una larghezza di banda sufficiente per completare il primo backup entro 24 ore. In caso contrario, restic creerà molteplici istantanee diverse. Se si dispone di una connessione lenta e si desidera ancora utilizzare un back-end di archiviazione remoto, attenersi alla seguente procedura:
configurare il backup con restic
eseguire manualmente il backup cliccando su Esegui ora
disabilitare il backup configurato, in modo che non venga avviato alla successiva esecuzione pianificata
terminato il backup manuale, riabilitare il backup per consentirne l'esecuzione pianificata
Rsync¶
L'engine di backup stile Time machine utilizza rsync. Dopo il primo backup completo, copia solo i file modificati o nuovi utilizzando un effiecente sistema di trasferimento incrementale. Sulla destinazione, la deduplicazione parziale viene ottenuta attraverso l'uso di link fisici. Se la directory di destinazione del backup è piena, i backup più vecchi vengono automaticamente eliminati per liberare spazio.
Backend di archiviazione supportati:
NFS
USB
WebDAV (solo quando usato come backup singolo)
SFTP (SSH File Transfer Protocol)
Rsync non supporta la crittografia né la compressione sulla destinazione. Durante il trasferimento dei dati, SFTP assicura la crittografia e i dati vengono compressi per ridurre al minimo l'utilizzo della banda utilizzata.
Nota
Quando si utilizza l'engine rsync, assicurarsi che il backend di destinazione supporti link simbolici e fisici. Si rammenta che NethServer Enterprise non supporta collegamenti su condivisioni Samba per implicazioni di sicurezza. Inoltre i link simbolici non sono supportati su WebDAV.
È necessario accedere alla destinazione con l'utente root
.
Esecuzione da riga di comando¶
Per lanciare un backup da riga di comando, utilizzare:
backup-data -b <name>
in cui name
è il nome del backup che si desidera lanciare.
Nota
Di default il nome del primo backup configurato su NethServer Enterprise è backup-data
Personalizzazione backup dati¶
In caso di installazione di software aggiuntivi, potrebbe esser necessario modificare la lista delle directory e dei file inclusi (o esclusi) dal backup.
Inclusione¶
Se si desidera includere una directory o un file nel backup dei dati, è sufficiente aggiungere una riga al file /etc/backup-data.d/custom.include
.
Ad esempio, per includere nel backup un software installato nella directory /opt
, aggiungere questa riga:
/opt/mysoftware
La stessa sintassi si applica al backup della configurazione. Le modifiche dovranno essere incluse all'interno del file /etc/backup-config.d/custom.include
.
Esclusione¶
Se si desidera escludere una directory o un file dal backup dei dati, aggiungere una riga al file /etc/backup-data.d/custom.exclude
.
Ad esempio, per escludere dal backup tutte le directory chiamate Download, aggiungere la riga:
**Download**
Per escludere la casella di posta test, aggiungere la riga:
/var/lib/nethserver/vmail/test/
La stessa sintassi si applica al backup della configurazione. Le modifiche dovrebbero essere fatte all’interno del file /etc/backup-config.d/custom.exclude
.
Personalizzazione inclusioni ed esclusioni¶
Tutti i backup utilizzano la stessa configurazione, ma l'elenco dei file salvati ed esclusi può essere personalizzato per ciascun backup utilizzando due file speciali:
/etc/backup-data/<name>.include
/etc/backup-data/<name>.exclude
In cui name
è il nome del backup.
Entrambi i file sostituiranno il set di dati inclusi ed esclusi dal backup. La sintassi accettata è la stessa indicata nel paragrafo precedente.
Ad esempio, dato un backup chiamato mybackup1
, andranno creati i seguenti file:
/etc/backup-data/mybackup1.include
/etc/backup-data/mybackup1.exclude
Esempio¶
È possibile configurare un backup programmato ogni ora che includa solo i file della posta.
Configurare il nuovo backup
mymailbackup
utilizzando l'interfaccia utenteCreare un file include custom contenente solo la directory delle email:
echo "/var/lib/nethserver/vmail" > /etc/backup-data/mymailbackup.include
Creare un file exclude custom vuoto:
touch /etc/backup-data/mymailbackup.exclude
Applicare la configurazione:
signal-event nethserver-backup-data-save mymailbackup
Avvertimento
Assicurarsi di non lasciare righe vuote all'interno file modificati.
Nota
Questo tipo di backup non può essere utilizzato in caso di disaster recovery.
Backup configurazione¶
Il backup della configurazione è un'attività automatizzata che viene eseguita ogni notte alle 00.15 e che crea un nuovo archivio, /var/lib/nethserver/backup/backup-config.tar.xz
, se la configurazione è cambiata nelle 24 ore precedenti.
L'elenco dei moduli installati è incluso nell'archivio di backup. La procedura di ripristino consente di scaricare e installare automaticamente i moduli riportati nell'elenco.
Nella maggior parte dei casi non è necessario modificare il backup della configurazione. Ma può essere utile, ad esempio, se si è aggiunta una configurazione custom per httpd. In questo caso è possibile aggiungere al backup della configurazione il percorso del file che contiene la personalizzazione.
Inclusione¶
Se si desidera includere una directory o un file nel backup della configurazione, aggiungere una riga al file /etc/backup-config.d/custom.include
.
Ad esempio, per eseguire il backup del file /etc/httpd/conf.d/mycustom.conf
, aggiungere la riga:
/etc/httpd/conf.d/mycustom.conf
Non aggiungere mai directory e file voluminosi al backup della configurazione.
Esclusione¶
Se si desidera escludere una directory o un file dal backup della configurazione, aggiungere una riga al file /etc/backup-config.d/custom.exclude
.
Avvertimento
Assicurarsi di non lasciare righe vuote nei file modificati. La sintassi del backup della configurazione supporta solo semplici percorsi di file e directory.
Ripristino da linea di comando¶
Nel caso in cui l'interfaccia web select_restore-section non fosse sufficiente, il ripristino può essere eseguito dalla riga di comando.
Tutti i file rilevanti sono conservati nella directory /var/lib/nethserver/
:
Cartelle di posta:
/var/lib/nethserver/vmail/<user>
Cartelle condivise:
/var/lib/nethserver/ibay/<name>
Home utenti:
/var/lib/nethserver/home/<user>
Per ottenere un elenco dei dati contenuti in un backup, utilizzare:
backup-data-list -b <name>
Per ripristinare tutti i dati nella loro posizione originale, utilizzare:
restore-data -b <name>
Per ripristinare un file o una directory, utilizzare:
restore-file -b <name> <position> <path>
Esempio, ripristinare un file alla versione di 15 giorni fa:
restore-file -b <name> -t 15D /tmp "/var/lib/nethserver/ibay/test/myfile"
L'opzione -t
consente di specificare il numero di giorni (15 in questo scenario). Quando viene utilizzato con engine basati su snapshot, l'opzione -t
richiede il nome dello snapshot da ripristinare.
Nota
Nel caso si utilizzi CIFS per accedere alla condivisione e il comando di restore non funzioni nel modo atteso, verificare che utente e password della condivisione di rete siano corretti. Se la coppia utente/password è sbagliata nel file /var/log/messages
si troveranno degli errori di NT_STATUS_LOGON_FAILURE. Allo stesso tempo il comando backup-data-list non andrà a buon fine e uscirà immediatamente riportando degli errori.
Formattazione di un disco locale¶
I dischi locali possono essere formattati direttamente dalla interfaccia web. Se qualcosa andasse storto o fosse necessario un partizionamento personalizzato, seguire i seguenti passaggi.
I migliori filesystem per dischi di backup SATA/USB sono EXT3 o EXT4. Il filesystem FAT è supportato ma non raccomandato, mentre NTFS non è supportato. EXT3 o EXT4 sono obbligatori in caso di utilizzo dell'engine rsync.
Per eseguire la formattazione, è necessario collegare il disco e identificarlo correttamente:
# dmesg | tail -20
Apr 15 16:20:43 mynethserver kernel: usb-storage: device found at 4
Apr 15 16:20:43 mynethserver kernel: usb-storage: waiting for device to settle before scanning
Apr 15 16:20:48 mynethserver kernel: Vendor: WDC WD32 Model: 00BEVT-00ZCT0 Rev:
Apr 15 16:20:48 mynethserver kernel: Type: Direct-Access ANSI SCSI revision: 02
Apr 15 16:20:49 mynethserver kernel: SCSI device sdc: 625142448 512-byte hdwr sectors (320073 MB)
Apr 15 16:20:49 mynethserver kernel: sdc: Write Protect is off
Apr 15 16:20:49 mynethserver kernel: sdc: Mode Sense: 34 00 00 00
Apr 15 16:20:49 mynethserver kernel: sdc: assuming drive cache: write through
Apr 15 16:20:49 mynethserver kernel: SCSI device sdc: 625142448 512-byte hdwr sectors (320073 MB)
Apr 15 16:20:49 mynethserver kernel: sdc: Write Protect is off
Apr 15 16:20:49 mynethserver kernel: sdc: Mode Sense: 34 00 00 00
Apr 15 16:20:49 mynethserver kernel: sdc: assuming drive cache: write through
Apr 15 16:20:49 mynethserver kernel: sdc: sdc1
Apr 15 16:20:49 mynethserver kernel: sd 7:0:0:0: Attached scsi disk sdc
Apr 15 16:20:49 mynethserver kernel: sd 7:0:0:0: Attached scsi generic sg3 type 0
Apr 15 16:20:49 mynethserver kernel: usb-storage: device scan complete
Un altro buon comando da utilizzare è essere:
lsblk -io KNAME,TYPE,SIZE,MODEL
In questo esempio, il disco è stato riconosciuto come device sdc.
Creare una unica partizione Linux sull’intero disco:
sgdisk --zap-all /dev/sdc sgdisk --largest-new=1 /dev/sdc
Creare il filesystem sulla partizione sdc1 assegnando una label, ad esempio backup:
mkfs.ext4 -v /dev/sdc1 -L backup -E lazy_itable_init
Scollegare e ricollegare il disco USB:
E’ possibile utilizzare il comando seguente per simulare il collegamento del disco:
blockdev --rereadpt /dev/sdc
A questo punto l'etichetta backup sarà visualizzata nella pagina Backup.