Archive

Posts Tagged ‘sysadmin’

Tempo di fare i pacchi.

Gennaio 9th, 2008 - Gennaio 9th, 2008

Oggi giornata produttiva a lavoro. Finalmente insieme a Crash abbiamo sostituito il gateway OpenBSD aziendale della sede di Catania (hd con partizione / che ci stava per salutare). Per non dare disservizi abbiamo deciso di schiaffare il backup della notte precedente su un altro gw identico come hw, ma con l’hd funzionante. Bacula e’ stato d’aiuto non poco.

Anche il gateway della sede di Milano (una macchina Soekris con OpenBSD e hd da 2.5″) era in riparazione… Hd sminchiato anche lui… nella sede di Milano qualcuno inizialmente decideva che il sabato era il caso di staccare la corrente dal contatore… e addio hd…

Abbiamo optato questa volta per una bella CF da 1GB.

Purtroppo per ripristinare questo backup ce la siamo presi comoda, vuoi per cose e progetti paralleli, vuoi per altri impegni… fatto sta che sono passati 3 mesi, su Bacula noi facciamo un retention di 3 mesi, quindi addio backup. Fortunatamente avevo un dump, fatto con dd, di tutto l’hd da 40GB sul mio portatile aziendale.

Cosi’ installo in.tftpd e dhcpd sul mio notebook e configuro tutto (se siete curiosi di capire come leggete qui e qui). Verifico che tutto sia funzionante quindi apro un bel minicom sulla seriale del soekrist, parte il ramdisk di openbsd ma… ORRORE! mi accorgo che il ramdisk non ha ssh, ne supporto ftp o nfs… morte male… io pensavo di poter fare un bel dd over ssh ma niente da fare…

Cosi’ inizio a bestemmiare contro Teo il ratto, ma dico, ma mettetelo ssh! :P

Cosi’ girovagando per la rete e chiedendo agli amici di #mortodentro [grazie guly :*] scopro che esiste questo progetto, YAIFO: Yet Another Installer for OpenBSD.

Yaifo (Yet Another Installer for OpenBSD) is basically a stock bsd.rd kernel with sshd enabled. It also includes RAIDFRAME support. Suppose you have a server that is 500 miles away and you want to either upgrade it or do a fresh install — what do you do? You could download Yaifo for OpenBSD 4.1, edit the config file, copy your authorized_keys file, copy the server’s ssh_host_* files, compile the yaifo.rd kernel, upload it to your server as /bsd and reboot. When the server comes back up, ssh to the server as root and you will be prompted with the familiar “(I)nstall, (U)pgrade or (S)hell?” prompt.

Mentre sono li’ li’ per compilare questo ben di Dio mi accorgo che sul mio gw OpenBSD 3.8 (si, lo so, e’ vecchio, ma le cose che funzionano NON SI CAMBIANO OGNI 5 MINUTI) non posso compilarlo.

Chiedo a guly di farlo per me sulla sua macchina e ottengo due file: yaifo.fs e yaifo.rd che ora sono custoditi nel mio scrigno delle cose utili.

Mentre sto per usare questo rd via ssh seguendo le istruzioni qui mi rendo conto, mentre sto gzippando il dump dell’hd che si e’ rotto, che sto dump supera gli 8GB e ancora va’! Mi rendo conto che quando fu’ feci la cazzata di fare il dump di tutto wd0 e non delle partizioni singole… Sicuramente c’e’ un modo per estrarre dal dump le singole partizioni, magari usando disklabel sul file… ma non avevo tempo cosi’ ho deciso di usare flashdist.

Che cos’e'?

Flashdist is an embedded OpenBSD installer. It will install OpenBSD onto any attached disk, IDE or USBvnode pseudo disk device, or hard disk. CompactFlash adapter,

It is designed to install a minimal version of OpenBSD with all of its advanced networking features. The flashdist installation is mounted read-only during normal operation, eliminating the need for frequent writes. This greatly reduces the potential for both boot failure due to a dirty filesystem and for flash corruption from repeated writes. The default distribution list, GENERIC kernel and the default flashdist rc fit within 32MB of RAM and 32MB of flash. This can be scaled down with adjustments. Flashdist will leave a large amount of free space on larger storage mediums which can be used for 3rd party software, data sets, or long term log rotation from the device itself.

