sabato 28 giugno 2008

Opensolaris 2008.5

Oggi ho installato Opensolaris sul mio notebook. Aveva bisogno di una rinfrescata, avevo su una SXCE 83 ormai datata e incasinata.

E perchè allora non provare la discussa Indiana!!

Devo dire che, rispetto alla b83 di SX c'è qualcosa di più della sensazione di una maggiore velocità, sia nel boot che nell'esecuzione dei programmi in ambiente Desktop.

I cambiamenti sono tanti, ma soprattutto incisivi.

Zfs soppianta in toto UFS; questo devo dire mi sta lasciando un bel pò di confusione.

IPS per gestire i pacchetti e il passaggio a una build superiore: in pratica utilizza un mix di snapshot/cloning zfs e Live Upgrade, frutto del comando pkg image-update. L'ho provato, ha fatto tutto lui, e dopo il reboot non ha funzionato. Credo di essere riuscito a tornare al sistema precedente e di rimuovere i resti del fallito upgrade. Tutto sommato, mi aspettavo che questo sistema di gestione dei pacchetti fosse, intuitivo, più semplice e veloce (è un accrocchio Python, a quanto pare l'errore Gentoo Portage non ha insegnato niente a nessuno). Mi aspettavo l'ennesimo apt-get ,pkg-get con la sua semplicità e friendliness, e invece c'è da usare il man anche per la più semplice operazione. Mi abituerò.

Questo post è in movimento, posterò il resto più tardi


06/07/2008 UPDATE:

E' dura per me ammetterlo, ma per avere un portatile con cui poter lavorare in modo confortevole, ho dovuto rimuovere Opensolaris ... l'alternativa era tornare a Solaris Express, ma alla fine mi sono convinto col fare il salto della barricata.
Opensolaris non mi piace, non funziona come vorrei, è scomodo, pesante, buggato; la disponibilità di pacchetti nelle repositories IPS, che era una delle features che mi ha attratto è scarsa, tant'è che negli ultimi due giorni avevo messo su pkg-get di Blastwave, che con la sua disarmante velocità, semplicità e somiglianza ad APT, è una gran cosa per gli utenti Solaris.
Insomma, tra FreeBSD e Linux, alla fine ho scelto Debian ... vedremo cosa dirà il tempo, insistere su usare Opensolaris o SX sul portatile ha saputo darmi un'idea di "privazione" che Linux non mi da, sebbene non possieda tante features che il bimbo di Sun ha.

venerdì 20 giugno 2008

Playing Linux Raid and Logical Volumes

Stasera si gioca col software Raid di linux.
Ho un Multipack di Sun, quello da 6 dischi scsi SCA (esiste il modello da 12) ... è pieno.
Ho Linux e in questo momento desidererei Solaris :)
Ma non demordo mica ... ho 6 dischi da 32 Gb e il bisogno di un volume per metterci "files artistici di futuristica visione commentanti un domani possibile", dicasi Star Trek; tanti ST!

Valuto che sarebbe bene un Raid5, meglio se ha spalmato sopra un volume e filesystem dinamici, per riorganizzare in seguito gli spazi.

Avendo a disposizione un Jbod e un HBA scsi senza RAID hardware, andrei per un Raid5 software con sopra quella che chiamerei una soft partition ... se solo avessi Solaris ... due comandi è il gioco è fatto.

SMETTILA!!

Il Software Raid di linux (mdraid) e lvm2 fanno al caso mio, quindi si comincia.
Su ogni disco fisico creo una partizione a colpi di:

# fdisk /dev/sdX

X va da a a a f.

Queste partizioni le darò in pasto a mdadm per creare il bimbo raid5, praticamente così:
#/sbin/mdadm --create --verbose /dev/md0 --level=5 \
--raid-devices=6 \
/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 35559744K
mdadm: array /dev/md0 started.

E questo è quanto, il disco logico raid5 è fatto; la palla passa a LVM2
Si tratta di tirare dentro md0 come PV, Phisical Volume, e creare un VG, Volume Group
che lo contiene ... esso avrà un nome, il mio si chiama multipack.

#pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
#vgcreate multipack /dev/md0
Volume group "multipack" successfully created

Ok, infine, dando i Pe disponibili nel VG, visualizzabili col comando vgdisplay alla riga Free PE
si crea il Logical Volume:

lvcreate -l 43407 multipack -n DATA
Logical volume "DATA" created

Ora possiamo dire di avere il nostro bel volume, eccolo in tutto il suo splendore:

lvdisplay /dev/multipack/DATA
--- Logical volume ---
LV Name /dev/multipack/DATA
VG Name multipack
LV UUID Db0D3T-2xo0-uik3-hZdk-ykd4-61X0-Y1tUXY
LV Write Access read/write
LV Status available
# open 0
LV Size 169,56 GB
Current LE 43407
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0


