CF-Karten 1:1 Kopie

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 10:49:19

Hallo liebes Forum,

ich versuche auf einem Laufenden Debian System eine 1:1 Boot fähige Kopie des kompletten Systems zu erstellen.

Mit

Code: Alles auswählen

dd if=/dev/sda of=/mnt/nas/svxlink/sdb
bzw.

Code: Alles auswählen

pv -cN "sda" /dev/sda > /mnt/nas/svxlink/SVXLINK_CFkarte_VollSicherung-`date -I`.img
bekomme ich ja bereits Backups erstellt. Allerdings kann ich diese nicht testen da ich im moment keine entsprechende 2 CF-Karte zur hand habe.

Jetzt meine Frage.
Da das Backup von einem laufenden (im Betrib) System erstellt werden soll kann ich da eine dieser eingaben nutzen, oder muss ich das laufende System runterfahren CF-Karte entnehmen und via z.B Live CD ein Backup der Org. CF-Karte erstellen um danach ein Bootfähiges 1:1 Backup zu bekommen, welches ich nach belieben wieder auf eine X belibige CF-Karte mit gleicher Grösse zurück kopieren kann??

Mfg
faxe2110

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: CF-Karten 1:1 Kopie

Beitrag von smutbert » 21.02.2014 11:51:00

Schöner wäre es bestimmt das nicht im laufenden Betrieb zu machen, so schaut das Dateisystem auf dem Backup aus, wie nicht sauber geunmountet, was natürlich Probleme verursachen könnte.

Wenn du den Inhalt des Dateisystems mit cp, rsync oder irgendetwas anderem, das die Dateien kopiert und nicht ein Image anlegt sichern könntest und den Rest (MBR/Bootloader/..., UUID, Partitionstabelle,...) irgendwie anders in Sicherheit bringen könntest, wäre es einfacher:
Das meiste, das Debian im normalen laufenden Betrieb anlegt und verändert, befindet sich auf irgendwelchen virtuellen Dateisystemen oder in einem tmpfs, dh mountet man das /-Dateisystem noch einmal irgendwo hin, zb /mnt/root, kann man von dort recht bequem eine Sicherung machen. So erhält man einerseits ein Dateisystem in einem konsistenten Zustans und andererseits in den meisten Fällen (zB nicht während eines Updates) auch eine schöne Kopie des Systems.

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 12:10:47

Erstmal Danke für deine Antwort.
smutbert hat geschrieben:Schöner wäre es bestimmt das nicht im laufenden Betrieb zu machen, so schaut das Dateisystem auf dem Backup aus, wie nicht sauber geunmountet, was natürlich Probleme verursachen könnte.
Daraus schliesse ich das es vom Prinzip richtig ist wie ich es mache bzw. versuche.
Ich bin leider nicht der grosse Linux Experte versuche aber zu lernen und zu verstehen.
Was meinst du mit
so schaut das Dateisystem auf dem Backup aus, wie nicht sauber geunmountet
Das System läuft ja jetzt auch sauber ohne Probleme. Warum sollte es mit dem Backup Probleme machen??

Ich bin für Vorschläge gerne offen und würde auch gerne von meiner oben beschriebenen Metode abstand nehmen.
Allerdings müsste ich dann deine (eure) Hilfe in Anspruch nehmen da es warscheinlich über meine Fähigkeiten gehen würde was Linux angeht. :wink:
Für mich ist es eigentlich nur wichtig das ich irgendwie das laufende System, 1x die Woche Speichern kann ohne grossen Aufwand zu betreiben das ich jedesmal die CF-Karte entnehmen muss um dieses durchzuführen.
mountet man das /-Dateisystem noch einmal irgendwo hin, zb /mnt/root
Kann da auch mein NAS genutzt werden??

Mfg
faxe2110

Benutzeravatar
towo
Beiträge: 4408
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: CF-Karten 1:1 Kopie

Beitrag von towo » 21.02.2014 12:13:52

Das Problem ist halt, daß im laufenden Betrieb virtuelle Filesysteme existieren, die es in Wirklichkeit auf dem Datenträger aber gar nicht gibt.
Diese ballerst Du aber so mit ins Image und ob das eine gute Idee ist, wage ich zu bezweifeln.

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 12:39:26

Wie würde eine brauchbare Alternative aussehen.
z.B wie von smutbert beschrieben??
Würde dafür aber Hilfe benötigen oder vieleicht ein Script welches die Kopiervorgänge und die nötigen Auslagerungen für mich erledigt.
Würde die Möglichkeit bestehen das mir eventuell ein netter Forum User soetwas schreiben kann??