Scarico la immagine da 64MB per Soekris e utilizzo il comando growimg.sh per allargare la iso a 1GB della mia CF. Per usare questo comando dovete ottenre il numero di settori, cilindri e testine della vostra CF (usate fdisk su linux per saperlo).

La immagine carica ma non ho avuto il tempo di usarla. Vi faro’ sapere.

A fine serata mi sono fatto i pacchi per portare via la mia roba. Incredibile quanta roba uno si porta a lavoro… ho anche trovato una bottiglia di plastica contentente un litro di vinozzo padronale (Nero d’Avola) regalatomi da un, ormai, ex collega questa estate. Non ho osato aprirlo… sara’ aceto a quest’ora… :P

Poi ho lasciato il portatile aziendale in ufficio, acceso col Linux Rescue CD, a fare un:

sysresccd ~ #  mount /dev/sda3 /mnt/ciao_spmc/
sysresccd ~ #  wipe -r /mnt/ciao_spmc/home/pallotron/

sotto screen, e ancora STA GIRANDO :P

Sul fronte Dublino: ieri ho ricevuto qualche telefonata aggiuntiva da una recruiter per ulteriori position e pare che forse posso dividermi una doppia con qualcuno trusted… vi tengo aggiornati.

Nelle foto: colleghi mi aiutano a trasportare le mie cose fuori dall’ufficio (notate la gioia delle persone nella prima foto).

Sorry, but this post is not available in English

Sorry, but this post is not available in English

Sorry, but this post is not available in English

Popularity: 21% [?]

pallotron Hardware, Informatica, Lamentazioni, Lavoro, Unix , , , , , , ,

Primo giorno di lavoro, prime impressioni.

Febbraio 18th, 2008 - Febbraio 18th, 2008

La mia prima giornata lavorativa e’ finita. L’ho passata configurando il portatile che mi hanno assegnato. Windows brasato e Ubuntu installata. Ho una capiente scrivania con monitor LCD Dell di grande formato, tastiera e mouse Dell, entrambi USB. No pc fisso. Alcuni hanno PC fisso con dual monitor. Forse sono nonni. Io sono appena arrivato quindi non mi lamento :D .

Arrivo li’, accendo il portatile semi chiuso, e uso il monitor grande con tastiera e mouse attaccati via usb.

Mi hanno detto di configurarmi Evolution perche’ arrivano caterve di email di report Nagios e altro alla mailing list del gruppo operations, e viene piu’ facile configurarsi le regole di filtraggio (prima o poi passo a mutt! :D , non temete!).

Configuro la posta e leggo una email di benvenuto postata a tutta la mailing list:

Please join me in welcoming two new members of Operations; Angelo (started today, sitting opposite TIZIO CAIO) and $NUOVODIPENDENTE (started Friday, sitting opposite PIPPO) , both of which will initially work from the Ops Deployment Team.

Drop over and introduce yourself.

Peccato che non si e’ droppato nessuno difronte a me! ahahahaha! :D

L’IT guy seduto dietro di me mi chiede poi di crearmi una chiave GnuPG perche’ non mi voleva mandare i cert di openvpn in chiaro. Voleva fare il fighetto. Alche’ questo mi consiglia una GUI grafica per fare cio’ e io gli dico: «Non mi serve, faccio in commandline». Mi guarda con aria strana.

Dopo 5 minuti creo chiave, invio chiave a pgp.mit.edu, mi prendo la sua pubkey, firmo, trusto e riuppo la sua chiave sul keyserver.

Mi hanno creato questi account:

  • Samba share
  • Email
  • Wiki aziendale
  • Certificati Openvpn

L’ufficio e’ tutto un unico open space diviso a gruppi di lavoro. La mia scrivania e’ vicino ad una piccola server farm che sembra un albero di natale al buio, vicino c’e’ una cucina con lavastoviglie, boiler, microonde, frigo, lavello e piano cottura, macchina del caffe’, e tavoli per mangiare. Domani verifichero’ se c’e’ una tazza anche per me perche’ anch’io devo farmi il tea col latte, come si usa qui.

