Opprette iso-bilder av Linux dd. Opprette en oppstartbar USB-flash-stasjon for å installere Windows ved å bruke Rufus-programmet. Migrere systemet til en annen harddisk

Vær forsiktig fordi hvis du staver navnet på flash-stasjonen feil i dd-kommandoen, kan du skade vertsharddisken.

Vi vil vise partisjonsbetegnelsen for alle enheter

og finn en flash-stasjon blant dem:

Sudo fdisk -u -l /dev/sd?

For å definere partisjoner på alle enheter kan du også bruke kommandoen:

Sudo cat /proc/partisjoner

dd kommandosyntaks

dd if=/AAAA of=/BBBB bs=CCCC count=DDDD conv=noerror
  • hvis: (inndatafil) angir kilden, dvs. dit vi kopierer fra. Spesifiserer en fil, som enten kan være en vanlig fil eller en enhetsfil.
  • av: (utdatafil) peker på målfilen. Det samme, vi kan skrive både til en vanlig fil og direkte til enheten.
  • bs: Antall byte som vil bli skrevet om gangen. Det vil si størrelsen på et datastykke som skal leses og skrives om gangen. Det anbefales å sette bs= til størrelsen på harddiskens cache, dvs. 8M 16M 32M
  • telle: hvor mange biter bs vil bli kopiert.
  • konv: lar deg koble til filtre som gjelder for datastrømmen. Filter "ingen feil" deaktiverer bare å stoppe programmet når det støter på en lesefeil.

Eksempler

Fullstendig sletting av disk

Slik at ingenting kan gjenopprettes på mediet, kan du fylle det med nuller, denne kommandoen vil alltid ende med feilen "mediet har gått tom for plass"

Dd hvis=/dev/null av=/dev/sdX

Opprette et diskbilde

dd if=/dev/cdrom of=image.iso conv=noerror

du kan også logge på systemet

Monter -o loop /PathToImageFile/image.iso /mnt/FolderMount

Hvis noe ikke fungerer, er prosessen delt inn i 2 nivåer:

Losetup -e /dev/loop0 /PathToImageFile/image.iso mount /dev/loop0 /mnt/FolderMount

MBR operasjoner

MBR ligger i de første 512 bytene harddisk, og består av en partisjonstabell, en bootloader og et par ekstra. byte. Noen ganger må du sikkerhetskopiere den, gjenopprette den osv. Sikkerhetskopiering gjøres slik:

Dd if=/dev/sda of=mbr.img bs=512 count=1

Du kan gjenopprette den enklere:

Dd if=mbr.img av=/dev/sda

Kopiering med arkivering

(ved hjelp av gzip) data fra en flash-stasjon til en harddisk.

Dd if=/dev/sdX conv=sync,noerror bs=8M | gzip -c >/PathToSave/sdX.img.gz

og tilbake

Gunzip -c /PathToFile/sdX.img.gz | dd of=/dev/sdX conv=sync,noerror bs=8M

Kopiering over nettverket

dd if=/dev/sdX conv=sync,noerror bs=8M | ssh -c blowfish brukernavn@vertsnavn "dd of=sdX.img.gz bs=8M"

og tilbake

Dd if=sdX.img.gz | ssh -c blowfish brukernavn@vertsnavn "dd of=/dev/sdX bs=8M"

For å lage et bilde av en harddisk er det ikke nødvendig å bruke verktøy som Acronis Sant bilde eller Norton Ghost, et ganske enkelt dd-verktøy som følger med de fleste Unix-aktige operativsystemer(Linux, FreeBSD, Solaris, etc.) Artikkelen beskriver en enkel måte å lage på sikkerhetskopi harddiskbilde ved hjelp av dd. Det første trinnet er å forberede seg på sikkerhetskopiering. I denne artikkelen introduserer vi følgende notasjon:

  • /dev/sda - disken hvis bilde må opprettes;
  • /dev/sdb - disken som bildet skal skrives på.

Om nødvendig må du erstatte dine egne verdier.

Forbereder på å lage et harddiskbilde

Det første du må gjøre er å starte opp fra alle tilgjengelige Live-CD-plate, som har dd-verktøyet, og enter kommandolinje som superbruker. Lag et monteringspunkt for å utføre Reserver eksemplar.

mkdir /mnt/backup

Vi monterer HDD som du vil lagre bildet til.

