martedì, Dicembre 24, 2024

lofs delirium

Alessandro Torchia
Alessandro Torchiahttp://www.areanetworking.it
Trent'anni, sistemista Unix, specializzato su Solaris, sistema Operativo di casa Sun. Attualmente lavora come consulente presso una delle aziende sanitarie presenti sul territorio italiano. Certificato Sun SCSA (Solaris Certified System Administrator) e Sun SCNA (Solaris Certified Network Administrator), è responsabile dei sistemi cluster Sun SPARC Midrange, e della Storage Area Network FC presenti nei CED dell'azienda. Attualmente studia per conseguire la certificazione Sun Cluster 3.2 Administrator. In passato ha lavorato in ambito networking presso varie realtà prevalentemente su apparati Cisco e Nortel. Ha frequentato l'Academy CCNA e Fundamentals of Wireless, e cerca di mantenere vive le conoscenze acquisite in quest'ambito, nonostante la sua predilezione per l'ambito sistemistico Unix e la passione per Solaris siano la sua prima scelta.

Un amico mi chiama sottoponendomi un problema che sta avendo.
Riguarda un’immagine ISO montata sotto Solaris che non si comporta come dovrebbe o… come lui vorrebbe.
Dice di aver creato il lofs con lofiadm e di averlo montato con successo. Al momento di accedere al mountpoint, però, riceve un:

cd /mnt2
-bash: cd: /mnt2: Not a directory

Mmh.
Allora si parte con le domande di rito:
Fai un ls -la di /mnt2:

ls -la /mnt2
brw------- 1 root sys 144, 1 mag 18 21:19 /mnt2

Mmmhh, un block device file. Qualcosa non quadra. Sarebbe necessario capire cosa ha fatto durante la procedura di creazione del loFS e del successivo mount.

Niente history… ma dopo qualche smanettamento infruttuoso m’illumino.
Smonto il filesystem e distruggo il device file; notando che /mnt2 non è una directory ma un device file, sono convinto che abbia montato il device specificando a mount non che si tratta di un’immagine ISO, ma appunto di un lofs … che si può assimilare a distrazione o più probabilmente al fatto di conoscere la procedura, essersi distratto e non aver ben capito cosa si stia facendo. Quindi mount l’ha montato come quello che è, ragionando correttamente (almeno lui).

Ora da vuoto, rifaccio tutto:
Creo il device con lofiadm, /dev/lofi/1 , poi creo la dir /mnt2, e lo monto:

mount -F hsfs /dev/lofi/1 /mnt2
df -h|grep lofi
/dev/lofi/1 450M 450M 0K 100% /mnt2
cd /mnt2
ls
sparc worm x64

Perfetto. Funziona.
Il problema è riproducibile, dopo aver creato il lofs desiderato, montandolo cosi:

mount -F lofs /dev/lofi/1 /mnt2

..e verificando che /mnt2 sia un block device file e non il mountpoint sotto il quale si voleva montare la ISO.
Distrazione o errato ragionamento.

Morale: montando un loFS, bisogna specificare il tipo di FS al quale esso fa riferimento e non definendolo come loFS, quando si usa l’opzione -F di mount.

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie