Systeemback-up. Een harde schijf-image maken met het hulpprogramma dd in Unix Het hulpprogramma dd dat door de FBI wordt gebruikt om bestanden te kopiëren

Wees voorzichtig, want als u de naam van de flashdrive verkeerd spelt in de opdracht dd, kunt u de harde schijf van de host beschadigen.

We zullen de partitieaanduiding van alle apparaten weergeven

en zoek er een flashdrive tussen:

Sudo fdisk -u -l /dev/sd?

Om partities op alle apparaten te definiëren, kunt u ook de opdracht gebruiken:

Sudo cat /proc/partities

dd-opdrachtsyntaxis

dd if=/AAAA of=/BBBB bs=CCCC count=DDDD conv=geen fout
  • als: (invoerbestand) geeft de bron aan, d.w.z. naar waar we kopiëren. Specificeert een bestand, dat een gewoon bestand of een apparaatbestand kan zijn.
  • van: (uitvoerbestand) verwijst naar het doelbestand. Hetzelfde: we kunnen zowel naar een gewoon bestand als rechtstreeks naar het apparaat schrijven.
  • bs: Het aantal bytes dat tegelijk wordt geschreven. Dat wil zeggen, de grootte van een stuk gegevens dat tegelijkertijd wordt gelezen en geschreven. Het wordt aanbevolen om bs= in te stellen op de grootte van de cache van de harde schijf, d.w.z. 8M 16M 32M
  • graaf: hoeveel stuks bs zal worden gekopieerd.
  • conv: Hiermee kunt u filters koppelen die van toepassing zijn op de datastroom. Filter "geen fout" schakelt gewoon het stoppen van het programma uit wanneer het een leesfout tegenkomt.

Voorbeelden

Volledige schijf wissen

Om ervoor te zorgen dat er niets op de media kan worden hersteld, kunt u deze met nullen vullen, deze opdracht eindigt altijd met de foutmelding "de media heeft geen ruimte meer"

Dd if=/dev/zero of=/dev/sdX

Een schijfkopie maken

dd if=/dev/cdrom of=image.iso conv=geen fout

U kunt ook inloggen op het systeem

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

Als iets niet lukt, wordt het proces opgedeeld in 2 niveaus:

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

MBR-operaties

De MBR bevindt zich in de eerste 512 bytes van de harde schijf en bestaat uit een partitietabel, een bootloader en een paar extra. byte. Soms moet u een back-up maken, herstellen, enz. Een back-up wordt als volgt gemaakt:

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

U kunt het gemakkelijker herstellen:

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

Kopiëren met archivering

(met behulp van gzip) gegevens van een flashstation naar een harde schijf.

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

en terug

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

Kopiëren via het netwerk

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

en terug

Dd if=sdX.img.gz | ssh -c blowfish Gebruikersnaam@Hostnaam "dd of=/dev/sdX bs=8М"

Zoals bekend is, “computergebruikers zijn onderverdeeld in degenen die back-ups maken en degenen die deze zullen doen”. In dit artikel zullen we verschillende manieren bekijken om een ​​back-up van het hele systeem te maken en dienovereenkomstig te herstellen vanaf een back-up.

Het is de moeite waard om meteen op te merken dat alle bewerkingen niet “live” mogen worden uitgevoerd, d.w.z. niet op een draaiend systeem, maar vanaf een liveCD of geïnstalleerd op een aangrenzende partitie/flashdrive/usb-hdd van het systeem. In gevallen waarin een downtime van enkele minuten cruciaal is voor het systeem, is het mogelijk om het systeem van onderaf te kopiëren, maar in dit geval moet er rekening worden gehouden met enkele aanvullende voorwaarden, die nog niet in dit artikel worden behandeld

Verderop in de tekst wordt voor acties die als superuser worden uitgevoerd het sudo-commando gebruikt, wat de standaard is voor Ubuntu. Op andere systemen is het mogelijk om superuser-rechten te verkrijgen via su ; sommige liveCD-systemen draaien standaard in superuser-modus

teer

Een van de meest populaire manieren om een ​​eenvoudige back-up te maken is het archiveren van gegevens met behulp van tar. De voordelen van deze methode zijn de mogelijkheid van incrementele back-up (bestanden toevoegen aan een bestaand archief, verwijderen of wijzigen), de mogelijkheid om individuele bestanden uit het archief te extraheren, evenals de aanwezigheid van tar in vrijwel elk Linux-systeem.

Een archief maken

Maak eerst koppelpunten voor de rootpartitie en voor de partitie waarop u een backup gaat maken, bijvoorbeeld op deze manier

Monteer beide partities. Voor een grotere betrouwbaarheid kunt u de rootpartitie in de alleen-lezenmodus koppelen om de mogelijkheid van onbedoelde gegevenswijzigingen te elimineren

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