Opprette et harddiskbilde

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

  • if=/dev/sda - kopi alt hardt disk sda;
  • of=/mnt/backup/sda.img - kopier til /mnt/backup/sda.img;
  • bs=8M - still inn størrelsen på harddiskbufferen for å fremskynde kopieringsprosedyren (ellers vil dataene bli tilbakestilt i små porsjoner på 512 byte);
  • conv=sync,noerror - vi indikerer å dd behovet for bit-for-bit kopiering og ignorering av lesefeil.

For å redusere størrelsen på et harddiskbilde kan du komprimere det med en hvilken som helst arkiver.

dd if=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img

Gjenopprette et harddiskbilde

For å gjenopprette et harddiskbilde, må du følge prosedyren i motsatt retning av prosedyren for å lage dette bildet.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

Når du bruker komprimering, må du pakke ut bildet parallelt.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,noerror bs=8M

Migrere systemet til en annen harddisk

For å migrere hele systemet til en annen harddisk, må du angi plasseringen til den nye stasjonen som destinasjon.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,noerror

Deretter, om nødvendig, installer oppstarten fra dette tøft disk. Forutsatt at den nye harddisken er større enn den gamle, vil det være et ikke-allokert område på den. Den bør merkes og formateres i henhold til eksisterende krav.

Kopier statistikk i dd

Den største ulempen med dd er mangelen på en visuell representasjon av statistikken for kopieringsprosedyren. Imidlertid kan denne ulempen lett omgås. Alt du trenger å gjøre er å koble til en annen terminal.

Bestem prosessnummeret som dd kjører under.

Send regelmessig kommandoen kill -USR1 process_number_dd til denne prosessen.

watch -n 5 kill -USR1 process_number_dd

  • watch -n 5 - utfør kommandoen hvert 5. sekund;
  • drep -USR1 prosessnummer_dd - vis kopistatistikk.

dd-kommandoen gjør bare én enkel ting: den kopierer data fra en fil til en annen fil. Men siden i Linux mange enheter er representert nøyaktig som filer, har dd mange bruksområder. La oss se på de mest nyttige av dem.

Hva betyr dd?

dd er forkortelse for data duplicator. Men fordi dd-kommandoen i feil hender kan føre til fullstendig tap av all data, kalles programmet ofte på spøk for diskødelegger. La oss prøve å finne ut hvordan du ikke bare kan ødelegge dataene dine, men til og med dra nytte av å bruke dd.

Generelt brukstilfelle for dd

Kommandosyntaksen er som følger:

Dd if=$input_data of=$output_data

Kommandoen vil kopiere dataene fra $input_data-filen til $output_data-filen, tatt i betraktning alternativene. Det ser ut til at alt er enkelt. La oss nå se på hvilke muligheter denne enkle kopieringen åpner for.

Eksempler på bruk av dd

1. Ødeleggelse av alle data på disken uten mulighet for gjenoppretting:

Dd if=/dev/urandom of=/dev/sda bs=4k

2. Fullfør byte-for-byte-kopiering av en disk til en annen (kloning):

Dd if=/dev/sda of=/dev/sdb bs=4096

3. Kopiere en partisjon til en annen:

Dd if=/dev/sda3 of=/dev/sdb3 bs=4096 conv=notrunc,noerror

4. Vis en liste over tilgjengelige filsystemer:

Dd if=/proc/filsystemer | hexdump -C | mindre

5. Kopiere data på enheter med forskjellige blokkstørrelser (1 KB ved kilden og 2 KB ved destinasjonen):

Dd if=/dev/st0 ibs=1024 obs=2048 av=/dev/st1

6. Lag en oppstartbar USB-flash-stasjon:

Dd if=/home/$user/bootimage.img of=/dev/sdc

7. Sjekk disken for dårlige sektorer:

Dd if=/dev/sda of=/dev/null bs=1m

8. Lag en sikkerhetskopi Disk MBR og lagre til diskett

Dd if=/dev/sda of=/dev/fd0 bs=512 count=1

9. Fjerne et ISO-bilde fra en CD:

Dd if=/dev/sr0 of=/home/$user/mycdimage.iso bs=2048 conv=nosync

10. Sjekke filen for virus (selvfølgelig er ClamAV nødvendig):

Dd if=/home/$user/suspicious.doc | clamscan -

11. Lagre innholdet i RAM til en fil:

Dd if=/dev/mem of=/home/$user/mem.bin bs=1024

