ITTO20070387A1 - Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema - Google Patents

Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema Download PDF

Info

Publication number
ITTO20070387A1
ITTO20070387A1 IT000387A ITTO20070387A ITTO20070387A1 IT TO20070387 A1 ITTO20070387 A1 IT TO20070387A1 IT 000387 A IT000387 A IT 000387A IT TO20070387 A ITTO20070387 A IT TO20070387A IT TO20070387 A1 ITTO20070387 A1 IT TO20070387A1
Authority
IT
Italy
Prior art keywords
srv1
processor
srv2
computer
server
Prior art date
Application number
IT000387A
Other languages
English (en)
Inventor
Baldo Umberto Dalporto
Original Assignee
Reven Ge S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Reven Ge S R L filed Critical Reven Ge S R L
Priority to IT000387A priority Critical patent/ITTO20070387A1/it
Priority to EP08153846A priority patent/EP2000911B1/en
Priority to AT08153846T priority patent/ATE452367T1/de
Priority to DE602008000400T priority patent/DE602008000400D1/de
Publication of ITTO20070387A1 publication Critical patent/ITTO20070387A1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2051Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant in regular structures

Description

DESCRIZIONE dell'Invenzione Industriale avente per titolo:
"SISTEMA DI ELABORATORI COMPRENDENTE ALMENO DUE ELABORATORI E RELATIVO METODO PER IL FUNZIONAMENTO CONTINUO DI DETTO SISTEMA"
DESCRIZIONE
La presente invenzione si riferisce ad un sistema di elaboratori del tipo comprendente almeno due elaboratori.
Più in particolare, la presente invenzione si riferisce ad un sistema di elaboratori comprendente almeno due elaboratori, in particolare due server, collegati in modo tale da formare una singola entità per un utente esterno.
La presente invenzione si riferisce inoltre ad un metodo per il funzionamento continuo di un sistema di elaboratori comprendente almeno due elaboratori.
Con l'aumento dell'importanza delle infrastrutture di "Information Technology", è cresciuta anche la necessità di sistemi in grado di garantire un'alta affidabilità dei servizi sia verso l'intemo che verso l'esterno, a partire dai server. L'affidabilità di un sistema è legata alla sua capacità di riprendere o non interrompere il normale funzionamento anche in seguito ad una anomalia, ad esempio un guasto od un malfunzionamento, di suoi componenti o di componenti ai quali è collegato, siano essi di tipo hardware che di tipo software, e di assicurare una certa congruenza dei dati in questa situazione.
In passato, e non solo, il bisogno di server ad alta affidabilità si era sempre scontrato con la complessità ed il costo dell'hardware e del software necessario, sia per l'acquisto che per la loro manutenzione.
Nel corso degli ultimi anni i convenzionali sistemi "single server", cioè quei sistemi che impiegano un singolo elaboratore server, sono migliorati sensibilmente sotto il profilo della capacità di sopportare alcuni tipi di malfunzionamenti. Grazie alla presenza di sottosistemi di alimentazione e di raffreddamento ridondanti, di meccanismi di protezione dei dati con tecnologia RAID (Redundant Array of Independent Disks) e di sistemi di gestione "intelligente" di memorie e processori, si è cercato di limitare i danni causati dalla rottura delle parti più delicate.
Tuttavia, nonostante i progressi della tecnologia, un single server è ancora soggetto a numerosi rischi di rottura o malfunzionamento, che possono bloccare l'erogazione dei servizi. La limitazione più grave è dovuta al fatto che non è possibile prevedere il tempo necessario per il ripristino del funzionamento. Infatti, tale tempo dipende a sua volta dai tempi dell'assistenza, che variano in funzione dell'ora diurna o notturna, del giorno lavorativo o festivo, e della distanza che deve percorrere l'operatore o il tecnico. Il rischio viene aggravato dai tempi necessari per reperire parti di ricambio, anche in considerazione del fatto che la tecnologia si evolve rapidamente, e spesso - dopo pochi anni - alcuni componenti non sono più facilmente reperibili sul mercato. Per questo motivo, alcune aziende decidono - paradossalmente - di acquistare due server completi, e di tenerne uno di scorta per le situazioni di emergenza.
Un altro convenzionale approccio al problema della ricerca di un sistema che offra alta affidabilità è quello della tecnologia cluster. La tecnologia cluster permette di unire due o più server, che devono necessariamente essere uguali, all'interno di una unica entità logica. Per altro, la complessità ed il costo di un cluster con più di due nodi è tale che questa configurazione non verrà presa in considerazione.
Dal punto di vista fisico, tutti i server (nodi) che fanno parte di un cluster sono uniti fra loro da una connessione dedicata, normalmente una LAN, e possono accedere allo stesso pool di dischi, ad esempio con tecnologia SCSI SATA / ATA o Fiber Channel. I nodi hanno tutti un disco locale o due dischi in configurazione Raid 1 (mirroring), non condiviso/i, che ospita il sistema operativo e le applicazioni, o parte di esse, mentre i dati utente risiedono nel pool condiviso.
La tecnologia cluster prevede la virtualizzazione di risorse come "network name", indirizzo IP, applicazioni, servizi e spazio su disco. Queste unità virtuali possono essere attive su uno solo dei nodi del cluster, e vengono spostate in modo del tutto automatico da un nodo all'altro quando si verificano malfunzionamenti oppure per interventi di manutenzione.
Gli utenti dei servizi sono automaticamente indirizzati verso il nodo dove si trovano le unità virtuali corrispondenti. Esistono anche delle applicazioni particolari che funzionano contemporaneamente su entrambi i nodi del cluster.
Un cluster risolve il problema dell'alta affidabilità dal punto di vista della continuità ("business continuity") ma non di quello del processamento continuo ("continuous processing"): quando un nodo si rompe, infatti, tutte le attività in esecuzione su quel nodo si arrestano, con tutto quello che ne consegue, così come le connessioni aperte verso gli utenti. I servizi vengono spostati su un altro nodo, dove vengono attivati nello stesso modo in cui vengono attivati all'accensione del server. Tutti i principali sistemi operativi offrono opzioni di cluster, molto simili fra loro per funzionalità: fra queste, la più nota e diffusa è quella di Microsoft®, che è stata utilizzata per gli esempi contenuti in questo documento.
Una soluzione cluster permette un notevole salto di qualità, sotto il profilo della tecnologia, rispetto a una soluzione single server, ma presenta comunque alcuni punti critici. Il costo del sistema operativo e del software di clustering è molto elevato, ed è pari a più di cinque volte il costo del software per un single server, così come è più elevato il costo di configurazione, che è un'operazione abbastanza delicata. Anche i costi di gestione sono elevati, per la complessità e la delicatezza della gestione di due nodi, in cui una sola manovra sbagliata potrebbe portare alla perdita di tutti i dati degli utenti. La soluzione, quindi, non è alla portata di un normale amministratore di sistema.
Oltre allo svantaggio sopra ricordato, relativo all· eccessivo costo, il cluster presenta anche una limitazione dovuta al fatto che i dati degli utenti e delle applicazioni sono posti in un pool di dischi visibili direttamente (DAS) da ogni nodo tramite bus di tipo SCSI o Fiber Channel. La rottura di un qualsiasi componente collegato a questo bus può produrre il blocco di tutto il bus e quindi di tutto il cluster ("single point of failure").
Inoltre, in un cluster, un disco del pool viene utilizzato come "quorum disk", e contiene tutto quello che serve al corretto funzionamento del cluster stesso. Una situazione di corruzione dei dati su questo disco provoca il blocco di tutto il cluster ("single point of failure").
Scopo della presente invenzione è quello di proporre un sistema di elaboratori che risulti meno costoso rispetto ai convenzionali sistemi cluster e che, allo stesso tempo, offra una affidabilità superiore di quella offerta dai sopraccitati sistemi di tipo single server.
Forma pertanto oggetto della presente invenzione un sistema di elaboratori come descritto dalla rivendicazione 1. Forme di attuazione preferite del sistema secondo l'invenzione sono definite nelle rivendicazioni indipendenti dalla 2 alla 16. Forma oggetto della presente invenzione anche un metodo per il funzionamento continuo di un sistema di elaboratori come descritto dalla rivendicazione 17 e sue forme di realizzazione preferenziali definite dalle rivendicazioni dipendenti dalla 18 alla 24.
Per meglio comprendere l'invenzione ed apprezzarne i vantaggi, vengono di seguito descritte alcune sue forme di realizzazione esemplificative non limitative, facendo riferimento ai disegni allegati, in cui:
- la Figura 1 rappresenta in modo schematico un esempio di realizzazione di un sistema di elaboratori secondo l'invenzione comprendente due elaboratori, in particolare server;
- la Figura 2 illustra una vista prospettica del sistema di elaboratori di Fig. 1 in configurazione assemblata;
- la Figura 3 rappresenta uno schema operativo degli stati di funzionamento del sistema di elaboratori di Fig. 1.
In Figura 1 è mostrato in maniera schematica un sistema di elaboratori 100 realizzato in accordo con un esempio dell'invenzione. Il sistema elaboratore 100 comprende almeno un primo server SRV1 ed un secondo server SRV2 collegato al primo server SRV1 in modo da formare una entità singola per un utente esterno che utilizzi il sistema stesso. Si osservi che, anche se gli insegnamenti dell'invenzione sono particolarmente adatti ai sistemi che impiegano server, essi sono applicabili anche per altri tipi di elaboratori elettronici per i quali l'affidabilità fornita può risultare d'interesse.
Secondo l'esempio descritto, il primo server SRV1 è di tipo di per sé convenzionale e comprende una prima scheda-madre 1, una prima unità di controllo e processamento 2, una prima memoria 3, quale una memoria RAM, ed un primo modulo controllore 4 di tipo RAID, dove RAID è l' acronimo di "Redundant Array of Independent Disks".
Ad esempio, la scheda-madre 1 può essere una scheda Intel SE7320EP2 in grado di caricare un sistema BIOS (Basic Input/Output System) convenzionale quale, ad esempio, un AMI BIOS. Come noto, il sistema BIOS è un software che determina le operazioni che il rispettivo computer può effettuare senza accedere ad applicativi residenti su un disco.
Come è evidente per l'esperto del settore, il modulo controllore RAID 4 si occupa della gestione di dischi risolvendo anche situazioni di guasto mediante riorganizzazione degli stessi.
Inoltre, vantaggiosamente, il primo server SRV1 include un primo modulo d'interfaccia LAN 5 che consente al server SRV1 stesso di accedere ad una rete LAN (Locai Area Network) e, quindi, ad una rete esterna come una rete Internet.
In Figura 1 è inoltre schematizzata una prima unità di alimentazione 6, quale un alimentatore collegato alla rete di alimentazione pubblica, per fornire al server SRV1 stesso l'adeguata tensione di alimentazione. Tale prima unità di alimentazione 6 è comandabile mediante opportuni segnali per interrompere l'alimentazione del server SRV1 e, quindi, spegnerlo.
Il primo server SRV1 è provvisto anche di un primo blocco elettronico di gestione 7 a cui è affidata, come si chiarirà nel seguito, parte della gestione delle anomalie o guasti nel sistema 100. Vantaggiosamente, il primo blocco elettronico di gestione 7 è realizzato con moduli di tipo hardware e, ad esempio, mediante circuiti logici integrati, in modo che risulti più affidabile rispetto a moduli di tipo software.
Il secondo server SRV2 è realizzabile in modo analogo al primo server SRV1. Pertanto, il secondo server SRV2 può comprendere moduli e blocchi analoghi ai corrispondenti componenti del primo server SRV1, rappresentati in Figura 1 con gli stessi riferimenti numerici usati per il primo server SRV1, ma seguiti da un apice '"". Si osservi che i due server SRV1 e SRV2 sono fra loro indipendenti e sono destinati ad operare l'uno in alternativa all'altro.
Il sistema di elaboratori 100 comprende anche un modulo di interconnessione 8 avente una prima porta d'ingresso PI collegata al primo server SRV1, in particolare al primo blocco di gestione 7, una seconda porta P2 collegata al secondo server SRV2, in particolare al secondo blocco di gestione 7', ed una terza porta P3 collegata ad un blocco di immagazzinamento o memorizzazione 9.
Ad esempio, il modulo di interconnessione 8 è un collegamento in Tecnologia INFINIBAND che rende possibile l'accesso al blocco di immagazzinamento 9 sia da parte del primo server SRV1 che del secondo server SRV2. Invece, lo scambio di segnali di diverso tipo fra il primo blocco di gestione 7 e il secondo blocco di gestione 7', e quindi fra i due server SRV1,SRV2 viene implementato tramite una LAN dedicata che colloquia con una interfaccia seriale RS232 posta su ciascun server SRV1,SRV2.
Il blocco di immagazzinamento 9 comprende moduli di memoria, ad esempio comprendenti dischi rigidi, nei quali sono immagazzinati i dati del sistema 100. Nell'esempio di Figura 1 è schematicamente mostrato un pool di otto dischi rigidi HD1-HD8 in grado di immagazzinare almeno il sistema operativo, ad esempio in un primo disco rigido HD1, caricabile da ciascuno dei due server SRV1,SRV2, ed ogni altra applicazione software o dati impiegabili dai server SRV1,SRV2 stessi.
A titolo di esempio, il primo disco rigido HD1 può immagazzinare i seguenti sistemi operativi: Microsoft Windows Server 2003 Enterprise Edition, Microsoft Windows 2000 Advanced Server, Red Hat Linux Enterprise, SUSE LINUX Enterprise Server e Novell NetWare. Vantaggiosamente, ciascuno dei moduli di memoria del blocco di immagazzinamento 9 è dotato di un modulo di gestione-disco EC1-EC8, quale un circuto elettronico che implementa una logica di controllo, dei rispettivi dischi rigidi HD1-HD8. Ad esempio, i dischi rigidi HD1-HD8 possono essere in tecnologia SATA o SAS, in particolare sono dei dischi HDU SATA II, e, unitamente al relativo modulo di gestione-disco EC1-EC8, sono montati su un rispettivo vassoio, o "tray", del tipo che consente l'estrazione a caldo ("hot swap").
È importante osservare che il pool di dischi HD1-HD8 non è proprietario di uno solo dei due server SRV1,SRV2 ma è un pool comune ai due server SRV1,SRV2 stessi, e al quale, però, vi accederà solo un server SRV1,SRV2 per volta. Inoltre, il pool di dischi HD1-HD8 è provvisto di una rispettiva unità di alimentazione 10, ridondata.
Il blocco di immagazzinamento 9 è collegato alla terza porta P3 del blocco di interconnessione mediante un collegamento in tecnologia Infiniband.
Con riferimento alla Figura 2, il sistema di elaboratori 100, da un punto di vista della struttura esterna, può essere provvisto di un unico contenitore o chassis 20 nel quale trovano alloggio il primo server SRV1, il secondo server SRV2 ed il modulo di immagazzinamento 9. Inoltre, ogni server SRV1,SRV2 può essere dotato di una piastra di interconnessione Infiniband che svolge il ruolo di modulo di interconnessione 8.
Inoltre, sia il primo server SRV1 che il secondo server SRV2 sono dotati di un rispettivo applicativo per l'individuazione di anomalie dei server SRV1,SRV2. In particolare, ciascuna scheda-madre 1,1' del rispettivo server SRV1,SRV2 è in grado di processare un applicativo software "watch-dog", di per sé convenzionale, tale da rilevare il verificarsi di un evento anomalo, quale un guasto, dell'altro server SRV2,SRV1. Questo tipo di applicativo può essere analogo a quello implementato sui server cluster di arte nota e prevede che uno dei due server SRV1,SRV2 invii periodicamente all'altro server SRV2,SRV1 un segnale di interrogazione o monitoraggio. Nel caso in cui non si riceva risposta al segnale di interrogazione, il server SRV1,SRV2 che ha inviato tale segnale potrà ritenere di aver rivelato la presenza di una anomalia nell'altro server SRV2,SRV1.
Le anomalie o guasti rivelabili sono di diverso tipo e ad esempio, comprendono: malfunzionamento di una CPU 2,2' dei server SRV1,SRV2, rottura di un server SRV1,SRV2, rottura di un disco rigido HD1-HD8, rottura di un modulo di controllo RAID 4,4', rottura di un'unità di alimentazione 6,6' o 10, hang di sistema operativo, hang di connessioni, distacco di cavi, rottura di una porta hub, malfunzionamento di un applicativo definibile dall'utente.
Con riferimento alla figura 3 verrà ora descritto un esempio di funzionamento del sistema di elaboratori 100.
In una fase di avvio, non rappresentata, sia il primo server SRV1 che il secondo server SRV2 sono accesi e quindi alimentati dalle rispettive unità di alimentazione 6,6'.
In conseguenza dell'accensione, entrambi i server SRV1,SRV2 effettuano l'operazione di caricamento del relativo BIOS. Inoltre, il sistema 100 è configurato in modo tale che solo uno dei due server SRV1,SRV2, ad esempio il primo server SRV1 può accedere, per averne il controllo, al blocco di immagazzinamento 9, mediante il modulo di interconnessione 8, e quindi accedere al contenuto dei dischi rigidi HD1-HD8.
Pertanto, il primo server SRV1 accede al primo disco HD1 e carica il sistema operativo portandosi in uno stato attivo 112. In tale stato attivo 112, il primo server SRV1 potrà accedere a tutti i dischi del blocco di immagazzinamento 9 per impiegare tutte le applicazioni software in esso residenti processandole sulla propria unità di controllo e processamento 2, in modo convenzionale.
Invece, il secondo server SRV2, dopo aver effettuato il caricamento del BIOS, non accede al blocco di immagazzinamento 9 e non effettua il caricamento del sistema operativo portandosi, quindi, in uno stato di attesa o stand-by 104.
Il diverso comportamento dei due server SRV1 e SRV2 in seguito alla loro accensione, e cioè l'accesso consentito o inibito al blocco di immagazzinamento 9, è imposto dal relativo blocco di gestione 7 e 7'.
Durante il normale funzionamento del primo server SRV1, il secondo server SRV2 dallo stato di monitoraggio 106 invia, grazie al proprio applicativo watch-dog, segnali di interrogazione all'applicativo watch-dog del primo server SRV1 (stato di monitoraggio 114) in modo da poter rivelare una eventuale situazione di guasto del primo server SRV1. Tali segnali di interrogazione sono inviati dal secondo server SRV2 al blocco di interconnessione 8 e, quindi, al primo server SRV1. Inoltre, ciascun modulo di gestione-disco EC1-EC8 invia e riceve segnali tramite il blocco di interconnessione 8 al primo server SRV1.
Nel caso in cui si riveli un evento anomalo relativo al primo server SRV1, il sistema 100 inibisce al primo server SRV1 l'accesso ed il controllo del blocco di immagazzinamento 9 ed invece consente l'accesso al secondo server SRV2.
In particolare, l'inibizione dell'accesso al blocco di immagazzinamento da parte del primo server SRV1 avviene, vantaggiosamente, spegnendo il primo server SRV1 stesso. Più in dettaglio, il blocco di gestione 7 è informato dell' avvenuta anomalia dal watch-dog del primo server SRV1 stesso e, agendo sull'unità di alimentazione 6, comanda la commutazione in modo da interrompere l'alimentazione di tensione elettrica al primo server SRV1 (stato 116). Successivamente il server SRV1 passa allo stato 118 che contempla il ritorno allo stato iniziale 101.
Inoltre, consentendo l'accesso al blocco di immagazzinamento 9 da parte del secondo server SRV2, si fa in modo che questo effettui un reboot e cioè carichi il sistema operativo dal primo disco rigido HD1 (stato 110) portandosi in uno stato attivo 102 ed assumendo il pieno controllo del blocco di immagazzinamento 9. La gestione della fase di trasferimento del controllo del blocco di immagazzinamento al secondo server SRV2 è affidata al secondo blocco di gestione 7'.
A questo punto, il secondo server SRV2 accedendo al blocco di immagazzinamento 9 può leggere o aggiornare i dati in esso immagazzinati dal primo server SRV1 e processare le applicazioni che risiedono su tale blocco 9 a seconda delle necessità. Quindi, al completamento del reboot effettuato dal secondo server SRV2, la situazione di guasto del primo server SRV1 è stata risolta, in quanto il sistema di elaboratori 100 è in grado di continuare ad operare.
Qualora la situazione di anomalia sul server SRV1 si risolvesse, il controllo della gestione del sistema 100 ritorna al server SRV1 (stato 108).
Si osservi che gli stati 101,104 e 106 sono rappresentati da un rettangolo con riempimento di linee tratteggiate da sinistra verso destra, lo stato 102 da un rettangolo con riempimento di linee tratteggiate da destra verso sinistra, e gli stati 112 e 114 da un rettangolo con riempimento di linee verticali. Ciò corrisponde ad un sistema di segnalazione visibile esternamente ad un utente del sistema di elaboratori 100, in modo da consentirgli di individuare visivamente in quale stato di funzionamento si trovano i due server SRV1,SRV2. Ad esempio, le linee tratteggiate da destra verso sinistra corrispondono ad un lampeggiamento di un LED ad una prima frequenza, le linee tratteggiate da sinistra verso destra ad un lampeggiamento di un LED ad una seconda frequenza, diversa e maggiore della prima, e le linee verticali ad un LED acceso.
È importante notare che il trasferimento del controllo del blocco di immagazzinamento 9 delle risorse del sistema (e non di solo uno specifico disco) da un server SRV1,SRV2 ad un altro SRV2,SRV1 è in netto contrasto con la modalità con cui operano i server cluster che prevedono, invece, il trasferimento di tali risorse da un server all'altro.
Va notato che sia il primo server SRV1 che il secondo server SRV2 sono identificati dal medesimo indirizzo IP. Quindi, l'utente esterno che contatta il sistema 100 mediante un elaboratore di tipo cliente non è influenzato dalla procedura di trasferimento del controllo delle risorse da un server all'altro sopra descritta.
Allo scopo di evitare che un indesiderato guasto di uno o entrambi i blocchi di gestione 7 e 7' causi il collegamento di entrambi i server SRV1 e SRV2 al blocco di immagazzinamento 9, si è vantaggiosamente previsto che i moduli di gestione-disco EC1-EC8 facciano in modo che i dischi rigidi HD-HD8 si colleghino in modo selettivo ai server SRV1/SRV2 tramite il modulo di interconnessione 8, cioè si colleghino ad uno solo dei due server SRV1/SRV2 in ogni condizione operativa.
Si osservi che anche se nella precedente descrizione si sono mostrati solo due server SRV1/SRV2/gli insegnamenti della presente invenzione sono applicabili anche a più di due server, in cui uno o più di essi si trovano normalmente nello stato attivo e gli altri si trovano nello stato di stand-by, e cioè in uno stato in cui hanno effettuato il solo caricamento del BIOS. Tali server normalmente attivi vengono spenti in conseguenza della rivelazione di una o più anomalie in modo analogo a quanto descritto sopra.
Il sistema di elaboratori 100 risulta particolarmente adatto per le seguenti applicazioni: File Server, Application Server, Mail Server, Back End Server, Front End Parallel Processing, Internet Security, VideoSurveillance, Storage Server e CTI (Computer Telephony Integration).
L'invenzione presenta notevoli vantaggi nei confronti dei sistemi convenzionali ed, in particolare, nei sistemi server cluster ad alta affidabilità. In particolare, il sistema di elaboratori 100 sopra descritto risulta più economico dei normali server cluster mantenendo prestazioni in termini di tempi di risposta, dipendenti dal tempo di reboot del server da portare nello stato attivo, comparabili con quelli dei convenzionati cluster.
La maggiore economicità del sistema elaboratore dell'invenzione è da spiegarsi con il fatto che esso non richiede l'acquisto di software (sistema operativo o applicativo) dedicato alla gestione della modalità cluster, né risulta necessario acquistare il medesimo software per entrambi i server.
La Richiedente ha sperimentalmente dimostrato che i tempi di risposta del sistema 100 dopo la rivelazione di un guasto sono contenuti in 120 s circa. Inoltre, le tipologie di guasto rivelabili non sono minori di quelle dei server cluster in quanto possono essere utilizzate i medesimi applicativi software.
Un altro vantaggio è dovuto all' utilizzo di blocchi di gestione distribuiti (quali i blocchi 7 e 7' e EC1-EC8) realizzati, preferibilmente, in modo hardware che assicurano una maggiore affidabilità rispetto ad un modulo di gestione software e non richiedono il rischioso utilizzo di quorum disk contenente tutte le modalità di gestione del sistema, come invece si effettua per i server cluster.
Numerose sono le varianti possibili al sistema di elaboratori comprendente almeno due elaboratori ed il relativo metodo per il funzionamento continuo del sistema descritto come esempio, senza per questo uscire dai principi di novità insiti nell'idea inventiva, così come è chiaro che nella sua attuazione pratica le forme dei dettagli illustrati potranno essere diverse, e gli stessi potranno essere sostituiti con degli elementi tecnicamente equivalenti.
Dunque è facilmente comprensibile che la presente invenzione non è limitata sistema di elaboratori comprendente almeno due elaboratori ed il relativo metodo per il funzionamento continuo del sistema precedentemente descritti, ma è passibile di varie modificazioni, perfezionamenti, sostituzioni di parti ed elementi equivalenti senza però allontanarsi dall'idea dell'invenzione, così come è precisato meglio nelle seguenti rivendicazioni.

