Backup med Linux
DENNE GUIDE ER VED AT BLIVE OPDATERET.

Backup guiden

I denne guide vil du lære at tage backup ved hjælp af SystemrescueCD. SystemrescueCD er en system disk designet til at man kan udføre systemarbejde, backup og systemredning ved hjælp af blot en disk.

I denne guide vil der blive vist hvordan man tager backup på en Ubuntu og en Windows10 maskine, samt hvordan man tager backup over netværk. Begge maskiner er til guidens formål lavet i Virtualbox med følgende opsætning

I denne guide anvendes 2 forskellige computerkonfigurationer. En standard Windows7 computer med 2 harddiske samt den PC, som bliver installeret i Installation af Ubuntu 16.04 LTS hvor man også har kørt guiden Administration og montering af harddiske, USB- og netværksdrev

PC Harddisk Partition Betegnelse Filsystem Størrelse
Ubuntu 1 /dev/sda1 / ext4 92 GB
/dev/sda2 swap swap 8 GB
2 /dev/sdb1 /data ext4 100 GB
Windows 1 Disk 0 - partition 1 NTFS bootdrev (ikke synligt) 500 MB
Disk 0 - partition 2 NTFS C: 99,5 GB
2 Disk 1 - partition 1 NTFS D: 100 GB

Jeg regner med at man som udgangspunkt har sat sig ind i hvordan man tilgår computerens partitioner og har en grundlæggende forståelse for kommandolinien. Hvis du gerne vil have det genopfriskes kan du gå til guiden: Administration og montering af harddiske, USB- og netværksdrev.

SystemrescueCD

SystemrescueCD er et værktøj der er baseret på Linux, og som giver adgang til at kunne udføre low level administration af computere, herunder adgang til FSArchiver. SystemrescueCD er et komplet styresystem der downloades i en ISO fil der kan brændes ud på en CDROM eller USB Disk. Det bliver ofte opdateret, så sørg for at have den nyeste version. Her anvendes version 5.0.1.

Fordelen ved at anvende SystemrescueCD er:

  • Den bliver opdateret ofte
  • Fylder ikke mere end 4-500 MB
  • Den kan bootes så alt lægges i en cached memory
  • Den er hurtig
  • Den har alt hvad en systemadmin ønsker installeret

Om SystemrescueCD: https://www.system-rescue-cd.org/SystemRescueCd_Homepage

Tilgængelige programmer: https://www.system-rescue-cd.org/System-tools

Hent SystemrescueCD: http://www.sysresccd.org/Download

Efter den er hentet brændes ISO filen ud på en CDROM eller USB disk og computeren bootes. Når disken er bootet op bliver man præsenteret med boot muligheder. Her vælger jeg som regel nr. 2, da den opretter hele disken på et RAM-drev. Det lidt længere tid at loade SystemrescueCD, men til gengæld reagerer den hurtigere når man arbejder. Boot proceduren er:

Herefter skal tasteturet vælges. Vælg 11 (dk - dansk tastetur)

Herefter er SystemrescueCD klar til at modtage dine kommandoer.

Opsætning af SystemrescueCD

Hvis man ønsker at anvende Systemrescue på netværk er der nogle enkelte trin man skal have gjort:

  • Sat root-password
  • konfigurere netværk
root-password

Opret password til root på SystemrescueCD. Koden skal være af en vis længde og indeholde både små og store bogstaver f.eks. 123qweASD:

passwd root
root@sysresccd /root % passwd root
Changing password for root
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New password: 
Re-enter new password: 
passwd: password changed.
Konfigurere netværk

For at få et overblik over netværket anvendes ifconfig

