Kako sigurnosno kopirati i vratiti poslužitelj pomoću dd disk slika
dd stvara sliku cijelog diska po sektorima. Tu sliku možete koristiti za vraćanje diska u stanje u kojem je bio u trenutku izrade sigurnosne kopije. Ovaj vodič prikazuje kako stvoriti sliku diska pomoću alata dd i kako je vratiti. Budući da dd radi na razini diska, pokrenite ga iz live okruženja (Finnix), a ne iz sustava koji trenutno kopirate.
Koristite dd kada trebate kopiju cijelog diska na razini blokova. Za sigurnosne kopije na razini datoteka (pojedinačne datoteke i mape) obično su prikladniji rsync ili tar.
Prije nego počnete
- Finnix ISO
- pristup IP-KVM-u poslužitelja (KVM temeljen na IP-u)
- pohrana s dovoljno slobodnog prostora za sliku (pogledajte napomenu u scenarijima sigurnosnog kopiranja)
- SSH vjerodajnice, ako sigurnosnu kopiju izrađujete na udaljenu pohranu
- root pristup
1. Kratka napomena o dd
dd kopira podatke blok po blok. Dijelovi naredbe koji su važni:
- if= izvor (odakle se čita)
- of= odredište (kamo se piše)
- bs=8M postavlja veličinu bloka i može poboljšati performanse kopiranja
- status=progress prikazuje koliko je već kopirano, korisno kod velikih diskova
Prema zadanim postavkama, naredbe u nastavku kopiraju ispravan disk. Ako izvorni disk ima pogreške pri čitanju, dodajte conv=noerror,sync: dd tada nastavlja unatoč pogreškama pri čitanju umjesto da se zaustavi, a nečitljive blokove popunjava nulama. Time se zadržava poravnanje sljedećih blokova, ali popunjena područja gube svoje podatke, pa datotečni sustav na slici može biti oštećen. Za disk s kvarom razmislite o korištenju alata ddrescue, koji je namijenjen oporavku podataka s neispravnih diskova i vodi kartu pogrešaka pri čitanju.
dd u potpunosti prepisuje odredište bez traženja potvrde. Pogrešan of= uništava podatke. Uvijek provjerite nazive uređaja prije pokretanja bilo koje naredbe.
2. Priprema
Pokretanje s Finnixa. Montirajte Finnix ISO putem IP-KVM-a i pokrenite poslužitelj s njega. To vam omogućuje rad s diskovima poslužitelja bez pokretanja instaliranog operacijskog sustava s diska koji sigurnosno kopirate. Izbjegavajte izradu slike sustava koji je u pogonu: ako izvorni disk ima montirane datotečne sustave koji se mijenjaju, slika može biti nekonzistentna. Provjerite da izvorni disk ne koristi okruženje koje je trenutno pokrenuto.
Identificirajte diskove. Prikažite popis diskova s njihovim veličinama i točkama montiranja:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
Kao alternativa:
fdisk -l
Pronađite sistemski disk (na primjer /dev/sda) i zabilježite naziv njegovog uređaja. Ovo je najvažniji korak: dd ne traži potvrdu, pa pogreška ovdje briše pogrešan disk. U naredbama u nastavku, /dev/sda samo je primjer. Zamijenite ga stvarnim diskom koji ste identificirali pomoću naredbe lsblk. Provjerite da izvorni disk ne prikazuje točke montiranja u izlazu naredbe lsblk prije nego što izradite njegovu sliku.

3. Scenarij A: sigurnosno kopiranje u oblak putem SSHFS-a (CloudBox)
Ovo koristite za pohranu slike na INTROSERV CloudBox ili bilo koju SSH pohranu. SSH vjerodajnice (korisnik, poslužitelj, putanja) preuzmite iz pojedinosti vaše narudžbe.
Izradite točku montiranja:
mkdir -p /mnt/backup
Montirajte pohranu u oblaku:
sshfs user@host:/path /mnt/backup
Izradite sliku diska:
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress
Kada dd završi, prijavljuje koliko je podataka kopirano. Slika sda.img sada se nalazi u vašoj pohrani u oblaku.
Velika kopija putem SSHFS-a može biti spora. Ako se SSH veza prekine, kopiranje može propasti, a slika može biti nepotpuna.
Veličina slike približno odgovara veličini cijelog izvornog diska, a ne količini iskorištenih podataka. Disk od 2 TB sa 100 GB podataka i dalje stvara sliku od približno 2 TB. Provjerite ima li pohrana dovoljno slobodnog prostora.
Neobavezno: za uštedu prostora i smanjenje mrežnog prijenosa, komprimirajte sliku tijekom izrade:
dd if=/dev/sda bs=8M status=progress | gzip -c > /mnt/backup/sda.img.gz
Vratite komprimiranu sliku pomoću:
gunzip -c /mnt/backup/sda.img.gz | dd of=/dev/sda bs=8M status=progress
Komprimirana veličina ovisi o tome koliko je sadržaj diska komprimibilan. Provjera kontrolnog zbroja u nastavku odnosi se na nekomprimiranu datoteku .img.
4. Scenarij B: sigurnosno kopiranje na drugi fizički disk u istom poslužitelju
Ovo koristite ako poslužitelj ima drugi disk (na primjer /dev/sdb) dovoljno velik da sadrži sliku. Odredišni disk mora imati dovoljno slobodnog prostora za sliku cijelog izvornog diska i ne smije biti izvorni disk.
Izradite točku montiranja i montirajte drugi disk:
mkdir -p /mnt/backup mount /dev/sdb1 /mnt/backup
Izradite sliku diska:
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress
5. Provjera slike (neobavezno)
Za provjeru slike izračunajte SHA-256 kontrolni zbroj izvornog diska i slike te ih usporedite. Izvorni disk ne smije se promijeniti između izrade slike i izračuna kontrolnog zbroja. Ovime se ponovno čita cijeli disk, pa kod velikih diskova to traje neko vrijeme:
sha256sum /dev/sda sha256sum /mnt/backup/sda.img
Obje vrijednosti trebale bi se podudarati.
6. Vraćanje
Vraćanje je sigurnosno kopiranje u obrnutom smjeru: slika postaje izvor (if=), a disk postaje odredište (of=). Ponovno pokrenite s Finnixa i montirajte pohranu koja sadrži sliku, na isti način kao tijekom sigurnosnog kopiranja.
Prije vraćanja provjerite da odredišni disk nije manji od izvornog. Sliku cijelog diska nije moguće vratiti na manji disk, čak i ako je na izvoru korišteno malo podataka.
Iz pohrane u oblaku:
dd if=/mnt/backup/sda.img of=/dev/sda bs=8M status=progress
S drugog diska: prvo ga montirajte, a zatim pokrenite istu naredbu. I ovdje je /dev/sda samo primjer. Zamijenite ga stvarnim odredišnim diskom.
Vraćanje prepisuje cijeli odredišni disk. Provjerite pokazuje li of= na disk koji želite vratiti. Kada dd završi, ponovno pokrenite poslužitelj i pokrenite ga s vraćenog diska.
Ako je odredišni disk veći od izvornog, dodatni prostor ostaje neiskorišten. Particiju i datotečni sustav možete kasnije proširiti prema potrebi; točne naredbe ovise o rasporedu particija i datotečnom sustavu. Ako vraćate na drugačiji hardver, možda će biti potrebna dodatna konfiguracija pokretanja. Ako izvorni disk koristi LVM, LUKS, RAID ili drugi sloj pohrane, nakon vraćanja možda će biti potrebna dodatna konfiguracija, posebno na drugačijem hardveru.