Ubuntu: dd clone Verfahren

chew

Cadet 4th Year
Registriert
Okt. 2008
Beiträge
103
Hallo,

ich hab meine Ubuntu 8.10 live cd geladen um eine Festplatte meine Raid Verbundes die einenen Smart Fehler laut Raid Boot Rom aufweisst.

Ich habe eine baugleiche Festplatte und habe mit folgendem command in der sys shell den kopier Vorgang gestartet.

Code:
sudo dd if=/dev/sdb of=/dev/sda conv=sync,noerror

Ich bin absoluter Linux anfänger. Die Festplattenbezeichnung habe ich über Gparted herausgefunden. Der Cursor ist nach Enter in die nächste Zeile gerutscht und blinkt nun. Der Vorgang wen er hoffentlich läuft , läuft seid gestern abend 23UHR.

Hab ich soweit alles richtig gemacht?

Beste Grüße,

chew
 
Ja, sieht gut aus. Und falls du die beiden Festplatten verwechselt hast ist es jetzt schon egal da die Daten schon weg wären. Das kann bei defekten Festplatten auch durchaus einige Stunden dauern.
 
chew schrieb:
um eine Festplatte meine Raid Verbundes
...habe ich da was überlesen, oder hättest du nicht eher ein Rebuild anstossen sollen?!?

Es gibt übrigens in einigen Fällen sinnvolleres als dd um defekte Platten auszulesen. Beispielsweise dd_rescue...
 
hel!doc schrieb:
...habe ich da was überlesen, oder hättest du nicht eher ein Rebuild anstossen sollen?!?

Es gibt übrigens in einigen Fällen sinnvolleres als dd um defekte Platten auszulesen. Beispielsweise dd_rescue...

Rebuild nicht möglich da es nen Matrix Raid ist und somit min der raid0 weg ist. DDrescue ist bei ubuntu nicht mit dabei, leider. Es war auch nicht per download zu installieren und ne cd mit der ubuntulive cd kann ich auch nicht brennen weil ich die cd nicht auswerfen kann. Ausserdem macht ddrescue nicht soviel aus, swoeit ich das beim letzen mal mitbekommen habe.
 
dd_rescue liest zunächst grosse Blöcke, tritt ein Fehler auf werden kleine Blöcke gelesen. Somit werden nur Fehlerhafte stellen auch langsam gelesen, nicht fehlerhafte schnell. Wenn lange keine Fehler auftreten, geht dd_rescue wieder dazu über, grosse Blöcke zu lesen.

Bei dd kann man nur entweder alles langsam oder alles mit grossen Blöcken, also schnell. Im Fehlerfall ist aber der gesammte grosse Block fehlerhaft. dd_rescue ist in solchen Fällen also deutlich schneller, bzw. zuverlässiger als dd, je nach Einstellung.

dd_rescue kannst du auch zB mittels dd_rhelp noch optimieren, oder besser gleich GNU ddrescue nutzen. Das liest zunächst alles was nicht defekt ist als grosse Blöcke aus, um sich anschliessend um die fehlerhaften Stellen mit kleinen Blöcken zu kümmern. Somit werden noch nicht defekte Stellen nicht unnötig lange belastet.

Wenn du per Option eine Logdatei angibst, kannst du Gnu ddrescue auch jederzeit unterbrechen, ohne wieder ganz von vorne anfangen zu müssen.

Sowohl ddrescue, als auch gddrescue sind in den Ubuntu-Repos [universe]. Du solltest also ganz bequem zB per apt-get nachinstallieren können.
 
Code:
ps -A | grep dd
Gibt die PID des prozesses aus

Code:
sudo kill -USR1 (PID)
und mit kill in einem 2. terminal kann mann dan den status im 1. Terminal sehen.

Und bullshit mit str+z,bg stoppt man den prozess und schiebt ihn nicht in den hintergrund. So wie hier formuliert adminfaq hahahhaa

Hab den Prozess jetzt neugestartet und er schreibt mit 19,9MB/s was bedeutet das beim ersten Durchlauf was nicht gestimmt hat. Nach 8h und 19,9MB/s müsste das kopieren längst fertig sein?
 