Claims (25)

  1. RIVENDICAZIONI 1. Sistema di elaboratori (100) comprendente almeno un primo elaboratore (SRV1), un secondo elaboratore (SRV2) collegato a detto primo elaboratore (SRV1), ed un blocco di immagazzinamento (9) di risorse del sistema, caratterizzato dal fatto di comprendere inoltre un blocco di gestione (7, T) in grado di portare selettivamente detto sistema (100) in una prima configurazione in cui l'accesso a detto blocco di immagazzinamento (9) è consentito a detto primo elaboratore (SRV1) ed inibito a detto secondo elaboratore (SRV2), ed in una seconda configurazione in cui l'accesso a detto blocco di immagazzinamento (9) è consentito a detto secondo elaboratore (SRV2) ed inibito a detto primo elaboratore (SRV1), detto blocco di gestione (7,7') consentendo una commutazione da detta prima a detta seconda configurazione in seguito alla rivelazione di una anomalia di funzionamento di detto primo elaboratore (SRV1).
  2. 2. Sistema (100) secondo la rivendicazione 1, caratterizzato dal fatto che in detta prima configurazione detto primo elaboratore (SRV1) assume uno stato attivo in cui è in grado di accedere a detto blocco di immagazzinamento (9) in modo da impiegare almeno una applicazione residente su detto blocco di immagazzinamento (9) e detto secondo elaboratore (SRV2) assume uno stato di stand-by in cui è escluso dall'impiego di detta almeno una applicazione residente su detto blocco di immagazzinamento (9).
  3. 3. Sistema (100) secondo la rivendicazione 2, in cui alla rivelazione di una anomalia di detto primo elaboratore (SRV1), detto blocco di gestione (7, 7') è in grado di generare segnali per effettuare le seguenti operazioni: - provocare lo spegnimento di detto primo elaboratore (SRV1) inibendone Γ alimentazione elettrica; - portare detto secondo elaboratore (SRV2) dallo stato di stand-by ad un rispettivo stato attivo in cui è in grado di accedere a detto blocco di immagazzinamento (9) per impiegare detta almeno una applicazione.
  4. 4. Sistema (100) secondo la rivendicazione 1, caratterizzato dal fatto di comprendere inoltre un modulo di interconnessione (8) per consentire l'accesso a detto blocco di immagazzinamento (9) da parte di detti primo e secondo elaboratore (SRV1/SRV2) ed in cui detto blocco di gestione (7, 7') comprende un primo sottoblocco (7) associato a detto primo elaboratore (SRV1) ed un secondo sottoblocco (7') associato a detto secondo elaboratore (SRV2), ciascuno di detti sottoblocchi (7,7') essendo in grado di inviare/ ricevere segnali al/dal rispettivo elaboratore (SRV1/SRV2) e fra loro mediante detto modulo di interconnessione (8).
  5. 5. Sistema (100) secondo la rivendicazione 4, caratterizzato dal fatto che detto modulo di interconnessione (8) è realizzato in tecnologia Infiniband.
  6. 6. Sistema (100) secondo la rivendicazione 4 o 5, caratterizzato dal fatto che ciascuno di detti primo (7) e secondo sottoblocco (7') è un circuito elettronico realizzato in hardware.
  7. 7. Sistema (100) secondo la rivendicazione 3, caratterizzato dal fatto che per portare detto primo elaboratore (SRV1) in detto stato attivo, detto primo elaboratore (SRV1) carica il rispettivo BIOS e può accedere a detto blocco di immagazzinamento (9) per caricare un sistema operativo, detto secondo elaboratore (SRV2) nello stato di stand-by ha caricato il rispettivo BIOS ma è escluso dal caricamento del sistema operativo e nella transizione dallo stato di stand-by allo stato attivo, detto secondo elaboratore è tale da effettuare una operazione di reboot caricando il sistema operativo.
  8. 8. Sistema (100) secondo la rivendicazione 1, caratterizzato dal fatto che detti primo (SRV1) e secondo elaboratore (SRV2) presentano il medesimo indirizzo IP.
  9. 9. Sistema (100) secondo almeno una delle precedenti rivendicazioni, caratterizzato dal fatto che presso ciascuno di detti elaboratori (SRV1,SRV2) risiede una rispettiva applicazione software per la rivelazione di anomalie, in modo tale che detto secondo elaboratore nello stato di stand-by invia a detto primo elaboratore (SRV1) nello stato attivo segnali di interrogazione, una anomalia essendo rivelata quando detto primo elaboratore (SRV1) nello stato attivo non invia un segnale di risposta a detto segnale di interrogazione.
  10. 10. Sistema (100) secondo la rivendicazione 1, caratterizzato dal fatto che detta anomalia comprende almeno una delle seguenti condizioni relative a ciascuno di detti elaboratori (SRV1,SRV2): guasto di un modulo processore di detti elaboratori (SRV1,SRV2), rottura dell'elaboratore (SRV1,SRV2) attivo, rottura di un modulo di controllo RAID (4), hang di sistema operativo, hang di connessioni, distacco di cavo, porta hub rotta, malfunzionamento di un applicativo.
  11. 11. Sistema (100) secondo la rivendicazione 1, caratterizzato dal fatto che ciascuno di detti elaboratori (SRV1,SRV2) comprende: una scheda madre (1, Γ), una unità di controllo e processamento (2, 2'), una memoria (3, 3'), un modulo di controllo RAID (4, 4'), un'interfaccia LAN (5, 5') ed una unità di alimentazione (6, 6').
  12. 12. Sistema (100) secondo la rivendicazione 1, caratterizzato dal fatto che detto blocco di immagazzinamento (9) comprende una pluralità di dischi rigidi (HD1-HC8) indipendenti, ciascuno avente associato un relativo modulo di controllo (EC1-EC8) atto a consentire l'accesso al relativo disco rigido (HD1-HC8) da parte di detti elaboratori (SRV1,SRV2) in modo selettivo.
  13. 13. Sistema (100) secondo la rivendicazione 1, caratterizzato dal fatto di comprendere un contenitore esterno (20) per alloggiare detti primo (SRV1) e secondo elaboratore (SRV2), detto modulo di immagazzinamento (9) e detto modulo di interconnessione (8).
  14. 14. Sistema (100) secondo almeno una delle rivendicazioni precedenti, caratterizzato dal fatto che detti primo (SRV1) e secondo elaboratore (SRV2) sono realizzati mediante un rispettivo server.
  15. 15. Sistema (100) secondo la rivendicazione 14, caratterizzato dal fatto di essere adatto ad operare in almeno una delle seguenti applicazioni: File Server, Application Server, Mail Server, Back End Server, Front End Parallel Processing, Internet Security, VideoSurveillance, Storage Server e CTI (Computer Telephony Integration).
  16. 16 Sistema secondo una o più delle rivendicazioni precedenti, caratterizzato dal fatto che detti primo (SRV1) e secondo (SRV2) elaboratore sono dotati di un rispettivo sistema di segnalazione, in particolare LED, atti a permettere ad un utente di detto sistema di riconoscere in quale stato di funzionamento si trovano detti primo (SRV1) e secondo elaboratore (SRV2).
  17. 17. Metodo per il funzionamento continuo di un sistema di elaboratori (100) comprendente almeno un primo elaboratore (SRV1), un secondo elaboratore (SRV2) collegato a detto primo elaboratore (SRV1), ed un blocco di immagazzinamento (9) di risorse del sistema; il metodo comprendendo le fasi a) portare il sistema in una prima configurazione in cui detto primo elaboratore (SRV1) può accedere al blocco di immagazzinamento (9) ed è inibito l'accesso al blocco di immagazzinamento (9) da parte di detto secondo elaboratore (SRV2); b) rivelare (36) una anomalia di funzionamento di detto primo elaboratore (SRV1); c) portare il sistema in una seconda configurazione in cui detto secondo elaboratore (SRV2) può accedere a detto blocco di immagazzinamento (9) ed inibire l'accesso a detto blocco di immagazzinamento (9) da parte di detto primo elaboratore (SRV1).
  18. 18. Metodo secondo la rivendicazione 17, caratterizzato dal fatto che detta fase a) comprende la fase di effettuare un caricamento del sistema operativo da parte di detto primo elaboratore (SRV1) per portarsi in uno stato attivo.
  19. 19. Metodo secondo la rivendicazione 18, caratterizzato dal fatto che detta fase a) comprende inoltre la fase di effettuare da parte di detto secondo elaboratore (SRV2) il caricamento di un relativo sistema BIOS risiedente su detto secondo elaboratore (SRV2).
  20. 20. Metodo secondo la rivendicazione 18, caratterizzato dal fatto di comprendere la fase di processare da parte di detto primo elaboratore (SRV1) in detta prima configurazione applicazioni software risiedenti su detto blocco di immagazzinamento (9).
  21. 21. Metodo secondo la rivendicazione 17, caratterizzato dal fatto che detta fase b) comprende la fase di inviare da parte di detto secondo elaboratore (SRV2) a detto primo elaboratore (SRV1) segnali di interrogazione.
  22. 22. Metodo secondo la rivendicazione 17, caratterizzato dal fatto che detta fase c) comprende la fase di inibire Γ alimentazione di detto primo elaboratore (SRV1) per spegnerlo.
  23. 23. Metodo secondo la rivendicazione 22, caratterizzato dal fatto che detta fase c) comprende inoltre la fase di accedere da parte di detto secondo elaboratore (SRV2) a detto blocco di immagazzinamento (9) ed effettuare un caricamento del sistema operativo per portarsi in un corrispondente stato attivo.
  24. 24. Metodo secondo almeno una delle rivendicazioni da 17 a 23, caratterizzato dal fatto che detti primo (SRV1) e secondo elaboratore (SRV2) sono realizzati mediante un rispettivo server.
  25. 25. Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema secondo gli insegnamenti innovativi della presente descrizione e dei disegni annessi i quali mostrano esempi di esecuzione preferita e vantaggiosa di detto sistema.