Ho sclerato 20 minuti a cercare di capire come mai dopo 5 minuti di utilizzo non navigavo piu’, per la precisione le sessioni tcp stabilite continuavano a funzionare ma quelle nuove no! Poi ho scoperto una merda chiamata ebox che girava sul portatile, che non so’ perche’ ubuntu mi ha installato di default. E ho risolto con un bel:

# apt-get --purge remove ebox

Probabilmente sono passato per cretino quando quello dietro a me vedeva che non riuscivo a fare un cazzo. Dice che nessuno ha mai avuto problemi con una installazione di default di Ubuntu. BAH! Linux sta diventando una merda. Si avvicina sempre di piu’ Windows e questo e’ male.

Sempre l’IT guy, dietro di me, mi ha creato la email scrivendo Failca al posto di Failla. Lo correggo.

Poi mi ha generato un certificato openvpn corrupted che non funzionava, e che mi ha fatto perdere 1 ora a capire se era un problema del file di configurazione. Gli faccio: «Penso che i certificati che mi hai dato sono corrotti». Gli faccio vedere l’output di openvpn e lui storce il naso e mi fa: «Nessuno ha mai avuto problemi da mesi, hai seguito bene la procedura nel wiki?».

Mi sono sentito preso per cretino e gli ho detto: «Li rifai i certificati e me li rimandi?». Quello li rifa’, me li rimanda, li provo e funzionano! Secondo voi dov’era il problema? :)

Successivamente mi sono configurato ssh per fare sock5 proxy su un host che ho in rete su internet e ci ho tunnellizzato tutti i protocolli di IM che uso. Cosi’, non si sa mai.

Il momento piu’ tremendo della giornata e’ stato il pranzo. Siamo andati io, il mio manager, e altri 3 ragazzi, in un ristorante vicino; Tra questi c’era un messicano anche lui nuovo (ha iniziato venerdi’). Tipo simpatico.

Il momento e’ stato tremendo perche’ ho avuto serie difficolta’ a capire cosa dicevano tutti e quattro, a volte contemporaneamente; un po’ ad essere sincero mi sono imparanoiato. Io sono un tipo abbastanza loquace a tavola, quando sono tra colleghi, e il non poter parlare come io volevo un po’ mi provocava frustrazione. Comunque qualcosa l’ho detta e l’ho capita. In particolare c’e’ un tipo che parlava in un modo assurdo, volume basso e parole impiasticciate… Vediamo tra qualche mese se riusciro’ a comprenderlo! :D

Pranzo offerto dal manager ovviamente, che dopo il lunch mi chiama nella meeting room per spiegarmi alcune cose sul lavoro. Pare che saro’ allocato a questo team di operation deployment che si occupa di far parte dello sviluppo di un prodotto, dalla sua nascita alla consegna finale al cliente. In particolare il mio gruppo entra in gioco nella fase che stra tra il development e il deployment dal cliente. Alcuni del team di deployment possono far parte delle riunioni inerenti il design dell’architettura. Ci si occupa di costruire from scratch l’architettura in modo che sia scalabile e con zero o pochi single point of failure, quindi si parla anche di storage/network/power cabling, racking, installazione di sistemi operativi, configurazione dell’hw e del sw. Mi dicono che ci sara’ anche la possibilita’ di viaggiare in europa. Vedremo. Quando il lavoro di questa fase finisce, e’ compito della gente che era in deployment trasferire le competenze in support. Eventualmente poi spostandosi in support lui stesso per fornire il supporto al cliente e quindi entrare nel giro dell’on-call, oppure essere riallocato ad un altro progetto sempre nel team di deployment.

Comunque l’impressione e’ stata positiva, mi sembrano organizzati. Il manager mi ha detto che da domani avro’ un mentor che sara’ al mio fianco nei primi tempi a cui posso chiedere tutto quello che concerne aspetti tecnici e non tecnici (eccetto alcuni altri aspetti a cui devo fare riferimento direttamente al manager, tipo problemi di ritardo o salute, problemi personali con gente o col lavoro, tipo se mi sento stressato perche’ non arrivo a fare le cose, mi sento sovrallocato, etc).

Probabilmente domani iniziero’ a vedere qualche documento tecnico e iniziero’ ad entrare piu’ nel dettaglio del lavoro. Sono un po’ imparanoiato dal mio inglese. Ma sono sicuro che migliorera’.