Zuletzt bearbeitet:
genau das mit dem apt get install shice hab ich gefunden und probiert, schon gestern abend.
Code:
sudo apt-get install ddrescue
oder
Code:
sudo apt-get install gddrescue

Keine chance immer kommt am ende "konnte paket **** nicht finden" CRAP

auch

Code:
sudo apt-get install udo
um die universe componente zu aktivieren funktioniert nicht, gleicher fehler

Wie lautet den der genaue befehl um ddrescue nachzuinstallieren wen man eine ubuntu live cd benutzt ?
Ergänzung ()

und wie gibt man "str+z,bg" gleichzeitig ein ?

Sorry aber linux und ich ....

Und für die ganz großen linux anfänger wie mich: Welche sinn hat es einen laufenden prozess erst stoppen zu müssen damit man ihn in den hintergrund schieben kann um weiter aktionen bezüglich diese prozesses ausführen zu können ?
 
Zuletzt bearbeitet:
chew schrieb:
Wie lautet den der genaue befehl um ddrescue nachzuinstallieren wen man eine ubuntu live cd benutzt ?
Das mit sudo apt-get install programmname stimmt schon. Allerdings brauchst du einen funktionierenden Internetzugang und in der sources.list muss das entsprechende Repo eingetragen sein. Ob die bei der LiveCD von Ubuntu eingetragen sind, weiss ich nicht. Du kannst ja hier mal die sources.list posten, dann sieht man es
Code:
 cat /etc/apt/sources.list

chew schrieb:
und wie gibt man "str+z,bg" gleichzeitig ein ?
Mit viel Geschick. Allerdings ist es so gedacht, dass du zunächst den Prozess mit STRG+z anhälst, um ihn anschliessend durch Eingabe von bg in den Hintergrund zu schieben... mit fg holst du ihn dann wieder in den Vordergrund.
 
Zuletzt bearbeitet:
ja wie jetzt hab ich den prozess jetzt mit strg+z gestoppt oder angehalten ?

Oh man laut ps -A | grep dd hab ich jetzt 2 dd threads. Was mach ich den nun....

Inhalt sources.list
Code:
deb cdrom:[Ubuntu 8.10 _Intrepid Ibex_ - Release i386 (20081029.5)]/ intrepid main restricted
deb http://archive.ubuntu.com/ubuntu intrepid main restricted
deb-src http://archive.ubuntu.com/ubuntu intrepid main restricted

deb http://security.ubuntu.com/ubuntu intrepid-security main restricted
deb-src http://security.ubuntu.com/ubuntu intrepid-security main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu intrepid-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu intrepid-updates main restricted

## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
# deb http://archive.ubuntu.com/ubuntu intrepid universe
# deb-src http://archive.ubuntu.com/ubuntu intrepid universe
# deb http://archive.ubuntu.com/ubuntu intrepid-updates universe
# deb-src http://archive.ubuntu.com/ubuntu intrepid-updates universe
# deb http://security.ubuntu.com/ubuntu intrepid-security universe
# deb-src http://security.ubuntu.com/ubuntu intrepid-security universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
# deb http://archive.ubuntu.com/ubuntu intrepid multiverse
# deb-src http://archive.ubuntu.com/ubuntu intrepid multiverse
# deb http://archive.ubuntu.com/ubuntu intrepid-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu intrepid-updates multiverse
# deb http://security.ubuntu.com/ubuntu intrepid-security multiverse
# deb-src http://security.ubuntu.com/ubuntu intrepid-security multiverse

uncomment the following two lines. Mit uncomment ist gemeint die raute wegzunehmen ?
 
Zuletzt bearbeitet:
chew schrieb:
ja wie jetzt hab ich den prozess jetzt mit strg+z gestoppt oder angehalten ?
strg+z entspricht sozusagen der Pausetaste, strg+c ist die Stop-Taste...


chew schrieb:
Oh man laut ps -A | grep dd hab ich jetzt 2 dd threads. Was mach ich den nun....
Den nicht mehr benötigten mittels kill über den Jordan schicken?
 
