Richtiges Backup und vor allem richtiges Restore

Begonnen von Ajuba, 19 Dezember 2016, 23:15:02

Vorheriges Thema - Nächstes Thema

Wernieman

Das stimmt bei SDCarten leider definitif nicht. Die kennen kein "Zeilen verschieben", d.h. es ist irrelevant, ob man immer die Komplette Karte schreibt, löscht oder nur Teilbereiche. Wenn eine Zelle (Speicherbereich) zu häufig beschrieben .... die logig zumBeschreiben sitzt laut definition im Speicherschreiber, nicht auf der Karte.

Das ist der Unterschied zu SSD (oder auch CompacFlash-Karten).
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

budy

Zitat von: abc2006 am 30 Dezember 2016, 07:12:21PS: wobei ich die Lösung mit "Image mounten und rsync" persönlich auch SEHR interessant finde. Ist halt nur nicht inkrementell.

Wie? Das ist aber sowas von inkrementell... Ich wüsste nicht, wie es noch inkrementeller gehen könnte... ;)

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Wernieman

Ich glaube, er meinte "verschiedene Speicherstände" .. Du hast nur einen.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

abc2006

Zitat von: Wernieman am 01 Januar 2017, 17:25:32
Ich glaube, er meinte "verschiedene Speicherstände" .. Du hast nur einen.

Ja, richtig, das meinte ich. Wie heisst das denn korrekt?

Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

viegener

Zitat von: abc2006 am 01 Januar 2017, 18:13:07
Ja, richtig, das meinte ich. Wie heisst das denn korrekt?

Grüße
Stephan

versioniert ?


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

budy

Das kriegt mal sehr gut mit dbconfig hin, würde ich sagen. Ich musste nach Weihnachten erstmal die letzten 50 Stände entfernen... das waren mir zu viele. ;)

Außerdem... bei den vielen Änderungen, macht eine echte Versionierung meiner Meinung nach gar keinen Sinn, weil man sich eh' nicht mehr erinnern kann, was wann genau wie konfiguriert war. Wenn man also immer fröhlich drauflos konfiguriert, dann hat man sehr schnell den Überblick verloren. Ich finde ja, dass ein Backup vor einem Update zu machen eine gute Idee ist. Ansonsten würde ich mit dbconfig gehen...

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Wernieman

naja ... Versionierung ist nicht nur in FHEm sinvoll ... warum macht man den in Firmen ein Backup mit verschiedenen "Datenständen"?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Ajuba

Ich misch mich in die Expertenrunde mal wieder mit meinen banalen Anfängerfragen ein:

Ich hab jetzt ein wenig mit Diskdump geübt und dachte ich hätte es unter Kontrolle
Auf einen vorher leeren 8 GB USB Stick hatte ich zum testen bereits 3 unterschiedlich Große Images mit jeweils gut 1,5 GB geschrieben. Es waren also noch rund 3 GB frei
Beim nächsten Test kam folgende Fehlermeldung

root@raspberrypi:/# dd bs=1M count=1400 if=/dev/sde of=/media/usbstick/raspbian.img
dd: error writing '/media/usbstick/raspbian.img': No space left on device
353+0 records in
352+0 records out
369283072 bytes (369 MB) copied, 58.3729 s, 6.3 MB/s

