none
SQL 2005 Cluster RRS feed

  • Domanda

  • approfitto ancora della vostra disponibilità...

    Avrei un'altra domanda da sottoporre (o meglio un dubbio) alla vostra esperienza e competenza.

    Se metto su il cluster a due nodi ed installo sql2005 come servizio del cluster ho necessariamente bisogno di un server che faccia da quorum oppure posso non configurare il disco di quorum e lasciare la cartella di slq su una macchina che la replica sull'altra?

    Dico questo poiché così facendo vorrei ridurre il costo dell'infrastruttura avendo anche più ridondanza, visto che se viene meno il disco di quorum e quindi la cartella sql2005 con il db (correggetemi se sbaglio), dei due server non posso farmene nulla.

    grazie sempre!!!

    • Split Fabrizio Volpe lunedì 8 agosto 2011 09:31 Spostato nel forum di competenza
    lunedì 8 agosto 2011 09:26

Risposte

  • Per il dimensionamento dei server, andrebbe verificato in base al carico di lavoro previsto. Sono macchine recenti ? Il monoprocessore è multicore, spero...

    Per lo storage, se puoi, non risparmiare! E' il "collo di bottiglia" principale di SQL Server.

    Va bene la scelta di un DAS (Direct Attached Storage) collegato ai controller SAS. Le alternative possono essere iSCSI (con l'aggiunta di un paio di schede di rete a 10GBit) o FC (occorre in questo caso una coppia di schede HBA fiber-channel), ma sicuramente sono soluzioni più costose. Una configurazione tipica se hai abbastanza dischi a disposizione può essere:

    - disco C:,  RAID 1, sistema operativo e binari di SQL Server
    - disco E:, RAID 5 o 10, dati (mdf e ndf)
    - disco L:, RAID 1, transaction logs
    - disco Q:, RAID 1, quorum (1G va bene)
    - disco T:, RAID 0, TempDB

    Le lettere ovviamente non sono vincolanti...
    Considera anche che più dischi fisici anche di dimensione minore sono da preferire a pochi dischi fisici di maggiore dimensione.

    Ti mando anche qualche link/documento sull'argomento storage. Sono di Dell, ma si applicano ovviamente anche ad altri vendor...

    RAID
    Configuring SQL Server 2005 on Dell storage
    Interface decisions: SAS, FC or iSCSI?

    Se hai dubbi chiedi pure...


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    lunedì 8 agosto 2011 16:27

Tutte le risposte

  • Flavio,

    una installazione tipica di SQL Server 2005 in cluster prevede almeno due nodi, due schede di rete (una per la connettività verso i client ed una per il segnale di "heartbeat" che serve al servizio cluster per identificare quando uno dei nodi è giù) ed uno storage esterno condiviso tra i due nodi per il quale solitamente si usano dischi SAN (Storage Area Network) o iSCSI.

    Il quorum è fondamentalmente un log, mantenuto dal servizio cluster ed utilizzato per mantenere le modifiche fatte nei nodi, usato in particolare in caso di failover. In generale, non puoi utilizzare il disco di quorum per mettere la cartella con i db e, anche se possibile utilizzare per il quorum la una cartella locale del server (nella configurazione Majority Node Set), è preferibile utilizzare l'array di dischi esterno.

    Per i dati dovresti utilizzare almeno un disco dell'array esterno condiviso tra i due nodi su cui mettere i tuoi databases e quelli di sistema. Tieni conto però che questa è la configurazione "minima". Per avere maggiori performance, sicurezza ed efficienza andrebbero separati (su dischi diversi) dati,  log e tempdb (usato molto di più in SQL 2005 rispetto alle versioni precedenti).

    Visto che parli di ridurre il costo dell'infrastruttura, vorrei precisare che un cluster non è propriamente la soluzione per l'alta affidabilità meno costosa. Potresti valutare il database mirroring, che mantiene sincronizzati due database tra server diversi, a patto di avere tanti dischi locali in configurazioni RAID adeguate alla affidabilità e al rischio che vuoi ottenere.

    Ti consiglio di leggere il libro "Pro SQL Server 2005 High Availability" di Allan Hirt (Apress), veramente ben fatto su questo e su altri temi di High Availability.

    D.

     


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.



    lunedì 8 agosto 2011 10:34
  • l'hardware a disposizione è:
    server di dominio con 4Gb ram raid 1 da 500Gb, 2 server con doppia scheda di rete monoprocessore con 16Gb di ram equipaggiati ognuno con 2 dischi sas da 146Gb e controller esterno sas da 6Gb/s.

    A questo punto per completare la configurazione bisognerebbe comprare un array collegato con cavi sas esterni come disco di quorum.

    La mia domanda era se potevo risparmiare sul disco di quorum, visto che un array con collegamento esterno sas o iscsi costa un patrimonio, ma evidentemente non si può!

    Nella configurazione minima, quindi, dovrò mettere un array e dividere i dischi come da tua risposta sopra?

    P.S.
    Il db mirroring l'ho scartato poiché l'applicazione che gira sui client è abbastanza obsoleta e si collega al server con una connessione odbc. Questo comporta che se un server cade il software lato client dovrà essere chiuso e riaperto con conseguente perdita parziale di dati, siccome l'applicativo gestisce un centro di diagnostica la perdita di dati non è contemplata.

    Inutile dire che sei gentilissimo.
    Grazie

    lunedì 8 agosto 2011 14:17
  • Per il dimensionamento dei server, andrebbe verificato in base al carico di lavoro previsto. Sono macchine recenti ? Il monoprocessore è multicore, spero...

    Per lo storage, se puoi, non risparmiare! E' il "collo di bottiglia" principale di SQL Server.

    Va bene la scelta di un DAS (Direct Attached Storage) collegato ai controller SAS. Le alternative possono essere iSCSI (con l'aggiunta di un paio di schede di rete a 10GBit) o FC (occorre in questo caso una coppia di schede HBA fiber-channel), ma sicuramente sono soluzioni più costose. Una configurazione tipica se hai abbastanza dischi a disposizione può essere:

    - disco C:,  RAID 1, sistema operativo e binari di SQL Server
    - disco E:, RAID 5 o 10, dati (mdf e ndf)
    - disco L:, RAID 1, transaction logs
    - disco Q:, RAID 1, quorum (1G va bene)
    - disco T:, RAID 0, TempDB

    Le lettere ovviamente non sono vincolanti...
    Considera anche che più dischi fisici anche di dimensione minore sono da preferire a pochi dischi fisici di maggiore dimensione.

    Ti mando anche qualche link/documento sull'argomento storage. Sono di Dell, ma si applicano ovviamente anche ad altri vendor...

    RAID
    Configuring SQL Server 2005 on Dell storage
    Interface decisions: SAS, FC or iSCSI?

    Se hai dubbi chiedi pure...


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    lunedì 8 agosto 2011 16:27
  • Le macchine sono molto recenti, sono dell monoprocessore 6core raid 1 sas 146Gb.
    Lo storage che avevo intenzione di comprare è un PVMD3200 external sas con 4 dischi da 500Gb.
    Crei che sia meglio prendere qualche altro disco per lo storage e ridurre le dimensioni di quelli che ho in programma di prendere?
    In ogni caso leggerò con attenzione i documenti che mi hai postato...
    Grazie sempre
    f
    mercoledì 10 agosto 2011 12:13
  • Direi che le macchine e lo storage vanno bene.

    Unico suggerimento riguarda i dischi: i 500GB vanno a 7200 giri. Sarebbe preferibile sostituirli con i 15K giri (maggiore velocità di rotazione, minore latenza). Per il resto prova a fare un po' di capacity planning per vedere quanto spazio ti occorre per i dati che devi mantenere nei db e valutare quanti dischi e di che taglio acquistare, tenendo presente che il 3200 ne ha 12 (ma è espandibile fino a 96) e che la capacità lorda del disco scende in base al tipo di RAID che usi e alla formattazione.

    Ti allego qualche altra lettura interessante: :-)

    Manuale MD3200

    Esempio di configurazione MD3200 con SQL Server 2008 Fast Track Data Warehouse

    Quest'ultimo esempio usa il 3220 che ha 24 dischi da 2,5", ma il concetto è lo stesso: dividere i dischi in gruppi ed assegnarli con LUN diverse a SQL Server.

    Ciao.


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    mercoledì 10 agosto 2011 14:13
  • Ciao Danilo,

    approfitto ancora della tua preziosa disponibilità:

    sempre in merito al cluster di cui sopra, ho un dubbio da fugare.
    Avendo cambiato brand (IBM) i due server che andremo ad installare per i 2 nodi sono gli
    x3550 (questo è il link http://www.redbooks.ibm.com/abstracts/tips0804.html?Open#ibm-content)
    controller host sas su pci (http://www.redbooks.ibm.com/abstracts/tips0776.html#contents)
    array DS3512 (http://www.redbooks.ibm.com/abstracts/tips0836.html?Open#ports)

    il mio dubbio è:
    se le schede controller interne ai server hanno una porta sas 6gb esterna cadauno, posso prendere come array DS3512 quello a singolo controller che pare abbia già due porte?
    oppure sono obbligato a prendere quello a doppio controller poiché ogni controller deve gestire un canale autonomo con i singoli server?

    ti chiedo questo poiché tra i due array ci sono circa duemila euro di differenza.

    grazie sempre in anticipo del tempo perso con me

    f

    martedì 13 settembre 2011 17:05
  • Non conosco bene il 3512, ma dal link che mi hai mandato sembra che ogni controller abbia due porte 6GB SAS per la connettività verso gli host ed una porta per le unità di espansione, quindi credo sia sufficiente il modello a singolo controller (che però diventa un single-point-of-failure).

    Ti rimanderei al tuo commerciale IBM prima di acquistare il tutto, così da validare la configurazione.

    Danilo


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    martedì 13 settembre 2011 20:51
  • Ciao Danilo,
    altra domanda...
    un ingegnere mio amico dice che utilizzando windows 2008 datacenter posso mettere due server in parallelo più un terzo di backup, evitando così il disco di quorum.
    Corrisponde al vero questa affermazione?
    La cosa è fattibile con l'applicazione (antiquata) basata su slq server 2005 che deve girare e che ha i client collegati ancora con odbc?
    A me suona un po strano...
    mercoledì 14 settembre 2011 08:15
  • Ciao Flavio,
    non si tratta di "mettere in parallelo più un terzo di backup".
    Si parla sempre di Failover Clustering con due nodi, utilizzando il tipo di Quorum "Node and File Majority Set" che non richiede SAN o dischi esterni ma una share di rete, preferibilmente su un terzo nodo del cluster che svolge le funzioni di "witness".
    L'idea è quella di garantire che in caso di fault di uno dei nodi ci sia sempre almeno una coppia di voti (nodo + file share) per segnalare al servizio cluster come comportarsi.
    E ti basta la Enterprise Edition, non serve la Datacenter.
    Leggiti questo articolo e segui i links agli articoli di MS per capire come funziona il tutto...

    Ciao!
    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    giovedì 15 settembre 2011 06:32
  • bene,
    troppe informazioni da metabolizzare...
    spero che la prox sia la domandona finale:

    tu cosa faresti se avessi a disposizione un budget di circa 10.000€ una applicazione vecchiotta su sql server2005 con connessioni client odbc e vorresti raggiungere un accettabile livello di fault tollerance?
    Cosa ne pensi di DataKeeper Cluster Edition magari con tre server con più dischi? 

    P.S.
    questa volta non sarò inutilmente ripetitivo nel ringraziarti, ma mi sbilancio nel dirti che se ti trovi dalle parti di napoli hai pizze pagate a gogo...

    ciao


    giovedì 15 settembre 2011 09:35
  • Flavio,
    per raggiungere la fault tolerance con SQL Server hai a disposizione il failover clustering (che protegge a livello di istanza SQL Server) o il database mirroring (che protegge a livello di singolo database). La differenza più evidente è la necessità di implementare il mirroring per CIASCUN database da proteggere, mentre nel clustering è l'intero SQL Server ad essere protetto da failures e quindi amministrativamente parlando c'è meno lavoro da fare.

    Visto il budget limitato direi che la scelta dipende molto dal fatto che tu riesca o meno ad includere nel budget tutti i componenti hw e sw da acquistare (che se non ho capito male sono l'array di dischi e le licenze di Windows e SQL).

    Il fatto che l'applicazione sia vecchiotta e con connessioni ODBC non cambia dal punto di vista della fault tolerance.

    HTH


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    giovedì 15 settembre 2011 10:32
  • ...sql 2005 è gia presente come licenza, la cosa principale da acquistare è lo storage.
    Lo storage anche con doppio controller mi appare sempre come un server che potrebbe fermarsi, e così facendo a poco servirebbero i due nodi... 

    Ho dato una occhiata più dettagliata al link sui clusterXmortali, e sono arrivato a leggere le caratteristiche del software datakeeper cluster edition, che pare abbia tra le sue caratteristiche la possibilità di eliminare lo storage condiviso, creando un quorum su un disco del server e replicandolo sugli altri server.

    giovedì 15 settembre 2011 23:06
  • Mi dispiace, ma non conosco Datakeeper se non per sentito dire.

    In ogni caso il quorum senza storage condiviso ce l'avresti anche con la soluzione cluster Microsoft con la soluzione quorum "Node e File share majority set".


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    venerdì 16 settembre 2011 07:25
  • ...in questo caso se ho altri volumi sui server (creati e divisi in maniera speculare su tutti) posso utilizzarli per il quorum e per il DB? verrebbero replicati sul secondo server o su un eventuale terzo server?
    se la risposta è si, è una soluzione che mi sembra più ridondante rispetto a quella con lo storage condiviso.
    Oppure non sto capendo un c....?

    thanks :-) 


    venerdì 16 settembre 2011 09:24
  • Scusa, evidentemente non sono stato molto chiaro.

    La soluzione con il quorum configurato come Node and file share majority set vale SOLO per il quorum e ti permette di non interrompere il servizio cluster anche in caso di fallimento dello storage esterno.

    La configurazione in alta affidabilità con il failover clustering di SQL Server però richiede COMUNQUE uno storage condiviso per i dati.

    Riguardo alla preiccupazione sulla ridondanza, il doppio controller serve proprio per garantire che in caso guasto di uno dei due ci sia ridondanza di accesso allo storage, quindi starei abbastanza tranquillo...


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    lunedì 19 settembre 2011 10:12