dyne

Inglisc, yakuake, dualhead e Gnome, etc etc

Dublin, Ireland, 6 months so far.

Abbiamo tagliato il nastro dei 6 mesi. A lavoro tutto procede per il meglio. L’inglese ancora non e’ cosi’ fluent come vorrei ma migliora gradualmente. L’altro pomeriggio, mi pare sabato, mi ferma sul viale di casa il vecchieto vicino di casa, mi sbraita qualcosa in inglese con un accento assurdo (slang irlandese tipico specie della popolazione di terza eta’), inutile dire che ho fatto fatica a capirlo. Gli ho detto di scusarmi ma non riuscivo a capirlo, poverino, ha fatto una faccia come per dire: e che sono un troglodita? ahahah! BTW mi aveva chiesto solo dove andavo di bello. Gli dissi che andavo a prendere un paio di pinte con gli amici. Mi ha dato una pacca sulla spalla e se n’e’ tornato a casa sua.

Il vicino e’ un tipo molto cordiale alla quale piace scherzare da vecchio quale e’. Se ne esce con battute del tipo:

<<Sei in Irlanda ora! Devi camminare sul marciapiede!>> mentre cammino sul viale di casa in mezzo alla strada… in tipo tutto particolare 😀

Credo che il mio inglese a quest’ora sarebbe a livelli migliori se fossi completamente isolato dagli italiani, o se comunque avessi la possibilita’ di parlare molto di piu’ inglese durante il giorno.

Un fattore che gioca a mio svantaggio e’ che vivo con gente che parla italiano.

Purtroppo solo l’ambiente lavorativo non basta secondo me, e’ troppo tecnico. Ci vogliono situazioni di tutti i giorni. Pare che Barbara abbia trovato una prof. che fa lezioni private one to one a domicilio. Mi fara’ sapere e al limite la ingaggio. Il corso normale non basta per me. Mi ci vuole un face to face per fare conversation e qualche altra cosa di grammatica.

Ultimamente mi sto portando il portatile aziendale a lavoro per vari motivi, snobbando il portatile personale, uno dei piu’ importanti e’ che ha la tastiera uk/us che e’ troppo comoda. Ultimamente switchando tra tastiera uk/us e tastiera italiana stavo cominciando a dare di matto.

In ufficio ho un monitor LCD da 19″ pollici esterno e una tastiera esterna collegati al portatile, cio’ mi consente di avere piu’ spazio per lavorare, specie con molti terminali aperti contemporeanamente. Io uso Ubuntu su sto portatile, la ultima versione ha un buon supporto per il dualhead pero’ c’e’ qualcosa che con Gnome non va’. Quando si attiva la modalita’ dual head i pannelli di gnome (gnome-panel) se ne vanno di default sullo schermo esterno (che e’ quello piu’ grande). Se volete risolvere questo problema fastidioso dovete trascinare ogni volta a mano i pannelli nel monitor del portatile. Non c’e’ modo di dire di default dove questi si debbano aprire (almeno non attraverso la GUI ufficiale di Gnome).

Cosi’ ecco come ho risolto con questi due alias di bash/zsh, da mettere in ~/.bashrc, o quello che fa al caso vostro:

dualhead='sudo xrandr --output VGA --auto --right-of LVDS && gconftool --set /apps/panel/toplevels/top_panel_screen0/monitor --type integer 1 && gconftool --set /apps/panel/toplevels/bottom_panel_screen0/monitor --type integer 1'

dualhead_off='sudo xrandr --output VGA --off'

Sostituite “–right-of” con la vostra posizione. Potete usare:

  • –left-of
  • –above
  • –below

E altri valori, a seconda della disposizione dei vostri monitor.

LVDS indica il monitor LCD del portatile. Se anziche’ un cavo VGA utilizzate altre tecnologie come HDMI dovete sostiture VGA con non ricordo cosa. Maggiori informazioni leggendo man xrandr