12. Konvertere et bilde fra Nero NRG-format til et standard ISO-bilde:

Dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300k

13. Se MBR-innhold:

Dd if=/dev/sda count=1 | hexdump -C

Hvor er de lovede millionsøknadene?

En observant leser vil nok legge merke til at artikkelen ikke lister opp en million nyttige applikasjoner, men flere færre. Men kraften til dd-programmet ligger i det faktum at brukeren kan finne andre applikasjoner på egen hånd, kombinere forskjellige filer som om, av parametere og velge de nødvendige alternativene. Bare husk at arbeid med dd krever ekstra oppmerksomhet. Hvis du ikke vet nøyaktig hvilke handlinger som skal utføres, er det bedre å avstå fra eksperimenter. Prøv å ikke gi dd superbrukerrettigheter når du kan klare deg uten disse rettighetene.

Dine egne eksempler på bruk av dette fantastiske programmet er velkomne i kommentarfeltet.

dd er et enkelt verktøy som er inkludert i de fleste Unix-lignende operativsystemer - Linux, FreeBSD, Solaris, etc.
Formålet er å lese data fra en enhet eller fil og skrive til en annen.

dd kan effektivt brukes til å lage et bilde av en harddisk, uten å bruke kommersielle verktøy som Acronis True Image eller Norton Ghost.

La oss anta at vi har to disker:

  • /dev/sda - disken hvis bilde må opprettes;
  • /dev/sdb - disken som bildet skal skrives på.

Om nødvendig må du erstatte dine egne verdier.

Det første trinnet er å starte opp fra en tilgjengelig Live-CD-disk som har dd-verktøyet og gå inn på kommandolinjen som en superbruker. Lag et monteringspunkt for sikkerhetskopiering.

mkdir /mnt/backup

Vi monterer harddisken du vil lagre bildet på.

Opprette et harddiskbilde

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

  • if=/dev/sda - kopier hele harddisken sda;
  • of=/mnt/backup/sda.img - kopier til /mnt/backup/sda.img;
  • bs=8M — angi størrelsen på harddiskbufferen for å fremskynde kopieringsprosedyren (ellers vil dataene bli tilbakestilt i små porsjoner på 512 byte);
  • conv=sync,noerror - vi indikerer å dd behovet for bit-for-bit kopiering og ignorering av lesefeil.

For å redusere størrelsen på et harddiskbilde kan du komprimere det med en hvilken som helst arkiver.

dd if=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img

Gjenopprette et harddiskbilde

For å gjenopprette et harddiskbilde, må du følge prosedyren i motsatt retning av prosedyren for å lage dette bildet.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

Når du bruker komprimering, må du pakke ut bildet parallelt.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,noerror bs=8M

Migrere systemet til en annen harddisk

For å migrere hele systemet til en annen harddisk, må du angi plasseringen til den nye stasjonen som destinasjon.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,noerror

Deretter, om nødvendig, installer oppstart fra denne harddisken. Forutsatt at den nye harddisken er større enn den gamle, vil det være et ikke-allokert område på den. Den bør merkes og formateres i henhold til eksisterende krav.

Kopier statistikk i dd

Den største ulempen med dd er mangelen på en visuell representasjon av statistikken for kopieringsprosedyren. Imidlertid kan denne ulempen lett omgås. Alt du trenger å gjøre er å koble til en annen terminal.

Bestem prosessnummeret som dd kjører under.

Send regelmessig kommandoen kill -USR1 process_number_dd til denne prosessen.

watch -n 5 kill -USR1 process_number_dd

  • watch -n 5 - utfør kommandoen hvert 5. sekund;
  • kill -USR1 process_number_dd — vis kopistatistikk.

Ulemper med å bruke dd for å lage diskbilder

Alt har fordeler og ulemper. dd er et gratis og veldig fleksibelt verktøy, men det kan bare lage en full kopi av et volum. Spesialprogrammer De kan bare kopiere data som er lagret på disk.

Dermed vil volumet til et diskbilde opprettet ved hjelp av dd være lik volumet på selve disken – uavhengig av hvor mye data som er på disken.

Som kjent, "databrukere er delt inn i de som tar sikkerhetskopier og de som skal gjøre dem". I denne artikkelen skal vi se på ulike måter backup (sikkerhetskopiering) av hele systemet og følgelig gjenoppretting fra en sikkerhetskopi.

