martedì 27 maggio 2008

Solaris Zones multigusto

Tempo fa vengo a conoscenza di una novità riguardante le zone; oltre all'interessante introduzione del brand Linux, arrivano i containers Solaris 8.

Beh, Sun ha ben pubblicizzato la cosa, ed effettivamente più di una volta avevo pensato a quanto sarebbe stato interessante poter implementare un vecchio server Sol8 in una zona su 10. C'è Etude come strumento per passare dalla teoria alla pratica, e permettere la migrazione "indolore" (forse! Leggi: questo è ancora da vedere), di un vecchio server 8 a una zona anche a un profano di Solaris.

Son stato da clienti, non troppo tempo fa, a fare migrazioni di Db servers Oracle da Solaris 8 a 9, che sembrerà anche surreale, ma non lo è, e spesso la motivazione è la paura che l'applicativo di turno non funzioni, o non sia certificato o supportato dal fornitore "ignorante".

Quello che, invece, io ignoravo, era la possibilità di creare containers Solaris 9, cosa che tra l'altro mi ero chiesto se fosse possibile ogni qualvolta mi capitava di pensare o menzionare a Etude e zone Solaris 8.

Bene, si può. Solo su SPARC, questo è quasi ovvio, e del resto non credo sia nemmeno prevista l'implementazione di zone Solaris 8 e 9 x86 su queste "scrondiche releases", sia perchè effettivamente è meglio dimenticare che sono esistite e considerare Solaris x86 come nato con la release 10, sia perchè da un punto di vista puramente commerciale la base utenti credo sia abbastanza contenuta.

E' invece interessante, per l'architettura x86, seguire l'evoluzione dei BrandZ Linux e di xVM aka Xen.

Stiamo Tuned

domenica 18 maggio 2008

lofs delirium

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 è 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.

Visite