• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Backup m. TAR mehrere Archive - Schreibmarken

cbr

Member
Hallo,
ich habe einen LTO Streamer am SCSI Controller:
Code:
 hwinfo --tape
22: SCSI 205.0: 10601 Tape
  [Created at scsi.1415]
  UDI: /org/freedesktop/Hal/devices/pci_9005_80_scsi_host_scsi_device_lun0_scsi_generic
  Unique ID: Er1e.0QNuRk7HGc6
  Parent ID: x0Ln.3+2aRN6ympD
  SysFS ID: /class/scsi_tape/st0
  SysFS BusID: 2:0:5:0
  SysFS Device Link: /devices/pci0000:03/0000:03:01.0/host2/target2:0:5/2:0:5:0
  Hardware Class: unknown
  Model: "IBM ULTRIUM-TD1"
  Vendor: "IBM"
  Device: "ULTRIUM-TD1"
  Revision: "25D4"
  Driver: "aic7xxx", "st"
  Driver Modules: "aic7xxx"
  Device File: /dev/st0 (/dev/sg1)
  Device Number: char 9:0 (char 21:1)
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #18 (SCSI storage controller)
Code:
mt -f /dev/st0 status
drive type = Generic SCSI-2 tape
drive status = 1073742848
sense key error = 0
residue count = 0
file number = 0
block number = 0
Tape block size 1024 bytes. Density code 0x40 (unknown).
Soft error count since last status=0
General status bits on (41010000):
 BOT ONLINE IM_REP_EN
In einem Script möchte ich gerne mehrere Session mit TAR hintereinander schreiben lassen like:
Code:
#!/bin/bash
mt -f /dev/nst0 rewind
tar cf - /home/erde/.kde/ -b 256 | mbuffer -s 65536 -m 400M -p 98 > /dev/nst0
mt -f /dev/nst0 wset 1
tar cf - /home/erde/.kde/ -b 256 | mbuffer -s 65536 -m 400M -p 98 > /dev/nst0
mt -f /dev/nst0 wset 2
tar cf - /home/erde/.kde/ -b 256 | mbuffer -s 65536 -m 400M -p 98 > /dev/nst0
mt -f /dev/nst0 eod
Ich bekomme es nicht hin zwischen den Session eine Marke zusetzen bzw. dahin zu positionieren.
Kann mir jemand kurz erklären welche Marken ich wie setzen muß ? Ich hab schon so viel durchprobiert und sehe irgendwie
kein Land mehr.

Danke
 
A

Anonymous

Gast
für was brauchst du noch zusätzlichen Maken? Jeder Schreibbefehl erzeugt beim Beenden eine EOF Make (End Of File). Also Jeder einzelne tar-Befehl erzeugt ein eigenes Archiv mit einem EOF am Ende das dein Laufwerk auch beim spulen erkennt und dessen physikalische Position er nebenbei gesagt bei LTO sogar noch in einer speziellen Tabelle in einem Chip innerhalb der Cartirdge mit abspeichert. Auch jeder andere Schreibbefehl macht das genauso ( naja eigentlich macht das das Laufwerk) selbst wenn er durch Fehler abbrechen würde, wird auf dem Band an dieser Position immer ein EOF geschreiben. Also da gar nichts noch zusätzlich zwischen die einzelnen tarbefehle schreiben.

Positionen tust du dann zB mit
Code:
mt -f /dev/nst0 rewind   # zurück zum Bandanfang
mt -f /dev/nst0 fsf 3    # positioniere 3 EOF Marken nach vorne
Dann fängst du genau an dieser Stelle auf die er so positioniert an das nächste Archiv zu lesen zb
Code:
tar -tf /dev/nst0

robi
 
OP
C

cbr

Member
Hi Robi, hab ich ja auch so gedacht. Hab mehrere Files hintereinander geschrieben und versucht zu positionieren.
Hab mit tar dann auflisten lassen was ab der Position drauf ist, aber da hat er nix angezeigt.
Kann das jetzt leider nicht mehr prüfen, versuch das Montag dann noch mal und schreib was daraus geworden
ist.
Trotzdem danke schon mal für Deine Info und schönes WE
 
A

Anonymous

Gast
cbr schrieb:
Hab mehrere Files hintereinander geschrieben und versucht zu positionieren.
Hab mit tar dann auflisten lassen was ab der Position drauf ist, aber da hat er nix angezeigt.
Bitte mal den genauen Schreib und Lesebefehl sowie die Fehlermeldung posten, bist sicherlich nur etwas durcheinander mit deinen Optionen gekommen, da in den oberen Befehlen du schon bei tar mit 128KB arbeitest aber das dann mit mbuffer doch nur mit 64KB aufs Band schreibst. In diesem Fall musst du wieder mit 64KB vom Band lesen, sonst geht nichts. (LTO immer am besten mit 256KB aufs Band schreiben)
siehe auch http://wiki.linux-club.de/opensuse/Bandlaufwerke_und_LINUX#getestete_Beispiele_mit_mbuffer

robi
 
OP
C

cbr