Det er verdt å merke seg med en gang at alle operasjoner ikke skal utføres "live", dvs. ikke på et kjørende system, men fra en live-CD eller installert på en nabopartisjon/flash-stasjon/usb-hdd til systemet. I tilfeller hvor nedetid på noen minutter er kritisk for systemet, er det mulig å kopiere systemet fra under seg selv, men i dette tilfellet må det tas hensyn til noen tilleggsforhold, som ennå ikke er vurdert i denne artikkelen

Videre i teksten, for handlinger utført som en superbruker, vil sudo-kommandoen bli brukt, som er standarden for Ubuntu. På andre systemer er det mulig å få superbrukerprivilegier via su, noen liveCD-systemer kjører i superbrukermodus som standard

tjære

En av de mest populære måtene å lage en enkel sikkerhetskopi på er å arkivere data ved hjelp av tar. Fordelene med denne metoden er muligheten for inkrementell sikkerhetskopiering (legge til filer i et eksisterende arkiv, slette eller endre dem), muligheten til å trekke ut fra arkivet separate filer, samt tilstedeværelsen av tjære i nesten alle Linux-systemer.

Opprette et arkiv

Lag først monteringspunkter for rotpartisjonen og for partisjonen du skal lage en sikkerhetskopi på, for eksempel slik

Monter begge skilleveggene. For større pålitelighet kan du montere rotpartisjonen i skrivebeskyttet modus for å eliminere muligheten for utilsiktede dataendringer

Sudo mount /dev/sdXY /mnt/root -o ro sudo mount /dev/sdXY /mnt/backup

(I stedet for "sdXY" bruk verdiene dine for partisjonene du ønsker. Du kan bestemme dem ved å bruke sudo fdisk -l eller sudo blkid)

Hvis du bruker separate partisjoner for /boot, /usr, /home osv. og ønsker å inkludere innholdet i sikkerhetskopien, monter dem i de riktige mappene

Sudo mount /dev/sdXY /mnt/root/usr -o ro sudo mount /dev/sdXY /mnt/root/home -o ro

Lag eventuelt en mappe på backup-partisjonen der du for eksempel vil plassere arkivet

Sudo mkdir -p /mnt/backup/ubuntu/root

Nå kan du begynne å lage arkivet. For å lage et gzip-komprimert arkiv, kjør

Sudo tar -cvzpf -C /mnt/root /mnt/backup/ubuntu-sda1.tar.gz .

(-p-bryteren gjør det mulig å lagre eiere og tillatelser for filer)

For bzip2-komprimeringsbruk

Sudo tar -cvjpf /mnt/backup/ubuntu-sda1.tar.bz2 /mnt/root

For lzma-komprimering

Sudo tar --lzma -cvpf /mnt/backup/ubuntu-sda1.tar.lzma /mnt/root

Tilsvarende for lzo-komprimering - bytt --lzop i stedet for --lzma

Ulike komprimeringsalgoritmer produserer forskjellige arkivstørrelser og er også forskjellige i ytelse

Når prosessen er fullført, avmonter du alle monterte partisjoner

Sudo umount /mnt/root(/boot,/var,/home,) /mnt/backup

Gjenoppretter fra et arkiv

Lag monteringspunkter for rotpartisjonen og partisjonen der arkivet ditt er lagret

Sudo mkdir /mnt/(root, backup)

Monter partisjonen med sikkerhetskopiarkivet

Sudo mount /dev/sdXY /mnt/backup -o ro

Formater rotpartisjonen til det samme (eller et annet) filsystem. Hvis du bruker separate partisjoner for /usr, /boot, etc. og arkiverte dem, formater dem også

(hvis du gjenoppretter systemet til en ny harddisk, partisjoner det med fdisk/gparted og formater partisjonene)

Noen filsystemer støtter innstilling av UUID ved formatering. Dette gjør det mulig å lage et filsystem med samme UUID som det gamle, noe som vil unngå behovet for å redigere fstab.

For ext2/3/4 settes UUID ved hjelp av -U-bryteren, og du kan forenkle oppgaven ytterligere med en kommando som

Sudo mkfs.ext4 -L "label" -U "$(sudo blkid -o verdi -s UUID /dev/sda1)" /dev/sda1

Hvis du brukte arkivering når du opprettet bildefilen, må du først pakke den ut ved å bruke samme arkiver, for eksempel