Ora vi saluto che devo andare a cucinarmi qualcosa. Ho un mal di schiena tremendo forse perche’ quella sedia la devo ancora sistemare. Ho comprato un po’ di prosciutto Beretta, del cheddar a fette, un po’ di pane a cassette, un po’ di Philadelphia e la carta stagnola, cosi’ domani non devo mangiare porcherie a pranzo e mi preparo due panini. :D

Popularity: 28% [?]

pallotron Esperienze, Informatica, Irlanda, Lavoro, Linux, Paranoia, Software, Unix , , , , ,

How to split Solaris mirror

Giugno 28th, 2008 - Giugno 28th, 2008

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.

Popularity: 46% [?]

pallotron Hardware, Informatica, Lavoro, Tips and Tricks, Unix , , , , ,

Impossibile sniffare sulla interfaccia di loopback in Solaris?

Agosto 12th, 2008 - Agosto 12th, 2008

Salve,

Oggi ho sclerato una giornata per fare il troubleshooting di una cosa su Solaris. Problemi di comunicazione random tra apache che fa reverse proxy verso un tomcat nella stessa Zona di Solaris con traffico passante sulla interfaccia di loopback. Pero’:

root@solaris # ./tcpdump -n -i lo0
tcpdump: /dev/lo0: No such file or directory
 
root@solaris # snoop -d lo0
snoop: /dev/lo: No such file or directory

Solaris. Sei proprio un sistema operativo di merda!

Leggete http://phildev.net/ipf/IPFsolaris.html#solaris12:

# Why can’t I filter on the loopback interface, or virtual interfaces?
The loopback interface on Solaris is a “fake” interface. You cannot filter it, nor can you snoop it. This is for performance reasons. Virtual interfaces in Solaris are very similar, to filter on them, use the physical interface instead.

Perfomance reasons! Ma andatevene affanculo va’!
Alla fine sono riuscito a sniffare in un altro modo invertendo il reverse proxy verso un tomcat di un altro nodo e sniffando sulla interfaccia reale… sono riuscito ad isolare il problema e a decidere chi dei due sia il colpevole (almeno credo) e domani ci lavoro.

Saluti.

Popularity: 24% [?]

pallotron Esperienze, Informatica, Lamentazioni, Lavoro, Unix , , , , , , ,

Considerations about Sun Solaris 10.

Agosto 23rd, 2008 - Agosto 23rd, 2008

In NewBay I’m currently working on a project which uses Sun Solaris 10 in a multi-tier architecture. I’ve already used before this system in Italy, so it isn’t new for me; in Italy I was responsible for creating Sun packages for projects made by my ex company in behalf of Nokia and Vodafone Italy.

By the way, as I started working in Newbay, I was allocated to this project called MyFaves for T-Mobile International. This is based exclusively on Solaris 10 (both x86 and sparc architecture).
After a few months I’ve used, and I’ve became pretty confident, with most of the big new and historical features of Solaris 10 like the SMF, the ZFS file system, the Solaris zone/containers.

So what do I think about it?

Well, I think the only stuff really good in Solaris are the 3 I’ve mentioned above. All the other things I’ve seen around the system are pretty crappy. When I started using SMF I was thinking: «oh man! this is ridiculous! I’ve to type svcadm enable/disable svc:/blabla/blablala/myapp:default every fucking time i need to start or stop a service! /etc/init.d/service start/stop is much more better!». Then I studied a lot this SMF, and I have to admit is brilliant! I really would like to have it in enterprises Linuxes like Red Hat, or even, let’s say, in Debian! :D

ZFS is brilliant as well! I know it’s now stable and ready for production on BSD systems like FreeBSD. I’m not really sure if the Linux ZFS implementation, which use the fuse subsystem, is ready for production as well…

Zones and containers… well… I think they’re cool. Maybe I’m wrong but I think they’ve copied the FreeBSD jails and they’ve integrated it very nicely with the system, especially with the solaris resoure manager. So you can, for exapmle, decide the amount of memory, or the number of CPUs that can be used by a single process, user, or group, in each zone. Integration between ZFS and Zones is cool as well!