IT000387A 2007-06-04 2007-06-04 Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema ITTO20070387A1 (it)

Priority Applications (4)

Application Number Priority Date Filing Date Title
IT000387A ITTO20070387A1 (it) 2007-06-04 2007-06-04 Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema
EP08153846A EP2000911B1 (en) 2007-06-04 2008-03-31 Computer system comprising at least two computers for continuous operation of said system
AT08153846T ATE452367T1 (de) 2007-06-04 2008-03-31 Computersystem mit mindestens zwei computern für den kontinuierlichen betrieb dieses systems
DE602008000400T DE602008000400D1 (de) 2007-06-04 2008-03-31 Computersystem mit mindestens zwei Computern für den kontinuierlichen Betrieb dieses Systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000387A ITTO20070387A1 (it) 2007-06-04 2007-06-04 Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema

Publications (1)

Publication Number Publication Date
ITTO20070387A1 true ITTO20070387A1 (it) 2008-12-05

Family

ID=39721905

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000387A ITTO20070387A1 (it) 2007-06-04 2007-06-04 Sistema di elaboratori comprendente almeno due elaboratori e relativo metodo per il funzionamento continuo di detto sistema

Country Status (4)

Country Link
EP (1) EP2000911B1 (it)
AT (1) ATE452367T1 (it)
DE (1) DE602008000400D1 (it)
IT (1) ITTO20070387A1 (it)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
US6363497B1 (en) * 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US8301809B2 (en) * 2003-07-02 2012-10-30 Infortrend Technology, Inc. Storage virtualization computer system and external controller thereof
US6996502B2 (en) * 2004-01-20 2006-02-07 International Business Machines Corporation Remote enterprise management of high availability systems
WO2007077585A1 (en) * 2005-12-30 2007-07-12 Elettrodata S.P.A. Computer system comprising at least two servers and method of operation