Ansonnsten bleibt mir wirklich nur einmal in der Woche die CF-Karte zu entnehmen und dann ein Backup zu erstellen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: CF-Karten 1:1 Kopie

Beitrag von smutbert » 21.02.2014 12:50:40

Beim erstellen eines Images sind die virtuellen Dateisysteme kein Problem (die sind ja zu keinem Zeitpunkt auf der Speicherkarte), da liegt die Schwierigkeit im gemounteten Dateisystem. Auf ein gemountetes Dateisystem erfolgen i.A. gelegentlich Schreibzugriffe und die Daten und Metadaten können nicht gleichzeitig geschrieben werden, also schreiben moderne Dateisysteme die Vorgänge zuerst in ein Protokoll, dann erst in die echten Daten und Metadaten (so ungefähr jedenfalls). Beim Erstellen eines Images mitten im Betrieb werden nicht zufällig gerade alle anfallenden Schreibvorgänge erfolgt sein, dh es steht z.B eine Änderung im Protokoll, die noch nicht abgeschlossen wurde. Dank des Protokolls kann eine solche teilweise erfolgte Änderung rückgängig gemacht oder gar vervollständigt (?) werden, es werden also höchstwahrscheinlich keine echten Probleme auftauchen.

Nachdem im Dateisystem aber üblicherweise das Mounten und Unmounten vermerkt wird, wirst du wahrscheinlich zumindest mit einer Meldung oder einem Dateisystemcheck nach dem ersten Boot nach dem Zurückspielen eines Images leben müssen, weil man dem Dateisystem auf dem Image ansieht, dass es nicht sauber geunmountet wurde.



Beim bloßen Kopieren des Dateisysteminhalts (also der Verzeichnisse und Dateien) dagegen, wären die virtuellen Dateisystem ein Problem, aber deshalb habe ich ja vorgeschlagen, das /-Dateisystem (und uU auch weitere zu sichernde Dateisysteme) einfach ein weiteres Mal woanders zu mounten und so die virtuellen Dateisysteme loszuwerden. Um temporäre Dateien oder dergleichen kann man sich falls notwendig noch einmal getrennt kümmern.

Mir ist aber kein einfacher (!) Weg bekannt, wie man mit dieser Methode zu einer bootfähigen Kopie kommt - Im Prinzip müsste man nach dem Kopieren beim Backup nur die UUIDs in der /etc/fstab anpassen und den Bootloader konfigurieren/neu installieren, aber letzteres ist von einem anderen laufenden System aus mitunter gar nicht so trivial.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: CF-Karten 1:1 Kopie

Beitrag von habakug » 21.02.2014 12:51:01

Hallo!

Du könntest dich mit Debianfsarchiver anfreunden [1], das kann auch Backups im laufenden Betrieb.

Gruss, habakug

[1] http://www.fsarchiver.org/Main_Page
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

DeletedUserReAsG

Re: CF-Karten 1:1 Kopie

Beitrag von DeletedUserReAsG » 21.02.2014 12:56:03

Das Problem ist halt, daß im laufenden Betrieb virtuelle Filesysteme existieren, die es in Wirklichkeit auf dem Datenträger aber gar nicht gibt.
Diese ballerst Du aber so mit ins Image und ob das eine gute Idee ist, wage ich zu bezweifeln.
dd kümmert sich eigentlich nicht darum, weil sie auf dem Gerät selbst halt nicht vorhanden sind.
Eine Alternative wäre, das System (ohne die schon genannten virtuellen FS) zu rsyncen und dann einmal am Tag inkrementell zu sichern. Hat den Vorteil, dass es im laufenden Betrieb funktioniert, und nur die Files neu gesichert werden, die sich auch wirklich geändert haben.
[…] und den Bootloader konfigurieren/neu installieren, aber letzteres ist von einem anderen laufenden System aus mitunter gar nicht so trivial.
Eigentlich ist’s in drei Schritten erledigt. proc/, dev/ bindmounten, chrooten, grub-install (sofern grub zum Einsatz kommt).

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 13:08:01

Uffffff jetzt gehts ins eingemachte. Meine Birne raucht schon :D

@habakug kann sein das ich was überlesen habe, aber auch hier ist wieder

Code: Alles auswählen

You can run this command from a livecd
Da ich aber via Terminal (Putty) auf mein Linux zugreife und der kein CD Laufwerk hat ist dies leider nicht möglich.

@niemand das hört sich interesannt an. Könntest du et etwas vertiefen? Wie muss ich das angehen mit dem rsyncen??
Die Daten sollen auf einen NAS gelagert werden.

faxe2110

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: CF-Karten 1:1 Kopie

Beitrag von habakug » 21.02.2014 13:16:19