Il primo alias attiva il dual head, il secondo lo disattiva. Il comando gconftool per mette, tra le altre cose, di settare proprieta’ e valori del registro di gnome. Il registro puo’ essere navigato con la gui gconf-editor. La proprieta’ monitor accetta un intero che indica il monitor. Per conoscere i path nel vostro computer usate gconf-editor.

Altra cosa fica che ho scoperto e’ Yakuake. Un terminale a scomparsa (si arrotola/srotola con F12). Provatelo! 😀

Alla prossima.

Solaris Mirror Root MiniHowto

Benvenuti nella seconda puntata.

Questo minihowto suppone che il vostro disco sia organizzato cosi’:

  • c1d0s0 e’ /
  • c1d0s1 e’ la partizione di swap
  • c1d0s5 e’ /var
  • c1d0s6 e’ /usr
  • c1d0s7 verra’ usato per ospitare metadb

Entrare in modalita’ single user:

# init 1

Smontare tutti i possibili mount point. Usare il comando format sul secondo disco c2d0, questo ci consentira’ di usare fdisk per installare preventivamente le partizioni richieste da Solaris.

Copiare la tabella delle partizioni dal primo disco sul secondo:

# prtvtoc /dev/rdsk/c1d0s2 | fmthard -s - /dev/rdsk/c2d0s2

Installare grub sul secondo disco:

# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c2d0s0

Creare 3 metadbs sullo slice 7 di ogni disco:

# metadb -af -c 3 /dev/dsk/c1d0s7 /dev/dsk/c2d0s7

Creare i metadevice submirror associandoli ai dischi reali.

# metainit -f d11 1 1 c1d0s0
# metainit -f d12 1 1 c2d0s0

Questo comando associa il submirror d11 al mirror d10:

# metainit d10 -m d11

Si fa lo stesso con le altre slice:

# metainit -f d21 1 1 c1d0s1
# metainit -f d22 1 1 c2d0s1
# metainit d20 -m d21

# metainit -f d51 1 1 c1d0s5
# metainit -f d52 1 1 c2d0s5
# metainit d50 -m d51

# metainit -f d61 1 1 c1d0s6
# metainit -f d62 1 1 c2d0s6
# metainit d60 -m d61

A questo punto lanciare metaroot per indicare quale metadisk e’ quello che monta la partizione di root. Questo comando andra’ a modificare alcuni file come /etc/system, /kernel/drv/md.conf ed anche /etc/vfstab (ma solo la partizione /):

# metaroot d10

Controllare la situazione con il comando metastat:

# metastat

Editare vfstab per farlo puntare ai raid devices sostituendo i vari device coi corrispondendi metadevice in /dev/md/:

# vi /etc/vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/md/dsk/d20 -       -       swap    -       no      -
/dev/md/dsk/d10 /dev/md/rdsk/d10        /       ufs     1       no      -
/dev/md/dsk/d60        /dev/md/rdsk/d60        /usr    ufs     1       no      -
/dev/md/dsk/d50 /dev/md/rdsk/d50        /var    ufs     1       no      -
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap - /tmp tmpfs - yes size=512m

Usare il comando lockfs e rebootare:

# lockfs -fa
# init 6

Al reboot fare l’attach dei submirror del secondo disco:

# metattach d10 d12
# metattach d20 d22
# metattach d50 d52
# metattach d60 d62

A questo punto il sync del disco secondario iniziera’. Per controlloare lo stato di avanzamento utilizzate questo comando:

# metastat | grep -i sync

PS: il sync puo’ durare diverse ore a seconda delle perfomance del vostro server e dello spazio.

How to split Solaris mirror

Eccoci, il Direttore dice che sono mono tematico ultimamente, in effetti e’ vero.

Cosi’ ecco, per gli aficionados nerd che mi leggono, un post tecnico. Come sapete sono stato in Germania la scorsa settimana per delle attivita’ on site. Uno dei task era quello di installare i server del secondo armadio per avere ridondanza. I server sono delle macchina Sun Fire X2200 (processore AMD x86).

