Kako varnostno kopirati in obnoviti strežnik z uporabo diskovnih slik dd
dd ustvari sektorsko sliko celotnega diska. To sliko lahko uporabite za obnovitev diska v stanje, v katerem je bil ob izdelavi varnostne kopije. Ta vodnik prikazuje, kako z ukazom dd ustvarite sliko diska in kako jo obnovite. Ker dd deluje na ravni diska, ga zaženite iz živega okolja (Finnix), ne pa iz delujočega sistema, ki ga kopirate.
Uporabite dd, kadar potrebujete kopijo celotnega diska na ravni blokov. Za varnostne kopije na ravni datotek (posamezne datoteke in mape) sta običajno primernejša rsync ali tar.
Preden začnete
- ISO Finnix
- dostop do IP-KVM strežnika (KVM na osnovi IP)
- prostor za shranjevanje z dovolj prostega prostora za sliko (glejte opombo v scenarijih varnostnega kopiranja)
- poverilnice SSH, če varnostno kopirate v oddaljeno shrambo
- root dostop
1. Kratka opomba o dd
dd kopira podatke blok za blokom. Deli ukaza, ki so pomembni:
- if= vir (od koder berete)
- of= cilj (kamor pišete)
- bs=8M določi velikost bloka in lahko izboljša zmogljivost kopiranja
- status=progress prikaže, koliko je bilo že kopirano, koristno pri velikih diskih
Privzeto spodnji ukazi kopirajo zdrav disk. Če ima izvorni disk napake pri branju, dodajte conv=noerror,sync: dd nato nadaljuje mimo napak pri branju namesto da se ustavi, in nečitljive bloke zapolni z ničlami. To ohranja poravnavo naslednjih blokov, vendar zapolnjena območja izgubijo svoje podatke, zato je lahko datotečni sistem na sliki poškodovan. Pri okvarjenem disku razmislite o uporabi orodja ddrescue, ki je zasnovano za obnavljanje podatkov z okvarjenih diskov in vodi zemljevid napak pri branju.
dd popolnoma prepiše cilj, ne da bi vprašal za potrditev. Napačen of= uniči podatke. Pred izvajanjem katerega koli ukaza vedno preverite imena naprav.
2. Priprava
Zagon iz Finnix. Priklopite ISO Finnix prek IP-KVM in zaženite strežnik iz njega. Tako lahko delate z diski strežnika, ne da bi zagnali nameščeni operacijski sistem z diska, ki ga varnostno kopirate. Izogibajte se izdelavi slike delujočega sistema: če ima izvorni disk priklopljene datotečne sisteme, ki se spreminjajo, je lahko slika neskladna. Prepričajte se, da izvornega diska ne uporablja delujoče okolje.
Prepoznajte diske. Izpišite diske z njihovimi velikostmi in priklopnimi točkami:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
Kot alternativa:
fdisk -l
Poiščite sistemski disk (na primer /dev/sda) in si zapišite njegovo ime naprave. To je najpomembnejši korak: dd ne zahteva potrditve, zato napaka tukaj izbriše napačen disk. V spodnjih ukazih je /dev/sda zgolj primer. Zamenjajte ga z dejanskim diskom, ki ste ga prepoznali z ukazom lsblk. Preden ustvarite sliko izvornega diska, se prepričajte, da ta v izpisu ukaza lsblk ne prikazuje priklopnih točk.

3. Scenarij A: varnostno kopiranje v oblačno shrambo prek SSHFS (CloudBox)
To uporabite za shranjevanje slike v INTROSERV CloudBox ali katero koli shrambo SSH. Poverilnice SSH (uporabnik, gostitelj, pot) najdete v podrobnostih naročila.
Ustvarite priklopno točko:
mkdir -p /mnt/backup
Priklopite oblačno shrambo:
sshfs user@host:/path /mnt/backup
Ustvarite sliko diska:
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress
Ko dd zaključi, sporoči, koliko podatkov je bilo kopiranih. Slika sda.img je zdaj v vaši oblačni shrambi.
Velika kopija prek SSHFS je lahko počasna. Če se povezava SSH prekine, lahko kopiranje spodleti, slika pa je lahko nepopolna.
Velikost slike je približno enaka velikosti celotnega izvornega diska, ne količini uporabljenih podatkov. Disk velikosti 2 TB s 100 GB podatkov še vedno ustvari sliko velikosti približno 2 TB. Prepričajte se, da ima shramba dovolj prostega prostora.
Izbirno: za prihranek prostora in zmanjšanje omrežnega prenosa lahko sliko med ustvarjanjem stisnete:
dd if=/dev/sda bs=8M status=progress | gzip -c > /mnt/backup/sda.img.gz
Stisnjeno sliko obnovite z:
gunzip -c /mnt/backup/sda.img.gz | dd of=/dev/sda bs=8M status=progress
Stisnjena velikost je odvisna od tega, kako stisljiva je vsebina diska. Spodnje preverjanje nadzorne vsote velja za nestisnjeno datoteko .img.
4. Scenarij B: varnostno kopiranje na drug fizični disk v istem strežniku
To uporabite, če ima strežnik drugi disk (na primer /dev/sdb), ki je dovolj velik za shranjevanje slike. Ciljni disk mora imeti dovolj prostega prostora za sliko celotnega izvornega diska in ne sme biti izvorni disk.
Ustvarite priklopno točko in priklopite drugi disk:
mkdir -p /mnt/backup mount /dev/sdb1 /mnt/backup
Ustvarite sliko diska:
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress
5. Preverjanje slike (izbirno)
Za preverjanje slike izračunajte nadzorno vsoto SHA-256 izvornega diska in slike ter ju primerjajte. Izvorni disk se med ustvarjanjem slike in izračunom nadzorne vsote ne sme spremeniti. Ta postopek znova prebere celoten disk, zato pri velikih diskih traja dlje časa:
sha256sum /dev/sda sha256sum /mnt/backup/sda.img
Vrednosti bi se morali ujemati.
6. Obnovitev
Obnovitev je varnostno kopiranje v obratni smeri: slika postane vir (if=), disk pa postane cilj (of=). Znova zaženite iz Finnix in priklopite shrambo, ki vsebuje sliko, na enak način kot pri varnostnem kopiranju.
Preden obnovite, se prepričajte, da ciljni disk ni manjši od izvirnega. Slike celotnega diska ni mogoče obnoviti na manjši disk, tudi če je bilo na izvornem disku uporabljenih le malo podatkov.
Iz oblačne shrambe:
dd if=/mnt/backup/sda.img of=/dev/sda bs=8M status=progress
Z drugega diska: najprej ga priklopite, nato zaženite isti ukaz. Tudi tukaj je /dev/sda zgolj primer. Zamenjajte ga z dejanskim ciljnim diskom.
Obnovitev prepiše celoten ciljni disk. Prepričajte se, da of= kaže na disk, ki ga želite obnoviti. Ko dd zaključi, znova zaženite strežnik in ga zaženite z obnovljenega diska.
Če je ciljni disk večji od izvirnega, dodatni prostor ostane neuporabljen. Po potrebi lahko particijo in datotečni sistem kasneje razširite; natančni ukazi so odvisni od razporeditve particij in datotečnega sistema. Če obnavljate na drugačno strojno opremo, je morda potrebna dodatna konfiguracija zagona. Če izvorni disk uporablja LVM, LUKS, RAID ali drugo raven shranjevanja, je po obnovitvi morda potrebna dodatna konfiguracija, zlasti na drugačni strojni opremi.