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=noerrordu 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/sdXYMonter 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.