(Gebruik in plaats van "sdXY" uw waarden voor de vereiste partities. U kunt deze bepalen met sudo fdisk -l of sudo blkid)

Als u afzonderlijke partities gebruikt voor /boot, /usr, /home, etc. en de inhoud ervan in de back-up wilt opnemen, koppelt u deze in de juiste mappen

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

Maak indien nodig een map aan op de back-uppartitie waarin u bijvoorbeeld het archief wilt plaatsen

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

Nu kunt u beginnen met het maken van het archief. Om een ​​met gzip gecomprimeerd archief te maken, voert u uit

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

(Met de schakeloptie -p kunnen eigenaren en machtigingen voor bestanden worden opgeslagen)

Gebruik voor bzip2-compressie

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

Voor lzma-compressie

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

Hetzelfde geldt voor lzo-compressie: schakel --lzop in plaats van --lzma

Verschillende compressie-algoritmen produceren verschillende archiefgroottes en verschillen ook in prestaties

Zodra het proces is voltooid, ontkoppelt u alle gekoppelde partities

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

Herstellen vanuit een archief

Maak koppelpunten voor de rootpartitie en de partitie waar uw archief is opgeslagen

Sudo mkdir /mnt/(root,back-up)

Monteer de partitie met het back-uparchief

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

Formatteer de rootpartitie naar hetzelfde (of een ander) bestandssysteem. Als u aparte partities gebruikt voor /usr, /boot, enz. en deze hebt gearchiveerd, formatteer ze dan ook

(als u het systeem herstelt naar een nieuwe harde schijf, partitioneer het dan met fdisk/gparted en formatteer de partities)

Sommige bestandssystemen ondersteunen het instellen van de UUID tijdens het formatteren. Dit maakt het mogelijk om een ​​bestandssysteem te creëren met dezelfde UUID als de oude, waardoor de noodzaak om fstab te bewerken wordt vermeden.

Voor ext2/3/4 wordt de UUID ingesteld met de schakeloptie -U, en u kunt de taak nog verder vereenvoudigen met een commando als

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

Als u bij het maken van het afbeeldingsbestand gebruik hebt gemaakt van archivering, pak het dan eerst uit met bijvoorbeeld hetzelfde archiveringshulpmiddel

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

Nu kunt u de afbeelding monteren

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

(Met de loop-optie zal het mount-programma het afbeeldingsbestand automatisch "ophalen" naar een vrij loop-apparaat en vervolgens het bestandssysteem mounten)

Nu kunt u met de inhoud van de afbeelding werken zoals met een gewoon bestandssysteem; al uw wijzigingen worden naar de afbeelding geschreven. Wanneer u klaar bent, koppelt u de afbeelding als een normaal bestandssysteem

Sudo umount /mnt

dd - kopieer de volledige harde schijf

In dit geval zullen we dd opnieuw gebruiken, maar deze keer zullen we de volledige inhoud van de harde schijf opslaan - met de partitietabel, de partities zelf en alle gegevens. Het voordeel van deze methode is dat u in één stap alle geïnstalleerde systemen op deze harde schijf kunt opslaan zonder dat u van elke partitie afzonderlijk een back-up hoeft te maken. Bovendien worden met een dergelijke back-up alle gegevens met betrekking tot de bootloader opgeslagen - dus na het herstellen vanaf de back-up heeft u geen extra manipulaties nodig, u kunt onmiddellijk vanaf deze harde schijf opstarten.

Een afbeelding maken

Over het algemeen is de procedure vergelijkbaar met die hierboven beschreven voor het maken van een back-up van individuele partities. In dit geval is het advies over het vrijmaken van vrije ruimte met "nullen" ook van toepassing - als u vrije tijd heeft, doe dit dan met alle partities.

Voordat u met de bewerking begint, moet u ervoor zorgen dat geen van de partities op deze harde schijf is geactiveerd. Dit kan worden gedaan door het mount-commando zonder parameters uit te voeren.

Selecteer de partitie waarop u het clipbestand gaat plaatsen. Uiteraard moet dit een partitie van een andere harde schijf zijn. Zorg er ook voor dat er voldoende vrije ruimte is op deze partitie (bijvoorbeeld met behulp van het df-hulpprogramma) - de hoeveelheid vrije ruimte moet overeenkomen met het volume van de gekopieerde harde schijf (bij compressie zal de afbeelding kleiner zijn, maar dit hangt ervan af over het soort gegevens dat wordt opgeslagen).

Monteer een back-uppartitie

Sudo mount /dev/sdXY /mnt

Nu kunt u beginnen

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

(hier is “sdX” een schijf, geen partitie! voor kopiëren zonder compressie is de opdracht vergelijkbaar met die hierboven voor het maken van een back-up van een partitie)

Afhankelijk van de grootte van de harde schijf en de prestaties van de computer kan de procedure lang duren (tot enkele uren). Als u klaar bent, koppelt u de back-uppartitie

