Schulze-EDV-Service Home - AIX Support - Neuigkeiten

Info zur Datenarchivierung unter AIX mit Bordmitteln

tar - pax - shar - compress - gzip - uucp - dd - backup/restore - block size

tar

Dateien kopieren mit tar

Beim kopieren mit tar muß man unter AIX berücksichten, daß tar wegen der POSIX Kompatibilität zuverlässig nur Dateien bis 2 Gigabyte Größe kopieren kann. Dies gilt bis einschließlich Version 5.1L einschließlich und kann zu Problemen in Dateisystemen führen, die „large file enabled“ sind. Aktuelle AIX Versionen (5.3, 6.1) unterstützen inzwischen Dateigrößen bis 8GB. Größere Dateien können mit dem „Backup“ Kommando oder mit pax (Posix Archiver and eXtractor) bearbeitet werden. Alles, was größer ist, sollte man von vornherein mit Backup und Restore bearbeiten.

Lokal kopieren

Das Verfahren ist recht einfach. Man begibt man sich beim lokalen kopieren von Daten direkt in das Verzeichnis, von dem aus die Daten kopiert/gesichert werden sollen. Dort packt man mit tar alle Dateien ein, die man haben möchte. Das Ergebnis übergibt man an eine Pipe, wechselt ins Zielverzeichnis und holt die Dateien mit tar wieder aus der Pipe zurück.

# tar cf - * | (cd zielverzeichnis ; tar -xvpf -)

Die Option v sorgt für die Anzeige des Kopiervorganges, das - (Minus) weist tar an, keine tar-Archiv Datei zu erzeugen. Dies ist hilfreich, wenn man auf den Platten keinen Platz dafür hat.

Im Netzwerk kopieren

Von einer Maschine auf eine andere Maschine verwendet man am einachsten einen r-Befehl von der Maschine aus, auf die gesichert werden soll. Von dort aus verändert man das bekannte Kommando wie folgt:

# cd <zielverzeichnis>

# rsh <Quellserver> "cd /data/oracle ; tar cBf - *"  | tar -xvBf -

Die B Option fast den Transfer in feste Blockgrößen, was im Netzwerk besser ist.

Man kann aber z.B. auch direkt auf ein Bandlaufwerk schreiben:

# tar cvfb - 20 * | rsh <zielserver> dd of=/dev/rmt0 obs=20

In diesem Beispiel wird der Befehl vom Quell-Server ausgelöst. Das Verfahren sollte damit deutlich geworden sein. Ein weiteres Beispiel mit dem Backup Kommando findet sich hier.

<Top>

Lokal kopieren und gleichzeitig packen/entpacken

# tar -cvf - <Datei> | gzip > datei.tar.gz

# gzip -d < datei.tar.gz | tar -xvf

<Top>

# tar -cvf archiv.tar $(find .)

Posix Archiver und EXtractor PAX

PAX verwendet das TAR Dateiformat und kann deshalb problemlos TAR Archive packen bzw. entpacken. Er eignet sich insbesondere für das Verändern von relativen Pfaden während einer Rücksicherung. Ansonsten unterliegt er bis 4.3.3 einschließlch ähnlichen Einschränkungen wie TAR und sollte deshalb ebenfalls nicht für Dateigrößen über 2GB verwendet werden. Größere Dateien müssen unter allen AIX Versionen vor 5L mit Backup und Restore gesichert werden.

Seit AIX 5L unterstützt PAX das 64-bit POSIX Datenformat und somit auch large file bzw. large archive support. cpio und tar sind nicht weiterentwickelt worden und können das daher nicht.

# pax -rpe -f /dev/rmt2 -s:^/originaldir:/tmp/newdir:g

<Top>

Raw Partitionen sichern mit dd

Falls nötig ist zunächst das Bandlaufwerk auf eine adequate blocksize einzustellen.

# chdev -l rmt0 -a block_size=1024

Das sichern der raw partition erfolgt so

# dd if=/dev/lvname of=/dev/rmt0 ibs=512 obs=1024

dd Optionen

Seit AIX 5L unterstützt dd spanning über mehrere Medien.

... span=yes

<Top>tar, shar, compress, gzip

Baustelle ...

AIX Backup und Restore

Lokales kopieren - Im Netzwerk kopieren -

Backup und restore kommen heute immer mehr ins Spiel, insbesondere unter AIX und zwar aus drei Gründen.

  1. Nur mit Backup und Restore können ACL verwendet werden.
  2. Backup und Restore gehen zuverlässig mit Dateien um, die größer als 8 GB sind.
  3. Nur Backup und Restore können mit sparse files umgehen. Seit AIX 5L hat restore den Parameter -e, der es erlaubt sparse files als sparse files wiederherzustellen.

Wer also mit Datenbanken zu tun hat, kommt um Backup und Restore nicht herum.

Restore einer ausgewählten Datei aus mksysb

Der restore Befehl für ein mksysb muß aus / heraus ausgeführt werden. Für das zurückholen einer einzelnen Datei muß exakt bekannt sein, wo sie liegt und wie sie heißt. Um den Inhalt der Sicherung anzusehen tausche die -x Option gegen die -T Option.

# cd /

# tctl -f /dev/rmt0 rewind

# restore -xqf /dev/rmt0.1 -s 4 ./usr/bin/flush

Restore eines ausgewählten Verzeichnisses aus mksysb

# cd /

#  tctl -f /dev/rmt1 rewind

# restore -xqdvf /dev/rmt1.1 -s4 ./export/data

Lokales Kopieren mit backup und restore

Um Problemen mit Verzeichnisnamen aus dem Weg zu gehen, wird die Aktion jeweils genau in dem Verzeichnis gestartet, das gesichert werden soll. D.h. wenn wir die Daten aus /data/$SID/sapdata1 nach /data/$NEUSID/sapdata1 kopieren wollen:

# cd /data/$SID/sapdata1

# find . | backup -if - | (cd /data/$NEUSID/sapdata1 ; restore -xqf -)

<Top>

Datensicherung im Netzwerk mit backup

Die Syntax ist ähnlich wie beim lokalen kopieren. Voraussetzung ist eine SSH public key Infrastruktur.

# cd <zielverzeichnis>

# ssh <Quellserver> "cd </quellverzeichnis> ; find . | backup -iUf -" | restore -xvf -

<Top>

Die Block Size eines unbekannten Bands herausfinden

# chdev -l /dev/rmt0 -a block_size=0

# dd if=/dev/rmt0 of=/tmp/dummy bs=128k count=1

# wc -c /tmp/dummy

<Top>

Backups auf CD

http://publib.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixins/aixinsgd/intro_backup_cdrom.htm

http://publib.boulder.ibm.com/doc_link/en_US/a_doc_lib/cmds/aixcmds3/mkcd.htm

/usr/lpp/bos.sysmgt/mkcd.README.txt

<Top>