Configurazione di NICE al CERN Tutti i pc che utilizzano NICE al CERN (piu` di 3.000) sono definiti in un unico dominio. Secondo Alberto Pace (una delle persone che ha sviluppato NICE, e che attualmente lo gestisce) e` possibile avere lo stesso ambiente NICE definito su piu` domini, ma non sono mai stati fatti test in proposito. Nell'ambiente NICE le applicazioni non sono installate sui singoli PC, ma solo centralmente. Su ogni nuovo PC collegato in rete viene eseguita una installazione del sistema operativo via rete e da quel momento sul PC è disponibile l'ambiente NICE con tutti gli applicativi. Sostanzialmente, ogni singolo PC si "connette" ad un Primary Domain Controller (PDC) o ad un Backup Domain Controller (BDC) che permettono l'autenticazione dell'utente, ad un NICE server (che contiene le applicazioni utilizzate dagli utenti), e ad un Home Server, in cui sono memorizzate le home directories degli utenti. Per quel che riguarda i NICE Server, in ognuno di essi sono memorizzate le varie applicazioni utilizzate poi dagli utenti finali (office, exceed, software shareware, compilatori, ecc...): per ognuno di questi programmi, nel NICE server sono "registrati" tutti i file necessari per l'esecuzione, e le relative configurazioni dei clients. Al CERN ci sono un PDC e un BDC e vari NICE server, che vengono mantenuti sincronizzati tra loro. La procedura per l'installazione di un nuovo applicativo sul NICE Server, non consiste nella semplice esecuzione di un programma di setup, ma (secondo quanto ci ha riferito Alberto Pace) è piuttosto complessa: si devono identificare i files creati e i registry modificati dall'installazione. Per far questo, al CERN usano dei PC in cui è installato solamente il sistema operativo: su di esso verificano la configurazione dei file e dei registri, installano il programma applicativo eseguendo il relativo programma di setup, e poi verificano la nuova configurazione dei file e dei registry. Esistono prodotti commerciali (come WinInstall di Seagate) che permettono di automatizzare queste operazioni, ma anche in NICE sono implementati tools di questo tipo. Una volta che la nuova applicazione e` stata accuratamente testata, viene installata su un NICE server "di riferimento", a cui gli utenti non devono mai connettersi. Questo permette ai sistemisti di di lavorare su questa macchina senza creare disagio agli utenti. Una volta che l'applicazione e` stata installata nel NICE Server di riferimento, essa viene "esportata" agli altri NICE server, e quindi messa a disposizione di tutti gli utenti. Oltre ai NICE Server "standard" possono esistere workgroup server. Un workgroup server rappresenta un server NICE utilizzato da un gruppo di utenti / pc. Nel workgroup server e` possibile "importare" direttamente e in maniera automatica alcune o tutte le applicazioni installate nei NICE Server, e/o e` possibile installare altre applicazioni, utilizzando sempre la procedura di installazione tipica di NICE. In questo modo l'amministratore di un workgroup server ha piena autonomia rispetto a chi gestisce i server centrali: puo` decidere se utilizzare o meno le applicazioni installate nei NICE server centrali, puo` decidere se mettere a disposizione dei PC del suo workgroup altre applicazioni, può effettuare una sincronizzazione parziale o totale con i NICE servers centrali solo quando lo ritiene utile. In questo modo ad esempio l'amministratore del workgroup può mettere a disposizione dei suoi utenti la nuova versione di un applicativo senza attendere che venga installata sui NICE server centrali; d'altro canto può evitare che i suoi utenti siano obbligati ad usare una nuova versione di un applicativo installata sui NICE server centrali. Infine può rendere il suo cluster di PC insensibile a guasti sulla rete che impediscano di vedere i NICE server centrali e può ottenere un miglioramento delle prestazioni in quanto il server del workgroup gestisce un numero limitato di utenti. Al CERN A. Pacheco ha implementato e attualmente gestisce un workgroup server per l'esperimento Aleph. Per quel che riguarda gli home server, al CERN tutte le home directorie degli utenti sono divise tra tre di questi server. Viene fatto regolarmente backup dei file degli utenti memorizzati in questi server. Invece il backup degli hard disks locali ai PC viene lasciato ai singoli utenti. Esiste poi un profile server, in cui sono appunto memorizzati tutti i profile (setting del desktop, dello start menu, ecc...) di ciascun utente. Esiste ancora un WWW server per il servizio WWW su cui sono memorizzate le pagine WEB degli utenti Per quel che riguarda i singoli PC "client", essi si "collegano": * al PDC o al BDC per l'autenticazione * ad un NICE Server Viene utilizzato un particolare algoritmo per decidere quale dei NICE server utilizzare (unico obiettivo di questo algoritmo e` quello di ripartire in maniera bilanciata il load tra tutti i Nice server); e` comunque possibile "forzare" l'utilizzo di uno specifico server (questo approccio viene utilizzato ad esempio per quei pc che sono client di un workgroup server) * ad un home Server Ovviamente viene utilizzato l'Home server in cui e` memorizzata la home directory dell'utente che sta usando il PC. Se tale home directory server per qualche motivo non e` disponibile, l'utente dovra` utilizzare il disco locale del suo PC per memorizzare i vari file. * al profile Server * al WWW Server Non c'è limite alla specializzazione dei server, e d'altra parte non è necessario creare server specializzati: come abbiamo potuto verificare parlando con A. Pacheco, e` possibile utilizzare uno stesso workgroup server anche come home directory server e come profile server. Sul disco locale del PC e` possibile fare il mirror di tutte o alcune applicazioni installate sul NICE Server. Queste applicazioni installate localmente vengono pero` utilizzate solamente se il PC non e` connesso in rete (ad esempio e` un portatile), o se comunque il PC non riesce a "trovare" un server NICE a cui connettersi. In linea di principio non dovrebbe essere difficile fare in modo che le applicazioni locali vengano utilizzate automaticamente anche quando è attiva la connessione in rete, ma al CERN non lo ritengono utile visto che il tempo per caricare un'applicazione dalla LAN è paragonabile a quello necessario per caricarle dall'hard disk locale. Gestione delle licenze Al Cern viene fatto un accounting dell'uso delle varie applicazioni. Viene mantenuto un file centrale di accounting, che registra quando un utente, collegato su un certo computer, ha avviato/chiuso una certa applicazione: quando viene eseguito lo shortcut relativo all'applicazione, viene registrato un record nel file di accounting. Inoltre su ogni pc viene continuamente eseguito in background un programma che controlla quali applicazioni sono in esecuzione (controllando il nome delle finestre "aperte"), e di conseguenza aggiorna il file centrale di accounting. Al Cern la gestione dell'accounting e` stata fatta in maniera molto accurata. L'accounting viene gestito anche per i pc portatitili, scollegati dalla rete, che utilizzano applicazioni NICE: quando il PC viene riconnesso in rete (anche molto tempo dopo), viene automaticamente registrato nel file di accounting centrale quali applicazioni sono state utilizzate, e in che periodi di tempo. Sono stati poi sviluppati dei programmi che permettono di interrogare questo file di accounting centrale in modi diversi, a seconda delle necessita` (i campi che possono essere specificati in questa query sono il nome dell'utente, dell'account, del computer o dell'applicazione, e il tempo). E` quindi possibile, ad esempio, verificare quanti utenti di un certo gruppo hanno utilizzato un certo programma in un certo periodo di tempo, il numero massimo di utenti simultanei che hanno utilizzato una certa applicazione, ecc... Il meccanismo di accounting è ritenuto utile soprattutto per la gestione del sistema, più che per gestire le licenze: tramite l'accounting si possono controllare gli utenti e le macchine, vedere quali applicazioni sono più usate e quali non è invece più il caso di supportare, quali sono gli orari in cui si verificano picchi di utilizzo, ecc. Per quanto riguarda le licenze ci si limita a verificare qual è il massimo numero di utenti simultanei per ciascun applicativo, in modo da acquistare un numero di licenze sufficiente a coprirlo. Al Cern non sono utilizzati meccanismi di protezione che impediscano a determinati utenti e/o computer di usare alcune applicazioni. In alcuni casi (ad es. Autocad), in cui non e` stato trovato un accordo con il vendor per una gestione del software come quella effettata al CERN, il vendor stesso ha fornito propri strumenti per la gestione delle licenze (es. un server di licenze floating). NICE e NT 5 Pacheco ha provato con successo una beta release di Windows NT 5 su un PC configurato nell'ambiente NICE al Cern. Non dovrebbero quindi esserci particolari problemi nella futura transizione di NICE da NT 4 a NT 5. Configurazione di NICE per l'INFN sezione di Padova In base a quanto abbiamo potuto verificare, crediamo che per l'INFN, e in particolare per la sezione di Padova, dovrebbe essere implementato un ambiente NICE con le caratteristiche in seguito descritte. Ovviamente le nostre considerazioni dovranno essere discusse e valutate anche con gli altri membri del gruppo di lavoro NICE-INFN. Struttura dei domini Sostanzialmente le possibili alternative sono due: A. Un dominio unico per tutto l'INFN Secondo questo modello sarebbe presente un unico PDC per tutto l'INFN (a Bologna) e uno o piu` BDC per ogni sezione B. Un dominio per ogni sezione In ogni sezione sarebbe quindi presente un PDC, ed eventualmente uno o piu` BDC Ognuna di queste alternative presenta i suoi vantaggi e i suoi svantaggi. Avendo un dominio unico per tutto l'INFN: * l'ambiente sarebbe del tutto analogo a quello del Cern, senza necessita` quindi di creare e gestire configurazioni particolari, non gestite dal CERN, a parte eventualmente la difficoltà di effettuare una sincronizzazione solo parziale con NICE al CERN * ogni utente potrebbe trovare tutti i suoi file, i suoi setting, in ogni pc NICE dell'INFN * nel caso di un problema in rete, per cui il sito in cui e` presente il PDC non è raggiungibile, non sarebbe possibile una qualsiasi "modifica" nel file degli account (ad es. la creazione di un nuovo account, la modifica di una password); non ci sarebbero invece problemi per l'autenticazione (per il login su un PC), in quanto verrebbe utilizzato il BDC presente localmente * la procedura di autenticazione effettuata normalmente tramite WAN su un unico PDC per tutto l'INFN potrebbe risultare lenta a causa dei molti accessi contemporanei. Già al CERN l'autenticazione, almeno in alcuni casi è risultata piuttosto lenta * tutti gli account degli utenti dovrebbero essere gestiti in maniera centrale (ad es. non potrebbero esistere due utenti con lo stesso username pari a 'rossi') Avendo un dominio per ogni sezione: * potrebbe essere piu` complessa la migrazione verso future versioni di Windows NT (NT 5) in cui e` prevista una diversa gestione dei domini * la gestione degli utenti sarebbe piu` semplice rispetto al modello che prevede un dominio unico * dovrebbero essere implementate n relazioni di trust, per poter "accedere" ai PC degli n domini delle altre sezioni INFN * non e` mai stato provato un ambiente NICE "diviso" in piu` domini (anche se non dovrebbero esserci particolari problemi in questo tipo di configurazione) Almeno nella prima fase di sperimentazione, riteniamo piu` opportuno l'utilizzo di un unico dominio per tutto l'INFN. Configurazione dei server Riteniamo che il modello piu` conveniente sia quello che prevede un server NICE centrale per tutto l'INFN (ad esempio a Bologna), sincronizzato con i server NICE del CERN, e uno o piu` workgroup server per ogni sezione. All'inizio potrebbe essere conveniente un unico workgroup server per sezione, ma a regime (quando le esigenze dei vari gruppi / esperimenti) potrebbero essere diversi, sara` probabilmente opportuno implementare un workgroup server per ognuno di questi gruppi/esperimenti. Va comunque tenuto conto che più sono i workgroup server e più aumenta il lavoro richiesto per gestirli. Per quel che riguarda la configurazione hw di questo workgroup server, non vi sono specifiche necessita` per quel che riguarda la CPU e la memoria, mentre e` fondamentale un collegamento in rete veloce e affidabile (fast ethernet ?) e un disco di elevate capacita` e prestazioni. Questo workgroup server potrebbe importare direttamente tutte o alcune applicazioni presenti nel server Nice centrale, e poi potrebbero essere utilizzati per l'installazione di applicazioni, non presenti nel Server Nice, ma utilizzate dagli utenti della sezione. Questo workgroup server potrebbe essere usato inizialmente anche come BDC, e come home directory server (per la memorizzazione delle home directory degli utenti delle sezioni). A regime, quando gli utenti saranno molti, sara` probabilmente opportuno l'utilizzo di uno o piu` Home directory server dedicati. Gestione delle licenze Prima di provare ad implementare meccanismi di protezioni delle applicazioni rispetto agli utenti/computer, che richiederebbero modifiche non banali di NICE con la conseguente difficoltà di acquisire le modifiche che via via vengono fatte al CERN, riteniamo che dovrebbe essere valutata la possibilita` di gestire il software con gli stessi meccanismi di accounting implementati al Cern. In ogni caso si dovrebbe verificare se i meccanismi di gestione delle licenze che si intende implementare sono accettati dalle varie case software (sarebbe assolutamente inutile implementare meccanismi che impediscono l'uso di certe applicazioni a certi utenti/computer, se poi questi meccanismi sono ritenuti non adeguati dai vendor di queste applicazioni). Va anche osservato che in alcuni casi importanti (esempio contratto Select con Microsoft) i termini del contratto di licenza fanno riferimento al numero di utenti simultanei del prodotto piuttosto che alle macchine su cui il prodotto è installato. In questi casi la gestione delle licenze effettuata dal CERN risulta più adeguata di quella che attualmente tenta di effettuare l'INFN. Proposta operativa Come primo step si potrebbe provare ad implementare un workgroup server locale. All'inizio su questo server potrebbe essere fatto semplicemente un mirror delle applicazioni installate sul server nice di Bologna, per poi provare ad installare altre applicazioni, utilizzando la procedura di installazione NICE (a tale propoisto abbiamo avuto opinioni discordi da Pace e Pacheco: uno ritiene la procedura complessa e laboriosa, un altro la ritiene abbastanza semplice). La macchina inizialmente fungerebbe da BDC, da NICE server locale, da Home Server, da Profile server, ecc. , in modo da limitare l'accesso al server di Bologna alla sola autenticazione. In caso di interruzione del collegamento con Bologna l'autenticazione avverrebbe localmente, in quanto il server locale è anche un BDC, non sarebbe invece possibile la registrazione di nuovi account o la modifica delle password. Come workgroup server si potrebbe utilizzare un PC del gruppo Delphi: un PC HP, Pentium Pro 200, 128 MB di RAM, scheda di rete 10/100 Mbps (ma attualmente collegato in ethernet): sarebbe necessario solo acquistare un disco. Su questo server potrebbero essere "configurate" inizialmente solo alcune applicazioni (Office, exceed, shareware). Il workgroup server potrebbe essere utilizzato all'inizio dai PC del gruppo delphi/cms.