Festplattenimage // gzip

Highzewrg

Highzewrg

Grünschnabel
Hallo,

Ich bin absoluter Neuling auf dem Gebiet. Ich benötige die Lösung der Aufgabe für meine Arbeit, habe aber leider keine Ahnung davon. Weswegen der nachfolgende Text auch etwas holpprig wirken könnte.

Zur Erklärung: Ich habe eine 36722MB große Festplatte und darauf installiert ist UNIX 10.2. Ich möchte ein Image von der gesammten Festplatte erstellen. Ich denke ich gehe richtig in der Annahme, dass ich für das Image ein externes Speichermedium benötige, dass mindestens die gleiche Speicherkapaziät besitzt, wie meine Festplatte.

Hierzu steht nur ein DDS Magnetband zur Verfügung. Die gibt es zwar schon in den gesuchten Größen, aber das Laufwerk ist dementsprechend alt, dass ich nur Magnetbänder bis zu einer Größe von 8GB verwenden kann, 1/4 der benötigen Größe also.

Jetzt zu meinen Fragen:

1. Gibt es eine Möglichkeit, das Image auf mehrere Magnetbänder zu spielen? So, dass man es später wieder einspielen kann.


2. Als Option ist mir noch die Funktion gzip über den Weg gelaufen. Hierbei stellt sich die Frage.
2.1.Inwieweit komprimiert gzip das Image? (auf welchen Anteil der ursprünglich verwendeten Speicherkapazität)
2.2.oder bedeutet die Pipe-Funktion etwa, dass Befehle hintereinander ausgeführt werden und ich doch wieder die 36722MB Speicherplatz benötige?
Bsp.: dd if=/hdd |gzip --best >speichername.gz


3. Ist die Anweisung
dd if=/..hdd of=/..dds prinzipiell richtig?

Die Suchfunktion habe ich schon verwendet und nicht das gefunden was ich suche. Bei google leider auch nicht.
Ich hoffe meine Fragen sind verständlich formuliert und ihr könnt Abhilfe schaffen.

Grüße

Hz
 
Hallo

Du kannst das Ganze per dd und gzip machen
oder
per gzp oder auch gzip2 und dann das Image jeweils bei 8GB splitten
oder
du benutzt amanda, das afaik genau für tapes entwickelt wurde, aber mitelrweile auch normale images auf hdd sichern kann.

mfg
schwedenmann
 
vielen Dank für die schnelle Antwort.

Kannst du mir die Anweistung sagen, wie ich es splitten kann?
 
Der Artikel sagt mir, wie ich eine Datei splitte, aber um die Datei splitten zu können benötige ich sie erstmal. Oder hab ich das falsch verstanden?

Mein Problem liegt darin, dass ich keinen Speicherplatz für die gesammte Datei haben und es parallel zum image erstellen aufteilen will bzw. ich will während ich das image erstelle das Magnetband wechseln, damit er beim zweiten Magnetband weitermacht.

Besteht vlt auch die Möglichkeit nur von dem geschriebenen Teil ein Image zu erstellen?
 
Also eigentlich ist tar (Kurzform für tape archive) genau für diesen Zweck entwickelt worden. Man braucht auch keine Split-Anweisung oder ähnliches. Wenn du diese Sicherung nur einmal machen musst, dann sollte ein einfaches tar ausreichen. Für häufigere Sicherungen kannst du dann später bacula oder amanda nutzen. Lies dir bitte die manpage von tar einmal durch, das Tool kann alles, was du brauchst. Wenn du dann noch Fragen hast, melde dich nochmal.
 
