doc:appunti:linux:sa:restore_bare_metal
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| doc:appunti:linux:sa:restore_bare_metal [2023/02/08 15:33] – created niccolo | doc:appunti:linux:sa:restore_bare_metal [2024/09/27 09:25] (current) – [Partizionamento del disco] niccolo | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | Alcuni appunti | + | Appunti vari su come recuperare un host che sia andato |
| + | |||
| + | ===== Partizionamento del disco ===== | ||
| + | |||
| + | In generale si dovrà avere una macchina nuova con un disco vuoto su cui effettuare il restore. È possibile contestualmente aggiornare una macchina con disco partizionato col metodo obsoleto **DOS/MBR** e un **BIOS legacy** ad una installazione con disco partizionato **GPT** e boot **EFI**. | ||
| + | |||
| + | Dopo aver avviato la macchina con una distribuzione live moderna (es. **[[https:// | ||
| + | |||
| + | < | ||
| + | parted /dev/sda | ||
| + | </ | ||
| + | |||
| + | Uno schema standard con partizioni per GRUB, una per le immagini EFI e partizioni separate per **rootfs**, **swap**, | ||
| + | |||
| + | < | ||
| + | mklabel gpt | ||
| + | mkpart primary | ||
| + | mkpart primary | ||
| + | mkpart primary 100.0MB | ||
| + | mkpart primary | ||
| + | mkpart primary | ||
| + | mkpart primary 200.0GB | ||
| + | set 1 bios_grub on | ||
| + | set 2 boot on | ||
| + | set 2 esp on | ||
| + | name 3 rootfs | ||
| + | name 4 swap | ||
| + | name 5 var | ||
| + | name 6 home | ||
| + | </ | ||
| + | |||
| + | La partizione **bios_grub** deve contenere solo il secondo stadio di GRUB, quindi 1 Mb sarebbe già sufficiente, | ||
| + | |||
| + | |||
| + | ===== Restore da Borg Backup ===== | ||
| + | |||
| + | Se si utilizza **Borg backup** per effettuare le copie di sicurezza è necessario eseguire il restore dell' | ||
| + | |||
| + | FIXME | ||
| + | |||
| + | |||
| + | ===== Copiare una directory da host remoto ===== | ||
| + | |||
| + | Se i file originali sono contenuti semplicemente in una directory di un host remoto è possibile copiarli, ma si devono avere alcune accortezze. Ad esempio **scp** non va bene perché segue i link simbolici (cioè copia i file e non ricrea i link). | ||
| + | |||
| + | Se si desidera copiare una directory da un host remoto **mantenendo i symlink** si può ricorrere ad un trucco che utilizza **tar**. In questo esempio si esegue ssh dalla macchina vuota verso l'host che contiene i dati, quindi è possibile trasferire con tar una intera cartella: | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | ssh root@backup.server.org 'cd / | ||
| + | </ | ||
| + | |||
| + | Vedere come si può usare **rsync** FIXME | ||
| + | |||
| + | ===== MySQL ===== | ||
| + | |||
| + | Si deve creare la data directory, assegnare i permessi opportuni e inizializzarla (testato con MariaDB 10.5 su Debian 11 Bullseye): | ||
| + | |||
| + | < | ||
| + | mkdir / | ||
| + | chown mysql.mysql / | ||
| + | chmod 700 / | ||
| + | mysql_install_db | ||
| + | systemctl start mysql | ||
| + | </ | ||
| + | |||
| + | Quindi è possibile fare il restore del file creato con **%%mysqldump --all-databases%%**: | ||
| + | |||
| + | < | ||
| + | zcat / | ||
| + | </ | ||
| + | |||
| + | ===== PostgreSQL ===== | ||
| + | |||
| + | Se la data directory è completamente vuota bisogna crearla con i permessi giusti: | ||
| + | |||
| + | < | ||
| + | mkdir -p / | ||
| + | mkdir -p / | ||
| + | chown -R postgres.postgres / | ||
| + | chown -R postgres.postgres / | ||
| + | chown -R postgres.postgres / | ||
| + | </ | ||
| + | |||
| + | Quindi va inizializzata: | ||
| + | |||
| + | < | ||
| + | su - postgres | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | A questo punto è possibile avviare il servizio: | ||
| + | |||
| + | < | ||
| + | systemctl start postgresql@13-main | ||
| + | </ | ||
| + | |||
| + | E fare il restore del file creato con **pg_dumpall**: | ||
| + | |||
| + | < | ||
| + | su - postgres | ||
| + | psql --file=pg_dumpall_20230206.dump | ||
| + | </ | ||
doc/appunti/linux/sa/restore_bare_metal.1675866788.txt.gz · Last modified: by niccolo