Sudo umount /mnt

Herstel van afbeelding

Aandacht! Deze methode omvat een volledige terugkeer naar de staat op het moment dat het archief werd aangemaakt, waarbij alle gegevens worden vervangen!

Controleer voordat u met de werkzaamheden begint of de stroomvoorziening betrouwbaar is. Sluit de AC-adapter aan als u een laptop heeft en gebruik indien mogelijk ook een UPS of stabilisator. Hoge schrijfsnelheden verhogen het risico op schijfschade bij een stroomstoring

Zorg ervoor dat er geen partitie van de schijf die wordt hersteld, in gebruik is. Monteer een back-uppartitie

Sudo mount /dev/sdXY /mnt

U kunt de procedure starten

Bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M conv=sync,noerror

Of voor een ongecomprimeerde afbeelding

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

Als u klaar bent, koppelt u de back-uppartitie

Sudo umount /mnt

Als u de afbeelding naar een andere harde schijf wilt extraheren, moet deze minstens zo groot zijn als de originele. Als de nieuwe schijf groter is, kunt u de partities uitbreiden of een nieuwe partitie op vrije ruimte maken met behulp van parted/fdisk/gparted/etc

Gebruik niet beide harde schijven (“duplicaat” en “origineel”) tegelijkertijd! Wanneer beide schijven zijn aangesloten, heeft het systeem twee partities voor elke UUID, wat zal leiden tot operationele problemen of het onvermogen om op te starten

Het beeld monteren

Naar analogie met de partitie-image kunt u met de harde schijf-image werken zoals met een gewone harde schijf. In dit geval wordt de procedure iets ingewikkelder, omdat de afbeelding meerdere secties bevat.

Als de afbeelding is gecomprimeerd, pakt u deze uit. Haal nu de afbeelding op naar het lusapparaat

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

(Met de schakeloptie -f zal het programma automatisch een vrij lusapparaat vinden, anders moet u dit expliciet opgeven)

lossetup zal de naam van het gebruikte apparaat weergeven - als u niet met andere afbeeldingsbestanden werkt (iso, gecodeerde containers, enz.), zal dit hoogstwaarschijnlijk /dev/loop0 zijn

Nu hebben we een apparaat dat een harde schijf voor het systeem is, maar we hebben geen toegang tot de partities ervan. Het kpartx-programma helpt u bij de partities te komen (mogelijk moet u het pakket met dezelfde naam installeren)

Sudo kpartx -av /dev/loop0

(Sleutel -a - partities toevoegen voor een bepaald apparaat; -v - informatieve uitvoer)

Het programma geeft de namen weer van de aangemaakte apparaten voor de schijfpartities: loop0p1 voor de eerste partitie, loop0p2 voor de tweede, vergelijkbaar met de partities van een gewone schijf. De apparaatbestanden bevinden zich in de map /dev/mapper

Nu kunt u met partities en FS erop werken. Mount bijvoorbeeld de voormalige sda5 en schrijf er bestanden naar

Sudo mount /dev/mapper/loop0p5 /mnt

Wanneer u klaar bent, ontkoppelt u de partitie

Sudo umount /mnt

Verwijder partitie-apparaten met kpartx

Sudo kpartx -dv /dev/loop0

en laat het lusapparaat los

Sudo lostup -v -d /dev/loop0

Alle! De wijzigingen worden vastgelegd en uw afbeelding wordt weer een normaal bestand

cp

Hier zullen we kijken naar back-up met behulp van het cp-hulpprogramma, d.w.z. met behulp van eenvoudig kopiëren. Eigenlijk is dit niet de meest optimale methode en is het geschikter om het systeem naar een andere harde schijf/partitie/computer te kopiëren dan om een ​​back-up te maken.

Aan de andere kant heeft deze methode een aantal voordelen:

    Veelzijdigheid - je vindt cp in elk Linux-systeem

    Lage resourcevereisten (vanwege gebrek aan compressie en eenvoud van het mechanisme)

    Gemakkelijk verder werken met de back-up (bestanden toevoegen/wijzigen/verwijderen, de benodigde gegevens extraheren, enz.)

Een kopie maken

Maak koppelpunten voor de root- en back-uppartities

Sudo mkdir /mnt/(root,back-up)

Monteer beide partities

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

Mount partities voor /usr, /boot, etc., indien aanwezig

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

Maak een map voor uw back-up op de back-uppartitie

Sudo mkdir /mnt/backup/ubuntu

Wij kunnen beginnen

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

(de schakelaar -a maakt het kopiëren van links mogelijk zoals ze zijn, waarbij alle mogelijke bestandskenmerken en de recursieve modus worden opgeslagen. -v schakelaar - geeft informatie weer over wat er gebeurt)

Zodra het proces is voltooid, ontkoppelt u alle partities

In de toekomst kunt u uw gegevens op elke handige manier archiveren.

