Instalacja Napędu Taśmowego
Przed zainstalowaniem napędu taśmowego sprawdź, które SCSI adresy są już zajęte.
marcoPolander:/home/duszyk>lsdev -Cs scsi
hdisk0 Available 03-08-00-3,0 16 Bit LVD SCSI Disk Drive
hdisk1 Available 03-08-00-4,0 16 Bit LVD SCSI Disk Drive
hdisk2 Available 03-08-00-5,0 16 Bit LVD SCSI Disk Drive
hdisk3 Available 03-08-00-8,0 16 Bit LVD SCSI Disk Drive
ses0 Available 03-08-00-15,0 SCSI Enclosure Services Device
Produkcja ostatniego polecenia mówi nam, że na maszynie zwanej marcoPolander wszystkie urządzenia SCSI są podłączone do tego samego adaptera/wtyczki/szuflady znajdującej się po adresem 03-08-00. Ich adresy to 3,4,5,8 oraz 15. Wiedząc które adresy są obecnie w użyciu upraszcza wybór odpowiedniego adresy dla nowego urządzenia. Po jego zainstalowaniu i włączeniu maszyny, wydaj następujące polecenie:
marcoPolander:/home/duszyk>lsdev -Cc tape
rmt0 Defined 03-08-00-0,0 LVD SCSI Tape Drive
Jeżeli w miejsce Avaiable widzisz Defined to wydaj polecenie mkdev -l rmt0. Powtórne wydanie polecenia lsdev -Cc tape powinno pokazać ten napęd jako Avaiable czyli nadający się do użytku. Zintegrowany przed chwilą napęd rmt0 jest w rzeczywistości jednym z ośmiu napędów logicznych stworzonych przez AIX. Te napędy to:
marcoPolander:/home/duszyk>ls /dev/rmt*
/dev/rmt0 /dev/rmt0.2 /dev/rmt0.4 /dev/rmt0.6
/dev/rmt0.1 /dev/rmt0.3 /dev/rmt0.5 /dev/rmt0.7
Czym różnią się te urządzenia? Każdy reprezentuje inny aspekt fizycznego napędu przedstawiony poniżej.
Device Name Re-wind Re-tension Density
rmt0 yes no density_set_1
rmt0.1 no no density_set_1
rmt0.2 yes yes density_set_1
rmt0.3 no yes density_set_1
rmt0.4 yes no density_set_1
rmt0.5 yes no density_set_1
rmt0.6 yes no density_set_1
rmt0.7 yes no density_set_1
Napęd /dev/rmt# (gdzie # oznacza 0, 0.1, 0.2, 0.4 oraz 0.6) przewija taśmę po jej umieszczeniu w napędzie oraz po każdym wpisaniu danych (archiwum) do taśmy. Te urządzenia nie naprężą taśmy w momencie umieszczenia je w napędzie. Gęstość zapisu tego napędu jest kontrolowana parametrem density_set_1, który reprezentuje najwyższą gęstość zapisu tego urządzenia. Urządzenia /dev/rmt#.1, rmt#.3, rmt#.5 oraz rmt#.7 nie przewijają taśmy po wpisaniu do niej danych. Ich gęstość zapisu jest kontrolowana parametrem density_set_2. Wyświetlenie parametrów napędu jest dokonywane w następujący sposób:
marcoPolander:/home/duszyk>tctl -f /dev/rmt0 status
rmt0 Available 03-08-00-0,0 LVD SCSI Tape Drive
attribute value description user_settable
block_size 1024 BLOCK size (0=variable length) True
compress yes Use data COMPRESSION True
density_set_1 129 DENSITY setting #1 True
density_set_2 128 DENSITY setting #2 True
extfm yes Use EXTENDED file marks True
mode yes Use DEVICE BUFFERS during writes True
ret no RETENSION on tape change or reset True
ret_error no RETURN error on tape change or reset True
size_in_mb 80000 Size in Megabytes False
Ten napęd, który jest adresowany jako /dev/rmt0.# używa własnych buferów w czasie zapisywania danych (mode=yes). To polepsza jego wydajność ale w niektórych sytuacjach może nie być pożądane. Przez to, że dane są przechowywane w jego własnym buferze, napęd często informuje system operacyjny o zapisaniu danych przed zakończeniem tej operacji.
W celu ustalenia optymalnej wielkości block_size danego napędu należy wpisywać do niego dane (na przykład ten sam plik) za każdym razem zmieniając jego wartość. Używaj do tego celu wielokrotność 1024 (2048, 4096, itp.), nie obawiaj się próbowania dużego numeru (20kb czy więcej). W przypadku, kiedy block_size = 0 – to oznacza zmienny rozmiar (w teorii napęd jest w stanie czytać dane nie zależnie od rozmiaru bloku użytego to ich zapisu). Koniec danych na taśmie jest oznaczany przy pomocy specjalnego kodu. Obecność tych kodów (znak końca pliku) jest jednym z czynników umożliwiających wpisywania wielu plików do jednej taśmy.
Znaki określające położenie plików na taśmie dzielą się na krótkie i poszerzone (short and extended file marks). The poszerzone umożliwiają na wpisanie danych w obszar taśmy już posiadający dane (poprzednie dane ulegają zniszczeniu). Krótkie znaki pozwalają na wpisywanie plików w systemie szeregowym (jeden po drugim), są one również używane w przypadku taśmy nie posiadającej danych.
Znajdź rozmiar bloku
Czasami, twoim zadaniem będzie odczytanie danych z nieznanej taśmy – to ci się nie uda ponieważ rozmiar bloku twojego napędu a napędu użytego do wpisanie danych na tej taśmie nie jest ten sam. Zmień rozmiar bloku swojego urządzenie – przyznaj mu wartość 0 (zero). Z taśmy odczytaj jeden blok danych wydając następujące polecenie:
dd if=/dev/rmt0 of=/tmp/file_name bs=128k count=1
Następnie, znajdź rozmiar tego pliku, wykonując na przykład jedno z następujących dwóch poleceń:
ls –l file_name
or
wc –c file_name
output_file. Now, execute the /usr/bin/file file_name. If the file command cannot determine the archive format, it will display the following message: “data or International Language text”. Otherwise you will be presented with the format: tar archive, BIN cpio archive, etc. Change the block size of your tape drive to that of the tape and depending on the type of archive use one of the entries shown below to list the contents of the tape./usr/bin/file file_name. Polecenie file nie będąc w stanie określić rodzaju pliku produkuje “data or International Language text“. Będąc w stanie określić rodzaj pliku, wyświetli ono odpowiednią do jego rodzaju informację: tar, BIN cpio archive, itp.
Rodzaj Archiwum Polecenie
tar dd if=/dev/rmt# bs=block_size | tar –tvf-
cpio (ascii) dd if=/dev/rmt# bs=block_size | cpio –itcv
cpio (binary) dd if=/dev/rmt# bs=block_size | cpio –itv
backbyname dd if=/dev/rmt# bs=block_size | restore –Tvqf
backbyinode dd if=/dev/rmt# block_size | restore –tvqf
rdump dd if=/dev/rmt# block_size | restore –tvqf
Komunikat “data or Internationa Language text” nie oznacza braku możliwości odczytania danych z nieznanej taśmy. W dalszym ciągu masz możliwości odczytania jej danych. Sprawdź czy taśma zawiera archiwum polecenia mksysb czy sysback Zmień wymiar bloku na 512 bytów:
chdev –l rmt# -a block_size=512
Następnie, przesuń taśmę do końca drugiego archiwum
tctl –f /dev/rmt# fsf 2
Jeżeli coś tam jest to może być odczytane:
dd if=/dev/rmt# bs=512 count=1
Następujące orędzie wskazuje, że dane są rezultatem polecenia mksysb: DUMMY TAPE TOC. To orędzie wskazuje na sysback DUMMY SYSBACK TOC. W przeciwnym wypadku, czy jeżeli polecenie tctl odmówi posłuszeństwa wiemy że taśma nie została zapisana przy użyciu jednego z tych dwóch poleceń. Jeżeli zaś taśma jest produkcją mksysb to w celu odczytania jej danych (backup rootvg) należy zmienić blok na 512 (bytów), przesunąć taśmę poza trzecie archiwum i używając polecenie tar można ściągnąć dane z taśmy
tctl –f /dev/rmt# fsf 3
Zawartość taśmy jest określana następująco:
tar –tvf /dev/rmt#
Jeżeli jesteś zainteresowany zawartością taśmy, to przesuń ją do początku:
tctl -f /dev/rmt# rewind
po czym, przesuń ją ponownie do trzeciej pozycji i skopiuj jej dane.
Nie poddawaj się jeżeli file nie jest w stanie określić typu obecnego na taśmie archiwum (pliku) i wyświetla za to orędzie “commands text”, nie wszytko jest jeszcze stracone. Wdaje jedno z tych dwóch poleceń cat czy more do interrogacji bloku danych odczytanych powyżej używając polecenie:
dd if=/dev/rmt0 of=/tmp/file_name bs=128k count=1
/usr/bin/split to split the file_name into smaller files that are easier to study. If you can see a pattern, count the number of characters that it contains. Divide the size of the file_name by the number of characters (bytes) found in this pattern. Hopefully the result is a multiple of the block size used to create this archive. Then try to recover a single block of data with the following command:/usr/bin/split podziel plik file_name na mniejszego rozmiaru pliku – łatwiej je studiować. Jeżeli zauważyłeś, że dane w file_name tworzą jakiś wzór (pattern), policz jego charaktery (bytes). Podziel rozmiar file_name przez rozmiar wzoru. Miejmy nadzieję, że wynik to wielokrotność bloku tej taśmy. Spróbuj odczytać pojedynczą jednostkę danych używając następującego polecenia:
dd if=/dev/rmt# cbs=pattern_length ibs=block_length count=1 of=output_file conv=unblock
W przypadku sukcesu, powtórz ostatnie polecenie używając większej wartości count. Ponownie, przyjrzyj się odzyskanej danej. Jeżeli nic jej nie brakuje, ponownie wydaj to polecenie ale tym razem nie zmieniaj wartości count
Tape drive performance
Napęd taśmowy jest najbardziej wydajny jeżeli prędkość dostarczanej jemu danych równy jest (lub jest bardzo zbliżony) do prędkości z jaką przenosi on tę daną do taśmy. Aplikacje przed przesłaniem danych do napędu, typowo grupują dane w bloki specyficznego rozmiaru. Jego rozmiar jest znany również jako “buffer size”, “blocking factor”, itp. To nie jest ten sam blok, który napęd używa do manipulowania taśmą. Aplikacja podająca napędowi dane w małych blokach obniża jego wydajność – wydajność napędu jest funkcją rozmiaru wysyłanej do niego danych oraz rozmiaru z jakim zapisuje (czy czyta) on tę daną do taśmy. Jeżeli te dwie wartości są małe czy poważnie nie dopasowane, bakup (backup) może zabrać cały dzień czy nawet więcej zamiast kilku godzin czy minut.
Techniczne detale napędu
[lang-en]This bit of information is always important while trying to resolve problems related to hardware failure of a tape drive.
marcoPolander:/home/duszyk>lscfg -vl rmt0
rmt0 U787B.001.DNWC527-P1-T14-L0-L0 LVD SCSI Tape Drive (80000 MB)
Manufacturer................IBMY
Machine Type and Model......VXA-2
Device Specific.(Z1)........210F
Serial Number...............25205871
Load ID.....................A1700D58
Part Number.................96P1771
FRU Number..................96P1772
EC Level....................H81463
Device Specific.(Z0)........0180020283000130
Device Specific.(Z3)........L1
[lnag_en]Working with tape drivePracując z napędem
W celu poznania parametrów napędu:
lsattr –El rmt#
or
tctl –f /dev/rmt# status
Zmiana rozmiaru bloku napędu:[/strong]
chdev –l rmt# -a block_size=new_value
Resetowane napędu:
tctl –f /dev/rmt# reset
lub
diag –c –d rmt#
Do określenia liczby plików (archiwów) na taśmie
tcopy /dev/rmt#
tcopy: File 1; End of file after: ### Records, ###### Bytes.
tcopy: File 2, End of file after: ### Records, ###### Bytes.
tcopy: File 3, End of file after: ### Records, ###### Bytes
tcopy: The end of the tape is reached.
tcopy: The total tape length is ###### bytes.
Ta taśma posiada trzy archiwa (każde może zawierać wiele plików). Przesunięcie taśmy do drugiego archiwum należy wykonać używając automatycznie nie przesuwającego się napędu logicznego:
tctl –f /dev/rmt#.1 fsf 1
Przesuń taśme do jej początku:
tctl –f /dev/rmt#.1 rewind
Usunięcie taśmy z napędu:
tctl –f /dev/rmt# offline
Kopiowanie zawartości pomiędzy napędami:
tcopy /dev/rmt0 /dev/rmt3


0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.