Il laboratorio originale

Come è nato Nixorium in un laboratorio scolastico.

Nixorium è nato in un laboratorio di una scuola superiore italiana, usato dalle classi quinte. L’aula ha 30 postazioni per gli studenti e un controller, ma i PC non possono raggiungere Internet finché un utente non si autentica sulla rete della scuola.

Studenti
Classi quinte di una scuola superiore italiana
Postazioni
30 PC degli studenti
Controller
1 (31 macchine in totale)
Il problema da risolvere

Senza autenticazione, niente Internet.

Sulla rete di istituto un PC andava in Internet solo dopo che qualcuno si era autenticato con le proprie credenziali. Un PC appena installato, o acceso senza nessuno davanti, non poteva quindi scaricare né programmi né aggiornamenti. Per ogni installazione o aggiornamento bisognava passare fisicamente da tutti e 30 i PC, autenticarsi e lanciare le operazioni a mano, uno alla volta. Non si poteva fare niente in modo centralizzato.

La soluzione è stata un controller dentro il laboratorio, che prepara i sistemi e li distribuisce ai PC sulla rete locale. Installazioni, aggiornamenti e ripristini partono adesso dal controller per tutte le postazioni, senza bisogno di autenticarsi su ciascun PC. Durante le lezioni gli studenti continuano a usare Internet con l’autenticazione della scuola.

La strada verso NixOS

Prima Clonezilla, poi Ansible, infine NixOS.

In precedenza il laboratorio era stato gestito con Clonezilla e poi con Ansible. Con Nix il lavoro è cambiato: si descrivono i sistemi voluti e si distribuisce quella configurazione tutte le volte che serve.

In seguito, per le personalizzazioni che il menu non prevedeva, invece di modificare la configurazione a mano ci si è rivolti sempre più spesso a un’intelligenza artificiale. Da quell’abitudine è nato Assistant, il servizio facoltativo del menu dell’amministratore, le cui proposte vengono controllate prima di salvare qualsiasi cosa. Scopri Assistant →

Scelte operative

Preparazione locale e avvio da rete.

L’avvio da rete UEFI (PXE) permette di installare le postazioni senza avviarle una per una da chiavetta USB. Serve per l’installazione; i PC installati si avviano dal proprio disco. Una cache binaria locale fornisce il software già pronto, e il controller distribuisce le modifiche successive in rete.

Un indirizzo DHCP serve per la rete della scuola, affiancato da un indirizzo statico per la gestione locale.

Cosa usano davvero gli studenti

Strumenti già noti, lavori al sicuro.

Gli studenti usano soprattutto VS Code, Chromium, Docker e Git. GNOME è stato scelto perché lo conoscevano già.

Per la programmazione si usa Git. Gli studenti scelgono il proprio server e quasi tutti usano GitHub. Gli altri documenti finiscono su Google Drive, tramite gli account della scuola.

Ripristino e recupero

Ripristino della home e cronologia locale.

All’avvio la home dello studente torna allo stato pulito di partenza, mentre gli snapshot locali tengono disponibili gli stati precedenti per recuperare i file. Il ripristino riguarda l’ambiente di lavoro dello studente, non l’intero sistema.

È stato valutato anche un sistema completamente effimero, con solo alcuni dati persistenti. Per questo laboratorio, ripristinare la home e conservare gli snapshot era più semplice da gestire.

Risultato osservato

Circa un’ora per reinstallare il laboratorio.

Reinstallare tutto il laboratorio richiede circa un’ora. Ancora più importante, la manutenzione è diventata più prevedibile: un’unica configurazione dichiarata, macchine coerenti tra loro e un modo ripetibile di ricostruire una postazione.

I limiti di questo racconto

È l’esperienza di un solo laboratorio.

La reinstallazione in circa un’ora è un’osservazione, non una misura di prestazioni: l’hardware e le condizioni della misura non sono stati registrati. GitHub e Google Drive sono scelte fatte in quel laboratorio, non integrazioni del prodotto. Per il comportamento e la compatibilità di oggi, consulta le guide operative.

Nixorium è sviluppato e mantenuto da un docente.

Valuta Nixorium

Comincia con un controller, poi un PC degli studenti.

Controlla i requisiti, comincia con un controller, poi prova un PC degli studenti rappresentativo prima di passare a tutta l’aula.