Herstellen vanaf een kopie

Aandacht! Deze methode omvat een volledige terugkeer naar de staat op het moment dat het archief werd aangemaakt, waarbij alle gegevens worden vervangen!

Maak koppelpunten voor partities

Sudo mkdir /mnt/(root,back-up)

Monteer een back-uppartitie

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

Formatteer de rootpartitie en /usr, /boot, etc. partities, indien aanwezig. (Zie het gedeelte over het formatteren van partities met behoud van de UUID)

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

Mount de nieuw gemaakte bestandssystemen

Het kopieerproces is vergelijkbaar, alleen in de tegenovergestelde richting.

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

Zodra het kopiëren is voltooid, bewerkt u fstab om de UUID's van de partitie te corrigeren

Ontkoppel de partities

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

Mount de nieuw gemaakte bestandssystemen

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

We zijn klaar om te beginnen! Gebruik het hulpprogramma unsquashfs om de afbeelding uit te pakken

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

(De schakeloptie -d specificeert het pad voor het uitpakken, met de schakeloptie -f gebruikt het programma bestaande mappen in plaats van te proberen nieuwe mappen te maken)

Net als bij het maken van een afbeelding ziet u een voortgangsbalk en veel andere nuttige informatie.

Wanneer u klaar bent, bewerkt u fstab en vervangt u de UUID's van de partities door nieuwe (als u de partities met dezelfde UUID's hebt geformatteerd, slaat u deze stap over)

Sudo nano /mnt/root/etc/fstab

Sla het bestand op en ontkoppel alle partities

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

Het beeld monteren

squashfs wordt net als elke andere afbeelding gemonteerd - via een lusapparaat. Kernelondersteuning voor squashfs is opgenomen in veel distributies, waaronder Ubuntu, dus je kunt eenvoudig de opdracht mount gebruiken met de lusoptie

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

(De ro-optie is niet vereist, aangezien het schrijven van niets daar sowieso niet zal werken)

Nu kunt u alle benodigde bestanden van de afbeelding kopiëren. Op deze manier iets toevoegen zal niet werken; als u dit doet, moet u mksquashfs opnieuw gebruiken

Wanneer u klaar bent, koppelt u de afbeelding als een normaal bestandssysteem

Sudo umount /mnt

rsync

Net als cp werkt rsync op bestanden in plaats van apparaten te blokkeren. Het voordeel van rsync is dat het geen bestanden kopieert die zich al op de bestemming bevinden. Standaard controleert het de grootte en wijzigingstijd van bestanden, maar u kunt ook de hash controleren (meestal wordt dit gedaan wanneer verhoogde beveiliging nodig is).

Gemakkelijk te gebruiken

De rsync-syntaxis is vergelijkbaar met cp:

Rsync -a /mnt/root /mnt/backup

De parameter -a is vaak voldoende; deze biedt wat het meest nodig is: recursief kopiëren van mappen, het opslaan van informatie over de eigenaar en groep, enz. Om gedetailleerde informatie over het kopiëren weer te geven, gebruikt u de schakeloptie -v; u mist mogelijk een foutmelding in de gegevensstroom. De schakeloptie -x zorgt ervoor dat rsync niet verder gaat dan het opgegeven bestandssysteem.

De rsync-documentatie beschrijft veel opties. Er zijn bijvoorbeeld programma's waarmee u via SSH kunt kopiëren of een bestand van de bestemming kunt verwijderen als het in de bronmap is verwijderd.

Slim kopiëren vermindert de uitvaltijd van het systeem. We voeren rsync rechtstreeks uit op een draaiend systeem, waarbij de gegevens voortdurend veranderen. Rsync kopieert de gegevens bijvoorbeeld binnen een paar uur. Vervolgens schakelen we het systeem naar alleen-lezen, voeren rsync opnieuw uit, nu worden alleen de bestanden gekopieerd die in deze paar uur zijn gewijzigd. Binnen een paar minuten hebben we een volledige kopie van het originele bestandssysteem. De downtime werd met een orde van grootte verminderd vergeleken met offline kopiëren. En in sommige gevallen zal één online kopie voldoende zijn zonder het systeem naar alleen-lezen te converteren.

Eerdere exemplaren opslaan

Strikt genomen is rsync geen back-uptool; het is een synchronisatietool. Dit is belangrijk bij het maken van reguliere kopieën, omdat als een belangrijk bestand in de bronwerkmap wordt verwijderd, rsync dit ook uit de back-up zal verwijderen. Om de gegevensbeveiliging te verbeteren, is het raadzaam om oude back-ups te bewaren. Het simpelweg opslaan van meerdere kopieën vergt echter veel ruimte op de harde schijf. Als kopieën veel identieke bestanden bevatten, leidt dit tot onnodige redundantie. Dit probleem kan worden opgelost door gebruik te maken van harde links.