Despite all these stuff I have to say that I still don’t really like Solaris:

  • I don’t like to have the f***ing old style vi written by Bill Joy.
  • I dont’t like to have defined export EDITOR=ed and export PAGER=more by default.
  • I don’t like the fucking ps command (but you have to use the one into /usr/ucb/).
  • I don’t like the fact that your default shell is an old style c-shell instead of /bin/bash
  • I don’t like the fucking OLD cron daemon which is not able to read the GNU syntax (for something like */5 to schedule a job every 5 minutes you have to write “05,10,15,20,25,30,35,40,45,50,55“. So ridicolous!!!!!)
  • I don’t like the fact that you don’t have ANY messages while booting!
  • I don’t like the packaging system, is shit compared with APT/DPKG, or with the the BSD ports system.
  • I don’t like CDE and JavaDesktop (or should I say GNOME! :P ).

Why the fuck aren’t they using the GNU subsystem instead of their own CRAP? Are they using this only on OpenSolaris maybe?

Someone might say that this is because big companies (like banks for example) are still using OLD software which needs to use old crap to work. So they need old crap shell interpreter, and stuff like that. And they obviously like to have all the old crap by default installation…

Fuck them I say! This is ridicolous! They have to do the effort to adjust their our systems to work with the new OS’s. Not me! :D

So this is what I think about Solaris 10. You can insult me now.

Cheers.
Angelo

Popularity: 23% [?]

pallotron Informatica, Lavoro, Software, Unix , , , , ,

Lazyness

Marzo 13th, 2009 - Marzo 13th, 2009

C’e’ stata una migrazione qualche notte fa per $GRANDECLIENTE. Fortunatamente io non vi ho fatto parte, se no avrei dovuto passare la notte in ufficio.

Uno step previsto per la migrazione consisteva nel disattivare tutti i check nagios della vecchia release ceh girava su una 20ina di server. La CGI Nagios e’ notoriamente uno schifo. Non c’e’ nessuna funzionalita’ tipo “select all” -> click. Cosi’ quei geni si sono messi a cliccare come pazzi, spendendo UN’ORA.

Ora, per me tu puoi fare quello che vuoi, ma siccome non si sa mai che in un futuro prossimo io debba essere al posto loro, ho rimediato con l’ennesimo script.

Fossi io avrei preferito spendere un’ora a scrivermi uno script che non mi avrebbe fatto perdere un’ora ogni volta che avessi dovuto fare una cosa del genere. E cosi’ ho fatto ieri sera dopo cena, non avendo un cazzo di molto interessante da fare.

Lo script e’ qui.

/home/pallotron/bin/nagios_extcmd.sh <-n | -N | -p | -P | -C | -c> host service_description <cmdfile_path>
/home/pallotron/bin/nagios_extcmd.sh -h
 
-n disable notification
-N enable notification
 
-p disable passive check
-P enable passive check
 
-c disable check
-C enable check

Lo script scrive qualcosa nella pipe che il daemon Nagios piazza nel file system.

Ho preso la lista dei comandi da qui.

Avrete bisogno di editarlo e cambiare il path della pipe in base al vostro sistema. Poi sbizzarrirvi con un robe del tipo:

for i in web01de web02de web03de web04de
do
   nagios_extcmd.sh -n $i "SC Apache"
   nagios_extcmd.sh -p $i "SC Apache"
   nagios_extcmd.sh -c $i "SC Apache"
done

Popularity: 17% [?]

pallotron Informatica, Lavoro, Linux, Unix , , , ,

AAA cercasi

Maggio 25th, 2009 - Maggio 25th, 2009

Sono tornato. Questo post e’ un po’ OT rispetto ai post precedenti.

Ho appena saputo che la mia azienda cerca un Deployment Engineer in USA e uno qui a Dublino per rimpolpare il gruppo di Deployment in cui lavoro. Se siete interessati cliccate qui per scaricare la job specification.

Inviare curricuvlum a pallotron <at> freaknet <dot> org

Saluti.

PS: questo annuncio e’ per chi si trova gia’ in Irlanda, o per chi si trasferira’ qui nelle prossime settimane.

Popularity: 19% [?]

pallotron Irlanda, Lavoro , ,