Bzip2 -dv /media/backup/sda5.dd.bz

Nå kan du montere bildet

Sudo mount /media/backup/sda5.dd -o loop /mnt

(Med loop-alternativet vil monteringsprogrammet automatisk "hente" bildefilen til en ledig loop-enhet, og deretter montere filsystemet)

Nå kan du jobbe med innholdet i bildet som med et vanlig filsystem, alle endringene dine vil bli skrevet til bildet. Når du er ferdig, monter bildet som et vanlig filsystem

Sudo umount /mnt

dd - kopier hele harddisken

I i dette tilfellet Vi bruker dd igjen, men denne gangen lagrer vi hele innholdet på harddisken – med partisjonstabellen, selve partisjonene og alle dataene. Fordel denne metoden det faktum at du kan lagre alle systemer installert på denne harddisken i ett trinn uten å måtte sikkerhetskopiere hver partisjon separat. I tillegg, med en slik sikkerhetskopi, vil alle data relatert til oppstartslasteren bli lagret - dermed, etter gjenoppretting fra sikkerhetskopien, trenger du ikke ytterligere manipulasjoner, du kan umiddelbart starte opp fra denne harddisken.

Opprette et bilde

Generelt er prosedyren lik den som er beskrevet ovenfor for sikkerhetskopiering av individuelle partisjoner. I dette tilfellet gjelder også rådene om å rydde ledig plass med "nuller" - hvis du har ledig tid, gjør dette med alle partisjoner.

Før du starter operasjonen, sørg for at ingen av partisjonene på denne harddisken er montert. Dette kan gjøres ved å kjøre mount-kommandoen uten parametere.

Velg partisjonen du skal plassere klippfilen på. Selvfølgelig må dette være en partisjon fra en annen harddisk. Pass også på at det er nok ledig plass på denne partisjonen (for eksempel ved å bruke df-verktøyet) - mengden ledig plass skal tilsvare volumet på den kopierte harddisken (når den er komprimert, vil bildet være mindre, men dette avhenger på typen data som er lagret).

Monter en sikkerhetskopipartisjon

Sudo mount /dev/sdXY /mnt

Nå kan du begynne

Sudo dd if=/dev/sdX bs=1M conv=noerror,sync | lzma -cv > /mnt/hdd.dd.lzma

(her er "sdX" en disk, ikke en partisjon! for kopiering uten komprimering, kommandoen ligner på den ovenfor for sikkerhetskopiering av en partisjon)

Avhengig av størrelsen på harddisken og ytelsen til datamaskinen, kan prosedyren ta lang tid (opptil flere timer). Når du er ferdig, monter backup-partisjonen

Sudo umount /mnt

Gjenoppretting fra bilde

Merk følgende! Denne metoden innebærer en fullstendig tilbakeføring til staten på det tidspunktet arkivet ble opprettet med erstatning av alle data!

Før du starter arbeidet, sørg for at strømforsyningen er pålitelig. Koble nettverksadapter, hvis du har en bærbar datamaskin, og om mulig bruk en UPS eller stabilisator. På høy intensitet opptak øker risikoen for diskskade ved strømbrudd

Pass på at ingen partisjon på disken som gjenopprettes er i bruk. Monter en sikkerhetskopipartisjon

Sudo mount /dev/sdXY /mnt

Du kan starte prosedyren

Bzip2 -dc /mnt/hdd.dd.bz | sudo dd av=/dev/sdX bs=1M konv=synkronisering, ingen feil

Eller for et ukomprimert bilde

Sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M conv=sync,noerror

Når du er ferdig, monter backup-partisjonen

Sudo umount /mnt

Hvis du vil trekke ut bildet til en annen harddisk, må det være minst like stort som originalen. Hvis ny disk større volum kan du utvide partisjonene eller lage en ny partisjon for ledig plass bruker parted/fdisk/gparted/etc

Ikke bruk begge deler harddisk("duplikat" og "original") på samme tid! Hvis begge stasjonene er tilkoblet, vil systemet ha to partisjoner for hver UUID, noe som vil føre til driftsproblemer eller manglende oppstart

Montering av bildet

Analogt med partisjonsbildet kan du jobbe med harddiskbildet som med en vanlig harddisk. I dette tilfellet blir prosedyren noe mer komplisert, siden bildet inneholder flere seksjoner.

Hvis bildet er komprimert, pakk det ut. Nå "hent" bildet til loop-enheten