Zuletzt bearbeitet:
ok dank dir schon mal sehr. Das hat mich weitergebracht. Jetzt kommt erstma google... :)
 
Code:
ubuntu@ubuntu:~$ jobs
[1]-  Stopped                 sudo dd if=/dev/sdb of=/dev/sda conv=sync,noerror
[2]+  Stopped                 sudo dd if=/dev/sdb of=/dev/sda conv=sync,noerror

So sieht das jetzt grad bei mir aus.

Was bedeutet das + bzw das - nach der Zahl ? Die ubuntu wiki suche findet keinen eintrag zum command jobs bzw ich weis nciht wie ich die suche weiter spezifizieren soll.

Wie finde ich heraus was die Zeitanzeige nach dem command "ps -A | grep dd
" aussagt ? Die Prozesslaufzeit kann es nicht sein da der Prozess länger als 2,5 stunden lief und nach mehr als 8h heute früh der cursor immer noch in der nächsten zeile blinkte (ohne "ubuntu@ubuntu:~$" davor)

Code:
ubuntu@ubuntu:~$ ps -A | grep dd
    2 ?        00:00:00 kthreadd
 7370 ?        00:00:00 dd
 7644 ?        00:00:00 hald-addon-inpu
 7649 ?        00:00:00 hald-addon-cpuf
 7650 ?        00:00:00 hald-addon-acpi
 7651 ?        00:00:01 hald-addon-stor
 7685 ?        00:00:05 hald-addon-stor
 7726 ?        00:00:00 btaddconn
 9532 pts/0    02:37:56 dd
18521 ?        00:00:00 hald-addon-stor
18529 ?        00:00:00 hald-addon-stor
20649 pts/0    00:12:27 dd
Ergänzung ()

Der ursprüngliche kopiervorgang läuft wieder, 889GB nach 53888s (15h) und 16MB/s einer Samsung hd103 (1TB, 931GB).

Die sources.list zu ändern hatte kein erfolg auch nach "sudo apt-get update" (diverse 404 fehler) konnte ich gddrescue nicht installieren. Ich geh davon aus das es an ubuntu 8.1.0 liegt .
Ergänzung ()

ok jetzt wirds strange. Status von 1. 1tb(931GB) hd103 auf 2. 1tb hd103 clonen:

944GB kopiert, 56320s , 16,8MB/s das sind bereits 10GB isngesamt zuviel und die geschwindigkeit hat auch um 0,2MB/s zugelegt.

äähhhh ???
Ergänzung ()

ne häää

ich glaub die Byte in gigabyte umrechnung der DD status anszeige kommt durch 1000byte =1KB zustande.
 
Zuletzt bearbeitet:
chew schrieb:
Was bedeutet das + bzw das - nach der Zahl ?
+ zuletzt gestarteter Job
- vorletzter gestarteter Job




chew schrieb:
Ich geh davon aus das es an ubuntu 8.1.0 liegt .
Möglich - du könntest es auch zB per wget herunterladen und mit dpkg installieren. Allerdings ist es wohl dann sinnvoller, gleich auf eine sinnvollere RettungsLiveCD umzusteigen. Beispielsweise Parted Magic[1] hat auch ddrescue und weitere dd-Varianten mit dabei. Ich selbst nutze für solche Dinge meist grml[2].



[1] http://partedmagic.com/
[2] http://grml.org
 
Dank euch für den support. Das clonen ist jetzt fertig. Hat bei 1TB schlappe 16h und 45minuten gedauert. Schon arg viel. Da muss es doch schnellere und bessere möglichkeiten geben.

grml.org ist ja nice. Feature: - geeky community . :D
 
Ja es gibt schnellere Möglichkeiten: `dd if=… of=… bs=10m` und er kopiert dir 10MB-Blöcke, was _wesentlich_ _wesentlich_ _wesentlich_ schneller geht als die ganze Platte Block für Block zu kopieren. Da brauchst du dich echt nicht zu wundern dass das für 1TB so Ewigkeiten braucht.
 
Zurück
Oben