169 Gb protetti, non male, speriamo anche funzioni come si deve;
devo dire che fin'ora, su macchine di produzione che mi sono capitate è
andato sempre tutto liscio.
Non rimane che scegliere un filesystem e crearcelo su, poi è pronto per essere montato.




martedì 17 giugno 2008

Into the Depths of Solaris Cluster

Ormai è deciso, il voucher per la cert Sun Cluster Adinistrator 3.2 con retake "aggratis" sarà mio entro il 20 giugno. 200 euro, 5 minuti di nostalgia per le partite a flipper sacrificate per pagare l'esame e poi ... si studia!

A parte questo ... Stasera viaggiavo per impervie directory con la mezza idea di cercare di sistemare alcune Did in status Fail su un cluster di produzione, quando mi addentro in /usr/cluster/lib. Effettivamente non l'avevo ancora fatto ... ci sono scripts a bizzeffe laggiù, con interprete la più classica delle shell su Solaris, miss Korn, ma anche qualche script sh:

root@prXXXXX1 # file /usr/cluster/lib/scadmin/ql/*|grep ksh
/usr/cluster/lib/scadmin/ql/data_change: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/ql_cleanup: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/ql_lu_begin: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/ql_mount: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/ql_stopapp: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/ql_upgrade_status: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/ql_util: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/replace_bootcluster: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/restore_bootcluster: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/split_mode_upgrade_begin: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/split_mode_upgrade_common: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/split_mode_upgrade_recovery: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/upgrade_partition: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/upgrade_partition_a: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/upgrade_partition_a_common: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/upgrade_partition_b: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/upgrade_partition_b_common: executable /bin/ksh script
/usr/cluster/lib/scadmin/ql/upgrade_status: executable /bin/ksh script


Mica male ... c'è molta roba seria qui in mezzo, come al solito non documentata.

E sotto /usr/cluster/lib/sc c'è anche di meglio, sebbene questa pare sia già inserita in $PATH, probabilmente dal .profile-EIS o dagli "omini" Sun per iniziativa loro o per volere della onnipotente "CheckList":

root@prXXXXXXX1 # file *|grep sh
clvxvm_impl: executable /bin/ksh script
config_ipv6: executable /bin/ksh script
dofsck: executable /bin/ksh script
ipv6_check_ccr: executable /bin/ksh script
newcleventlog: executable shell script
pmfd_debug: executable /usr/bin/sh script
print-show: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped
rgmd_debug: executable /usr/bin/sh script
run_reserve: executable /usr/bin/ksh script
sc_publish_event: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped
sc_update_hosts: executable /bin/ksh script
sc_update_ntp: executable /bin/ksh script
sc_zonescheck: executable /bin/ksh script
scquorumconfig: executable shell script
scslmthresh: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped
tunhb_check_ccr: executable /bin/ksh script
update_quorum_disks: executable /usr/bin/ksh script
vlan_check_ccr: executable /bin/ksh script


Tutti gli scripts hanno una descrizione nell'header, questa serata è stata molto istruttiva :)

Ah, vediamo se ho indovinato sulla provenienza di ./lib/sc in $PATH:

root@prXXXXX1 # cat /.profile-EIS |grep sc
# This file is set up by the setup-standard script.
PATH=${PATH}:/usr/cluster/bin:/usr/cluster/lib/sc


YES!!

mercoledì 11 giugno 2008

Debian: voglio sempre lo stesso kernel!

Stasera cercavo di far smettere ad apt di continuare a propormi l'ennesimo update del kernel.
Questo per ovviare al "piccolo inconveniente" di dover aggiornare qualcosa come 10 revisions in 10 giorni ... un bit esagerato, trovo.

Il mio amico Norsys mi punta a una guida su Debianizzati.org, la cosa è semplice quanto interessante.

dpkg --get-selections > selections.txt

Questo mi genera un file di testo contenente la lista dei pacchetti e l'azione da intraprendere in caso di update.

Esse possono essere: install, deinstall, hold.

Ciò di cui ho bisogno è di mettere in hold l'attuale kernel contenuto nel pacchetto linux-image-2.6.24-16-386 e i suoi amichetti tipo restricted-modules ecc. Metto il tag hold, et voilà.

E' necessario reimportare le selezioni

dpkg --set-selections < selections.txt

A questo punto la presenza della revision 19 dell'immagine del kernel in un apt-get update è
censurata con grande happiness del sottoscritto.
C'è da considerare che, come anche indicato nella guida, questa scelta potrebbe inibire
l'update di altri pacchetti che dipendono da un linux-image più recente, ma questo era già stato
messo in conto e quindi è da consigliare un aggiornamento di tanto in tanto.

Visite