Sudo losetup -fv /media/backup/sda.dd

(Med -f-bryteren vil programmet automatisk finne en ledig sløyfeenhet, ellers må du spesifisere den eksplisitt)

losetup vil vise navnet på enheten som brukes - hvis du ikke jobber med andre bildefiler (iso, krypterte beholdere, etc.), vil det mest sannsynlig være /dev/loop0

Nå har vi en enhet som er en harddisk for systemet, men vi har ikke tilgang til partisjonene. kpartx-programmet vil hjelpe deg med å komme til partisjonene (det kan hende du må installere pakken med samme navn)

Sudo kpartx -av /dev/loop0

(Nøkkel -a - legg til partisjoner for en gitt enhet; -v - informativ utgang)

Programmet vil vise navnene på de opprettede enhetene for diskpartisjonene: loop0p1 for den første partisjonen, loop0p2 for den andre, lik partisjonene til en vanlig disk. Enhetsfilene vil være plassert i /dev/mapper-mappen

Nå kan du jobbe med partisjoner og FS på dem. Monter for eksempel den tidligere sda5 og skriv filer til den

Sudo mount /dev/mapper/loop0p5 /mnt

Når du er ferdig, avmonter partisjonen

Sudo umount /mnt

Fjern partisjonsenheter ved hjelp av kpartx

Sudo kpartx -dv /dev/loop0

og slipp løkkeenheten

Sudo losetup -v -d /dev/loop0

Alle! Endringene registreres, og bildet ditt blir en vanlig fil igjen

cp

Her skal vi se på backup ved hjelp av cp-verktøyet, dvs. ved hjelp av enkel kopiering. Egentlig er ikke dette den mest optimale metoden, og den er mer egnet for å kopiere systemet til en annen harddisk / partisjon / datamaskin, i stedet for å lage en sikkerhetskopi.

På den annen side har denne metoden en rekke fordeler:

    Universalitet - du finner cp i alle Linux-systemer

    Lavt ressursbehov (på grunn av mangel på komprimering og enkelhet i mekanismen)

    Enkelt å jobbe videre med sikkerhetskopien (legge til/endre/slette filer, trekke ut nødvendige data, etc.)

Å lage en kopi

Lag monteringspunkter for rot- og sikkerhetskopipartisjonene

Sudo mkdir /mnt/(root, backup)

Monter begge skilleveggene

Sudo mount /dev/sdXY -o ro /mnt/root sudo mount /dev/sdXY /mnt/backup

Monter partisjoner for /usr, /boot, etc., hvis noen

Sudo mount /dev/sdXY -o ro /mnt/root/home

Opprett en mappe for sikkerhetskopien på backup-partisjonen

Sudo mkdir /mnt/backup/ubuntu

Vi kan begynne

