OpenStack

La virtualizzazione è tanto indispensabile quanto difficile da mettere in produzione.

Cinque anni fa le CPU offrivano due core: dare motore a sistemi virtuali era ardito.

Oggi le solite FX arrivano a otto core, ci sono CPU ampiamente diffuse a dodici core. Con vetiquattro CPU vertuali si ha un ampio raggio d’azione.

La virtualizzazione richiede un sistema operativo di base di fascia alta: Linux è imbattibile.

VMware è sicuramente una buona soluzione, ma i sistemi operativi alla base diventano non più aggiornabili.

VirtualBOX ha il programma di controllo in Qt ed è eccellente, inoltre nella versione OSE è in repository Debian e Ubuntu ed ha resistito ad aggiornamenti di ogni tipo. Ma se si vogliono avere caratteristiche professionali servono opzioni, come VNC, piuttosto abbandonato in ambito Linux,  che richiedono librerie VirtualBOX disponibili solo come compilati e non nelle repository usuali:  situazione che spinge a formidabili incompatibilità.

KVM è molto interessante, per esempio con ProxMox, che però, con il suo kernel 3.6.32, è piuttosto indietro.

Citrix offre una grande idea con XenServer interamente opensource, ma l’iso, a tutt’oggi, offre un i686 con kernel 3.6.32. Inoltre il sistema di gestione a corredo  è per MS .net 3.5. La versione python è lacunosa, anche se in repository  Ubuntu.

Conviene optare per una soluzione di virtualizzazione che preveda la gestione cloud, con ampio supporto, comunità estesa, framework di terzi soprattutto in repository abituali.

OpenStack è forse una buona scelta. Prevediamo ampie sessioni di test con gli usuali resoconti nel blog.

Segnaliamo un articolo che presenta l’attuale diffusione del progetto.

 

 

 

La risposta Atom nella competizione con ARM

Nella competizione tra schede AMD ed Atom compare la nuova MinnowBoard Atom

 

raspberry pi

 

Caratteristiche:

Sistema Operativo: Angström Linux (Yocto Certified)
Processore: 32-bit Intel Atom E640T single-core at 1GHz
Video: Embedded Intel GMA 600
Memoria: 1GB DDR2, 4MB SPI Flash (Firmware Storage)
Dimensioni: 106 x 115mm
Peso: 119g (excluding PSU)
Input/Output: DVI-over-HDMI, Analogue audio in & out, 2x USB, 1x SATA-2, 1x USB device, 1x Serial console, Gigabit Ethernet, 1x micro-SDIO
Extras: Lure connector with CAN bus, HD audio, LVDS, I2C, 3x PCI Express, SATA-2, SDIO, SPI bus, 2x UART, 2x USB
Power: 5V at 2.5A
Costo: circa 200$

 

Possiamo approssimare un confronto con Raspberry PI come scheda ARM di riferimento, ovvero

  • dimensioni di carta di credito
  • alimentazione 5V 1A
  • clock 700 – 1000 MHz
  • mono core
  • circa 35$ costo

Certamente il corredo con bus SATA e CAN fanno la differenza, ma giustificano il prezzo?

Tinkerkit

Tinkerkit è la proposta italiana concorrente alla cinese Grove, per realizzare uno standard di interconnessione tra schede Arduino ed elettronica sotto la veste di sensori ed attuatori collegabili direttamente allo shield con cavi tipicamente a 4 fili: due dati e due alimentazioni.

Molto apprezzabili sono la presenza di morsetti e dip per specializzare le configurazioni.

Il prezzo è nettamente superiore ai concorrenti.

Nel progetto LABijk possono trovare spazio  tutte e due le proposte.

Arduino Yún

Arduino Yun, grazie a Michele per la segnalazione, è un nuovo prodotto che potrebbe essere molto interessente nel progetto LABijk.

Infatti integra tre microntroller con schede di rete e wireless al prezzo di circa 50 €.

In pratica sono due computer: il tradizionale Arduino con il  bus IO che lo caratterizza ed un Atheros AR9331 a 400MHz con Linux Linino direttamente mutuato dal grande progetto DD-WRT, ovvero distribuzione Linux per sostituire il firmware dei più diffusi router con un sistema operativo Linux.

DD-WRT è un progetto fondamentale che permette di migliorare nettamente la conoscenza sui router che usualmente si utilizzano. Infatti questi dispositivi non vengono più visti come indipendenti dalla realtà usuale, ma come computer con un loro os, in genere proprietario,  che può essere sostituito con Linux.  Questo nuovo punto di vista permette, tra i molti aspetti,  di comparare dispositivi diversi.

L’integrazione con LABijk è in termini di nodi connessi al padre con ethernet. Infatti Arduino è molto debole sotto il profilo dello shield ethernet. Yun coniuga l’ottimo Arduino tradizionale con l’elettronica tipica di un brillante router moderno e un sistema operativo innovativo per router.

L’effetto è di poter costruire nodi con rete, wireless ed micro compact flash concorrenti e con le usuali caratteristiche, nel senso che la scheda di rete vista attraverso la libreria Arduiono è piuttosto debole, ma una cCPU da router con dd-wrt invece realizza un dispositivo eccellente. ARM board potrebbero competere: maggior potenza allo stesso prezzo, ma

  • dimensioni non da frutto d’impianto elettrico
  • instabilità date dalla SD
  • carenza di un bus IO fortemente diffuso verso l’elettronica come quello di Arduino
  • riscaldamenti inopportuni quali quelli di RPI in certe condizioni d’esercizio

sono punti a favore di Yun.

 

AMD “Hierofalcon” CPU SoC, processore rivoluzionario

AMD annucia le nuove CPU.

Nel secondo trimestre del 2014 sarà disponibile “Hierofalcon” CPU, un Cortex ARM 57 puro 64 bit, costruita per data center, utilizzi industriali e nella comunicazione.

Integra perfino una scheda di rete a 10 Gb e PCI-Express Gen 3!

Come recita l’articolo:

“Hierofalcon” CPU SoC — the first 64-bit ARM-based platform from AMD targeting embedded data center applications, communications infrastructure, and industrial solutions. It will include up to eight ARM Cortex-A57 CPUs expected to run up to 2.0GHz and provides high performance memory with two 64-bit DDR3/4 channels with error correction code (ECC) for high reliability applications. The highly-integrated SoC includes 10Gb KR Ethernet and PCI-Express Gen 3 for high-speed network connectivity, making it ideal for control plane applications. The “Hierofalcon” series also provides enhanced security with support for ARM TrustZone technology and a dedicated cryptographic security co-processor, aligning to the increased need for networked, secure systems. “Hierofalcon” is expected to be sampling in the second quarter of 2014 with production in the second half of the year.

Rhythmbox 3.0 è stato rilasciato.

Rhythmbox è un ambizioso progetto Gnome per la fruizione di contributi  musicali.

E’ stato integrato da Ubuntu nella loro proposta di windows manager.

E’ disponibile la versione 3.0 con le caratteristice (tratte da sito ufficiale):

  • Easy to use music browser
  • Searching and sorting
  • Comprehensive audio format support through GStreamer
  • Internet Radio support including last.fm streams
  • Playlists
  • Display audio visualizations
  • Transfer music to and from iPod, MTP, and USB Mass Storage music players
  • Display album art and song lyrics downloaded from the internet
  • Play, rip, and burn audio CDs
  • Automatically download audio podcasts
  • Browse, preview, and download albums from Magnatune and Jamendo

Segnaliamo inoltre i plugin e la costruzione sulle celebri GStreamer.

SUSE costituisce un’associazione per sostenere e sviluppare nell’ambiente LibreOffice

Suse è il marchio tedesco di una nota distribuzione Linux, che ha avuto momenti di grande successo.

In particolare la versione SLES Suse Linux Enterprise Server ha un buona penetrazione in ambito aziendale .

Suse è stata acquisita da Novell che tenta di aprire una nicchia nella virtualizzazione.

Il mondo desktop è da sempre stata un obiettivo di questa distribuzione. L’aggancio diretto a Libreoffice mostra una ancora viva aspirazione a presentare una soluzione per il computer ad utilizzo personale.

Linux 3.11 per Workgroups aggiunge Lustre

E’ singolare e non casuale la denominazione  “Linux 3.11 per Workgroups”.

Comunque il nuovo kernel 3.11 aggiunge:

  • il supporto del filesystem Lustre, dal mondo dei supercomputer
  • di Network File System (NFS) 4.2, con il server-side copy
  • Zswap lightweight compressed cache

  • il supporto per le CPU ARM, introdotto dal kernel 3.7, con la versione  3.11 viene ampliato dalla gestione della memoria “huge pages”  sia a 32-bit che a 64-bit;
    huge  pages si riferiscono alla possibilità di allocare pagine di memoria di 2MB invece dei 4KB.

    Il kernel Linux 3.11 è stato soprannominato “Linux for Workgroups” da  Linus Torvalds, il creatore di  Linux.

Tecnologia BLVDS

Marco M.  suggerisce:

Per la comunicazione seriale, indipendentemente dal protocollo utilizzato si può pensare di utilizzare la tecnologia BLVDS ?

http://en.wikipedia.org/wiki/Low-voltage_differential_signaling

BLVDS vede interfacce cotruite da TI e Altera
http://www.altera.com/literature/an/an522.pdf
http://www.ti.com/product/sn65mlvd047a

Aprendo una possibilità di profilo alto.

Sono indispensabili due stime: costi per unità e tempi per diventare operativi.

Grazie Marco per il contributo!

La CCIAA di Rimini lancia Quinc, la rete di imprese basata sulla creazione di un circuito di baratto per lo scambio di beni e servizi.

Sivio Z.:

Vorrei postare questa notizia ricevuta qualche giorno fà:

“Transazioni non monetarie: nasce Quinc, una rete locale per facilitare lo scambio di beni e servizi”

Facilitare i circuiti economici locali e favorire lo scambio di merci tra le aziende del territorio. Questa la finalità di Quinc – Rete economica di scambio, un progetto pilota promosso dalla Camera di commercio di Rimini, dalla Provincia di Rimini e dalle principali Associazioni di Categoria locali (Confindustria, CNA, Confartigianato, Legacoop, Confcooperative, AIA Rimini, AIA Riccione, CIA, Consorzio Sociale Romagnolo, Ordine dei Commercialisti) e che vede tra i partner tecnici Serint Group Italia e Openlinea.
Transazioni non monetarie: nasce Quinc, una rete locale per facilitare lo scambio di beni e servizi.

Linus Benedict Torvalds il 26 agosto 1991 diede l’annuncio di un nuovo sistema operativo libero: Linux

“Hello everybody out there using minix – I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.  This has been brewing
since april, and is starting to get ready.  I’d like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).

I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I’ll get something practical within a few months, and
I’d like to know what features most people would want.  Any suggestions
are welcome, but I won’t promise I’ll implement them 🙂

Linus (torv…@kruuna.helsinki.fi)