Ich formatierte den Stick unter Windows neu - half nichts. Ich probierte es auch unter Linux mit parted (mklabel msdos, mkpart primary fat32 Start 1s End -1s + mkfs.fat32. Half auch nicht

lsblk gibt zwar die volle Größe an

root@raspberrypi:/# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sde           8:64   1 29.7G  0 disk
├─sde1        8:65   1   63M  0 part
└─sde2        8:66   1  1.2G  0 part
sdf           8:80   1  7.5G  0 disk
└─sdf1        8:81   1  7.5G  0 part
mmcblk0     179:0    0   15G  0 disk
├─mmcblk0p1 179:1    0   63M  0 part /boot
└─mmcblk0p2 179:2    0  1.2G  0 part /

aber angeblich wären nur 459MB frei. Ähnliche Werte kommen für verschiedene USB Sticks raus egal ob sie 4GB oder 64GB haben

root@raspberrypi:/# df -h /dev/sdf
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        459M     0  459M   0% /dev


außerdem wird seit Verwendung von parted beim mounten ein Eintrag in fstab verlangt

root@raspberrypi:/# mount -t vfat -o utf8,uid=pi,gid=pi,noatime /dev/sdf1
mount: can't find /dev/sdf1 in /etc/fstab


Den Stick konnte ich übrigens unter Windows perfekt bis zum Rand anfüllen.

Um auszuschließen, dass ich beim Linux was verbockt habe, habe ich sogar das original Image nochmal neu auf die SD geschrieben um ein jungfräuliches Linux zu haben. Hat nichts genützt.

Ich bin ratlos - Habt ihr irgendwelche Tips?
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

Wernieman

1. Deine Größenangaben beziehen sich nicht auf den Stick
devtmpfs        459M     0  459M   0% /dev
Was ist wohl devtmpfs?

2. Ein Mount braucht nicht nur eine Quelle, sondern auch ein Ziel (oder eben einen Eintrag in der fstab)
Also im Stiele von:
mount Quelle Ziel
Du gibst aber nur Quelle an!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Ajuba


Warum beim mount das Ziel gefehlt hat ist mir unerklärlich. Wie auch immer, hier noch mal alles mit einem neu gestarteten Raspi:



pi@raspberrypi:~ $ sudo mkdir /media/usbstick
mkdir: cannot create directory '/media/usbstick': File exists
pi@raspberrypi:~ $ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1  7.5G  0 disk
└─sda1        8:1    1  7.5G  0 part
sde           8:64   1 29.7G  0 disk
├─sde1        8:65   1   63M  0 part
└─sde2        8:66   1  1.2G  0 part
mmcblk0     179:0    0   15G  0 disk
├─mmcblk0p1 179:1    0   63M  0 part /boot
└─mmcblk0p2 179:2    0  1.2G  0 part /
pi@raspberrypi:~ $ sudo mount -t vfat -o utf8,uid=pi,gid=pi,noatime /dev/sda1
pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1.2G  1.2G     0 100% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.3M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   63M   21M   43M  34% /boot

pi@raspberrypi:~ $ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sde           8:64   1 29.7G  0 disk
├─sde1        8:65   1   63M  0 part
└─sde2        8:66   1  1.2G  0 part
sdf           8:80   1  7.5G  0 disk
└─sdf1        8:81   1  7.5G  0 part
mmcblk0     179:0    0   15G  0 disk
├─mmcblk0p1 179:1    0   63M  0 part /boot
└─mmcblk0p2 179:2    0  1.2G  0 part /


[size=78%]


sda ist der Memory Stick (gemounted)
mmcblk0 ist die SD Karte im Raspi
sde ist die SD Karte im Kartenleser auf die frisch das Raspian Image gespielt wurde (nicht gemounted)
Was devtmps ist weiß ich nicht.


Der Memorystick hat 4 Image Dateien drauf, die ich unter Windows drauf gespielt hatte.
Sie haben insgesamt 5,5GB und Windows sagt, dass noch 2 GB frei sind.


df ist wohl der Meinung, dass 1.2G verbraucht sind und 0% frei.


Übrigens hatte ich vor dem letzten lsblk den Stick abgezogen um im Windows nachzusehen wie viel drauf ist. Beim neuen Anstecken war er dann nicht mehr auf sda sondern auf sdf. Muss ich vor dem abziehen immer unmounten? Muss jeder (neue, andere) USB Stick neu gemounted werden?




fstab sieht so aus: /dev/sda1 hatte ich gestern händisch eingefügt, weil ich nach Verwendung von parted dazu augefordert wurde.

[/size]

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
/dev/sda1       /               fat32   defaults
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
[size=78%]

Im übrigen bekomme ich folgende Ergebnisse für df direkt auf sda angewendet bzw. allgemein
[/size]

pi@raspberrypi:~ $ df -h /dev/sda
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        459M     0  459M   0% /dev
pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1.2G  1.2G     0 100% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.3M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   63M   21M   43M  34% /boot
[size=78%]


Einen 64 GB Stick (FAT32) kann ich übrigens gar nicht mounten
[/size]

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1 57.6G  0 disk
└─sda1        8:1    1 57.6G  0 part
sde           8:64   1 29.7G  0 disk
├─sde1        8:65   1   63M  0 part
└─sde2        8:66   1  1.2G  0 part
mmcblk0     179:0    0   15G  0 disk
├─mmcblk0p1 179:1    0   63M  0 part /boot
└─mmcblk0p2 179:2    0  1.2G  0 part /
pi@raspberrypi:~ $ sudo mount -t vfat -o utf8,uid=pi,gid=pi,noatime /dev/sda1
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       missing codepage or helper program, or other error


       In some cases useful info is found in syslog - try
       dmesg | tail or so.
[size=78%]


Was kann ich jetzt noch untersuchen?[/size]
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

Wernieman

1. JA, immer eoi9nen Stick unmounten bevor Du Ihn abziehst!
Übrigens sollte man es eigentlich unter Windows auch (Auswerfen) ....

2. Wegen Mount:
Ich würde Dir Empfehlen, Dir mal folgendes Verzeichnis anzusehen:
/dev/disk/by-id/

Dann kannst Du auch anstatt /dev/sda die richtige /dev/disk/by-id/blablabla verwenden.
(Kleiner Hinweis: Bei einem Dist-Upgrade kann sich eventuell der Name ändern, ist dann aber fest)

3. Du must nicht einen mount in der fstab eintragen, wenn Du, wie schon von mir geschrieben, denn vollem mount-Befehl  eingibst:

sudo mount -t vfat -o utf8,uid=pi,gid=pi,noatime /dev/sda1 /media/usbstick

4. Du hast gelesen, das Du das Verzeichnis /media/usbstick nicht anlegen mustest, da es schon angelefgt war?

5. Du hast übriegns Glüclk, das DU Dir Dein System nicht abgeschossen hast.

Was soll dieser Eintrag in der fstab wohl erreichen?
/dev/sda1       /               fat32   defaults
Vorallem, wenn Du es mit dem Vorherigen vergleichst:
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

Stichwort: "/" ist root-Verzeichniss!

5. Wenn Du Dir Deine Ausgaben richtig durchsiehst, dann erscheint Dein Stick und hat auch 2GByte frei ... schau doch einfach mal ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Ajuba

DANKE - Scheint wieder zu passen. :P
Habe den Eintrag aus fstab entfernt und neu gestartet.

Wahrscheinlich habe ich diesen Strudel angeworfen durch nicht oder falsches mounten/unmounten gefolgt von neu Formatieren und Eintrag in fstab - Kann es das sein, oder glaubst du, es war was anderes?

Ich werde in Zukunft immer brav unmounten.
[/size]Danke noch mal
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

Wernieman

Ich glaube, der Hauptfehler "saß vor dem Bildschirm" ;o)