Hallo!
You can run this command from a livecd
Das bezieht sich nur auf die Wiederherstellung, du kannst z.B SystemRescueCd auch vom USB-Stick starten, fsarchiver ist da enthalten.
Für den normalen Betrieb reicht ein

Code: Alles auswählen

# apt-get install fsarchiver
dann kannst du loslegen.

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 13:32:18

@habakug

Code: Alles auswählen

root@svxlink:~# fsarchiver savefs /mnt/nas/svxlink/svxlink_backup.fsa /dev/sda
oper_save.c#1032,filesystem_mount_partition(): cannot mount partition [/dev/sda]: filesystem may not be supported by either fsarchiver or the kernel.
removed /mnt/nas/svxlink/svxlink_backup.fsa
root@svxlink:~#

Code: Alles auswählen

root@svxlink:~# fsarchiver savefs /mnt/nas/svxlink/svxlink_backup.fsa /dev/sda1
oper_save.c#939,filesystem_mount_partition(): partition [/dev/sda1] is mounted read/write. please mount it read-only
and then try again. you can do "mount -o remount,ro /dev/sda1". you can
also run fsarchiver with option '-A' if you know what you are doing.
removed /mnt/nas/svxlink/svxlink_backup.fsa
root@svxlink:~#
das habe ich jetzt versucht auf dem System zu machen, von welchem ein Backup erstellt werden soll. Oder muss ich fsarchiver auf einen ext. system starten??

Mfg
faxe2110

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: CF-Karten 1:1 Kopie

Beitrag von habakug » 21.02.2014 13:39:13

Hallo!

Wenn du Dienste, wie z.B apache oder mysql stoppst, kannst du die Option "-A" verwenden.
If there is no risk of inconsistency, then you can use fsarchiver with option -A to continue the backup of a filesystem which is mounted in read-write mode.
Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 13:59:02

Jo jetzt macht er es. Welche Dienste MÜSSEN gestopt sein (empfohlen) für ein Backup?? Kann man diese durch einen Befehl abschalten oder muss ich nach jedem suchen und hoffen das ich nichts vergessen habe :roll: ??

Wenn ich jetzt das Backup wieder einspiele ist es dann eine 1:1 Kopie von meinem Laufenden System oder muss ich noch etwas beachten??

Mfg
faxe2110

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 20:38:56

Ich habe da noch mal eine frage.

Ich habe ein Skript gebaut welches in der Konsole gut läuft.
Jetzt wollte ich es von crontab ausführen lassen leider nur mit Teil Erfolg.

Crontab startet das Script, nur das Backup macht er nicht.

Könnte mir da vielleicht einer bei helfen??

Hier mal das absolute Anfänger Script

Code: Alles auswählen

#!/bin/sh

echo "SVXLINK STOP"
/etc/init.d/svxlink stop
echo "MYSQL STOP"
/etc/init.d/mysql stop
echo "APACHE2 STOP"
/etc/init.d/apache2 stop
echo "POSTFIX STOP"
/etc/init.d/postfix stop
echo "FSARCHIVER STARTET BACKUP"
fsarchiver -o -A savefs /mnt/nas/svxlink/svxlink_backup.fsa /dev/sda1
echo "POSTFIX START"
/etc/init.d/postfix start
echo "MYSQL START"
/etc/init.d/mysql start
echo "APACHE2 START"
/etc/init.d/apache2 start
echo "SVXLINK START"
/etc/init.d/svxlink start
:wink: bitte nicht zu laut lachen :D bin halt totaler Anfänger

MfG
faxe2110
Zuletzt geändert von faxe2110 am 21.02.2014 22:04:45, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: CF-Karten 1:1 Kopie

Beitrag von DeletedUserReAsG » 21.02.2014 21:20:57

Der Output sollte per Mail an root gegangen sein. Was auffällt: es fehlt der Pfad zu fsarchiver. Du solltest ihn angeben – entweder beim Aufruf den vollen Pfad hinschreiben, oder als Variable am Anfang des Scriptes.

Die

Code: Alles auswählen

-Tags eignen sich besser für solche Sachen in Beiträgen, als die [quote]-Tags, btw.

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 21.02.2014 22:06:19

Ok den muss ich mir erstmal suchen.
Aber warum funzt es wenn ich das Script so Aufrufe??

DeletedUserReAsG

Re: CF-Karten 1:1 Kopie

Beitrag von DeletedUserReAsG » 21.02.2014 23:34:28

Weil da die $PATH des aufrufenden Users existiert, in welcher der passende Pfad wohl drin ist.

Und wenn du eingeloggt bist, kannst du den vollständigen Pfad mit z.B. which fsarchiver anzeigen lassen.

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 22.02.2014 09:24:21

Super hat alles geklappt.
Das Script läuft jetzt selbst via crontab, es wurden keine Fehler ausgegeben, die Kopie liegt auf meinem NAS jetzt nur noch eine entsprechende CF-Karte besorgen und testen wie das mit dem zurückspielen geht.
Muss es eigentlich eine gleich große Karte sein oder kann es auch eine größere sein?

Wie ist das eigentlich. Ich habe ja 3 Partitionen auf der Karte aber nur eine gespeichert. Spiele ich da erst das Grundsystem rauf und mache danach das Backup drüber??


MfG
faxe2110

DeletedUserReAsG

Re: CF-Karten 1:1 Kopie

Beitrag von DeletedUserReAsG » 22.02.2014 09:32:00

Die neue Karte kann auch größer sein. Wie deine Partitionen aufgeteilt/eingehängt sind, weiß allerdings gerade keiner außer dir – deswegen ist es nicht möglich, dazu etwas zu sagen.

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 22.02.2014 09:42:00

Um nochmal auf die Partitionen zu kommen habe mal diese kopiert.

Code: Alles auswählen

fdisk -l

Disk /dev/sda: 4034 MB, 4034838528 bytes
255 heads, 63 sectors/track, 490 cylinders, total 7880544 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c9e74

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     7450623     3724288   83  Linux
/dev/sda2         7452670     7878655      212993    5  Extended
/dev/sda5         7452672     7878655      212992   82  Linux swap / Solaris
Ich habe eigentlich nur ein Norm. Debian System welches die Partitionen erstellt hat.
Ich selbst habe da keine Hand angelegt.

DANKE für eure Geduld mit mir :hail:

MfG
faxe2110
Zuletzt geändert von faxe2110 am 22.02.2014 09:51:14, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: CF-Karten 1:1 Kopie

Beitrag von DeletedUserReAsG » 22.02.2014 09:46:08

Demnach sind alle relevanten Daten auf sda1. Besser wäre allerdings die Ausgabe von mount gewesen.

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 22.02.2014 09:48:51

Ja das mag richtig sein. Was ich meinte war, wenn ich z.b eine neue Karte bekomme 8GB anstatt 4GB muss ch dann erst das Debian Grundsystem installieren und danach mein Backup einspielen??
Die 3 Partitionen sind ja nicht von Anfang an auf der Karte.

Hier nochmal mit mount

Code: Alles auswählen

mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=54774,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=44824k,mode=755)
/dev/disk/by-uuid/d9372f0b-de17-4c33-82aa-7a24de59a9d0 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=132220k)
//192.168.3.21/admin/backup on /mnt/nas type cifs (rw,relatime,sec=ntlm,unc=\\192.168.3.21\admin,username=admin,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.3.21,unix,posixpaths,serverino,acl,rsize=61440,wsize=65536,actimeo=1)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

DeletedUserReAsG

Re: CF-Karten 1:1 Kopie

Beitrag von DeletedUserReAsG » 22.02.2014 09:56:49

Paketinfo hat geschrieben:

Code: Alles auswählen

FSArchiver is a system tool that allows you to save the contents of a
 file system to a compressed archive file. The file system can be restored
 on a partition which has a different size and it can be restored on a
 different file system.
 Unlike tar/dar, FSArchiver also creates the file system when it extracts
 the data to partitions.
 Everything is checksummed in the archive in order to protect the data. If
 the archive is corrupt, you just lose the current file, not the whole archive.
Ich persönlich nutze es nicht und weiß daher nicht, wie es in der Praxis funktioniert. Jedenfalls hast du demnach zwei Möglichkeiten: entweder erstellst du die Partition auf der neuen Karte selbst, dann wird das Backup einfach dort reingepackt, oder du gibst als Ziel das Device selbst an, dann wird das FS erstellt. In beiden Fällen sollte am Ende nur noch Bootloader und ggf. fstab angepasst werden müssen.

Am besten wird sein, du probierst es einfach mal aus :)

faxe2110
Beiträge: 20
Registriert: 20.07.2011 19:57:24

Re: CF-Karten 1:1 Kopie

Beitrag von faxe2110 » 22.02.2014 10:00:57

Ich denke auch. Hoffe ich darf zurück kommen wenn's Probleme gibt.
Nochmals vielen herzlichen Dank für eure Hilfe :hail: :THX:

Linux fängt an Spaß zu machen :D

MfG
faxe2110

DeletedUserReAsG

Re: CF-Karten 1:1 Kopie

Beitrag von DeletedUserReAsG » 22.02.2014 10:04:18

Fehlinterpretation meinerseits: die Zielpartition musst du wohl auf jeden Fall selbst erstellen, nur das FS selbst wird bei Bedarf von dem Programm erzeugt.

Antworten