Also Published As

Publication number Publication date
EP2000911A1 (en) 2008-12-10
DE602008000400D1 (de) 2010-01-28
ATE452367T1 (de) 2010-01-15
EP2000911B1 (en) 2009-12-16

Similar Documents

Publication Publication Date Title
TWI567540B (zh) 動態管理電力供應的方法、系統
US20170091042A1 (en) System and method for power loss protection of storage device
CN103473167B (zh) 服务器的故障显示方法及装置
CN104102559B (zh) 一种基于冗余心跳链路和对端重启链路的双控制器存储系统
US9713215B2 (en) Identification of storage device for trouble shooting
US20080005222A1 (en) System and Method for Server Information Handling System Management Through Local I/O Devices
US8990632B2 (en) System for monitoring state information in a multiplex system
US20090172125A1 (en) Method and system for migrating a computer environment across blade servers
GB2492620A (en) Midplane for blade server management
US10114688B2 (en) System and method for peripheral bus device failure management
US10359958B2 (en) Method and system for managing a storage network to reduce power consumption
CN1770707A (zh) 计算机簇中基于法定成员数关无响应服务器的装置和方法
KR20140144520A (ko) 프로세서 모듈, 마이크로 서버 및 프로세서 모듈의 제어 방법
US20150058542A1 (en) Updating techniques for memory of a chassis management module
US8793514B2 (en) Server systems having segregated power circuits for high availability applications
WO2017167106A1 (zh) 存储系统
WO2016016925A1 (ja) ストレージ装置のfan制御最適化
US8099634B2 (en) Autonomic component service state management for a multiple function component
US20110185226A1 (en) Storage system and control methods for the same
US10613886B2 (en) Protecting virtual computing instances
CN101488105B (zh) 实现存储双控制器高可用性的方法及存储双控制器系统
KR100928187B1 (ko) 듀얼 프로세서 제어 장치의 고장 안전 구조
US20130232377A1 (en) Method for reusing resource and storage sub-system using the same
US11640377B2 (en) Event-based generation of context-aware telemetry reports
WO2007077585A1 (en) Computer system comprising at least two servers and method of operation