(Bitte nicht falsch verstehen ;o) )
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Ajuba

Das ist sowieso klar. Als Autodidakt kann ich nur mit Trial and Error durchstolpern.
Aber nur durch Fehler lernt man.  :D

Gesendet von meinem SM-G920F mit Tapatalk

FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

Ajuba

So, ich glaub nun habe ich meine Konfiguration gefunden
- Fhem Backup vor jeder Fhem Konfigurations-Änderung
- Image DiskDump vor jedem Update (SD raus und am Raspi mit anderer SD Karte+Kartenleser+USB-Stick)

Warum inkrementelle Images?
Weil ich im Fall eines Crashs nur das Image aufspielen möchte mit der funktionierend-installierten Software Version (Fhem, FTUI, Kalender etc.) die sicher läuft.
Ich habe so oft im Forum über Probleme nach einem Update gelesen. Wenn ich bei einer Null-Installation starte bekomme ich beim notwendigen Update natürlich die neueste Version und es könnte was nicht passen.

Wegen der SD-Lebenszeit wäre wahrscheinlich eine kleine SD-Karte plus USB-Stick für Logs und Backups am sinnvollsten.
Da ich nun mal schon mal meine 32GB SD-Karte habe und trotzdem an inkrementellen Images festhalten möchte habe ich mich mit Partitions durchgekämpft. Somit lasse ich die Root Partition auf 2GB Größe.
"Home" mit Unterverzeichnis "Fhem" und darin "backup" und "log" habe ich auf der großen neuen Partition angelegt und Fhem hat die Schreibrechte dort. Die Backups und Logs hole ich natürlich regelmäßig aufs NAS. Das werde ich auch noch mal automatisieren.

