Pomoću uslužnog programa dd stvorit ćemo sliku flash pogona s arhiviranjem slobodnog prostora. Sigurnosna kopija će vam dobro doći ako originalna iznenada prestane raditi. važna informacija. Na primjer, flash pogon s privatni ključevi elektronički potpisi upravljanje organizacijom. Dakle, imamo flash pogon od 4 GB /dev/sdd, čiji podaci zauzimaju oko 90 MB.
du - sh / trčanje / mediji / Aleksej / Transcend
89M /run/media/aleksey/Transcend |
Sve naredbe se izvršavaju u ime korisnika korijen. Ili u odgovarajućim distribucijama dodajte ispred naredbi sudo.
fdisk - l /dev/sdd
Disk /dev/sdd: 3,7 GiB, 3904897024 bajtova, 7626752 sektora Jedinice: sektori od 1 * 512 = 512 bajtova Veličina sektora (logička/fizička): 512 bajtova / 512 bajtova I/O veličina (minimalna/optimalna): 512 bajtova / 512 bajtova Vrsta oznake diska: dos Identifikator diska: 0xc653eaa4 Početak pokretanja uređaja Krajnji sektori Veličina ID Vrsta /dev/sdd1 2048 7628543 7626496 3.7G b W95 FAT32
Disk /dev/sdd: 3,7 GiB, 3904897024 bajtova, 7626752 sektora Jedinice: sektori od 1 * 512 = 512 bajtova Veličina sektora (logička/fizička): 512 bajtova / 512 bajtova I/O veličina (minimalna/optimalna): 512 bajtova / 512 bajtova Vrsta oznake diska: dos Identifikator diska: 0xc653eaa4 Device Boot Start End Sectors Size Id Type /dev/sdd1 2048 7628543 7626496 3.7G b W95 FAT32 |
Stvaranjem jednostavne slike naredbom
dd if = /dev/sdd od = sdd. iso bs = 4M konv = nema pogreške,
osuđujemo se na pohranjivanje datoteke od 4 GB. Što ako je flash pogon imao kapacitet od 64 GB? I ne sam? Redoviti arhivar pomoći će nam riješiti ovaj problem, uzmimo standardni gzip.
dd if=/dev/sdd bs=4M conv=bez pogreške | gzip - c > sdd . iso. zip
gdje je ključ -c omogućuje vam rad sa standardnim izlazom.
Nakon završetka rada, pogledajmo rezultirajuću datoteku. ls - al sdd*
Rezultirajuća datoteka je veličine približno 25 MB. Prava ušteda prostora na disku čak iu usporedbi s datotekom od 4 GB!
Da biste vratili flash pogon sa slike, koristite obrnuti redoslijed naredbi.
gunzip - c sdd . iso. zip | dd od = /dev/sdd konv = nema pogreške bs = 4M
Također možete arhivirati slike tvrdi diskovi, gdje su volumeni za red veličine veći.
Usput! Kako bi proces bio jasniji, budući da dd nema vlastitu traku napretka, predlažem korištenje malog uslužnog programa napredak- Coreutils Progress Viewer. Instaliranje na Fedoru nije teško.
napredak instalacije dnf-a
Za ostale distribucije potrebno spremište možete pronaći na https://pkgs.org/download/progress.
Instaliranjem i pokretanjem uslužnog programa s naredbom gledati napredak u drugom terminalu (u prvom imamo pokrenut arhiver i dd) u ime istog korisnika, vidjet ćemo nešto ovako.
čovjek napredak pokazat će vam razne korisne ključeve ovog uslužnog programa.
Budite oprezni jer ako pogrešno napišete naziv flash pogona u naredbi dd, možete oštetiti tvrdi disk glavnog računala.
Prikazat ćemo oznaku particije svih uređaja
i među njima pronađite flash pogon:
Sudo fdisk -u -l /dev/sd?
Također, za definiranje particija na svim uređajima možete koristiti naredbu:
Sudo cat /proc/particije
sintaksa naredbe dd
dd if=/AAAA of=/BBBB bs=CCCC count=DDDD konv=nema pogreške- ako: (ulazna datoteka) označava izvor, tj. odakle prepisujemo. Određuje datoteku, koja može biti obična datoteka ili datoteka uređaja.
- od: (izlazna datoteka) pokazuje na odredišnu datoteku. Ista stvar, možemo pisati i u običnu datoteku i izravno na uređaj.
- bs: Broj bajtova koji će biti zapisani odjednom. Odnosno, veličina dijela podataka koji će se čitati i pisati odjednom. Preporuča se postaviti bs= na veličinu predmemorije tvrdog diska, tj. 8M 16M 32M
- računati: koliko dijelova bsće se kopirati.
- konv.: omogućuje povezivanje filtara koji se primjenjuju na tok podataka. filtar "nema greške" samo onemogućuje zaustavljanje programa kada naiđe na pogrešku čitanja.
Primjeri
Potpuno brisanje diska
Kako se ništa ne bi moglo vratiti na medij, možete ga ispuniti nulama, ova naredba će uvijek završiti s pogreškom "mediju je ponestalo prostora"
Dd if=/dev/nula od=/dev/sdX
Stvaranje slike diska
dd if=/dev/cdrom of=image.iso conv=no errortakođer se možete prijaviti u sustav
Mount -o petlja /PathToImageFile/image.iso /mnt/FolderMount
Ako nešto ne uspije, proces se dijeli na 2 razine:
Losetup -e /dev/loop0 /PathToImageFile/image.iso montiranje /dev/loop0 /mnt/FolderMount
MBR operacije
MBR se nalazi u prvih 512 bajtova tvrdi disk, a sastoji se od particijske tablice, bootloadera i par dodatnih. bajt. Ponekad ga morate sigurnosno kopirati, vratiti itd. Sigurnosna kopija se radi ovako:
Dd if=/dev/sda of=mbr.img bs=512 count=1
Možete ga lakše vratiti:
Dd if=mbr.img of=/dev/sda
Kopiranje s arhiviranjem
(koristeći gzip) podatke s flash pogona na tvrdi disk.
Dd if=/dev/sdX conv=sync,noerror bs=8M | gzip -c >/PathToSave/sdX.img.gz
i natrag
Gunzip -c /PathToFile/sdX.img.gz | dd of=/dev/sdX conv=sync,noerror bs=8M
Kopiranje preko mreže
dd if=/dev/sdX conv=sync,noerror bs=8M | ssh -c blowfish Korisničko ime@HostName "dd of=sdX.img.gz bs=8M"i natrag
Dd if=sdX.img.gz | ssh -c blowfish Korisničko ime@HostName "dd of=/dev/sdX bs=8M"
Tim dd dizajniran je za korištenje istoimenog uslužnog programa, dizajniranog za kopiranje i pretvorbu podataka na niskoj razini. Njegovo ime je skraćenica od “data duplicator” ili “data duplicator”. Ovaj se uslužni program uglavnom koristi za pisanje slika instalacijskih diskova distribucija Linuxa na flash pogone i stvaranje slika optičkih medija, međutim, njegov raspon funkcija nije ograničen na navedene operacije. Na primjer, dd može se koristiti za jednostavno kopiranje datoteke ili mijenjanje velikih i malih slova tekstualnih nizova. Općenito, korisnost o kojoj je riječ donekle je jedinstvena jer uključuje upotrebu vlastiti format prolazni parametri.
Standardna sintaksa naredbe je sljedeća:
$dd ako=<имя исходного файла>od=<имя целевого файла>[opcije]
Lako je primijetiti da se format snimanja koristi za prosljeđivanje parametara uslužnom programu <имя параметра>=<значение параметра> . Uslužni program može čitati izvorne podatke sa standardnog ulaza i ispisati rezultirajuće podatke koristeći standardni izlaz ako se parametri ne koriste ako I od, ali u velikoj većini slučajeva ti su parametri nužni za određivanje naziva datoteka s odgovarajućim podacima. Uslužni program čita i zapisuje podatke u blokovima, a veličina bloka se može promijeniti pomoću parametra bs(Blokovi od 512 KB koriste se prema zadanim postavkama). Postoje odvojeni parametri za postavljanje veličine blokova za čitanje i za pisanje, naime, ibs I promatranje. Broj čitanih blokova može se ograničiti pomoću parametra računati. Parametar se može koristiti za preskakanje određenog broja blokova u izvornoj datoteci. preskočiti, ciljna datoteka - parametar tražiti. Parametar se može koristiti za određivanje oznaka za čitanje i pisanje odvojenih zarezima iflag
- dodati- aktivacija načina dodavanja podataka u ciljnu datoteku.
- direktno- način obrade podataka koji zaobilazi predmemoriju datotečnog sustava (povećava brzinu).
- dsync- način snimanja podataka sa sinkronizacijom (povećava pouzdanost).
- sinkronizacija- način snimanja podataka i metapodataka sa sinkronizacijom (povećava pouzdanost).
- puni blok- čitanje samo kompletnih blokova.
- neblokirati- aktivacija neblokirajućeg I/O moda (povećava brzinu).
- noatime- onemogućavanje mehanizma za ažuriranje vremenskih oznaka elementa datotečnog sustava (povećava brzinu).
- nofollow- odbijanje praćenja simboličkih poveznica.
Konačno, parametar se može koristiti za određivanje oznaka konverzije odvojenih zarezima konv. Najčešće korištene zastavice su:
- lcase- pretvaranje znakova niza u ASCII kodiranju u mala slova.
- ucase- pretvaranje string znakova u ASCII kodiranju u velika slova.
- nocreat- prikazati poruku o pogrešci ako ciljna datoteka nedostaje.
- isključujući- prikazati poruku o pogrešci ako ciljna datoteka postoji.
- notrunc- odbijanje skraćivanja ciljne datoteke.
- obrisak- mijenjanje mjesta svaka dva bajta iz izvorne datoteke.
- nema pogreške- nastavak rada čak i ako se pojave greške.
- fdatasync- aktivacija načina pisanja podataka u ciljnu datoteku prije dovršetka uslužnog programa.
- fsync- aktivacija načina pisanja podataka i metapodataka u ciljnu datoteku prije dovršetka uslužnog programa.
Primjeri korištenja
Sigurnosno kopiranje podataka diska
Pretpostavimo da koristimo HDD, predstavljen datotekom uređaja /dev/sda, a mi moramo stvoriti sigurnosnu kopiju svih podataka koji se nalaze na njemu sektor po sektor, spremajući ih u datoteku na particiji prijenosnog diska s USB sučelje, predstavljen datotekom uređaja /dev/sdb1 i montiran u imenik /mnt/sdb1. Ove datoteke sigurnosne kopije obično se nazivaju dumps ili slike diska. Naša datoteka slike diska bit će imenovana sigurnosna kopija.img. Ovo je naredba s kojom ga možete kreirati:
# dd if=/dev/sda of=/mnt/sdb1/backup.img
U ovoj naredbi, pomoću parametra ako naveden je put do izvorne datoteke i pomoću parametra od- do cilja.
Vraćanje podataka iz sigurnosne kopije
Za oporavak podataka iz stvorenog sigurnosna kopija trebali biste pokrenuti sustav s instalacijski disk distribuciju i izvršiti obrnutu naredbu.
# dd if=/mnt/sdb1/backup1.img of=/dev/sda
Upozorenje: izvršavanje ove naredbe prebrisat će cijeli sadržaj navedenog tvrdog diska, stoga biste takve naredbe trebali tretirati s posebnom pažnjom.
Kloniranje tvrdog diska
Prije kloniranja tvrdog diska, morate osigurati da imate tvrdi disk iste veličine kao izvorni. Ista se operacija može izvesti u slučaju flash pogona s USB sučeljem sličnih veličina. Pretpostavimo da je izvorni flash pogon predstavljen datotekom uređaja /dev/sdb, a cilj - datoteka uređaja /dev/sdc. U tom slučaju možete klonirati izvorni pogon pomoću sljedeće naredbe:
# dd if=/dev/sdb of=/dev/sdc
Čak i ako ciljni pogon ima veći kapacitet, imat ćete pristup samo veličini izvornog flash pogona pohranjenog na razini datotečnog sustava.
Prijenos datoteke slike diska na drugo računalo
Za prijenos datoteke slike diska preko mreže na drugo računalo pod nazivom cilj može se koristiti sljedeća naredba:
# dd if=/dev/sdb | ssh root@target "(cat >backup.img)"
Sažimanje datoteke slike diska
Kako bi rezervna particija diska zauzela manje prostora, možete je komprimirati pomoću kompresora kao što je bzip2:
# dd if=/dev/sdb | bzip2 sigurnosna kopija.img.bz2
Stvaranje ISO slike optičkog diska
Za stvaranje slike optički disk CD, DVD ili BD samo treba pročitati svoj sadržaj blok po blok i spremiti taj sadržaj u datoteku:
# dd if=/dev/sr0 of=image.iso bs=2048
Spremanje datoteke s oštećenog medija ili stvaranje slike takvog medija
Ako vaš omiljeni film ili glazbeni zapis više nije čitljiv zbog oštećenja medija, možete ga pokušati kopirati pomoću uslužnog programa dd, ignorirajući loše blokove:
# dd if=movie.avi of=/home/alex/movie.avi conv=no error,sync
Također možete stvoriti slikovnu datoteku oštećenog medija i pokušati izdvojiti datoteke iz nje:
# dd if=/dev/sdb of=/home/alex/movie.iso bs=2048 conv=no error,sync
Snimanje slike instalacijskog diska na USB flash pogon
Za ugradnju Linux distribucija s USB flash pogona, morate napisati sliku ISO instalacijskog diska na ovaj flash pogon. U tu svrhu može se koristiti slična naredba:
# dd if=/home/alex/Fedora-Workstation-Live-x86_64-26_Alpha-1.7.iso of=/dev/sdc
Važno je zapamtiti da čak i ako postoje particije na flash disku, ne biste trebali navesti put do datoteke uređaja jedne od particija, već put do datoteke uređaja samog pogona, u našem slučaju to je /dev/sdc.
Analiza sadržaja tvrdog diska
Korisnost dd izvrstan je alat za istraživanje datotečnih sustava. Za analizu sadržaja tvrdog diska s izlazom podataka iz pojedinačnih blokova, u našem slučaju, bloka 1001 na particiji koju predstavlja datoteka uređaja /dev/sdc1, samo upotrijebite sljedeću naredbu:
# dd if=/dev/sdc1 count=1 skip=1000
Kako biste vidjeli prvih 40 bajtova vašeg tvrdog diska u heksadecimalnom zapisu, koristite naredbu:
# dd if=/dev/sda bs=1 broj=40 | hexdump -C
U ovom slučaju, pomoću parametra bs postavlja veličinu bloka diska.
Testiranje performansi diska
Za testiranje performansi disk, predstavljena, na primjer, datotekom uređaja /dev/sda Kod čitanja blokova različitih veličina može se koristiti slična naredba:
1000000+0 zapisa u
Izašlo 1000000+0 zapisa
# dd if=/dev/sda of=/dev/null bs=4096 broj=1000000
1000000+0 zapisa u
Izašlo 1000000+0 zapisa
4096000000 bajtova (4,1 GB) kopirano, 29,8747 s, 137 MB/s
Zahvaljujući mehanizmu predmemoriranja datotečnog sustava, možete naići na mistično ubrzanje operacija čitanja koje ne bi trebalo biti iznenađujuće:
# dd if=/dev/sda of=/dev/null bs=512 broj=1000000
1000000+0 zapisa u
Izašlo 1000000+0 zapisa
512000000 bajtova (512 MB) kopirano, 4,25186 s, 120 MB/s
# dd if=/dev/sda of=/dev/null bs=512 broj=1000000
1000000+0 zapisa u
Izašlo 1000000+0 zapisa
512000000 bajtova (512 MB) kopirano, 0,417317 s, 1,2 GB/s
Da biste dobili točne rezultate testa, preporučuje se potpuno zaobići mehanizam predmemoriranja datotečnog sustava korištenjem I/O načina bez predmemoriranja:
# dd if=/dev/sda of=/dev/null bs=512 broj=100000 iflag=izravno
100000+0 zapisa u
Izašlo 100000+0 zapisa
51200000 bajtova (51 MB) kopirano, 5,01053 s, 10,2 MB/s
Kopiranje datoteka
Da, korisnost ddčak se može koristiti za redovito kopiranje datoteka. Naravno, u tu svrhu bolje je koristiti uslužni program posebno dizajniran za tu svrhu, naime, cp. U svakom slučaju, datoteku možete kopirati pomoću slične naredbe:
$ dd if=/home/alex/test.txt /home/alex/test_copy.txt
Kao što je poznato, “Korisnici računala dijele se na one koji rade sigurnosne kopije i one koji će to raditi”. U ovom članku ćemo pogledati razne načine sigurnosna kopija (backup) cijelog sustava i, sukladno tome, obnova iz sigurnosne kopije.
Odmah je vrijedno napomenuti da se sve operacije ne smiju izvoditi "uživo", tj. ne na pokrenutom sustavu, već s liveCD-a ili instaliran na susjednoj particiji/flash disku/usb-hdd sustava. U slučajevima kada je prekid rada od nekoliko minuta kritičan za sustav, moguće je kopirati sustav iz samog sebe, ali u tom slučaju moraju se uzeti u obzir neki dodatni uvjeti, koji još nisu razmatrani u ovom članku
Dalje u tekstu, za radnje koje se izvode kao superuser koristit će se naredba sudo, koja je standardna za Ubuntu. Na drugim sustavima moguće je dobiti privilegije superkorisnika preko su, neki liveCD sustavi rade u načinu rada superkorisnika prema zadanim postavkama
katran
Jedan od najpopularnijih načina stvaranja jednostavne sigurnosne kopije je arhiviranje podataka pomoću tar-a. Prednosti ove metode su mogućnost inkrementalnog backupa (dodavanje datoteka u postojeću arhivu, njihovo brisanje ili mijenjanje), mogućnost izdvajanja pojedinačnih datoteka iz arhive, kao i prisutnost tar-a u gotovo svakom Linux sustavu.
Izrada arhive
Prvo stvorite točke montiranja za root particiju i za particiju na kojoj ćete napraviti sigurnosnu kopiju, na primjer ovako
Montirajte obje particije. Za veću pouzdanost, možete montirati korijensku particiju u načinu rada samo za čitanje kako biste uklonili mogućnost slučajnih promjena podataka
Sudo montiranje /dev/sdXY /mnt/root -o ro sudo montiranje /dev/sdXY /mnt/backup
(Umjesto "sdXY" koristite svoje vrijednosti za particije koje želite. Možete ih odrediti koristeći sudo fdisk -l ili sudo blkid)
Ako koristite zasebne particije za /boot, /usr, /home itd. i želite uključiti njihov sadržaj u sigurnosnu kopiju, montirajte ih u odgovarajuće mape
Sudo montiranje /dev/sdXY /mnt/root/usr -o ro sudo montiranje /dev/sdXY /mnt/root/home -o ro
Ako je potrebno, napravite mapu na backup particiji u koju želite smjestiti npr. arhivu
Sudo mkdir -p /mnt/backup/ubuntu/root
Sada možete početi stvarati arhivu. Za izradu gzip-komprimirane arhive pokrenite
Sudo tar -cvzpf -C /mnt/root /mnt/backup/ubuntu-sda1.tar.gz.
(Prekidač -p omogućuje spremanje vlasnika i dopuštenja za datoteke)
Za kompresiju bzip2 koristite
Sudo tar -cvjpf /mnt/backup/ubuntu-sda1.tar.bz2 /mnt/root
Za lzma kompresiju
Sudo tar --lzma -cvpf /mnt/backup/ubuntu-sda1.tar.lzma /mnt/root
Slično za lzo kompresiju - prebacite --lzop umjesto --lzma
Različiti algoritmi kompresije proizvode različite veličine arhiva, a također se razlikuju u izvedbi
Nakon što je proces dovršen, demontirajte sve montirane particije
Sudo umount /mnt/root(/boot,/var,/home,) /mnt/backup
Vraćanje iz arhive
Stvorite točke montiranja za korijensku particiju i particiju na kojoj je pohranjena vaša arhiva
Sudo mkdir /mnt/(root,backup)
Montirajte particiju sa sigurnosnom arhivom
Sudo mount /dev/sdXY /mnt/backup -o ro
Formatirajte korijensku particiju na isti (ili drugi) datotečni sustav. Ako koristite zasebne particije za /usr, /boot, itd. i arhivirali ste ih, također ih formatirajte
(ako vraćate sustav na novi tvrdi disk, particionirajte ga koristeći fdisk/gparted i formatirajte particije)
Neki datotečni sustavi podržavaju postavljanje UUID-a prilikom formatiranja. Ovo omogućuje stvaranje datotečnog sustava s istim UUID-om kao i stari, što će izbjeći potrebu za uređivanjem fstab-a.
Za ext2/3/4, UUID se postavlja pomoću sklopke -U, a zadatak možete još više pojednostaviti naredbom poput
Sudo mkfs.ext4 -L "oznaka" -U "$(sudo blkid -o vrijednost -s UUID /dev/sda1)" /dev/sda1
Ako ste prilikom izrade slikovne datoteke koristili arhiviranje, prvo je raspakirajte pomoću istog programa za arhiviranje, npr
Bzip2 -dv /media/backup/sda5.dd.bz
Sada možete montirati sliku
Sudo mount /media/backup/sda5.dd -o petlja /mnt
(S opcijom petlje, program za montiranje automatski će "pokupiti" slikovnu datoteku na slobodni uređaj za petlju, a zatim montirati datotečni sustav)
Sada možete raditi sa sadržajem slike kao s običnim datotečnim sustavom, sve vaše promjene bit će zapisane na sliku. Kada završite, montirajte sliku kao uobičajeni datotečni sustav
Sudo umount /mnt
dd - kopirajte cijeli tvrdi disk
U ovom slučaju ćemo ponovno koristiti dd, samo što ćemo ovaj put spremiti cijeli sadržaj tvrdog diska - s tablicom particija, samim particijama i svim podacima. Prednost ovu metodučinjenica da možete spremiti sve sustave instalirane na ovom tvrdom disku u jednom koraku bez potrebe za sigurnosnim kopiranjem svake particije zasebno. Osim toga, uz takvu sigurnosnu kopiju, svi podaci koji se odnose na bootloader bit će spremljeni - dakle, nakon vraćanja iz sigurnosne kopije, nećete trebati dodatne manipulacije, možete se odmah pokrenuti s ovog tvrdog diska.
Stvaranje slike
Općenito, postupak je sličan gore opisanom za sigurnosno kopiranje pojedinačnih particija. U ovom slučaju također vrijedi savjet o čišćenju slobodnog prostora s "nulama" - ako imate slobodnog vremena, učinite to sa svim particijama.
Prije početka operacije, provjerite da nijedna od particija na ovom tvrdom disku nije montirana. To se može učiniti pokretanjem naredbe mount bez parametara.
Odaberite particiju na koju ćete smjestiti datoteku isječka. Naravno, ovo mora biti particija s drugog tvrdog diska. Također provjerite ima li dovoljno slobodnog prostora na ovoj particiji (na primjer, pomoću uslužnog programa df) - količina slobodnog prostora treba odgovarati volumenu kopiranog tvrdog diska (kada je komprimirana, slika će biti manja, ali to ovisi o vrsti pohranjenih podataka).
Montirajte rezervnu particiju
Sudo montiranje /dev/sdXY /mnt
Sada možete početi
Sudo dd if=/dev/sdX bs=1M conv=no error,sync | lzma -cv > /mnt/hdd.dd.lzma
(ovdje je “sdX” disk, a ne particija! za kopiranje bez kompresije, naredba je slična gornjoj za backup particije)
Ovisno o veličini tvrdog diska i performansama računala, postupak može trajati dugo (do nekoliko sati). Kada završite, montirajte sigurnosnu particiju
Sudo umount /mnt
Oporavak sa slike
Pažnja! Ova metoda uključuje potpuni povratak na stanje u trenutku kada je arhiva nastala uz zamjenu svih podataka!
Prije početka rada provjerite je li napajanje pouzdano. Spojiti mrežni adapter, ako imate prijenosno računalo, a po mogućnosti koristite UPS ili stabilizator. Visoke stope pisanja povećavaju rizik od oštećenja diska u slučaju nestanka struje
Uvjerite se da nijedna particija diska koji se vraća nije u upotrebi. Montirajte rezervnu particiju
Sudo montiranje /dev/sdXY /mnt
Možete započeti postupak
Bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M conv=sync,no error
Ili za nekomprimiranu sliku
Sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M conv=sync,no error
Kada završite, montirajte sigurnosnu particiju
Sudo umount /mnt
Ako želite izdvojiti sliku na drugi tvrdi disk, ona mora biti barem jednako velika kao izvorna. Ako novi disk veći volumen, možete proširiti particije ili stvoriti novu particiju na slobodnom prostoru koristeći parted/fdisk/gparted/etc
Ne koristite oba tvrda diska (“duplikat” i “original”) u isto vrijeme! Kada su oba pogona spojena, sustav će imati dvije particije za svaki UUID, što će dovesti do operativnih problema ili nemogućnosti pokretanja
Montaža slike
Po analogiji sa slikom particije, možete raditi sa slikom tvrdog diska kao s običnim tvrdim diskom. U tom slučaju postupak postaje nešto kompliciraniji, jer slika sadrži nekoliko dijelova.
Ako je slika komprimirana, raspakirajte je. Sada "pokupite" sliku na uređaj za petlju
Sudo losetup -fv /media/backup/sda.dd
(S prekidačem -f, program će automatski pronaći uređaj za slobodnu petlju, inače ga morate eksplicitno navesti)
losetup će prikazati naziv korištenog uređaja - ako ne radite s drugim slikovnim datotekama (iso, šifrirani spremnici itd.), to će najvjerojatnije biti /dev/loop0
Sada imamo uređaj koji je tvrdi disk za sustav, ali nemamo pristup njegovim particijama. Program kpartx pomoći će vam da dođete do particija (možda ćete morati instalirati istoimeni paket)
Sudo kpartx -av /dev/loop0
(Tipka -a - dodavanje particija za određeni uređaj; -v - informativni izlaz)
Program će prikazati nazive stvorenih uređaja za particije diska: loop0p1 za prvu particiju, loop0p2 za drugu, slično particijama običnog diska. Datoteke uređaja nalazit će se u mapi /dev/mapper
Sada možete raditi s particijama i FS-om na njima. Na primjer, montirajte bivši sda5 i upišite datoteke na njega
Sudo montiranje /dev/mapper/loop0p5 /mnt
Kada završite, demontirajte particiju
Sudo umount /mnt
Ukloni particione uređaje koristeći kpartx
Sudo kpartx -dv /dev/loop0
i otpustite uređaj za petlju
Sudo losetup -v -d /dev/loop0
Svi! Promjene se bilježe, a vaša slika ponovno postaje obična datoteka
cp
Ovdje ćemo pogledati sigurnosno kopiranje pomoću uslužnog programa cp, tj. pomoću jednostavnog kopiranja. Zapravo, nije najviše najbolji način, i prikladniji je za kopiranje sustava na drugi tvrdi disk / particiju / računalo, nego za stvaranje sigurnosne kopije.
S druge strane, ova metoda ima niz prednosti:
Univerzalnost - naći ćete cp u svakom Linux sustavu
Mali zahtjevi za resursima (zbog nedostatka kompresije i jednostavnosti mehanizma)
Jednostavnost daljnjeg rada sa sigurnosnom kopijom (dodavanje/promjena/brisanje datoteka, izdvajanje potrebnih podataka itd.)
Izrada kopije
Stvorite točke montiranja za root i backup particije
Sudo mkdir /mnt/(root,backup)
Montirajte obje particije
Sudo montiranje /dev/sdXY -o ro /mnt/root sudo montiranje /dev/sdXY /mnt/backup
Montirajte particije za /usr, /boot itd., ako postoje
Sudo mount /dev/sdXY -o ro /mnt/root/home
Napravite mapu za svoju sigurnosnu kopiju na particiji za sigurnosnu kopiju
Sudo mkdir /mnt/backup/ubuntu
Možemo početi
Sudo cp -av /mnt/root/* /mnt/backup/ubuntu
(prekidač -a omogućuje kopiranje veza "kakvih jest", spremanje svih mogućih atributa datoteka i rekurzivni način rada. -v prekidač - prikaz informacija o tome što se događa)
Nakon dovršetka procesa demontirajte sve particije
Ubuduće svoje podatke možete arhivirati na bilo koji prikladan način.
Vraćanje iz kopije
Pažnja! Ova metoda uključuje potpuno vraćanje na stanje u vrijeme kada je arhiva stvorena, zamjenjujući sve podatke!
Stvorite točke montiranja za particije
Sudo mkdir /mnt/(root,backup)
Montirajte rezervnu particiju
Sudo mount /dev/sdXY -o ro /mnt/backup
Formatirajte korijensku particiju i /usr, /boot itd. particije, ako postoje. (Za formatiranje particija uz očuvanje UUID-a, pogledajte odjeljak o)
Sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY
Montirajte novostvorene datotečne sustave
Proces kopiranja je sličan, samo u suprotnom smjeru.
Sudo cp /mnt/backup/ubuntu/* -av /mnt/root
Nakon što je kopiranje dovršeno, uredite fstab da biste ispravili UUID-ove particije
Odmontirajte particije
Sudo umount /mnt/backup /mnt/root/(usr,home,)
squashfs
sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXYMontirajte novostvorene datotečne sustave
Sudo montiranje /dev/sdXY /mnt/root sudo montiranje /dev/sdXY /mnt/root/usr sudo montiranje /dev/sdXY /mnt/root/var
Spremni smo za početak! Za raspakiranje slike upotrijebite uslužni program unsquashfs
Sudo unsquashfs -d /mnt/root -f /mnt/backup/ubuntu-root.sqfs
(Prekidač -d određuje stazu za raspakiranje, s preklopkom -f program će koristiti postojeće mape umjesto da pokušava stvoriti nove)
Baš kao kod izrade slike, vidjet ćete traku napretka i puno drugih korisnih informacija.
Kada završite, uredite fstab, zamjenjujući UUID-ove particija novima (ako ste formatirali particije s istim UUID-ovima, preskočite ovaj korak)
Sudo nano /mnt/root/etc/fstab
Spremite datoteku i demontirajte sve particije
Sudo umount /mnt/backup /mnt/root(/usr,/var,)
Montaža slike
squashfs se montira kao i svaka druga slika - preko uređaja za petlju. Kernel podrška za squashfs uključena je u mnoge distribucije, uključujući Ubuntu, tako da samo trebate koristiti naredbu montiranja s opcijom petlje
Sudo montiranje /media/backup/ubuntu-root.sqfs -o ro,loop /mnt
(Opcija ro nije potrebna, budući da tamo ništa ne piše ionako neće raditi)
Sada možete kopirati bilo koji potrebne datoteke. Dodavanje nečega na ovaj način neće raditi; morat ćete ponovno koristiti mksquashfs
Kada završite, montirajte sliku kao uobičajeni datotečni sustav
Sudo umount /mnt
rsync
Kao i cp, rsync radi na datotekama, a ne na blok uređajima. Kod rsync-a je to što ne kopira datoteke koje su već na odredištu. Prema zadanim postavkama provjerava veličinu i vrijeme izmjene datoteka, ali također možete provjeriti hash (obično se to radi kada je potrebna povećana sigurnost).
Jednostavan za korištenje
Sintaksa rsync slična je cp:
Rsync -a /mnt/root /mnt/backup
Parametar -a je često dovoljan; on pruža ono što je najpotrebnije: rekurzivno kopiranje direktorija, spremanje podataka o vlasniku i grupi itd. Za prikaz detaljnih informacija o kopiranju, upotrijebite prekidač -v; Prekidač -x osigurava da rsync ne ide izvan navedenog datotečnog sustava.
Rsync dokumentacija opisuje mnogo opcija. Na primjer, postoje oni koji vam omogućuju kopiranje preko SSH-a ili brisanje datoteke s odredišta ako je izbrisana u izvornom direktoriju.
Pametno kopiranje smanjuje vrijeme prekida rada sustava. Rsync pokrećemo izravno na pokrenutom sustavu, podaci u kojem se stalno mijenjaju, rsync kopira podatke, recimo, u roku od nekoliko sati. Zatim prebacimo sustav na samo za čitanje, ponovno pokrenemo rsync, sada kopira samo one datoteke koje su se promijenile u ovih nekoliko sati. Za nekoliko minuta imamo puna kopija originalni FS. Zastoj je smanjen za red veličine u usporedbi s offline kopiranjem. U nekim će slučajevima biti dovoljna jedna online kopija bez pretvaranja sustava u samo za čitanje.
Spremanje prethodnih kopija
Strogo govoreći, rsync nije alat za sigurnosno kopiranje - to je alat za sinkronizaciju. Ovo je važno kada se stvaraju obične kopije, jer ako je neka važna datoteka obrisana u izvornom radnom direktoriju, rsync će je izbrisati iu sigurnosnoj kopiji. Radi poboljšanja sigurnosti podataka, preporučljivo je spremiti stare sigurnosne kopije. Međutim, jednostavno pohranjivanje više kopija zahtijevat će puno prostora na tvrdom disku. Ako ima mnogo primjeraka identične datoteke, onda to dovodi do nepotrebne redundancije. Ovaj problem se može riješiti korištenjem tvrdih veza.
Stvar je u tome da u modernom datotečni sustavi(uključujući Ext4), adresiranje datoteke vrši se u dvije faze: naziv datoteke označava jedinstveni broj datoteke (deskriptor indeksa ili i-čvor), a sam podatak pridružuje se tom broju. Svaki naziv datoteke zapravo je tvrda veza s ovim brojem. Posljedično, datoteka (skup podataka) može imati nekoliko imena i biti u različitim direktorijima, a to eliminira redundanciju u slučaju potrebe za dupliciranjem datoteka (uostalom, tvrda veza zauzima malo memorije). Sami podaci se ne brišu sve dok se ne zatraži brisanje posljednje tvrde veze.
Značajno ograničenje je da su tvrde veze moguće samo unutar istog datotečnog sustava.
Sinkronizacija sadržaja direktorija za trenutnu sigurnosnu kopiju s izvornim direktorijem:
Rsync \ --arhiva \ --brisanje --brisanje-isključeno \ # brisanje datoteka koje ne postoje u izvoru i izuzetih datoteka iz sigurnosne kopije--napredak\ # prikaz informacija o tijeku prijenosa"/home/user/Files/" \ # izvor direktorija"/backup/latest/" \ # direktorij za trenutnu sigurnosnu kopiju--exclude = "/Javno/" # isključite nepotrebne direktorije
Kopija svih datoteka bit će stvorena u direktoriju /backup/latest/. potrebne datoteke i direktorije iz izvora i sve nepotrebno je uklonjeno.
Stvaranje druge trenutne sigurnosne kopije bez redundancije:
cp\--arhiva\ # Spremi sve Dodatne informacije o datotekama--veza\ # koristite tvrde veze za datoteke - eliminirajte redundantnost"/backup/latest/" \ # izvor je gore dobivena trenutna sigurnosna kopija "/backup/$(datum +%Y-%m-%d_%H-%M-%S) /" # odredište - imenik s datumom u nazivu radi praktičnosti (pogledajte datum čovjeka)Sljedeći put kada napravite sigurnosnu kopiju, rsync će izbrisati datoteke u direktoriju “ /backup/latest/” koje su obrisane/isključene/promijenjene u izvornom direktoriju (promijenjene datoteke se prvo brišu, a zatim zapisuju nova verzija). Međutim, samo nazivi datoteka (iste tvrde veze) će biti izbrisani; same datoteke (podaci) će biti spremljene, budući da su čvrste veze stvorene na njih u susjednom direktoriju s naredbom “cp”.
Ostali alati
Postoje mnoge aplikacije za izradu sigurnosnih kopija u Linuxu. Možete tražiti riječ "backup" u centru Ubuntu aplikacije pronaći dostupno u Ubuntu programi za rad sa sigurnosnim kopijama.
Za korporativno okruženje i jednostavno za prilično velike i kritične zadatke sigurnosnog kopiranja, možemo preporučiti razumijevanje jednog od najpopularnijih i moćni sustavi backup za Linux pod nazivom Bacula
Usput, na internetu možete pronaći i priručnike na ruskom jeziku.
Rastavljena magija
Parted Magic je još jedan sjajan, ali plaćeno komplet za distribuciju koji sadrži čitavu kolekciju alata za sigurnosno kopiranje i vraćanje podataka, rad s diskovima i particijama, kao i vraćanje izgubljenih podataka. Podržava mnoge datotečne sustave, LVM2 i RAID (i hardver i softver) i sadrži alate kao što su fsarchiver, GParted, gore spomenuta Clonezilla i sve što je potrebno za metode opisane u ovom članku. Osim toga, distribucija uključuje web preglednik i neki drugi dodatni softver. Distribucija je prevedena na nekoliko jezika, uključujući ruski, i ima punopravno grafičko sučelje.
Razdvojili se
LParted je LiveCD s punim značajkama dizajniran prvenstveno za rad s particijama tvrdog diska (HDD), trajno brisanje ili vraćanje podataka i testiranje hardvera. LiveCD temeljen na Lubuntu Linuxu. LParted je funkcionalni analog Parted Magica.
Htio bih dodati ovdje o SystemRescueCD i drugima
Još malo o spremanju podataka
Za važne podatke možete napraviti zrcalnu particiju na dva diska. Da biste to učinili, uopće nije potrebno imati RAID kontroler i diskove iste veličine - možete, na primjer, sastaviti ogledalo od starog diska od 80 GB i particije od 80 GB na novom. Zrcaljenje se može implementirati pomoću LVM-a ili softverskog RAID-a. Međutim, ova metoda je beskorisna ako, na primjer, napon od ~220 V pogodi sabirnicu +5 V ili meteorit padne na jedinica sustava Računalo.
IT geekovi koji imaju vlastiti server kod kuće mogu proširiti ideju zrcaljenja i koristiti DRBD. Isti RAID-1, ali tvrdih diskova nalaze se u različita računala, što povećava pouzdanost.
Moderno prikladno rješenje- sigurnosna kopija podataka u "oblake", na primjer, iz koristeći Ubuntu Jedan, Dropbox, http://www.adrive.com/ i drugi.
Niti zrcaljenje niti replikacija na Ubuntu One neće vas spasiti od slučajnog pritiska Delete, stoga u svakom slučaju napravite “klasične” sigurnosne kopije. I jednog dana će sav vaš trud i trud biti nagrađen.
dd — jednostavan uslužni program, koji je uključen u većinu Unix-sličnih operativni sustavi- Linux, FreeBSD, Solaris itd.
Njegova je svrha čitanje podataka s jednog uređaja ili datoteke i pisanje na drugi.
dd može se učinkovito koristiti za stvaranje slike tvrdog diska, bez upotrebe komercijalnih uslužnih programa kao što su Acronis True Image ili Norton Ghost.
Pretpostavimo da imamo dva diska:
- /dev/sda - disk čija slika treba biti kreirana;
- /dev/sdb - disk na koji će biti zapisana slika.
Ako je potrebno, trebate zamijeniti vlastite vrijednosti.
Prvi korak je dizanje s bilo kojeg dostupnog Live-CD diska koji ima uslužni program dd i ulazak naredbeni redak kao superkorisnik. Stvorite točku montiranja za sigurnosnu kopiju.
mkdir /mnt/sigurnosna kopija
Montiramo tvrdi disk na koji želite spremiti sliku.
Stvaranje slike tvrdog diska
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,no error
- if=/dev/sda - kopirajte cijeli tvrdi disk sda;
- of=/mnt/backup/sda.img - kopiraj u /mnt/backup/sda.img;
- bs=8M — postavite veličinu predmemorije tvrdog diska kako biste ubrzali postupak kopiranja (inače će se podaci resetirati u malim dijelovima od 512 bajtova);
- conv=sync,noerror - ukazujemo dd-u na potrebu bit-za-bit kopiranja i ignoriranja pogrešaka čitanja.
Da biste smanjili veličinu slike tvrdog diska, možete je komprimirati bilo kojim programom za arhiviranje.
dd if=/dev/sda bs=8M conv=sync,no error | gzip -c > /mnt/backup/sda.img
Oporavak slike tvrdog diska
Za vraćanje slike tvrdog diska morate slijediti postupak obrnut od postupka za stvaranje ove slike.
dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,no error
Kada koristite kompresiju, morate paralelno raspakirati sliku.
gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,no error bs=8M
Migracija sustava na drugi tvrdi disk
Za migraciju cijelog sustava na drugi tvrdi disk morate postaviti lokaciju novog pogona kao odredište.
dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,no error
Zatim, ako je potrebno, instalirajte pokretanje s ovog tvrdog diska. Pod uvjetom da je novi tvrdi disk veći od starog, na njemu će biti nedodijeljeno područje. Treba ga označiti i formatirati prema postojećim zahtjevima.
Kopiraj statistiku u dd
Glavni nedostatak dd je nedostatak vizualnog prikaza statistike postupka kopiranja. Međutim, ovaj se nedostatak može lako zaobići. Sve što trebate učiniti je spojiti se na drugi terminal.
Odredite broj procesa pod kojim se izvodi dd.
Šalji povremeno ovaj proces naredba za ubijanje-USR1 broj_procesa_dd.
gledati -n 5 ubiti -USR1 broj_procesa_dd
- watch -n 5 - izvršavanje naredbe svakih 5 sekundi;
- kill -USR1 broj_procesa_dd — prikaži statistiku kopiranja.
Nedostaci korištenja dd-a za stvaranje slika diska
Sve ima prednosti i mane. dd je besplatan i vrlo fleksibilan alat, ali može napraviti samo punu kopiju sveska. Posebni programi Oni mogu samo kopirati podatke koji su pohranjeni na disku.
Stoga će volumen slike diska stvorene pomoću dd biti jednak volumenu samog diska - bez obzira na to koliko podataka ima na disku.