A parte che in questo progetto ne abbiamo avuto gia’ troppo di sfiga:

  • Una di queste box che abbiamo trovato era rotta. Ti potevi connettere all’ILOM, ma dopo l’accensione della macchina ed uno start AgentInfo/console non accadeva niente. IL NIENTE. Neanche il bios si riusciva a vedere. L’omino SUN e’ poi venuto a cambiare LA CPU.
  • Su uno di questi server mesi fa siamo stati vittima di un non tanto noto bug di UFS (piu’ che bug lo chiamerei cataclisma), che ci ha fatto perdere il contenuto della root partition.
  • Il controller B di un SAN andato.

Mi chiedo se SUN faccia i quality check come si deve… Non ti aspetti simili problemi specie su macchine che si vantano di essere fighe super enterprise…

Comunque, per mettere su le macchine del secondo armadio ci si rompeva ad installare Solaris a mano in ogni macchina via CD-ROM cosi’ si e’ pensato di fare lo split del mirror delle macchine del primo armadio, usare il secondo disco di ogni macchina del primo armadio come primo disco delle nuove macchine sul secondo armadio.

Fare il boot e risincronizzare i mirror su entrambe le macchine.

Mi sono fatto una procedura che pubblico per gli altri sysadmin o wannabie tali:

  • stop all applications (runlevel 1?)
  • unmount all possible mount points. umount /var ?
  • detach the second mirror of /root, /var, swap and slice 6
    metadetach d10 d12    # /
    metadetach d50 d52    # /var
    metadetach d20 d22    # swap
    metadetach d60 d62    # slice 6, if present
  • detach the metadb on the second disk  — metadb -d /dev/dsk/c2d0s7
  • detach the metadb on the first disk forcing  –  metadb -fd /dev/dsk/c1d0s7
  • run a file check on the detached mirrors
  • mount the root file system of the detached mirror (mount /dev/dsk/c2d0s0 /mnt) (upgrade /etc/hosts, /etc/nodename, zones, etc.)
  • I hope but I don’t know if the sun engineer copied grub to the second disk.
    installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c2d0s0
  • remove all entries in /mnt/etc/system between  begin and end of MDD (do the same on /etc/system)
    * Begin MDD root info (do not edit)
    rootdev:/pseudo/md@0:0,10,blk
    * End MDD root info (do not edit)
  • remove all entries in /mnt/kernel/drv/md.conf between  begin and end of MDD (do the same on /mnt/kernel/drv/md.conf):
    # Begin MDD database info (do not edit)
    mddb_bootlist1="cmdk:71:16:id1,cmdk@ASEAGATE_ST32500NSSUN250G_0741B58YS4=5QE58YS4/hcmdk:71:8208:id1,cmdk@ASEAGATE_ST32500NSSUN250G_0741B58YS4=5QE58YS4/hcmdk:71:16400:id1,cmdk@ASEAGATE_ST32500NSSUN250G_0741B58YS4=5QE58YS4/hcmdk:7:16:id1,cmdk@ASEAGATE_ST32500NSSUN250G_0741B58Z22=5QE58Z22/hcmdk:7:8208:id1,cmdk@ASEAGATE_ST32500NSSUN250G_0741B58Z22=5QE58Z22/hcmdk:7:16400:id1,cmdk@ASEAGATE_ST32500NSSUN250G_0741B58Z22=5QE58Z22/h";
    # End MDD database info (do not edit)
  • save the original vfstab; copy /mnt/etc/vfstab /mnt/etc/vfstab.mirror (do this on the first disk too)
  • edit /mnt/etc/hosts, /mnt/etc/nodename, /mnt/etc/hostname.* and /mnt/etc/zones/*, etc.
  • restore the vfstab to boot without mirror device; maybe there is an old one (without zfs!!!) (do this on the first disk too)

Dopo aver effettuato questa procedura si spegne la macchina in questione con init 5.
Si spegne anche l’altra macchina. Quella ancora brasata.

Si attende un 30 secondi per lo spin off dei dischi (sono paranoico), poi si swappano i dischi e si eseguono le normali procedure di mirroring del root file system su solaris. Trovate un sacco di howto su internet ma ne pubblico uno alla prossima puntata.