pi@raspberrypi:/home/fhem/backup$ sudo fdisk -lu
[font=courier]...
Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1         8192   137215   129024   63M  c W95 FAT32 (LBA)
/dev/mmcblk0p2       137216  4194304  4057089    2G 83 Linux
/dev/mmcblk0p3      4194305 62333951 58139647 27.7G  5 Extended
/dev/mmcblk0p5      4198400 62333951 58135552 27.7G 83 Linux

pi@raspberrypi:/home/fhem$ ls -ls
total 8
4 drwxr-xr-x 2 fhem dialout 4096 Jan  6 20:04 backup
4 drwxr-xr-x 2 fhem dialout 4096 Jan  6 00:49 log[/font]


In Fhem habe ich die Directories folgendermaßen angepasst
attr global backupdir /home/fhem/backup
attr global logdir /home/fhem/log
attr global logfile /home/fhem/log/fhem-%Y-%m.log


...und - Hurra - wenn ich das Image mit Win32diskimager wieder drauf spiele bleibt sogar die Erweiterungs-Partition mit Home erhalten.

Mit dem Platz auf root sollte ich hoffentlich das Auslangen finden oder wird das mit der Zeit recht groß und ich soll gleich auf 4GB gehen?
[font=courier]pi@raspberrypi:/home/fhem$ df -la
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        1963344 1179544    665992  64% /
devtmpfs          469532       0    469532   0% /dev
sysfs                  0       0         0    - /sys
proc                   0       0         0    - /proc
tmpfs             473864       0    473864   0% /dev/shm
devpts                 0       0         0    - /dev/pts
tmpfs             473864    6588    467276   2% /run
tmpfs               5120       4      5116   1% /run/lock
tmpfs             473864       0    473864   0% /sys/fs/cgroup
cgroup                 0       0         0    - /sys/fs/cgroup/systemd
cgroup                 0       0         0    - /sys/fs/cgroup/cpu,cpuacct
cgroup                 0       0         0    - /sys/fs/cgroup/blkio
cgroup                 0       0         0    - /sys/fs/cgroup/memory
cgroup                 0       0         0    - /sys/fs/cgroup/devices
cgroup                 0       0         0    - /sys/fs/cgroup/freezer
cgroup                 0       0         0    - /sys/fs/cgroup/net_cls
systemd-1              0       0         0    - /proc/sys/fs/binfmt_misc
mqueue                 0       0         0    - /dev/mqueue
debugfs                0       0         0    - /sys/kernel/debug
configfs               0       0         0    - /sys/kernel/config
/dev/mmcblk0p5  28480140  172068  26838300   1% /home
/dev/mmcblk0p1     64456   21320     43136  34% /boot[/font]


Es scheint alles zuverlässig zu laufen.

Meine offenen Fragen:
- Sehen die Experten irgendeine Gefahr in diesem Setup?
- Habe ich irgendetwas übersehen oder vergessen?
- Reichen 2GB für Root oder soll ich lieber gleich auf 4GB gehen?
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight