1. LINUXDAY 2012
Un'altra azienda è possibile
Ivan Rossi
BioDec S.r.l
.
ivan@biodec.com
ERLUG
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 1
2. LINUXDAY 2012
… che non usa software closed-source
BioDec S.r.l. è una società di informatica che, fin dalla
fondazione (2003), ha scelto di usare esclusivamente software
libero o open-source.
Tutte le attività aziendali sono gestite senza usare prodotti
proprietari: dal desktop alle infrastrutture cloud, passando per
la intranet e il filesystem distribuito.
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 2
3. LINUXDAY 2012
Un breve inventario
Desktop & server
– Debian, Ubuntu
Comunicazione
– Postfix, mailman, ejabberd, Asterisk, openVPN
Gestione attività e conoscenza
– Plone, Redmine, Penelope, SVN & co.
Storage e backup
– NFS, GlusterFS, Backuppc
Virtualizzazione e Cloud computing
– KVM, Ganeti, OpenNebula
Autenticazione
– NIS, OpenLDAP
Gestione di configurazione, provisioning e monitoraggio
– Fai, puppet, cfengine3, OMD + icinga, graphite & co.
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 3
4. LINUXDAY 2012
Gestione delle attività: Redmine
Redmine (http://www.redmine.org) è un issue tracker
modulare e molto flessibile e configurabile
– Progetti multipli
– Ruoli definibili e permessi granulari
– Ticket customizzabili (campi aggiuntivi)
– Sistema di reportistica flessibile
– Autenticazione su LDAP multipli
– Supporta vari DB backend
– Supporta tutti i maggiori sistemi di versionamento
● SVN, CVS, Git, Mercurial, Bazaar, Darcs
Questa flessibilità ci ha permesso di mappare il nosto flusso di
lavoro “iterazioni+kanban”
nonostante nasca per progetti software
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 4
5. LINUXDAY 2012
Redmine: rapporti
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 5
6. LINUXDAY 2012
Gestione delle attività: Penelope
Un nuovo sistema di gestione progetti
– Specializzato per la gestione di progetti software
– Focus on metodologie agili (concetto di iterazione)
– Integra issue tracking, documentazione, reportistica
– Interfacciabile a Google Docs
Finanziato dalla regione Emilia-Romagna
– POR 2010 Misura 2.1 B (Elogic, RedTurtle, BioDec)
Verrà rilasciato a breve come software libero
– http://getpenelope.github.com
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 6
7. LINUXDAY 2012
Storage: GlusterFS
GlusterFS è un file system distribuito che aggrega le risorse
fornite da storage servers interconnessi tramite TCP/IP o
RDMA (Infiniband), permettendo di creare enormi filesystems
di rete in maniera scalabile ed elastica
– Scalabile: esistono installazioni multi-petabytes
– Elastico: è possibile sia espandere che ridurre un filesystem
GlusterFS, aggiungendo o togliendo servers. (anche se è molto
più semplice espandere)
Software libero, con supporto commerciale di RedHat
Dettagli: http://www.gluster.org
Altri oggetti simili: Ceph, Lustre, MooseFS
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 7
8. LINUXDAY 2012
GlusterFS features
File system Posix
Supporto ACL e quota
Esportabile nativamente, NFSv3, CIFS (con samba)
Fault-tolerance (opportunamente configurato)
High availability (solo export nativo)
Self-healing
Installazione molto semplice e veloce
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 8
9. LINUXDAY 2012
GlusterFS: alcuni dettagli
Architettura a plugins
– NB è basato su FUSE
Componenti
– Brick: filesystem locale a un
server su cui opera GlusterFS
– Translator: componente sw che
opera su brick o subvolume, e
genera un subvolume con
particolari proprietà.
– Distribute, replicate, stripe:
speciali translator che generano
configurazioni simil-RAID
– Volume: il risultato finale, uno
share glusterfs
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 9
10. LINUXDAY 2012
GlusterFS: veramente semplice da installare
Procurarsi un paio di “server”
– installarci il pacchetto di Glusterfs e far partire glusterfsd
● Usate i pacchetti di gluster.org e non quelli delle distribuzioni.
– Preparare filesystems per i brick
● Io uso XFS su LVM
Creare un “trusted pool” dei server
– gluster peer probe numero.ip.del.server
Creare un volume gluster
– gluster volume create gv1 sgrv1.my.net:/export/brick1
sgrv2.my.net:/export/brick1
– gluster volume start gv1; gluster volume info
Installare i client e montare il filesystem distribuito
– mount -t glusterfs glssrv1.my.net:gv1 /mnt
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 10
11. LINUXDAY 2012
GlusterFS: RAID-like
gluster volume create (vol) replica (n) stripe (m) transport
(tcp,rdma) server1:brick1 server2:brick2 …
Distribute
– Il default (replica 0 stripe 0)
– I files creati vengono scritti interamente su uno dei brick
– Nessuna forma di ridondanza (JBOD)
Replicate
– I files vengono replicati interamente su diversi bricks
(RAID1,RAID5-6)
Stripe
– I files venfono spezzati in m stripes su m bricks
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 11
12. LINUXDAY 2012
GlusterFS: elasticità
Espandere un volume
1. gluster peer probe (server)
2. gluster volume add-brick (volume) (server:nuovobrick)
3. gluster volume rebalance (volume) fix-layout start
Ridurre un volume
1. gluster volume remove-brick (volume) (server:brick) start
2. gluster volume remove-brick (volume) (server:brick) status
3. ...aspettare... ; goto 2
4. gluster volume remove-brick (volume) (server:brick) commit
5.gluster volume rebalance (volume) fix-layout start
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 12
13. LINUXDAY 2012
GlusterFS: una nota di realismo
Non sperate
che con hardware scadente
il tutto vada fortissimo
La velocità sarà funzione del componente più scadente
(come sempre!)
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 13
14. LINUXDAY 2012
Alla ricerca della nuvola giusta
Le nostre esigenze di private cloud
– Aggregare installato legacy: servers KVM/virsh indipendenti con
VM su LVM, cluster di virtualizzazione
– Semplicità di migrazione VM, punti extra per live migration
Soluzioni valutate
– OpenStack: documentazione molto scadente, immaturo
● pensato per grandi installazioni (provider). Vale anche per
CloudStack
– OpenQRM: carino ma progetto one-man band.
– OpenNebula: maturo, valido scalabile, ben documentato
● Interfaccia CLI e portali
● Scalabile a grandi installazioni, ma OK sulle piccole
● Interfacciabile ad Amazon EC2
● Live migration solo con VM su file, CLVM o ISCSI (vedi anche virsh)
● Molte feature superflue per noi (portali, virtual switch,
autenticazione granulare, rendicontazione)
– Ganeti: ...
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 14
15. LINUXDAY 2012
Alla fine... Ganeti
Un sistema di gestione per cluster di macchine virtuali
http://code.google.com/p/ganeti
Simile a virsh/libvirt, ma pensato da zero per la gestione di un
cluster di server
Simile a virsh: command-line interface, no GUI &;-)
Progetto nato in Google
– Pensato per hardware COTS, requisiti minimali, peer-to-peer
– Basato su altri progetti open-source
● Requisiti software:
– Xen o KVM hypervisor
– Python, Haskell (necessario per auto-balancing)
– LVM (opzionale, ma fortemente consigliato)
– DRBD (necessario per live migration, altrimenti opzionale)
– ERLUG - Guido Trotter
Piattaforma di sviluppo: Debian Ganeti
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 15
16. LINUXDAY 2012
Ganeti: features
Xen o KVM
Migrazione automatizzata istanze (macchine virtuali)
Live migration (usando DRBD)
Allocazione automatica istanze (auto-bilanciamento)
Peer to peer: master non è SPOF
Cluster multi-site (node groups)
Sistema di provisioning interno
Interfaccia REST
Tagging di cluster, gruppi, nodi, istanze
Configurazione abbastanza semplice
– Auto-gestione di LVM e DRBD
Ganeti
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 16
17. LINUXDAY 2012
Uno schemino
Thanks: http://swift.siphos.be/aglara/platform.html
Ganeti
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 17
18. LINUXDAY 2012
Ganeti: alcuni esempi
Creazione di una nuova macchina virtuale
– gnt-instance add -t drbd -o image+squeeze -s 20G (miaIstanza)
Reinstallare una VM esistente
– gnt-instance reinstall -o (tipoOS) (miaIstanza)
Migrazione VM
– live, solo tipo drbd
● gnt-instance migrate (miaIstanza)
– a freddo, tutti i tipi
● gnt-instance move [-n nuovonodo | -I] (miaIstanza)
“Adozione” di VM esterne (siate benedetti!)
– gnt-instance add -t plain -n (miohost) --disk 0:adopt=lv (miaVM)
Emergenza!!!!
– Svuotare un nodo intero: gnt-node evacuate (mioNodo)
– il master non funziona: gnt-cluster master-failover Ganeti
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 18
19. LINUXDAY 2012
Ganeti: tagging, sembra una fesseria...
… invece è troppo comodo!
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 19
20. LINUXDAY 2012
Monitoraggio: Open Monitoring Distribution
OMD è una raccolta di strumenti integrati, finalizzata a
realizzare sistemi di monitoraggio
– Motori di monitoraggio
● Nagios, Icinga, Shinken
– Interfacce web
● Thruk, Multisite+WATO, Shinken UI, NagVis
– Grafici
● Pnp4Nagios
– Documentazione
● Dokuwiki
Costruita attorno a check-mk ed MK-livestatus
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 20
21. LINUXDAY 2012
OMD: check-mk
Check-mk è un plugin nagios dedicato alla raccolta dati
– Riduzione drastica del carico sulla CPU del server Nagios
– Inventario automatico di host e checks
– Possibilità di esportare i dati verso altri strumenti (multisite)
– http://mathias-kettner.com/check_mk.html
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 21
22. LINUXDAY 2012
OMD: Wato
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 22
23. LINUXDAY 2012
OMD: host service view
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 23
24. LINUXDAY 2012
OMD: group view
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 24
25. LINUXDAY 2012
OMD: Multisite
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 25
26. LINUXDAY 2012
OMD: PNP4nagios
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 26
27. LINUXDAY 2012
OMD: NagVis
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 27
28. LINUXDAY 2012
GRAZIE PER L'ATTENZIONE
Le slides e le riprese audio/video
dell'intervento saranno disponibili su:
http://erlug.linux.it/linuxday/2012/
Bologna, 2012-10-27 ERLUG: Emilia Romagna Linux Users Group - erlug.linux.it
Ivan Rossi, Un'altra azienda è possibile 28