Sigurnosno kopiranje i vraćanje slike pomoću dd-a
Što je dd?
Naredba dd je utility za kopiranje i pretvaranje datoteka, koja se često koristi u većini Unix-sličnih operacijskih sustava. Može se koristiti za zadatke kao što su stvaranje backup-a podataka, kloniranje diskova, stvaranje slike particija i više. Međutim, trebate biti oprezni pri korištenju dd, jer neprikladno korištenje može dovesti do gubitka podataka.
Evo osnovne sintakse naredbe dd:
dd if=input_file of=output_file [options]
Gdje:
• if (input file) specificira ulaznu datoteku ili izvor podataka.
• of (output file) specificira izlaznu datoteku ili odredište za podatke.
Dolje su navedene neke česte opcije i parametri dd:
1. bs (veličina bloka): Određuje veličinu bloka podataka. Na primjer, bs=4K postavlja veličinu bloka na 4 kilobajta.
2. count: Specificira broj blokova za kopiranje. Na primjer, count=100 kopira 100 blokova podataka.
3. iflag i oflag: Opcije za kontrolu zastavica ulaza i izlaza. Na primjer, iflag=direct se može koristiti za čitanje podataka direktno, zaobilaženjem cache memorije operacijskog sustava.
4. seek i skip: Opcije za pomicanje pokazivača ulazne ili izlazne datoteke za početak ili završetak kopiranja iz određene pozicije.
5. status: Opcija za prikaz informacija o napretku operacije kopiranja.
6. conv (pretvaranje): Omogućava razne pretvaranja podataka, kao što su promjena slučaja (conv=ucase ili conv=lcase), brisanje znakova (conv=sync) i više.
7. iflag i oflag: Te opcije vam omogućavaju konfiguriranje zastavica za ulazne (iflag) i izlazne (oflag) podatke. Na primjer, direct se može koristiti za čitanje ili pisanje podataka direktno bez privremene memorije.
8. status: Ova opcija omogućava prikaz informacija o napretku operacije kopiranja.
9. seek i skip: Omogućavaju vam pomicanje pokazivača ulazne ili izlazne datoteke za početak kopiranja iz određene pozicije.
Razmotrimo primjere korištenja dd za kopiranje datoteka i direktorija na udaljenu Cloud Storage koju pruža Introserv koristeći SSH protokol i rsync naredbu. Dodatno, primjer će pokazati pravljenje backup-a i obnavljanje sistemske slike koristeći treći disk. Važna napomena: Slične naredbe, s navođenjem ciljnog servera, omogućit će vam kopiranje direktorija i datoteka na bilo koji udaljeni server putem SSH. Dodatno, za integritet podataka, koristit ćemo "recovery" sliku zvanu Finnix.
Stvaranje backup-a sistemske slike
1. Stvaranje backup-a:
Pripreme:
1. Preuzmite Finnix na vaše računalo s https://www.finnix.org.
2. Spojite ISO sliku putem IP-KVM-a.
3. Pokrenite server iz Finnix ISO slike.
2. Rad s Finnix-om
Istražit ćemo dva načina, od kojih je jedan moguć koristeći Introserv Cloud Storage.
Za montiranje udaljene datotečne pohrane (cloud storage) putem SSH, preporučujemo korištenje alata kao što je SSHFS (SSH File System), koji vam omogućava povezivanje udaljenih direktorija na vaše lokalno računalo koristeći SSH protokol. Evo kako to učiniti:
2.1. Instalirajte SSHFS.
Budući da je već instaliran u Finnix-u, nećemo izvoditi ovaj korak.
sudo apt-get install sshfs
2.2. Stvorite lokalni direktorij gdje želite montirati udaljenu mapu.
Na primjer:
sudo mkdir -p /root/mnt/backup

Ova naredba kreira potrebnu strukturu direktorija, uključujući nedostajuće matične direktorije (zastavica -p).
2.3. Montirajte udaljeni direktorij putem SSHFS-a:

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup/
• box*****: SSH korisničko ime na udaljenom serveru.
• Box*****.introserv.cloud: IP adresa ili naziv hosta udaljenog servera.
• /backups: Putanja do direktorija na cloud storage-u.
• ~/remote_mount: Putanja do lokalnog direktorija koji smo stvorili gore, gdje želimo montirati našu udaljenu mapu iz cloud storage-a.
Sustav će zatražiti lozinku, koju možete pronaći u detaljima narudžbe u Backup odjeljku.
2.4. Provjerite našu mrežnu mapu.

2.5. Za stvaranje backup-a vašeg sustava, koristite sljedeću naredbu:

dd if=/dev/sda of=/root/mnt/backup/sda.ing bs=8M conv=sync,noerror
Drugi način je moguć putem trećeg diska ili druge eksterne pohrane
2.1 Odredite tvrdi disk gdje je instaliran glavni sustav (u ovom slučaju, Ubuntu)
U ovom slučaju, to je sda.

2.2 Također montirajte mapu za vanjski disk kako biste mogli staviti backup sliku tamo.
Da bi ste montirali kreirani datotečni sustav u direktorij /mnt/, pokrenite sljedeće naredbe:
sudo mount /dev/sdX /mnt/папка # zamijenite sdX s specifičnim uređajem ili particijom (u ovom slučaju, imamo sdb)


Da biste stvorili backup tvrdog diska, koristite sljedeću naredbu:
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror
• if=/dev/sda - kopiraj cijeli sda tvrdi disk;
• of=/mnt/backup/sda.img - kopiraj u /mnt/backup/sda.img, gdje je direktorij /mnt/backup točka montiranja diska koja će sadržavati sliku;
• bs=8M - postavite veličinu cache memorije tvrdog diska kako bi biste ubrzali proces kopiranja (inače će se podaci flushed-ati u malim paketima od 512 bajtova);
• conv=sync,noerror - recite dd-u da kopira bit-po-bit s ignoriranjem grešaka.
Obnavljanje sistemskog backup-a na drugi server ili disk
1. Povezivanje rescue slike
- Spojite ISO sliku putem IP-KVM-a.
- Restartajte server u Finnix ISO sliku.
2. Rad s Finnix-om
Baš kao s backup-om, imamo dva načina, koristeći CloudStorage:
2.1. Stvorite lokalni direktorij gdje želite montirati udaljenu mapu. Na primjer:

sudo mkdir -p /root/mnt/backup
2.2. Montirajte udaljeni direktorij putem SSHFS-a:

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup
Sustav će zatražiti lozinku, koju možete pronaći u detaljima narudžbe pod Backup odjeljkom.
Također provjerite je li mapa montirana.
ls -l /root/mnt/backup/
2.3. Pronađite sliku koja je potpisana kao sda.img na našem priključenom mrežnom pogonu.

Da obnovite svoj sustav iz backup-a, koristite sljedeću naredbu:
dd if=/root/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror
2.4. Nakon toga, restartamo u BIOS
Postavite disk gdje smo primjenjivali sustav da bude prioritet pokretanja, restartajte i pokušajte pokrenuti sustav.

Također, razmotrimo primjenu sistemske slike koristeći treći disk ili drugu pohranu:
2.1. Restartamo u Finnix.
Montirajte mrežnu pohranu ili disk sa slikom koristeći naredbu sudo mount /dev/external_network_disk_or_storage /mnt/folder_for_mounting.

Pronađite sliku koja je potpisana kao sda.img

Da obnovite svoj sustav iz backup-a, koristite sljedeću naredbu:
dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror
Nakon toga, restartamo u BIOS i postavimo disk gdje smo primjenjivali sustav da bude prioritet pokretanja, restartamo i pokušavamo pokrenuti sustav.