Het komt erop neer dat in moderne bestandssystemen (inclusief Ext4) het adresseren van een bestand in twee fasen gebeurt: de bestandsnaam geeft een uniek bestandsnummer aan (indexdescriptor of i-node), en de gegevens zelf zijn aan dit nummer gekoppeld. Elke bestandsnaam is in feite een harde link naar dit nummer. Bijgevolg kan een bestand (dataset) meerdere namen hebben en zich in verschillende mappen bevinden, en dit elimineert redundantie in het geval dat bestanden moeten worden gedupliceerd (een harde link neemt immers weinig geheugen in beslag). De gegevens zelf worden pas verwijderd als de laatste harde link om verwijdering wordt gevraagd.

Een belangrijke beperking is dat harde koppelingen alleen mogelijk zijn binnen hetzelfde bestandssysteem.

Directory-inhoud voor de huidige back-up synchroniseren met de bronmap:

Rsync \ --archive \ --delete --delete-excluded \ # bestanden verwijderen die niet in de bron bestaan ​​en bestanden uitsluiten van de back-up--voortgang\ # informatie weergeven over de voortgang van de overdracht"/home/gebruiker/Bestanden/" \ # mapbron"/backup/nieuwste/" \ # map voor huidige back-up--exclude = "/Openbaar/" # sluit onnodige mappen uit

In de map “/backup/latest/” wordt een kopie van alle benodigde bestanden en mappen van de bron gemaakt en wordt al het onnodige verwijderd.

Nog een huidige back-up maken zonder redundantie:

cp\--archief\ # bewaar alle aanvullende informatie over bestanden--link\ # gebruik harde links voor bestanden - elimineer redundantie"/backup/nieuwste/" \ # source is de huidige back-up die hierboven is verkregen "/backup/$(datum +%Y-%m-%d_%H-%M-%S) /" # bestemming - directory met datum in naam voor het gemak (zie mandatum)

De volgende keer dat u een back-up maakt, verwijdert rsync bestanden in de map /backup/latest/ die zijn verwijderd/uitgesloten/gewijzigd in de bronmap (de gewijzigde bestanden worden eerst verwijderd en vervolgens wordt er een nieuwe versie geschreven). Alleen de namen van de bestanden (dezelfde harde links) worden echter verwijderd; de bestanden zelf (data) worden opgeslagen, omdat er harde links naar zijn gemaakt in een aangrenzende map met de opdracht “cp”.

Andere hulpmiddelen

Er zijn veel toepassingen voor het maken van back-ups in Linux. U kunt zoeken naar "back-up" in het Ubuntu App Center om back-upprogramma's te vinden die beschikbaar zijn in Ubuntu.

Voor een bedrijfsomgeving en eenvoudigweg voor vrij grootschalige en kritieke back-uptaken kunnen we aanbevelen om een ​​van de meest populaire en krachtige back-upsystemen voor Linux te begrijpen, genaamd Bacula.

Overigens kun je op internet ook Russischtalige handleidingen vinden.

Gedeeltelijke magie

Parted Magic is weer een geweldige, maar betaald een distributiekit met een hele verzameling tools voor het maken van back-ups en het herstellen van informatie, het werken met schijven en partities, en het herstellen van verloren gegevens. Het ondersteunt vele bestandssystemen, LVM2 en RAID (zowel hardware als software) en bevat tools zoals fsarchiver, GParted, het eerder genoemde Clonezilla en alles wat nodig is voor de methoden die in dit artikel worden beschreven. Bovendien bevat de distributie een webbrowser en enkele andere aanvullende software. De distributie is vertaald in verschillende talen, waaronder Russisch, en heeft een volwaardige grafische interface.

Gedeelt

