A Ovest Di Paperino

Welcome to the dark side.

Xensolidation

Tempo fa mi son posto una domanda che non saprei qualificare: ma se invece di avere un laptop, una workstation e un server creassi un super-computer che ne faccia le veci e sostituissi il laptop con un tablet più consono alla lettura di PDF e CBR?

A pensarci la tecnologia per farlo c’è. Ad esempio VT-d, sigla con cui Intel indica la capacità di virtualizzare, ovvero assegnare fisicamente ad un sistema operativo guest, intere periferiche: controller SATA, controller di RETE, controller USB, porte PCI-*, ecc. Teoricamente si potrebbe assegnare un’intera scheda grafica ed un controller USB ad un sistema operativo desktop che emulerebbe completamente l’esperienza di una macchina desktop pur girando su un hypervisore in compagnia di Solaris per ZFS, WHS per il backup e per servizi .Net, un Windows XP per esperimenti da usa e getta, ecc. (AMD offre una tecnologia equivalente, ma la mia familiarità con i loro prodotti è decisamente scarsa).

Il problema è che sembra che questo scenario interessi veramente a pochi esseri umani in tutto il globo relativisticamente parlando: il supporto della virtualizzazione della scheda grafica è a livello di leggenda ma posso dire, visto che sto scrivendo dalla workstation virtuale, che con un po’ di sforzo è possibile farcela. Ci son voluti mesi, dal punto di vista puramente economico è un discorso completamente in perdita se non si considera la conoscenza derivante avere un valore. Ho provato tante soluzioni: ESXi, 4.x e 5.0, non funziona. XenServer 6.0 sulla carta supporta lo scenario ma non sono riuscito ad installarlo e quindi ho deciso di propendere per la strada più contorta, ovvero XEN.Book of Xen

Devo dire che se avessi fatto l’esperimento un anno fa avrei fallito miseramente: in un anno grossi pezzi di XEN sono diventati parte del kernel ufficiale di Linux per cui oggi tutto è estremamente più semplice o in una parola sola possibile.

Va aggiunto che XEN è uno dei progetti peggio documentati che esistano per cui navigare a vista è impossibile e si sopravvive solo grazie alla Bibbia opportunamente integrata da vagonate di ricerche su Google.

Io sono partito da Ubuntu 11.10, a causa della totale disinformazione a riguardo, che mi ha lasciato intendere che l’Oniric fosse una delle poche distro a supportare XEN come Dom0. L’esperimento ha avuto però alcuni risvolti positivi, ovvero mi ha dato la possibilità di verificare che era possibile sostituire il mio setup basato su ESXi 4.x con uno pseudo-equivalente basato su XEN (improvvisamente VMWare a causa della Netflixizzazione è diventata estremamente antipatica).

Nel frattempo è stato aggiornato il Wiki con una pagina dedicata a Fedora 16 che ne esplicitava la compatibilità completa come Dom0. La sostituzione di Ubuntu con Fedora è stata pressoché indolore (un eufemismo nel mondo Linux).

L’ultimo pezzo del puzzle è stato quello di verificare la virtualizzazione della scheda grafica che seppur parziale (ovvero non funziona durante la fase di boot ma solo dalla schermata di login in poi) è risultata funzionale abbastanza da completare il mio sogno di nuvola personale. C’è ancora qualche asperità da limare (ad esempio cambiare i parametri di default di grub2 che sono complicati) ma il risultato è soddisfacente e consiste in un super-computer, prontamente battezzato Cray1, così configurato:

  • WHS che gira con il suo hard-disk dedicato e un controller USB assegnato (la scheda madre ne ha due e per fortuna uno dei due controlla le USB “frontali”, l’altro le USB “posteriori”). In tal modo ho potuto assengare una scheda audio USB ed un lettore di SD al server per il “servizio rippatutto e senza click” a cui dedicherò uno dei prossimi post.
  • Windows 7 che gira con il suo SSD dedicato e l’altro controller USB per tastiera, mouse e tutto il resto (ció però lascia il sistema Host completamente senza controller USB e per ora non mi sembra rappresenta un problema: nel caso peggiore una scheda PCI-e con qualche porta USB colmerebbe la lacuna)
  • Windows XP che gira in maniera completamente virtuale
  • Solaris, nell’incarnazione made in Nexenta, che gestisce in paravirtualizzazione i 4 dischi dati
  • Linux Fedora 16 a fare da host puro; volendo è possibile controllarlo tramite SSH o via VNC.

Per completare l’opera dal punto di vista prettamente “materiale” ho dovuto hackerare un “comodino” IKEA in piedistallo per il nuovo server accorciandolo in due dimensioni su tre e farcelo stare comodamente all’interno dell’angolo cottura.

Mi aspetto che il futuro, con il rilascio di XCP 1.5, sarà sempre più friendly verso questo tipo di progetti.

-quack