PS.  Yes – it’s free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that’s all I have :-(.

 

 

Bus a confronto: RS 485, CAN, I2C e SPI

Ringrazio Marco M. che riapre il diabattito proponendo CAN bus come  alternativa al bus RS485.

CAN è il bus utilizzato nelle automobili moderne, negli apparecchi elettromedicali e nell’industria.

Sicuramente alza di molto il profilo e quindi va provato.

Ma il grande problema è nei costi alti, per esempio, la sicuramente ottima scheda della SparkFun CAN-BUS Shield DEV-10039 sarebbe un’eccellente scelta ma costa più del doppio della scheda microcontroller.

Un po’ di tempo fa volevo avviare dei test soprattutto verso il bus dell’automobile.

E’ interessante il post tratto dalla pagina del prodotto Sparkfun:

“If you are using this board to actually create a CAN bus system (as I am for a robotic drone vehicle) then the skpang (designer of this board) code is not that helpful and a bit of a mess. It is well and good to be able to read things from your vehicle and log them, but that’s not helpful when you are trying to create an actual bus.Also, I really find it difficult when sample code does every conceivable thing all at once, forcing you to piece out the parts/understanding you need.

To create a network of senders and receivers, I tried a few different libraries. I recommend using the CANDUINO one http://code.google.com/p/canduino). Although the boards are not exactly the same, it will work, and you can see a sender and receiver working. Other libraries I tried, such as the one from saeed studios, didn’t work for me, even though their boards are pin compatible. Might have something to do with their library using a CAN interrupt which, for me, was not reliable. Receiver would get only a single CAN message and then the interrupt would never fire again. Who knows why. Spent a number of hours on this.

So just want to save other folks some time if they are looking to build an actual bus system, and not just read data from their vehicles.”

Canduino

 

 

La scheda utilizza il componente elettronico MCP2515 che si collega verso Arduino mediante SPI.

La porta SPI, che è una seriale molto veloce adatta per esempio per collegare CAM SPI, ma apre alcune problematiche spinose con Arduino: non rientra nel contesto usuale gestire più di una SPI, che viene utilizzata in modo esclusivo da atre periferiche quali lettore SD oppure (aut) dalla scheda ethernet. E’ noto che chi ha utilizzato l’ethernet shield, il programma che inserisce non può aprire contemporaneamente la scheda rete e un file in SD.

 

La gestione SPI su Arduino è piuttosto complessa.

L’alternativa è usare I2C o wire, bus molto più lento, creato dalla Philips come seriale veloce per interconnettere componenti elettronici, per esempio la scheda madre con i suoi sensori. Ma si aprono molte problematiche: le tensioni in gioco sono i 3.3 o i 5V e sono piuttosto delicate, è delicato convertire il segnale tra tensioni, il cavo non può superare grossomodo il metro e mezzo, un componente instabile sul bus può compromettere la comunicazione, …

Molti invece sono i motivi a favore del I2C: è il più diffuso bus tra componenti elettronici, quindi ci si apre alla comunicazione con l’elettronica, la libreria I2C per Arduino è abbastanza stabile,   Grove ha un HUB per I2C per Arduino, ….

twigi2cs.jpg

Arduino gestisce in origine la seriale usata per comunicare verso USB, PIN 2 e 3,  con il secondo microcontroller a board (il vecchio chip FTDI è superato).

La libreria seriale poi è stata affiancata da una libreria migliore che permette di gestire più coppie di pin in contemporanea, quindi avere più seriali TTL. Il chip MAX485 incanala la coppia di PIN al bus RS485.

Il segnale è bilanciato, collaudatissimo, può arrivare a 1200 metri, richiede due resistenze di terminazione. Le velocità sono quelle della seriale. Il protocollo è da perfezionare.

LABijk: bus di comunicazione.

Il progetto LABijk, per la complessità strutturale che lo caratterizza, richiede un’attenta riflessione sulle sue scelte di fondo: il microserver, l’architettura di questo, i microcontroller, lo standard verso attuatori e sensori, i bus di comunicazione, i protocolli di sicurezza, e molto altro.

In uno sviluppo aperto andremo a classificare in modo ordinato ogni punto citato ed altri ritenuti indispensabili.

Continuiamo il nostro dibattito soffermandoci a riflettere sul/i bus di comunicazione da adottare tra il microserver e i dispositivi i al primo livello .

E’ ovvio pensare ad ethernet, ma pesano le seguenti argomentazioni

  • impegnativo in termini infrastrutturali, switch POE, cablaggi strutturati, …
  • in termini di microcontroller comporta costi ed elettronica non trascurabili
  • Arduino in relazione alle porte  ethernet e POE non è così interessante,  anche per costi
  • il codice TCPIP per Arduino è piuttosto debole
  • i dispositivi del primo livello dovrebbero quindi essere schede ARM quali RaspberryPI
  • RPI scalda, richiedono risorse memoria enormemente superiori di Arduino, quindi usa tecnologie fragili come SD

Quindi ethernet è solo per usi specifici e vedrebbe Arduino fuori gioco, precludendo tutta la gestione dell’elettronica in stile Arduino.

I vecchi bus seriali tipo RS232 sono lenti soprattutto se il dispositivo centrale, in questo caso il micorserver,  fa pooling tra i periferici. Ricordiamo che una gestione ad eventi che parta dalle periferiche è esclusa perchè si perde il controllo delle periferiche stesse.

Consideriamo il bus USB:

  • è stabilissimo, robustezza derivata dall’enorme impiego
  • tutti lo usano a tutti i livelli
  • è uno standard: chiunque sa quale sia un cavo USB
  • Arduino con il suo primo microcontroller a bordo implementa la comunicazione USB in modo eccellente
  • i costi sono praticamente abbattuti
  • test di pooling per mesi da microserver verso Arduino via USB alla velocità massima hanno visto una precisione assoluta
  • il microserver, centro stella, può non avere seriali, ma le macchine attuali abbondano di porte USB
  • il cavo USB porta anche l’alimentazione, sufficiente per un Arduino Uno SMD con un po’ di elettronica, quindi abbiamo gratuitamente l’equivalente della POE
  • la massima lunghezza del cavo USB è di circa 5 metri, ma si possono usare estensori USB via cavo tipo rete per lunghezze pari a 50 metri. Il costo di un’estensione è di circa una decina di euro e di cavo standard rete con RJ45, che è molto meno di uno splitter POE

Linux permette il controllo preciso delle porte USB, test verso Arduino, attraverso USB, mediante programma compilato C++ in pooling mostrano il funzionamento ininterrotto in mesi.

Un aspetto delicato da capire per bene è l’adozione, da parte del gruppo di progettazione Arduino, del reset in caso di perdita di connessione del BUS USB. Aspetto che si rivela invece estremamente utile per il recupero eventuale di una periferica fuori controllo: basta chiudere e riaprire la porta USB.

I microcontroller i di primo livello, connessi al microserver centrale tipicamente mediante USB, devono comunicare con gli altri ij del secondo livello.

Le seguenti osservazioni portano alla migliore scelta per queste tratte:

  • serve un bus estremamente robusto
  • che utilizzi cavi comuni, per dire quelli utilizzati dell’impiatistica per i sistemi di allarme, trasportando anche l’alimentazione
  • che permetta tratte fino a 1200 metri
  • che sia preciso, simmetrico
  • che permetta di collegare allo stesso bus di pochi fili molte periferiche
  • che apaprtenga ad  uno standard ampiamente utilizzato.

Quindi la scelta è il bus RS485.

Le ultime considerazioni sono relativa all’ultima tratta ovvero dai dispositivi ij a quelli ijk, che sono sensori, attuatori ed elettronica varia:

  • le schede prototipali sono da escludere, possono essere tollerate in particolari utilizzi
  • rafforzando il punto precedente: le attività di saldatura di componenti, soprattutto se superficiali, sono, tranne in specifici casi,  da escludere
  • serve uno standard che porti i pin delle schede Arduino, tipicamente Uno SMD,  ad insiemi di connettori, tra le molte proposte nel mercato, la forse più ricca è lo standard  Grove
  • Grove implementa bus a 4 fili: due alimentazioni e due pin di segnali
  • il bus Grove è facilmente utilizzabile o mediante cavi patch già pronti oppure estendendo la connessione con cavo tipo quelli adottati nel sistema di sicurezza, ovvero lo stesso che abbiamo indicato per la connessione dei dispositivi i di primo livello i con i dispositivi ij di secondo livello.

 

Crunchbang e Puppy Linux

Crunchbang e Puppy Linux sono distribuzioni desktop Linux molto leggere.

Crunchbang è basata su Debian ed il window manager Openbox. E’ ottima per computer vecchi con poche risorse. Ma può essere utilizzata ogni giorno per non caricare la propria workstation.

Puppy Linux logo        

Mail User Agent personale

La scelta del programma per gestire la posta dal proprio notebook o netbook è molto delicata.

Se il sistema operativo è Linux consigliamo Thunderbird, del progetto Mozilla, oppure Evolution del progetto Gnome.

  Evolution

 

Thunderbird è forse più evoluto e con un’infinità di plugin, mentre Evolution è più integrato e prevede di base le gestioni calendario, attività ed altro. E’ superfluo ribadire che l’ambito è personale, mentre in ambito aziendale è necessario ricorrere all’appoggio di servizi contenuti in appositi server, anche in ambiente cloud.

L’ambito aziendale, richiedendo collaborazione tra decine di utenti locali, necessita dell’appoggio di servizi quali la collezione di  servizi Domino, meglio se installati su Linux. E’ certamente più immediato l’utilizzo di Google App, ma oltre a concedere l’accesso permanente ad una carta di credito, bisogna evitare ogni forma di contenuto sensibile, infatti ogni email è potenzialmente  indicizzata e quindi pubblica.

Rimandiamo, per esempio, all’articolo del Corrire della Sera: “Google, Gmail e la corrispondenza che non rimane privata”.

Webmin

Webmin è forse il miglior insieme di programmi per amministrare computer e, soprattutto, server.

Webmin ultima versione 1.650.

E’ interamente scritto in Perl, ha un webserver Perl con la configurazione di base in ascolto sulla porta 10000.

Si presenta con una web Ui, ovvero interfaccia utente da browser web,  ricchissima.

Prevede moltissimi moduli per amministrare un po’ di tutto, dagli utenti Linux a domini virtuali Apache.

La sua applicazione apre delle problematiche, per esempio non supporta l’ultimo Squid o comunque non arriva a dettagli auspicati.

Comunque tra gli strumenti del genere, Webmin è in assoluto quello più ampio e meno invasivo. E’ confrontabile con Yast, ma questo eccellente strumento è estremamente invasivo, infatti personalizza ogni file di configurazione.

Altri strumenti specifici come Swat per Samba o la collezione Gadmin riscrivono per intero i files di configurazione, rendendo impossibili se non pericolosi quei perfezionamenti a mano necessari per rendere l’assetto da definitiva produzione.

Utilizzeremo Webmin nei contesti:

  • amministrazione sistema operativo Linux, per esempio gestione utenti
  • amministrazione microserver con Ubuntu Server 12.04 LTS o 13.04 64bit
  • amministrazione Samba storage
  • amminsitrazione Backup

Non si sono visti progetti migliori, eccetto l’eccellente,ma meno vasto, framework Perl di Mauro M., esperto programmatore Perl. Questa gestione, nettamente più compatta ed omogena, ha il vantaggio formidabile di operare sui file di configurazione in modo totalmente trasparente. Infatti legge e modifica i file .conf originali in modo perfettamente non invasivo, da rendere compatibili ogni attività manuale con qualunque altra eseguita attraverso il sistema di amministrazione.