LParted is een volledig uitgeruste LiveCD die voornamelijk is ontworpen voor het werken met harde schijfpartities (HDD's), het permanent verwijderen of herstellen van gegevens en het testen van hardware. LiveCD gebaseerd op Lubuntu Linux. LParted is een functioneel analoog van Parted Magic.

Ik zou hier graag iets willen toevoegen over SystemRescueCD en anderen

Iets meer over het opslaan van gegevens

    Voor belangrijke gegevens kunt u een spiegelpartitie op twee schijven maken. Om dit te doen, is het helemaal niet nodig om een ​​RAID-controller en schijven van dezelfde grootte te hebben - u kunt bijvoorbeeld een spiegel samenstellen van een oude schijf van 80 GB en een partitie van 80 GB op een nieuwe. Mirroring kan worden geïmplementeerd met behulp van LVM of software RAID. Deze methode is echter nutteloos in het geval dat bijvoorbeeld een spanning van ~220V de +5V-bus raakt of een meteoriet op de computersysteemeenheid valt.

    IT-nerds die thuis een eigen server hebben, kunnen het idee van spiegelen uitbreiden en DRBD gebruiken. Dezelfde RAID-1, maar de harde schijven bevinden zich in verschillende computers, wat de betrouwbaarheid vergroot.

    Een moderne, handige oplossing is het maken van een back-up van gegevens naar de cloud, bijvoorbeeld met behulp van Ubuntu One, Dropbox, http://www.adrive.com/ en andere.

    Noch spiegelen, noch repliceren op Ubuntu One zal u ervan weerhouden per ongeluk op Delete te drukken, dus maak in ieder geval “klassieke” back-ups. En op een dag zullen al je harde werk en inspanningen beloond worden.

Laten we dus aannemen dat u een ISO-bestand met een distributie-image hebt gedownload en een flashstation hebt voorbereid.

Het terminalcommando voor het schrijven van een ISO-image van de distributie ziet er als volgt uit:

sudo dd if=pad naar.iso of=/dev/sdb

Waar in plaats daarvan pad naar .iso u moet het pad naar het ISO-bestand vanuit uw map opgeven Downloads.
sdb aan het einde van de opdracht is dit de flashdrive waarop de afbeelding zal worden geschreven. Om uw flashdrive te identificeren, voert u in de terminal het volgende uit:



En als uw flashdrive anders is gedefinieerd, wijzigt u deze in de opdracht.

Om het bestandspad correct in de opdracht in te voeren, opent u de map met het bestand, opent u een terminal in de buurt en sleept u het bestand ernaartoe:


De terminal geeft het pad naar het bestand en het .iso-bestand zelf weer. Kopieer het zonder aanhalingstekens en plak het in de opdracht, en druk in de terminal op de sneltoets Ctrl+C om te resetten en een nieuwe promptregel weer te geven.

De eenvoudigste manier om een ​​opdracht te maken is in een teksteditor.
Ik kreeg het volgende commando:


Steek nu de USB-flashdrive in de computerpoort, kopieer de resulterende opdracht uit een teksteditor, voer deze in de terminal in en voer uit (druk op Enter):


De terminalcursor gaat knipperen en het lijkt erop dat er niets gebeurt, maar dat er in feite een opname bezig is. Wacht tot de afbeelding klaar is met branden en als je klaar bent, zou je zoiets als dit in de terminal moeten zien:


Dat is het. Uw flashdrive is opstartbaar geworden en u kunt de distributie nu op elke computer installeren.

Heel vaak moeten systeembeheerders verschillende binaire gegevens kopiëren. Soms moet u bijvoorbeeld een back-up maken van uw harde schijf, een leeg bestand met nullen maken om wisselruimte of een ander virtueel bestandssysteem te organiseren.

Om al deze problemen op te lossen wordt het hulpprogramma dd linux gebruikt, dat eenvoudigweg gegevens op binair niveau van de ene plaats naar de andere kopieert. Het kan een cd/dvd-schijf, een gedeelte van een schijf of zelfs een hele harde schijf kopiëren. In dit artikel zullen we bekijken wat het linux dd-commando is, de belangrijkste opties en parameters ervan, en hoe je het kunt gebruiken.

Eerst moet je begrijpen hoe het dd-commando werkt en wat het doet. In feite is dit alleen een analoog van het hulpprogramma voor blokgegevens. Het hulpprogramma draagt ​​eenvoudigweg één gegevensblok van de opgegeven grootte over van de ene plaats naar de andere. Omdat alles in Linux als een bestand wordt beschouwd, inclusief apparaten, kun je apparaten naar bestanden overbrengen en omgekeerd.

Met behulp van verschillende hulpprogramma's kunt u de blokgrootte beïnvloeden, en dit heeft op zijn beurt al invloed op de snelheid van het programma. Vervolgens zullen we kijken naar de belangrijkste opties van het hulpprogramma en zijn mogelijkheden.

dd-opdracht

De syntaxis van het hulpprogramma is vrij ongebruikelijk, maar tegelijkertijd heel eenvoudig, als je het eenmaal onthoudt en eraan gewend raakt:

$dd als= kopieer_bron van= bestemming parameters

Met behulp van de parameter if moet u de bron opgeven waaruit de blokken worden gekopieerd. Dit kan een apparaat zijn, bijvoorbeeld /dev/sda of een bestand - disk.img. Vervolgens moet u met behulp van de parameter of het bestemmingsapparaat of -bestand opgeven. Andere parameters hebben dezelfde syntaxis als if en of.

Laten we nu eens kijken naar de aanvullende opties:

  • bs- geeft aan hoeveel bytes tegelijk moeten worden gelezen en geschreven;
  • CBS- hoeveel bytes er tegelijkertijd moeten worden geschreven;
  • graaf- kopieer het opgegeven aantal blokken, de grootte van één blok wordt aangegeven in de bs-parameter;
  • conv- filters toepassen op de datastroom;
  • ibs- lees het opgegeven aantal bytes tegelijk;
  • obs- schrijf het opgegeven aantal bytes tegelijk;
  • zoeken- sla het opgegeven aantal bytes aan het begin van het leesapparaat over;
  • overslaan- sla het opgegeven aantal bytes aan het begin van het uitvoerapparaat over;
  • status- geeft aan hoe gedetailleerd de conclusie moet zijn;
  • iflag, oflag- hiermee kunt u extra bedieningsvlaggen instellen voor het invoer- en uitvoerapparaat, de belangrijkste: nocache, nofollow.

Dit waren alle basisopties die u nodig heeft. Laten we nu dichter bij de praktijk komen en naar verschillende voorbeelden kijken van hoe je het hulpprogramma dd Linux kunt gebruiken.

Hoe gebruik je dd?

Regelmatige gebruikers gebruiken de opdracht dd het vaakst om dvd- of cd-images te maken. Als u bijvoorbeeld een schijfkopie in een bestand wilt opslaan, kunt u de volgende opdracht gebruiken:

sudo dd if=/dev/sr0 of=~/CD.iso bs=2048 conv=noerror

Met het noerror-filter kunt u de reactie op fouten uitschakelen. Vervolgens kunt u een afbeelding van de harde schijf of partitie erop maken en deze afbeelding op schijf opslaan. Zorg er wel voor dat u niet op dezelfde harde schijf of partitie opslaat, om geen recursie te veroorzaken:

dd if=/dev/sda of=~/disk.img

Er wordt een bestand met de naam disk1.img aangemaakt in uw thuismap, dat in de toekomst kan worden geïmplementeerd en hersteld op het beschadigde systeem. Om een ​​image naar een harde schijf of partitie te schrijven, hoeft u alleen maar de apparaatadressen om te wisselen:

dd if=~/disk.img of=/dev/sda

Een zeer belangrijke en nuttige optie is bs. Hiermee kunt u de snelheid van het hulpprogramma aanzienlijk beïnvloeden. Met deze parameter kunt u de grootte van één blok instellen bij het overbrengen van gegevens. Hier moet u een digitale waarde opgeven met een van deze formaatmodificatoren:

  • Met- één karakter;
  • B- 512 bytes;
  • KB- 1000 bytes;
  • K- 1024 bytes;
  • M.B.- 1000 kilobyte;
  • M- 1024 kilobyte;
  • GB- 1000 megabyte;
  • G- 1024 megabytes.

Het dd Linux-commando gebruikt precies zo'n systeem, het is complex, maar er is geen ontkomen aan. Het zal begrepen en onthouden moeten worden. 2b is bijvoorbeeld 1 kilobyte, en 1k is ook 1 kilobyte, 1M is 1 megabyte. Standaard gebruikt het hulpprogramma een blokgrootte van 512 bytes. Om het kopiëren van schijven te versnellen, kunt u bijvoorbeeld blokken van 5 megabytes groot maken. Gebruik hiervoor de volgende opdracht:

dd if=/dev/sda of=~/disk.img bs=5M

De volgende parameter is aantal. Hiermee kunt u opgeven hoeveel blokken er moeten worden gekopieerd. We kunnen bijvoorbeeld een bestand van 512 megabyte maken door het te vullen met nullen uit /dev/zero of willekeurige getallen uit /dev/random:

sudo dd if=/dev/zero of=file.img bs=1M count=512

Houd er rekening mee dat deze parameter niet de grootte in megabytes aangeeft, maar alleen het aantal blokken. Als u dus een blokgrootte van 1b opgeeft, hoeft u slechts twee blokken te nemen om een ​​bestand van 1 KB te maken. Deze optie kan ook worden gebruikt om een ​​back-up te maken van de MBR-partitietabel. Kopieer hiervoor de eerste 512 bytes van de harde schijf naar een bestand:

sudo dd if=/dev/sda of=mbr.img bs=1b count=1

Om te herstellen gebruikt u de gebruikelijke opdracht om de afbeelding op schijf te implementeren.

Als de schijfkopie te groot is, kunt u alle uitvoer omleiden naar de niet-standaard uitvoerstroom van het gzip-hulpprogramma:

dd als =/dev/sda2 | bzip2 schijf.img.bz2

Je kunt ook het hulpprogramma dd linux gebruiken om bestanden te kopiëren, hoewel dit niet het beoogde doel is:

dd if=/home/sergiy/test.txt of=/home/sergiy/test1.txt

Zoals je weet, schrijft het Linux dd-commando gegevens rechtstreeks in binaire vorm naar schijf, wat betekent dat nullen en enen worden geschreven. Ze overschrijven wat eerder op het opnameapparaat was geplaatst. Om een ​​schijf te wissen, kunt u deze daarom eenvoudigweg vullen met nullen uit /dev/zero.

sudo dd if=/dev/zero of=/dev/sdb

Als je dd op deze manier gebruikt, wordt de hele schijf volledig gewist.

Conclusies

In dit artikel hebben we gekeken hoe je dd linux kunt gebruiken, waarvoor dit hulpprogramma kan worden gebruikt en hoe nuttig het kan zijn. Dit is een bijna onmisbaar hulpmiddel voor een systeembeheerder, omdat het kan worden gebruikt om back-ups van een heel systeem te maken. En nu weet je hoe. Als je vragen hebt, stel ze dan in de reacties!

    Rufus- gratis en open source software voor het formatteren van verwisselbare USB-opslagmedia en het maken van opstartbare schijven met verschillende besturingssystemen. Het programma is gemakkelijk te gebruiken, hoge snelheid en ondersteunt een meertalige interface.

Je kunt het programma downloaden op de website van de ontwikkelaar. De pagina bevat links om de standaardversie te downloaden Rufus en draagbaar Rufus draagbaar, die nergens anders van verschillen dan de naam van het uitvoerbare bestand en de locatie waar de instellingen zijn opgeslagen. De programma-instellingen omvatten de gebruikte taal en instellingen voor het controleren op updates. De standaardversie slaat deze instellingen op in het register, terwijl de draagbare versie deze instellingen in een bestand opslaat rufus.ini programma map. Rufus vereist geen installatie op het systeem - download gewoon het uitvoerbare bestand en voer het uit. De programma-interface is heel eenvoudig:

Kortom, het programma Rufus is niet iets unieks op het gebied van tools voor het maken van opstartbare media en het belangrijkste voordeel is gebruiksgemak. Om met zijn hulp een opstartbare flashdrive te maken, volstaat het om de originele afbeelding van het opstartbare systeem te hebben en op de knop "Start" te kunnen klikken. Alle geselecteerde parameters en instellingen zijn standaard al ontworpen om het programma op een standaardcomputer te gebruiken.

Gemakkelijkste en handigste in gebruik Rufus om een ​​opstartbare flashdrive (opstartbare USB-drive) te maken van ISO-images van Windows- of Linux-installatieschijven, evenals systeemherstelschijven voor noodgevallen en diagnostische hulpmiddelen.

Wanneer u een opstartbare Windows-flashdrive maakt, hoeft u alleen maar het apparaat te selecteren waarnaar u wilt schrijven en het opstartbare ISO-imagebestand. Het programma zal zelf andere parameters instellen.

Als u niet over een ISO-imagebestand beschikt, kunt u er een maken vanaf een fysieke CD (of uit een set distributiebestanden) met behulp van CD/DVD-brandprogramma's zoals het bekende Nero, Alcohol of het gratis CDBurnerXP of ImgBurn.

De procedure voor het maken van een opstartbaar USB-flashstation met Windows is als volgt:

  • selecteer het flashstation waarop de afbeelding zal worden geschreven. In tegenstelling tot veel vergelijkbare programma's geeft Rufus het volumelabel, de stationsletter en de grootte weer, dus als u meerdere verwisselbare schijven op het systeem heeft, kunt u eenvoudig degene selecteren waarnaar u wilt schrijven.

  • selecteer het partitieschema en het type systeeminterface. Met Rufus kunt u flashdrives maken om op te starten in een normale BIOS-interface en om op te starten in een UEFI-omgeving, opstartrecords maken voor MBR-volumes en GPT-volumes. De standaardmodus is "MBR voor computers met BIOS of UEFI" - tegenwoordig de meest gebruikelijke modus voor opstartbare flashdrives.

  • selecteer het bestandssysteem dat zal worden gebruikt op de opstartbare flashdrive die moet worden gemaakt. Standaard gebruiken opstartbare Windows-flashstations het bestandssysteem FAT32, maar indien nodig kunt u kiezen NTFS, als u bestanden groter dan 4 GB wilt gebruiken.

  • stel de clustergrootte in. De clustergrootte wordt door het programma geselecteerd op basis van de afbeeldingsgegevens en het bestandssysteemtype, maar kan indien nodig worden gewijzigd.

  • geef het volumelabel op dat wordt opgegeven voor de gemaakte flashdrive.

  • opmaakopties instellen. Het is het beste om deze opties standaard te laten en gewoon het ISO-imagebestand te selecteren. Voor afbeeldingen gemaakt door het programma dd op Linux moet je de optie selecteren DD-afbeelding.

    Na het indrukken van de knop Begin het programma formatteert de flashdrive, stelt het teken van de actieve partitie in, registreert het master-opstartrecord en het opstartrecord van de partitie, evenals opstartbare mediagegevens van de ISO-image. Na voltooiing van de werkzaamheden Rufus U kunt opstarten met behulp van de resulterende opstartbare flashdrive.

    Virtualisatietechnologie gebruiken om opstartbare flashdrives te testen. Links voor het downloaden van gratis en handige programma's om het proces van het maken, debuggen en testen van de gemaakte opstartbare media te vereenvoudigen.