Du kannst erstmal mit dem Programm 'df' bzw. 'df -h' nachschauen, wieviel Deiner Platte ueberhaupt belegt ist. Wenn noch etwa die Haelfte frei ist, koenntest Du das Programm 'partimage' benutzen, um ein Abbild der Platte zu erstellen. Partimage kann die Daten komprimieren, so dass Du es u.U. sogar benutzen kannst, wenn mehr als die Haelfte Deiner Platte belegt ist.
Die Option, die Du fuer 'tar' suchst, ist '-M': Wenn das Band voll ist, wartet tar, bis ein neues eingelegt ist. Allerdings habe ich nicht rausgefunden, wie tar von stdin einlesen koennte, und das brauchst Du m.E., um zum Beispiel die Ausgaben von dd an tar weiterzuleiten.

Versuche es daher doch erstmal mit partimage (welches uebrigens auch uebers Netzwerk funktioniert, vielleicht hilft ja auch das weiter).
 
Die Frage ist, ob es wirklich sinnvoll ist, ein 1:1 Image zu erstellen. Tar ist eigentlich klüger, weils eben nur den belegten Platz kopiert, das Partitionslayout kann man ja wieder neu aufbauen, Wenns wirklich 1:1 sein soll, dann ists was anderes. Insofern ist mein Post eben nicht wirklich lösungsbezogen gewesen..
 
Ich benötige leider ein 1:1 Image.

Aber tar erstellt gar keine Images oder? Das partimage werde ich mir jetzt nochmal angucken, ist vlt ne Notlösung. Im Endeffekt soll ein Imagedatei erstellt werden.
 
Tar macht keine Images. Tar ist zum Backup gedacht, und man sichert ja Dateien und nicht Sektoren. Die ganze Image-Geschichte ist erst viel später populär geworden. Du kannst mit dd arbeiten. Mit den Parametern bs count und skip kannst du 8GB grosse Blöcke deiner Platte aufs Band schreiben.
 
dd if=/hdd of=/tape/hdd.img bs=8G count=4

Das hätte ich jetzt als Befehl geschrieben.
Aber die Verwendung von skip ist mir nicht ganz sinnig, wenn ich möglichst alles kopieren will. Bekomme ich dann immer eine Meldung, wenn ein Block fertig gestellt wurde?

Oder soll ich sozusagen 4 verschiedene Anweisungen verwenden und beim ersten kein Block überspringen, beim zweiten den ersten Block überspringen usw.?
edit: Bedingung wäre dafür ja, dass vorher Blöcke erstellt werden und dd immer beim gleichen byte anfängt.
 
Zuletzt bearbeitet:
Letzteres:
Code:
dd if=/dev/hdd of=/dev/tape bs=8G count=1 skip=0
dd if=/dev/hdd of=/dev/tape bs=8G count=1 skip=1
dd if=/dev/hdd of=/dev/tape bs=8G count=1 skip=2
dd if=/dev/hdd of=/dev/tape bs=8G count=1 skip=3
Zu beachten: Es gibt nicht /tape/datei. Das Tape-Laufwerk ist kein Dateisystem, dass man mounten kann. Man schreibt einfach sequentiell in das Device rein. So wie echo "test" > /dev/st0
Auf einem Bandlaufwerk gibt es keine Dateien. Daher ja auch die Notwendigkeit für tar, wenn man Dateien dadrauf ablegen will. Das Problem bei dem Image ist dann auch, dass du Schreibfehler nicht bemerkst. Warum muss es denn ein Image sein?
Das Zurückspielen geht dann übrigens analog zu oben. Auch nicht gerade einfach und recht fehleranfällig,.

EDIT: Zurückspulen des Bandes nicht vergessen!
 
Vielen Dank. Das ist das was ich gesucht habe.

Ich merk mir das mit der tar file. Mein Chef will wissen, wie das mit Images geht und ich habe im Internet keine detaillierten Angaben gefunden. Ich werde morgen den Thread mal zusammenfassen und hier als letzte Antwort reinstellen.

Danke. Das mit dem fehleranfällig merk ich mir =)
 
