[Linux-Biella] E ancora sul DAT

LeOS linux@bilug.linux.it
Mon, 18 Nov 2002 10:25:22 +0100


Luca Bertoncello wrote:

>Ciao a tutti!
>
>Un'altra cosa strana che mi capita con il DAT e' questa:
>Sembra proprio che, dopo aver scritto un file, il fetente faccia un rewind.
>  
>

a conclusione di questa travagliata serie di tread voglio condividere 
con voi le mie esperienze con il DAT

0: do per scontato che abbiate compilato il kernel con supporto per DAT 
e installato il package mt-st

0.1: si tratta di un dispositivo sequenziale, si comporta esattamente 
come una audiocassetta, con tanto di "contagiri", e di "rewind e fast 
forward".
il posizionamento del tape avviene in due modi:
mt-st -f device rewind - riavvolge il tape
mt-st -f device tell - restituisce la posizione corrente (in blocchi)
mt-st -f device seek [posizione] - posiziona la il tape nel blocco definito

detto questo

1: conviene creare un link simbolico /dev/tape (ln -s /dev/st0 /dev/tape)
2: sul tape possono essere salvati esclusivamente file .tar quindi non 
poerdete tempo a cercar di capire come mai avrete un "input/output 
error" cercando di copiare generici files sul dat
3: non e' vero che salvando un file, poi un altro poi un altro ancora 
puntando a /dev/tape (linkato da /dev/st0) riavvolge sempre, lo ho 
verificato col DAT aperto, inoltre la corretta sequenza sarebbe:

mt-st -f device tell
ed ottengo dove mi trovo
copy file.tar /dev/tape
e copio il file in questione
mt-st -f device tell
e vedo dove mi trovo dopo la copia del file

ATTENZIONE ultima considerazione e non meno importante delle altre:

io copio in po' di roba sul dat
mi segno a ke blocco mi trovo, e.g. block 5730
e poi tolgo il tape.
domani voglio salvare altra roba sempre su quel nastro e ovviamente devo 
cominciare a scrivere dal blocco 5730 per non cancellare nulla
quindi speranzoso eseguo il comando:
mt-st -f device seek 5730
ottengo un bel "input output error"
dopo un po' di prove ho dedotto (ma aspetto conferma da voi) che NON e' 
possibile posizionarsi alla fine dell'atrea scritta, come fare quindi?
io ho risolto creando un file vuoto chiamato EOT che non e' altro che un 
tar cf eot /dev/null e copiandolo sul tape alla fine di ogni sessione di 
salvataggio di modo che io possa posizionarmi immediatamente prima di 
esso quando voglio creare una nuova sessione di salvataggio.


spero di essere stato chiaro

btw, io sto realizzando un software di backup, scritto in perl, che 
consente l'archiviazione in un semplice database del contenuto di ogni 
nastro che viene "inizializzato" scrivendoci un progressivo all'inizio. 
a fronte di questa identificazione, e' possibile, grazie al database, 
recuperare il contenuto di ogni singola sessione di backup eseguita sul 
tape.
per ora ho terminato la parte di inizializzazione del nastro, e 
l'identificazione dello stesso, piu' qualche cazzatina tipo eject, 
rewind, lock eccetera. se qualcuno volesse dare un'occhiata al codice, 
posso mailarlo privatamente, o metterlo sul sito, si tratta di qualcosa 
come 5 kb in .tar.gz


buona vita a tutti