root@sysresccd /root % ifconfig
enp0s3: flags=4163  mtu 1500
        inet 192.168.0.79  netmask 255.255.255.0  broadcast 192.168.0.255 <-- netværksopl.
        inet6 fe80::a00:27ff:fe74:1ffb  prefixlen 64  scopeid 0x20
        ether 08:00:27:74:1f:fb  txqueuelen 1000  (Ethernet)
        RX packets 290  bytes 39943 (39.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 124  bytes 17351 (16.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Læg både mærke til navnet på netværkskortet (her: enp0s3) og IP-adressen.

Hvis man ønsker at ændre netværksopsætningen anvender man også ifconfig:

ifconfig enp0s3 192.168.0.15/24
root@sysresccd /root % ifconfig
enp0s3: flags=4163  mtu 1500
        inet 192.168.0.15  netmask 255.255.255.0  broadcast 192.168.0.255 <-- netværksopl.
        inet6 fe80::a00:27ff:fe74:1ffb  prefixlen 64  scopeid 0x20
        ether 08:00:27:74:1f:fb  txqueuelen 1000  (Ethernet)

		...
SSH adgang

For at få SSH adgang til computeren med SystemrescueCD (IP: 192.168.0.63) anvendes kommandoen:

ssh root@192.168.0.63
thoj@thoj-VirtualBox:~$ ssh root@192.168.0.15
The authenticity of host '192.168.0.15 (192.168.0.15)' can't be established.
ED25519 key fingerprint is SHA256:Bgfi0aXlya0tOiD4zLmBDzUBhRKXxz7KF/wjkdIVDGE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.15' (ED25519) to the list of known hosts.
Password: 
root@sysresccd /root % 

Overblik over computerens drev

For at få et overblik over computerens drev og partitioner anvendes:

lsblk -o name,fstype,size

Ubuntu PC

root@sysresccd /root % lsblk -o name,fstype,size 
NAME   FSTYPE     SIZE
sdb               100G
└─sdb1 ext4       100G
sr0    iso9660  463.2M
loop0  squashfs 390.8M
sda               100G
├─sda2              1K
├─sda5 swap         8G
└─sda1 ext4        92G

Windows PC

root@sysresccd /root % lsblk -o name,fstype,size
NAME   FSTYPE     SIZE
sdb               100G
└─sdb1 ntfs       100G
sr0    iso9660  463.2M
loop0  squashfs 390.8M
sda               100G
├─sda2 ntfs      99.5G
└─sda1 ntfs       500M

Forberedelse af backup - Ubuntu

Man kan med fordel rense sin maskine for overflødige filer. Det kan spare tid/plads især på Windows (op til flere GB). Der er skrevet (opt) ud for nogle af punkterne. Det betyder at der er nogle ting jeg ville gøre/fjerne. Især på windows bør det overvejes om man ønsker at opdatere først, fjerne gendannelsespunkterne ...

  • Tøm "Hentede filer"
  • Opdater Ubuntu
  • Fjern unødenvendige systemfiler
  • Fjern ældre kerner (opt)

Disse trin udføres før maskinen bootes op med SystemrescueCD

Tøm Hentede filer og opdater Ubuntu (før)

rm ~/Hentede\ filer/* sudo apt-get update && sudo apt-get dist-upgrade -y

Fjern unødenvendige systemfiler

sudo apt-get autoremove -y sudo apt-get clean -y

Fjern ældre kerner

sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $(uname -r | sed -r 's/-[a-z]+//') | sed ':a;N;$!ba;s/\n/ /g')

Forberedelse af backup - Windows

På Windows er procedyren normal at man skal anvende GUI til at rense computeren. Det kan dog være en ret omfattende og tidskrævende proces. Derfor har jeg anvendt følgende metode, som kun tager en brøkdel af den tid det normalt tager

  • Før computeren bootes med SystemrescueCD
    • Tøm "Hentede filer"
    • Opdater Windows
    • Genstart og tjek at alle programmer virker efter opdateringen
    • Fjern gendannelsespunkter (restore points)
  • Efter computeren er bootet med SystemrescueCD
    • Monter systemdrevet
    • Fjern swap- og hibernate filerne
    • Fjern opdateringsfiler
    • Fjern gendannelsespunker (opt)

Tøm hentede filer og opdater Windows (før)

  • Tøm "Hentede filer"
  • Opdater Windows
  • Genstart og tjek at alle programmer virker efter opdateringen

Fjern gendannelsespunker (opt)

VIGTIGT: Hvis du gør dette bliver dine gendannelsespunkter slettet.

Åben Win+X menuen - Win+x og vælg Kommandoprompt (administrator).

Få først en oversigt med:

vssadmin list shadows

Slet alle gendannelsespunkter med:

vssadmin delete shadows /all

Læs mere: https://www.tenforums.com/tutorials/33593-delete-system-restore-points-windows-10-a.html

Boot herefter Windowssystemet med SystemrescueCD.

Med systemrescueCD

Monter systemdrevet

ntfs-3g /dev/sda2 /mnt/windows

Fjern swap- og hibernate filerne

rm /mnt/windows/pagefile.sys rm /mnt/windows/hiberfil.sys

Både swap- og hibernate filerne gendannes automatisk når windows startes igen, og de fylder ofte det samme som ens RAM-lager.

Fjern opdateringsfilerne

Opdateringsfilerne bliver ikke anvendt til noget efter de har været brugt til at opdatere med. Det kan dreje sig om flere GB.

rm -rf /mnt/windows/Windows/SoftwareDistribution/Download/*

Generelt om backup

Når vi endeligt skal til at lave backups af vores system er det ligegyldigt om det er et Linux eller et Windows system. Vi laver en bakcup af den harddiskpartition de ligger på, og derfor er det, det samme vi skal gøre på begge systemer.

  • Mount drevet der skal tages backup af
  • Mount drevet hvor backup'en skal ligge

For Linux partitioner:

mount **drev** **monteringspunkt**

For Windows partitioner

ntfs-3g **drev** **monteringspunkt**

Læs mere om montering af drev: http://www.vidas.dk/guides/harddiske.html

FSArchiever

fsarchiver (FileSystem Archiever) er grundlæggende et program der gemmer indholdet af et filsystem til et pakket arkiv. Herunder er nogle af dets features:

Kan udnytte flere kerner

Man kan selv vælge hvor mange af CPU'ens kerner der skal afsættes til opgaven. Det betyder både at man fuldt ud kan benytte moderne CPU'er, men også at man kan nøjes med at anvende ledige CPU'er - f.eks. på et server med mange kerner.

Arbejder på filniveau

fsarchiver tager backup af filer, hvor der også er kørt checksum. Det betyder bl.a. at selvom der er fejl i enkelte filer, så kan fsarchiver stadig udpakke resten af filerne. Det betyder også at du kan udpakke filerne på et andet filsystem end det oprindelige.

Et eksempel

Herinder er et eksempel hvor der tages backup af en Windows 7 installation (boot og systemdrev) på en partition der er monteret på /mnt/backup:

fsarchiver savefs -v -z 7 -j 2 -e 'pagefile.*' -L 'Win7 Backup 010116' /mnt/backup/win7_z7.fsa /dev/sda1 /dev/sda2

I tabellen herunder er kommandollinien forklaret

fsarchiver Selve programmet
savefs gem filsystem
-v Vis fremgangen i processen
-z 7 Anvend krypteringsalgoritme 7 (lzma -1)
-j 2 Anvend 2 processorer
-e 'pagefile.*' Udelad filer der hedder pagefile.*
-L 'Win7 Backup 010116' Tilføj beskrivelsen "Win7 Backup 010116"
/mnt/backup/win7_z7.fsa navgiv filen /mnt/backup/win7_z7.fsa.
/dev/sda1 /dev/sda2 Gem første (boot partitionen) og anden (systemdrevet)

Som du kan se af ovenstående er det muligt at konfigurere processen ned i mindste detalje.

FSArchivers hjemmeside og dokumentation er i første øjekast sparsom, men ved nærlæsning finder man ud af at den er blot er kompakt og effektivt struktureret. Du kan finde hjemmesiden her:

Hovedsiden: http://www.fsarchiver.org/Main_Page

Quickstart: http://www.fsarchiver.org/QuickStart

Et overblik

Kommandoerne er bygget op over samme algoritme der følger programnavnet:

fsarchiver [Kommando] [Optioner] [Image-fil] [partition(er)]

[Kommando]

Der findes 3 typer kommandoer.

  1. Kommandoer rettet mod at tage backup af partitioner
  2. Kommandoer rettet mod at tage backup af filer
  3. Kommandoer rettet mod at analysere og få info fra backupfiler
Kommandoer rettet mod at tage backup af partitioner
savefs Gem filsystem (save filesystem)
restfs Gendan filsystem (restore filesystem)

Kommandoerne gør som de siger - gemmer og gendanner filsystemer

Kommandoer rettet mod at tage backup af filer
savedir Tilføjer et mappe til et arkiv
restdir udpakker en mappe fra et arkiv

Du kan også anvende fsarchiver til at lave almindelig backup af filer ved hjælp af savedir og restdir. Egentlig fungerer det ligesom tar eller zip filer, men du har fordelen ved at kunne anvende de ekstra features samt checksum. På denne måde kan du tage "snapshots af dine vigtige mapper og gendanne dem om nødvendigt.

Du kan ikke hente enkelte mapper ud fra arkiver hvor der er anvendt savefs og restfs.

Kommandoer rettet mod at analysere og få info fra backupfiler
archinfo Vis information om arkivet
probe Giver et overblik over partitioner på systemet
probe detailed Giver flere informationer om partitionner på systemet

Ved hjælp af disse kommandoer kan du få informationer om henholdsvis dine arkiver eller over computerens partitioner. Her er vist nogle eksempler

Arkivinfo fra en fil (/data/ubuntu.fsa)

fsarchiver archinfo /data/ubuntu.fsa
root@sysresccd /root % fsarchiver archinfo /data/ubuntu.fsa 
====================== archive information ======================
Archive type: 			filesystems
Filesystems count: 		1
Archive id: 			5707f249
Archive file format: 		FsArCh_002
Archive created with: 		0.6.21
Archive creation date: 		2016-04-03_11-31-54
Archive label: 			<none>
Minimum fsarchiver version:	0.6.4.0
Compression level: 		3 (gzip level 6)
Encryption algorithm: 		none

===================== filesystem information ====================
Filesystem id in archive: 	0
Filesystem format: 		ext4
Filesystem label: 		
Filesystem uuid: 		28fb75b0-085c-448e-9755-a7d0a73f9540
Original device: 		/dev/sda1
Original filesystem size: 	157.94 GB (169588563968 bytes)
Space used in filesystem: 	33.54 GB (36018147328 bytes)

Overblik over partitioner:

fsarchiver probe
root@sysresccd /root % fsarchiver probe
[======DISK======] [=============NAME==============] [====SIZE====] [MAJ] [MIN]
[sda             ] [VBOX HARDDISK                  ] [   100.00 GB] [  8] [  0]
[sdb             ] [VBOX HARDDISK                  ] [   100.00 GB] [  8] [ 16]
[sr0             ] [CD-ROM                         ] [   459.88 MB] [ 11] [  0]

[=====DEVICE=====] [==FILESYS==] [======LABEL======] [====SIZE====] [MAJ] [MIN] 
[loop0           ] [squashfs   ] [<unknown>        ] [   338.45 MB] [  7] [  0] 
[sda1            ] [ext4       ] [<unknown>        ] [    46.57 GB] [  8] [  1] 
[sda2            ] [swap       ] [<unknown>        ] [     3.81 GB] [  8] [  2] 
[sda3            ] [ext4       ] [<unknown>        ] [    28.87 GB] [  8] [  3] 
[sdb1            ] [ext4       ] [<unknown>        ] [   100.00 GB] [  8] [ 17]

Man kan også anvende det detaljerede overblik. Det eneste man reelt får ud af det er, at man får enhedens "lange navn" ( f.eks: /dev/sda1 i stedet for sda1 og enhedens UID.

fsarchiver probe detailed
root@sysresccd /root % fsarchiver probe detailed
[======DISK======] [=============NAME==============] [====SIZE====] [MAJ] [MIN]
[sda             ] [VBOX HARDDISK                  ] [   100.00 GB] [  8] [  0]
[sdb             ] [VBOX HARDDISK                  ] [   100.00 GB] [  8] [ 16]
[sr0             ] [CD-ROM                         ] [   459.88 MB] [ 11] [  0]

[=====DEVICE=====] [==FILESYS==] [======LABEL======] [====SIZE====] [MAJ] [MIN] [==============LONGNAME==============] [=================UUID=================] 
[loop0           ] [squashfs   ] [<unknown>        ] [   338.45 MB] [  7] [  0] [/dev/loop0                          ] [<unknown>                             ] 
[sda1            ] [ext4       ] [<unknown>        ] [    46.57 GB] [  8] [  1] [/dev/sda1                           ] [c177c89a-3ad8-4588-a172-3bdd86ccc6df  ] 
[sda2            ] [swap       ] [<unknown>        ] [     3.81 GB] [  8] [  2] [/dev/sda2                           ] [c4e6f606-e61c-4936-9b6e-73de38ed0b7b  ] 
[sda3            ] [ext4       ] [<unknown>       ] [    28.87 GB] [  8] [  3] [/dev/sda3                           ] [377113e6-5f83-4153-ac47-8d6dbc98a5cb  ] 
[sdb1            ] [ext4       ] [<unknown>       ] [   100.00 GB] [  8] [ 17] [/dev/sdb1                           ] [a9325cdc-bd8b-4795-b514-59f1f7453235  ] 

[Optioner]

... konfigurerer FSArchiver ned i detaljer. Herunder er nogle af mulighederne listet:

-v Verbose mode - giver informationer om programmets kørsel f.eks. procentvis fremgang
-A Nødvendig hvis du vil køre fsarchiver på et drev der er aktivt (kan ikke anbefales)
-h Viser hjælpemenuen og eksempler på anvendelse
-V Vis versionen af programmet
-s *størrelse i MB* split imaget i *mbsize* MB størrelse
-j *antal* Bestemmer antallet af kerner i CPU'en du vil anvende til at pakke med.
-z *kompression* Kompression metode (se skema nedenfor)
-L 'etiket' Angiv en beskrivende tekststreng til arkivet
-e 'tekststreng' Pakker ikke filer der matcher tekststrengen

Kompressionsalgoritmerne er angivet herinder. Jo højere tal inden for samme algoritme - jo hårdere og langsommere pakker de.

  1. lzo -3
  2. gzip -3
  3. gzip -6 (standard)
  4. gzip -9
  5. bzip -2
  6. bzip -5
  7. lzma -1
  8. lzma -6
  9. lzma -9

Modsatte vej gælder det dog at lzma udpakker med næsten 3x hastigheden af bzip. Hvis komprimeringstiden ikke er en væsentlig faktor så kan man altså med fordel anvende option 7/8 (lzma -7/lzma -8) alt efter kompressionsgrad.

Henvisning: http://www.fsarchiver.org/Compression

[Image-fil]

... angiver filnavnet på arkivet

[partition(er)]

... angiver hvilke partitioner der skal pakkes.

Den første partition får ID = 0, den anden ID=1 osv. På den måde vil man senere kunne angive hvilken partition der skal pakkes ud når en harddisk skal gendannes.

Når man så senere skal udpakke arkivet skal man angive partitionens ID i den pakkede fil og destinationen. Herunder er vist hvordan man henter arkivets anden partition ud, som vil være systemdrevet på en windows computer og lægger den på /dev/sda2, som bliver formateret i samme proces.

fsarchiver restfs -v ~/backupfil.fsa id=1,dest=/dev/sda2,mkfs=ntfs

Eksempler

fsarchiver savefs -v -z 3 -j 4 -L 'backup Ubuntu 010116' /mnt/backup/ubuntu010116.fsa /dev/sda1
savefs gem filsystem
-v Vis fremgangen i processen
-z 3 Anvend krypteringsalgoritme 3 (gzip -6 - standard)
-j 4 Anvend 4 processorer
-L 'backup Ubuntu 010116' Tilføj beskrivelsen - backup Ubuntu 010116
/mnt/backup/ubuntu010116.fsa navngiv filen /mnt/backup/ubuntu010116.fsa og læg den på det monterede drev i /mnt/backup.
/dev/sda1 Gemmer /dev/sda1
fsarchiver restfs -v -j 4 /mnt/backup/ubuntu010116.fsa id=0,dest=/dev/sda1,mkfs=ext4
restfs Gendan filsystem
-v Vis fremgangen i processen
-j 4 Anvend 4 processorer
/mnt/backup/ubuntu010116.fsa Anvend arkivet /mnt/backup/ubuntu010116.fsa.
id=0,dest=/dev/sda1,mkfs=ext4 Tag den første partitioner i arkivet og læg den på /dev/sda1, som skal formateres med ext4.

Endeligt kan vi også få fsarchivers hjælpetekst frem med nedenstående kommando:

fsarchiver -h
root@sysresccd /root % fsarchiver -h 
====> fsarchiver version 0.6.22 (2016-02-13) - http://www.fsarchiver.org <====
Distributed under the GPL v2 license (GNU General Public License v2).
 * usage: fsarchiver [<options>] <command> <archive> [<part1> [<part2> [...]]]
<commands>
 * savefs: save filesystems to an archive file (backup a partition to a file)
 * restfs: restore filesystems from an archive (overwrites the existing data)
 * savedir: save directories to the archive (similar to a compressed tarball)
 * restdir: restore data from an archive which is not based on a filesystem
 * archinfo: show information about an existing archive file and its contents
 * probe [detailed]: show list of filesystems detected on the disks
<options>
 -o: overwrite the archive if it already exists instead of failing
 -v: verbose mode (can be used several times to increase the level of details)
 -d: debug mode (can be used several times to increase the level of details)
 -A: allow to save a filesystem which is mounted in read-write (live backup)
 -a: allow running savefs when partition mounted without the acl/xattr options
 -e <pattern>: exclude files and directories that match that pattern
 -L <label>: set the label of the archive (comment about the contents)
 -z <level>: compression level from 1 (very fast)  to  9 (very good) default=3
 -s <mbsize>: split the archive into several files of <mbsize> megabytes each
 -j <count>: create more than one compression thread. useful on multi-core cpu
 -c <password>: encrypt/decrypt data in archive, "-c -" for interactive password
 -h: show help and information about how to use fsarchiver with examples
 -V: show program version and exit
<information>
 * Support included for: lzo=yes, lzma=yes
 * support for ntfs filesystems is unstable: don't use it for production.
<examples>
 * save only one filesystem (/dev/sda1) to an archive:
   fsarchiver savefs /data/myarchive1.fsa /dev/sda1
 * save two filesystems (/dev/sda1 and /dev/sdb1) to an archive:
   fsarchiver savefs /data/myarchive2.fsa /dev/sda1 /dev/sdb1
 * restore the first filesystem from an archive (first = number 0):s
   fsarchiver restfs /data/myarchive2.fsa id=0,dest=/dev/sda1
 * restore the second filesystem from an archive (second = number 1):
   fsarchiver restfs /data/myarchive2.fsa id=1,dest=/dev/sdb1
 * restore two filesystems from an archive (number 0 and 1):
   fsarchiver restfs /data/arch2.fsa id=0,dest=/dev/sda1 id=1,dest=/dev/sdb1
 * restore a filesystem from an archive and convert it to reiserfs:
   fsarchiver restfs /data/myarchive1.fsa id=0,dest=/dev/sda1,mkfs=reiserfs
 * save the contents of /usr/src/linux to an archive (similar to tar):
   fsarchiver savedir /data/linux-sources.fsa /usr/src/linux
 * save a filesystem (/dev/sda1) to an archive split into volumes of 680MB:
   fsarchiver savefs -s 680 /data/myarchive1.fsa /dev/sda1
 * save a filesystem and exclude all files/dirs called 'pagefile.*':
   fsarchiver savefs /data/myarchive.fsa /dev/sda1 --exclude='pagefile.*'
 * generic exclude for 'share' such as '/usr/share' and '/usr/local/share':
   fsarchiver savefs /data/myarchive.fsa --exclude=share
 * absolute exclude valid for '/usr/share' but not for '/usr/local/share':
   fsarchiver savefs /data/myarchive.fsa --exclude=/usr/share
 * save a filesystem (/dev/sda1) to an encrypted archive:
   fsarchiver savefs -c mypassword /data/myarchive1.fsa /dev/sda1
 * Same as before but prompt for password in the terminal:
   fsarchiver savefs -c - /data/myarchive1.fsa /dev/sda1
 * extract an archive made of simple files to /tmp/extract:
   fsarchiver restdir /data/linux-sources.fsa /tmp/extract
 * show information about an archive and its file systems:
   fsarchiver archinfo /data/myarchive2.fsa

Partimage

partimage er et ældre backup program, der er udviklet af samme som har udviklet fsarchiver. Der er nogle væsentlige forskelle mellem partimage og fsarchiver:

Ulemper
  • Det understøtter ikke ext4/btrfs - hvilket udelukker Linux distributioner
  • Kopiering af data sker på sector niveau - ikke filniveau
  • Man kan ikke indstille antallet af anvendte CPU'er
  • Man kan ikke anvende moderne og mere effektive komprimeringsalgoritmer
  • Der sker ingen defragmentering under gendannelse
  • Modtagerdisken skal have samme filsystem og være formateret forud.
Fordele
  • Det er meget hurtigt, da det nærmest "streamer" filerne ind i imaget ... og tilbage på disken. Det giver optimal udnyttelse af disk-cache
  • Simpel gendannelse. Hver fil indeholder en partitioner
  • God og hurtig til at spejle diske - når vi snakker NTFS

partimage kan anbefales til folk der kun arbejder med NTFS, men det reelt forældet til alle moderne Linux-distributioner, da de kører som standard kører ext4. partimage kan køres både som kommandolinie og som GUI. og begge metoder vil blive gennemgået herunder.

partimage som kommandolinie

Herunder er angivet et eksempelhvor der tages backup af et windows systemdrev:

partimage -f3 -d -b -V20480 save /dev/sda2 /mnt/backup/win7_system
partimage Selve programmet
-f3 Afslutter partimage efter at programmet har kørt
-d Programmet spørger ikke om en beskrivelse af filen
-b Får kommandoen til at køre i batch-mode dvs. uden GUI
-V20480 Images deles ved 20480 MB (20 GB)
save Gemmer partitionen
/dev/sda2 Partitionen der skal tages backup af
/mnt/backup/win7_system Placeringen af backupfilen. Filen kommer til at hedde win7_inst.000, og hvis den bliver splittet vil den næste hedde 001, 002 osv.

Et overblik

Kommandoerne er bygget op over samme algoritme der følger programnavnet:

partimage [Optioner] [Kommando] [partition] [Image-fil] [Optioner]

... konfigurerer måden partimage skal arbejde på:

-z0/1/2 Angiver kompressions metoden. 0 = ingen, 1 = gzip, 2 = bzip2
-o Overskriv eksisterende image uden det skal godkendes
-d Beder ikke om en beskrivelse af imagefilen. Kræver at man navngiver imaget fornuftigt f.eks: w8_nyinst_230815
-VX Splitter imaget i filer af XMB
-f0/1/2/3 Hvad partimage skal gøre når det er færdigt (0 = vent, 1 = Sluk computeren, 2 = Reboot, 3 = afslut).
-b Kør i batchmode - inge GUI
[Kommando]

... beskriver hvad programmet skal:

save Gem filsystem
restore Gendan filsystem
imginfo Vis information om arkivet
restmbr Giver mulighed for at gendanne MBR (Master Boot Record ud fra en imagefil.
--help Giver en udskrift af anvendelsen af programmet (se senere)

Der vil komme eksempler på hvordan kommandoerne anvendes, men herunder vil jeg vise output af imginfo

partimage imginfo /mnt/backup/win7_system.000
[partition]

... angiver hvilke partitioner der skal pakkes.

[Image-fil]

... angiver backupfilen

Ønsker du at få et fuldt overblik over mulighederne i programmet anvendes:

partimage --help
===============================================================================
Partition Image (http://www.partimage.org/) version 0.6.9 [stable]
---- distributed under the GPL 2 license (GNU General Public License) ----

Supported file systems: Ext2/3, ReiserFS, FAT16/32, HPFS, JFS, XFS,
                        UFS(beta), HFS(beta), NTFS(experimental)

usage: partimage [options] <action> <device> <image_file>
       partimage <imginfo/restmbr> <image_file>

ex: partimage -z1 -o -d save /dev/hda12 /mnt/backup/redhat-6.2.partimg.gz
ex: partimage restore /dev/hda13 /mnt/backup/suse-6.4.partimg
ex: partimage restmbr /mnt/backup/debian-potato-2.2.partimg.bz2
ex: partimage -z1 -om save /dev/hda9 /mnt/backup/win95-osr2.partimg.gz
ex: partimage imginfo /mnt/backup/debian-potato-2.2.partimg.bz2
ex: partimage -a/dev/hda6#/mnt/partimg#vfat -V1440 save /dev/hda12 /mnt/partimg/redhat-6.2.partimg.gz

Arguments:
* <action>:
  - save: save the partition datas in an image file
  - restore: restore the partition from an image file
  - restmbr: restore a MBR of the image file to an hard disk
  - imginfo: show informations about the image file
* <device>: partition to save/restore (example: /dev/hda1)
* <image_file>: file where data will be read/written. Can be very big.
                For restore, <image_file> can have the value 'stdin'. This allows
                for providing image files through a pipe.

Options:
* -z,  --compress      (image file compression level):
  -z0, --compress=0    don't compress: very fast but very big image file
  -z1, --compress=1    compress using gzip: fast and small image file (default)
  -z2, --compress=2    compress using bzip2: very slow and very small image file:
* -c,  --nocheck       don't check the partition before saving
* -o,  --overwrite     overwrite the existing image file without confirmation
* -d,  --nodesc        don't ask any description for the image file
* -V,  --volume        (split image into multiple volumes files)
  -VX, --volume=X      create volumes with a size of X MiB
* -w,  --waitvol       wait for a confirmation after each volume change
* -e,  --erase         erase empty blocks on restore with zero bytes
* -m,  --allowmnt      don't fail if the partition is mounted. Dangerous!
* -M,  --nombr         don't create a backup of the MBR (Mast Boot Record) in the image file
* -h,  --help          show help
* -v,  --version       show version
* -i,  --compilinfo    show compilation options used
* -f,  --finish        (action to do if finished successfully):
  -f0, --finish=0      wait: don't make anything
  -f1, --finish=1      halt: power off the computer
  -f2, --finish=2      reboot: restart the computer
  -f3, --finish=3      quit
* -b,  --batch         batch mode: the GUI won't wait for an user action
* -BX, --fully-batch=X batch mode without GUI, X is a challenge response string
* -y,  --nosync        don't synchronize the disks at the end of the operation. Dangerous!
* -sX, --server=X      give partimaged server's ip address
* -pX, --port=X        give partimaged server's listening port
* -g,  --debug=X       set the debug level to X (default: 1)
* -L,  --nologin       disable login in network mode
* -n,  --nossl         disable SSL in network mode
* -S,  --simulate      simulation of restoration mode
* -aX, --automnt=X     automatic mount with X options. Read the doc for more details
* -UX  --username=X    username to authenticate to server
* -PX  --password=X    password for authentication of user to server
===============================================================================

Eksempler

partimage -f3 -d -b -V20480 save /dev/sda2 /mnt/backup/win7_system
-f3 Afslutter partimage efter at programmet har kørt
-d Programmet spørger ikke om en beskrivelse af filen
-b Får kommandoen til at køre i batch-mode dvs. uden GUI
-V20480 Images deles ved 20480 MB (20 GB)
save Gemmer partitionen
/dev/sda2 Partitionen der skal tages backup af
/mnt/backup/win7_system Placeringen af backupfilen.
partimage -b -S restore /dev/sda2 /mnt/backup/win7_system.000
-b Får kommandoen til at køre i batch-mode dvs. uden GUI
-S Får Programmet til at simulere en skrivning på harddisken, hvor den tjekker om der er fejl i pakningen.
restore Gemmer partitionen (simuleret)
/dev/sda2 Partitionen der skal gendannes på
/mnt/backup/win7_system Placeringen af backupfilen.
partimage -b -f3 restore /dev/sda2 /mnt/backup/win7_system.000

Som ovenfor - dog uden -S (simulate).

Partimage som GUI

partimage kan også anvendes ved hjælp af en GUI, hvor man har et fuldt overblik over mulighederne i programmet. I eksemplet herunder bliver der taget backup af /dev/sda2 til filen /mn/backup/win7_system. GUI processen er dog langt mere omstændig end kommandolinien, men kan være mere overskuelig.

Man navigerer rundt i programmet ved hjælp af piletaster, [Tab] og aktiverer sine valg med [Mellemrum]. For at gå videre i programmet anvendes [F5]. I det første skærmbillede konfigureres selve drevene.

  • Partitonen der skal gemmes/gendannes
  • Imagefilens navn
  • Hvad der skal gøres (save, restore, restore MBR)

Hvis drevet der skal tages backup af er monteret får man en advarsel.

Her konfigureres:

  • Pakkeformatet (none, Gzip, Bzip2)
  • Optioner
  • Størrelsen af arkivfilerne
  • Hvordan programmet skal afsluttes

Beskrivelse af imagefilen.

Advarsel om at NTFS understøttelse er Experimentel. Det skyldes at NTFS er proporitær software, hvilket gør at man ikke kender koden i detaljer, kukn hvad man har kunnet eksperimentere sig til. Jeg har aldrig oplevet fejl.

Filen pakkes.

dd

Det kan også lade sig gøre at tage backup og klone diske uden "smarte" programmer. Til det formål anvendes dd.

dd if=[kilde] of=[Mål] [Options]

dd kan anvendes til:

  • ISO (dump med filsystem)
  • IMG (raw dump)
  • Harddiske (USB/HD) - f.eks: /dev/sda
  • Partitioner - f.eks: /dev/sda1
[Options]

dd er som standard sat op til at fungere meget konservativt, hvilket vil sige at den ikke udnytter moderne computeres hardware. Herunder er et eksempel på en kommando hvor /dev/sda1 bliver klonet til /dev/sdb1:

sudo dd if=/dev/sda1 of=/dev/sdb1 bs=64K conv=noerror,sync status=progress
if=/dev/sda1 Input er første partition på harddisk 1
of=/dev/sdb1 Output er første partition på harddisk 2
bs=64k Læs og overfør 64 kB ad gangen. (læs mere nedenfor)
conv=noerror,sync noerror,sync - sørger for at data bliver korrekt overført
status=progress Viser dd's fremgang

angåenden bs=64k. Som standard er dd sat til at læse 512 b (½ kb). Det skyldes at programmet er designet til at være bagudkompatibel. Hvis harddisken er uden fejl kan vi roligt sætte størrelsen til 64 kb eller 128 kb. Det kan mere end fordoble hastigheden på kopieringen.

Eksempler

Lav en iso-fil af en CD-ROM der ligger i /dev/sr0:

sudo dd if=/dev/sr0 of=~/min_cd.iso

Lav en backup af /dev/sda i filen ~/hd_sda_backup:

sudo dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > *monteringssti*/hd_sda_backup

Læs mere: https://wiki.archlinux.org/index.php/disk_cloning

Læs mere: http://manpages.ubuntu.com/manpages/xenial/man1/dd.1.html