Man sollte dazu folgendes anmerken: Images haben eigentlich nur einen Vorteil, sie repräsentieren eine bit-genaue Kopie der Festplatte. Damit sind sie prädestiniert für Zwecke wie z.B. Forensik. Für ein backup ist aus meiner Sicht, der dateibasierte Ansatz günstiger denn:
1. Backup und Restore sind schneller, denn nur belegter Speicher wird gesichert
2. Der Platzverbrauch ist geringer
3. Inkrementelle Backups sind möglich
4. Bei Linux ist nach dem Zurückspielen eine Installation des Boot-Loaders nötig und ggf. eine Anpassung der fstab, dann ist das System wieder da. Das kann man in der Zeit erledigen, die man einspart durch den nicht belegten Plattenplatz, der nicht gesichert wurde.
5. Ein tar-Archiv des kompletten Systems kann auf eine komplett andere Partitionierung zurückgespielt werden (vorher einfach die entsprechenden Partitionen mounten.

Ein Nachteil ist, dass ein etwas höheres Know-How benötigt wird. Man muss den Rechner von CD starten, die Partitionen anlegen, mounten und dann befüllen. Außerdem muss man darauf achten, z.B. /proc nicht mitzusichern. Wenn du irgendwann mal so eine Sicherung machen willst, empfehle ich http://en.gentoo-wiki.com/wiki/Custom_Stage4 das Howto bezieht sich zwar auf Gentoo, ist aber was die schritte des tars angeht allgemeingültig und erläutert, welche Nacharbeiten nötig sind.

EDIT: Nicht alle Schritte sollte man für eine Sicherung machen, das Löschen des ssh_host_key zum Beispiel ist nur für ein Image, dass man auf vielen Rechnern installieren will nötig.
 
Noch eine Anmerkung von meiner Seite:
Ich hatte jetzt noch erfahren, dass es sinnvoll ist die Blocksize eher klein im Mbit Bereich zu wählen und den count so zu erhöhen, dass es die speicherkapazität des Mediums füllt.

Die Blocksize angepasst am Arbeitsspeicher.
 
Klingt klug, dann musst du natürlich count und skip entsprechend anpassen
 
Hallo,

Danke nochmal für eure Hilfe. Ich fasse den Thread abschließend nochmal zusammen.

Thema:
Festplattenimage gesplittet erstellen

Lösung:
Der Befehl dafür:
dd if=/dev/hdd of=/dev/tape bs=512M count=4 skip=0

bs: Blocksize, sollte dem Arbeitsspeicher angepasst gewählt werden. Im Mbit-Bereich
count: Bestimmt wieviele Blöcke beschrieben werden
skip: Überspringt Blöcke

"count * skip" sollte die gewünschte Größe der Partition ergeben.

Bei der Anweisung werden also 4 Blöcke im ersten schritt kopiert und da man von der gesamten Festplatte ein Image erstellen will,
wird skip = 0 gesetzt, damit am Anfang gestartet wird. In dem Beispiel werden 2GB als Partition genommen.

Die Anweisung dd folgt dabei immer einer festen Reihenfolge, so dass man mit der Anweisungfolge

dd if=/dev/hdd of=/dev/tape bs=512M count=4 skip=4

ein Image eines anderen Festplattenteils erstellen kann. Bei dem Befehl skip = 4 werden genau die vorher kopierten Blöcke übersprungen.

Beim dritten Teil müsste skip = 8 gesetzt werden.



Fazit:
Bei der Anweisung ist es möglich, ein partitioniertes Festplattenimage zu erstellen, es ist jedoch ein fehleranfälliges Verfahren.
Ein Backup mit -tar zu erstellen ist hierbei empfehlenswerter.


3 Antworten vorher steht eine subjektive Meinung zum Praxiseinsatz von Images =)
 

Ähnliche Themen

Einfache Methode für ein Backup gesucht

iscsi-target als sparse-file?

dd + Partitionierung + Vorbereitung

Brennen funktioniert nicht

RedHat 4 (Lineox 4) in VMware mit BusLogic Treiber

Zurück
Oben