Member
Hi robi,
jetzt funktioniert es, hab wohl wirklich mit allen Optionen kein Land mehr gesehen. Hab als Beispiel mal folgendermassen gesichert:
Code:
tar cfv - /home/erde/.kde/ -b 1024 | mbuffer -s 1048576 -m 400M -p 98 > /dev/nst0
tar cfv - /home/erde/.fontconfig/ -b 1024 | mbuffer -s 1048576 -m 400M -p 98 > /dev/nst0
tar cfv - /home/erde/.beagle/ -b 1024 | mbuffer -s 1048576 -m 400M -p 98 > /dev/nst0
tar cfv - /home/erde/.VirtualBox/ -b 1024 | mbuffer -s 1048576 -m 400M -p 98 > /dev/nst0
Und komm am Ende auf eine ganz ordentliche Geschwindigkeit:
Code:
..... in @ 25.8 MB/s, out @ 33.7 MB/s, 2902 MB total, buffer  98% full/home/erde/.VirtualBox/VDI/AHB-VM.vdi
in @ 21.9 MB/s, out @ 29.9 MB/s, 6162 MB total, buffer  98% full/home/erde/.VirtualBox/VirtualBox.xml
/home/erde/.VirtualBox/VBoxAddIF.sh
/home/erde/.VirtualBox/xpti.dat
in @  0.0 kB/s, out @ 2032 kB/s, 6558 MB total, buffer   2% fullmbuffer: warning: output does not support syncing: omitted.
in @  0.0 kB/s, out @ 17.9 MB/s, 6567 MB total, buffer   0% full
summary: 6568 MB in  5 min 22.5 sec - average of 20.4 MB/s, 477x empty
Lesen klappt auch:
Code:
mt -f /dev/nst0 fsf 3
tar -tf /dev/nst0
home/erde/.VirtualBox/
home/erde/.VirtualBox/compreg.dat
home/erde/.VirtualBox/Machines/
home/erde/.VirtualBox/Machines/NAVI-VM/
home/erde/.VirtualBox/Machines/NAVI-VM/NAVI-VM.xml
home/erde/.VirtualBox/Machines/NAVI-VM/Logs/
home/erde/.VirtualBox/Machines/NAVI-VM/Logs/VBox.log
home/erde/.VirtualBox/Machines/NAVI-VM/Logs/VBox.log.1
home/erde/.VirtualBox/Machines/NAVI-VM/Logs/VBox.log.3
home/erde/.VirtualBox/Machines/NAVI-VM/Logs/VBox.log.2
home/erde/.VirtualBox/Machines/AHB-VM/
home/erde/.VirtualBox/Machines/AHB-VM/AHB-VM.xml
home/erde/.VirtualBox/Machines/AHB-VM/Logs/
home/erde/.VirtualBox/Machines/AHB-VM/Logs/VBox.log
home/erde/.VirtualBox/Machines/AHB-VM/Logs/VBox.log.1
home/erde/.VirtualBox/Machines/AHB-VM/Logs/VBox.log.3
home/erde/.VirtualBox/Machines/AHB-VM/Logs/VBox.log.2
home/erde/.VirtualBox/VDI/
home/erde/.VirtualBox/VDI/NAVIVM.vdi
home/erde/.VirtualBox/VDI/AHB-VM.vdi
home/erde/.VirtualBox/VirtualBox.xml
home/erde/.VirtualBox/VBoxAddIF.sh
home/erde/.VirtualBox/xpti.dat
Muss jetzt eigentlich nur noch versuchen ein gescheites Label draufzubringen und die Ausgaben in eine Log Datei auszugeben um zu sehen was so alles gesichert wurde.
 
A

Anonymous

Gast
cbr schrieb:
Muss jetzt eigentlich nur noch versuchen ein gescheites Label draufzubringen und die Ausgaben in eine Log Datei auszugeben um zu sehen was so alles gesichert wurde.

Logdatei ist kein Problem beim Sichern
tar -cvf - -b 1024 VERZEICHNIS 2>/PATH/LOGDATEI | mpuffer ..........
sollte funktionieren, wenn du aber Label auf das Band schreiben willst, wird es etwas komplizierter, siehe aber mal hier wenn du Zeit hast ;) , da stehen noch ein paar Fragmente eines alten Mammut-Beitrages der sich uA auch mit Bandlabeln beschäftig hat, das Endergebnis läuft übrigens bis heute noch auf 2 Rechner.

PS: mir ist gerade aufgefallen, du hast ja LTO, da sollte es etwas einfacher sein, es gibt Tools die schreiben dir auf die Cartridge ein Label drauf, die Cartridge wird dann auch entsprechend mit ihrem Label im Laufwerk erkannt. Dieses Label ist permanent und wird nicht beim normalem Beschreiben des Bandes überschrieben. Dieser Bandlabel des beteiligten Bandes währe dann auch in Fehlermeldungen vom Laufwerk an den Rechner, in den Fehlerlogs im Laufwerk und in anderen Diagnoseunterlagen enthalten.

robi
 
OP
C

cbr

Member
Hi dann werd ich mal beginnen meine Hausaufgaben zu machern ;-)

Danke für Deine Hilfe
 
Oben