Sudo cp -av /mnt/root/* /mnt/backup/ubuntu

(-a-bryteren gjør det mulig å kopiere lenker "som de er", lagrer alle mulige filattributter og rekursiv modus. -v-bryteren - viser informasjon om hva som skjer)

Når prosessen er fullført, avmonter alle partisjoner

I fremtiden kan du arkivere dataene dine på en hvilken som helst praktisk måte.

Gjenoppretter fra en kopi

Merk følgende! Denne metoden innebærer en fullstendig tilbakeføring til tilstanden da arkivet ble opprettet, og erstatter alle data!

Lag monteringspunkter for partisjoner

Sudo mkdir /mnt/(root, backup)

Monter en sikkerhetskopipartisjon

Sudo mount /dev/sdXY -o ro /mnt/backup

Formater rotpartisjonen og /usr, /boot, etc. partisjoner, hvis noen. (For formatering av partisjoner mens du beholder UUID, se avsnittet om)

Sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY

Monter de nyopprettede filsystemene

Kopieringsprosessen er lik, bare i motsatt retning.

Sudo cp /mnt/backup/ubuntu/* -av /mnt/root

Når kopieringen er fullført, rediger fstab for å korrigere partisjonens UUID-er

Demonter partisjonene

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/sdXY

Monter de nyopprettede filsystemene

Sudo mount /dev/sdXY /mnt/root sudo mount /dev/sdXY /mnt/root/usr sudo mount /dev/sdXY /mnt/root/var

Vi er klare til å starte! For å pakke ut bildet, bruk unsquashfs-verktøyet

Sudo unsquashfs -d /mnt/root -f /mnt/backup/ubuntu-root.sqfs

(-d-bryteren spesifiserer banen for utpakking, med -f-bryteren vil programmet bruke eksisterende mapper i stedet for å prøve å lage nye)

Akkurat som når du lager et bilde, vil du se en fremdriftslinje og mye annen nyttig informasjon.

Når du er ferdig, rediger fstab, og bytt ut partisjonenes UUID-er med nye (hvis du formaterte partisjonene med de samme UUID-ene, hopp over dette trinnet)

Sudo nano /mnt/root/etc/fstab

Lagre filen og avmonter alle partisjoner

Sudo umount /mnt/backup /mnt/root(/usr,/var,)

Montering av bildet

squashfs monteres som alle andre bilder - via en sløyfeenhet. Kjernestøtte for squashfs er inkludert i mange distribusjoner, inkludert Ubuntu, så du trenger bare å bruke mount-kommandoen med loop-alternativet

Sudo mount /media/backup/ubuntu-root.sqfs -o ro,loop /mnt

(Ro-alternativet er ikke nødvendig, siden det ikke vil fungere å skrive noe der)

Nå kan du kopiere hvilken som helst nødvendige filer. Å legge til noe på denne måten vil ikke fungere; for å gjøre dette må du bruke mksquashfs igjen

Når du er ferdig, monter bildet som et vanlig filsystem

Sudo umount /mnt

rsync

Som cp, fungerer rsync med filer, ikke med blokkere enheter. Saken med rsync er at den ikke kopierer filer som allerede er på destinasjonen. Som standard sjekker den størrelsen og endringstiden for filer, men du kan også sjekke hashen (vanligvis gjøres dette når økt sikkerhet er nødvendig).

Lett å bruke

Syntaksen til rsync ligner på cp:

Rsync -a /mnt/root /mnt/backup

Parameteren -a er ofte tilstrekkelig; den gir det som er mest nødvendig: rekursiv kopiering av kataloger, lagring av informasjon om eier og gruppe, etc. Å vise detaljert informasjon-v-bryteren brukes til kopiering, vær forsiktig med den, du kan gå glipp av en feilmelding i datastrømmen. -x-bryteren sikrer at rsync ikke går utover det angitte filsystemet.

rsync-dokumentasjonen beskriver mange alternativer. For eksempel er det de som lar deg kopiere over SSH, eller slette en fil fra destinasjonen hvis den ble slettet i kildekatalogen.

Smart kopiering reduserer systemets nedetid. Vi kjører rsync direkte på et kjørende system, dataene som er i konstant endring, rsync kopierer dataene, for eksempel innen noen få timer. Så bytter vi systemet til skrivebeskyttet, kjører rsync igjen, nå kopierer det bare de filene som har endret seg i løpet av disse få timene. Om noen minutter har vi en komplett kopi av det originale filsystemet. Nedetid ble redusert med en størrelsesorden sammenlignet med offline kopiering. Og i noen tilfeller vil én nettkopi være nok uten å konvertere systemet til skrivebeskyttet.

Lagrer tidligere kopier

Strengt tatt er ikke rsync et sikkerhetskopieringsverktøy – det er et synkroniseringsverktøy. Dette er viktig når du lager vanlige kopier, for om noen viktig fil ble slettet i kildearbeidsmappen - rsync vil også slette den i sikkerhetskopien. For å forbedre datasikkerheten anbefales det å lagre gamle sikkerhetskopier. Men bare å lagre flere kopier vil kreve mye plass på harddisken. Hvis kopier har mange identiske filer, fører dette til unødvendig redundans. Dette problemet kan løses ved å bruke harde lenker.

Poenget er at i moderne filsystemer(inkludert Ext4), adressering av en fil gjøres i to trinn: filnavnet indikerer et unikt filnummer (indeksbeskrivelse eller i-node), og selve dataene er knyttet til dette nummeret. Ethvert filnavn er faktisk en hard kobling til dette nummeret. Følgelig kan en fil (datasett) ha flere navn og ligge i forskjellige kataloger, og dette eliminerer redundans ved behov for å duplisere filer (tross alt tar en hard link opp lite minne). Selve dataene slettes ikke før den siste harde lenken blir bedt om å bli slettet.

En betydelig begrensning er at harde lenker kun er mulig innenfor samme filsystem.

Synkronisering av kataloginnhold for gjeldende sikkerhetskopi med kildekatalogen:

Rsync \ --archive \ --delete --delete-excluded \ # sletting av filer som ikke finnes i kilden og ekskluderte filer fra sikkerhetskopien--framgang\ # vis informasjon om fremdriften av overføringen"/hjem/bruker/filer/" \ # katalogkilde"/backup/siste/" \ # katalog for gjeldende sikkerhetskopiering--exclude = "/Offentlig/" # ekskluder unødvendige kataloger

I katalogen "/backup/latest/" vil en kopi av alle nødvendige filer og kataloger fra kilden bli opprettet og alt unødvendig fjernes.

Opprette en annen gjeldende sikkerhetskopi uten redundans:

cp\--arkiv\ # lagre alt Ytterligere informasjon om filer--link\ # bruk harde lenker for filer - eliminer redundans"/backup/siste/" \ # kilde er gjeldende sikkerhetskopi som er hentet ovenfor "/backup/$(dato +%Y-%m-%d_%H-%M-%S) /" # destinasjon - katalog med dato i navnet for enkelhets skyld (se dato)

Neste gang du oppretter en sikkerhetskopi, vil rsync slette filer i katalogen " /backup/latest/ " som ble slettet/ekskludert/endret i kildekatalogen (endrede filer blir først slettet og deretter skrevet en ny versjon). Imidlertid vil bare filnavnene (de samme harde lenkene) bli slettet; selve filene (dataene) vil bli lagret, siden harde lenker ble opprettet til dem i en nærliggende katalog med "cp"-kommandoen.

Andre verktøy

Det er mange applikasjoner for å lage sikkerhetskopier i Linux. Du kan søke etter "backup" i Ubuntu App Center for å finne de tilgjengelige i Ubuntu-programmer for arbeid med sikkerhetskopier.

For et bedriftsmiljø og ganske enkelt for ganske store og kritiske sikkerhetskopieringsoppgaver, kan vi anbefale å forstå et av de mest populære og kraftige backupsystemene for Linux, kalt Bacula

Forresten, du kan også finne russiskspråklige manualer på Internett.

Skilt magi

Parted Magic er en annen flott en, men betalt et distribusjonssett som inneholder en hel samling verktøy for sikkerhetskopiering og gjenoppretting av informasjon, arbeid med disker og partisjoner, samt gjenoppretting av tapte data. Den støtter mange filsystemer, LVM2 og RAID (både maskinvare og programvare) og inneholder verktøy som fsarchiver, GParted, den nevnte Clonezilla, og alt som kreves for metodene beskrevet i denne artikkelen. I tillegg inkluderer distribusjonen en nettleser og annen tilleggsprogramvare. Distribusjonen er oversatt til flere språk, inkludert russisk, og har et fullverdig grafisk grensesnitt.

LPdelt

LParted er en fullverdig LiveCD designet primært for arbeid med harddiskpartisjoner (HDDer), permanent sletting eller gjenoppretting av data og testing av maskinvare. LiveCD basert på Lubuntu Linux. LParted er en funksjonell analog av Parted Magic.

Jeg vil gjerne legge til her om SystemRescueCD og andre

Litt mer om å lagre data

    For viktige data kan du lage en speilpartisjon på to disker. For å gjøre dette er det slett ikke nødvendig å ha en RAID-kontroller og disker av samme størrelse - du kan for eksempel sette sammen et speil fra en 80 GB gammel stasjon og en 80 GB partisjon på en ny. Speiling kan implementeres ved hjelp av LVM eller programvare RAID. Denne metoden er imidlertid ubrukelig hvis for eksempel en spenning på ~220V treffer +5V-bussen eller en meteoritt faller på systemenhet datamaskin.

    IT-nerder som har sin egen server hjemme kan utvide ideen om speiling og bruke DRBD. Samme RAID-1, men harddisker befinner seg i forskjellige datamaskiner, noe som øker påliteligheten.

    En moderne, praktisk løsning er å sikkerhetskopiere data til skyen, for eksempel ved å bruke Ubuntu One, Dropbox, http://www.adrive.com/ og andre.

    Verken speiling eller replikering på Ubuntu One vil redde deg fra å trykke Delete ved et uhell, så i alle fall, lag "klassiske" sikkerhetskopier. Og en dag vil alt ditt harde arbeid og innsats bli belønnet.