SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Einführung
       RH Cluster Suite
    Anwendungsbeispiel
           Tipps/Tricks
                  Ende




   Red Hat Cluster Suite
Building high-available Applications


           Thomas Neidhart


      Grazer Linuxtage 2008




               Neidhart   RH Cluster Suite
Einführung
                           RH Cluster Suite
                        Anwendungsbeispiel
                               Tipps/Tricks
                                      Ende


Outline

  1   Einführung
         Clusterarten

  2   RH Cluster Suite
        Technische Details
        Komponenten

  3   Anwendungsbeispiel
        Architektur
        Konfiguration

  4   Tipps/Tricks


                                   Neidhart   RH Cluster Suite
Einführung
                      RH Cluster Suite
                   Anwendungsbeispiel    Clusterarten
                          Tipps/Tricks
                                 Ende


Einführung



     Was ist eigentlich ein Cluster?
     Wozu braucht man so etwas?
     Welche Probleme kann ich damit lösen?
     Wie kann ich so einen Cluster aufbauen?
     Welche Komponenten werden dazu benötigt?




                              Neidhart   RH Cluster Suite
Einführung
                       RH Cluster Suite
                    Anwendungsbeispiel    Clusterarten
                           Tipps/Tricks
                                  Ende


Arten von Clustern




     Storage cluster - data access
     High availability - failover
     Load balancing - scalability
     High performance - parallel computation




                               Neidhart   RH Cluster Suite
Einführung
                     RH Cluster Suite
                                        Technische Details
                  Anwendungsbeispiel
                                        Komponenten
                         Tipps/Tricks
                                Ende




Was bietet jetzt die RH Cluster Suite?
    kann bis zu 128 Knoten verwalten
    shared data storage (NFS, CIFS, GFS)
    bietet automatisches failover
    bietet load-balancing




                             Neidhart   RH Cluster Suite
Einführung
                      RH Cluster Suite
                                         Technische Details
                   Anwendungsbeispiel
                                         Komponenten
                          Tipps/Tricks
                                 Ende


Komponenten der Cluster Suite


  Die Cluster Suite besteht aus mehreren Komponenten, die
  einzelne Bereiche abdecken:
      Cluster infrastructure (config-file management,
      membership management, locking, fencing)
      HA Service Management
      Administration Tools
      Linux Virtual Server (LVS - IP Load Balancing)




                              Neidhart   RH Cluster Suite
Einführung
                      RH Cluster Suite
                                         Technische Details
                   Anwendungsbeispiel
                                         Komponenten
                          Tipps/Tricks
                                 Ende


Grundbegriffe



  Quorum
     zur Überprüfung der Funktionstüchtigkeit des Clusters
     Minimum an nötigen Stimmen
     jeder Knoten hat eine Stimme
     Quorum = 50% Knoten + 1 Stimme
     verhindert “split-brain” Situationen




                              Neidhart   RH Cluster Suite
Einführung
                      RH Cluster Suite
                                         Technische Details
                   Anwendungsbeispiel
                                         Komponenten
                          Tipps/Tricks
                                 Ende


Cluster und Lock Management


      Überwacht Quorum und Cluster Membership mit Hilfe von
      Heartbeat Nachrichten (Ethernet)
      Synchronisiert Zugriff auf gemeinsame Resourcen

  Locking Arten
      distributed: CMAN/DLM (Cluster Manager, Distributed
      Lock Manager)
      client-server: GULM (Grand Unified Lock Manager)




                              Neidhart   RH Cluster Suite
Einführung
                   RH Cluster Suite
                                      Technische Details
                Anwendungsbeispiel
                                      Komponenten
                       Tipps/Tricks
                              Ende


CMAN Variante




                           Neidhart   RH Cluster Suite
Einführung
                   RH Cluster Suite
                                      Technische Details
                Anwendungsbeispiel
                                      Komponenten
                       Tipps/Tricks
                              Ende


GULM Variante




                           Neidhart   RH Cluster Suite
Einführung
                      RH Cluster Suite
                                         Technische Details
                   Anwendungsbeispiel
                                         Komponenten
                          Tipps/Tricks
                                 Ende


Locking




     Erlaubt Zugriff auf gemeinsame Resourcen (GFS-Partition)
     Gewährleistet Datenintegrität
     Knoten die sich nicht im Cluster befinden, können nicht auf
     gemeinsame Resourcen zugreifen




                              Neidhart   RH Cluster Suite
Einführung
                         RH Cluster Suite
                                            Technische Details
                      Anwendungsbeispiel
                                            Komponenten
                             Tipps/Tricks
                                    Ende


Fencing
  Notwendig für die Datenintegrität des Clusters
  Ist ein Knoten ausgefallen (kein Heartbeat), wird sämtliche
  Aktivität eingefroren, bis der Knoten erfolgreich gefenced
  wurde.
      Fencing Arten
          Power fencing
          Fibre Channel
          switch fencing
          DRAC, IPMI, ...
          Achtung bei
          redundanten
          Power Supplies
                                 Neidhart   RH Cluster Suite
Einführung
                       RH Cluster Suite
                                          Technische Details
                    Anwendungsbeispiel
                                          Komponenten
                           Tipps/Tricks
                                  Ende


Cluster Configuration System
  Verwaltet die Cluster Konfiguration.




                               Neidhart   RH Cluster Suite
Einführung
                        RH Cluster Suite
                                           Technische Details
                     Anwendungsbeispiel
                                           Komponenten
                            Tipps/Tricks
                                   Ende


Cluster Configuration System


  Im Cluster Configuration File (/etc/cluster/cluster.conf) stehen
  folgende Infos:
      Allgemeine Clusterinfo (Name, Locking Type, Fence
      Timing)
      Cluster Knoten (Name, Fence Methode, Quorum Votes)
      Fence Devices
      Managed Resources (Failover Domains, IP addresses)




                                Neidhart   RH Cluster Suite
Einführung
                         RH Cluster Suite
                                            Technische Details
                      Anwendungsbeispiel
                                            Komponenten
                             Tipps/Tricks
                                    Ende


HA Service Management


  Definition von Services die ausfallsicher im Cluster laufen
  sollen.
  Wird verwaltet vom rgmanager (Resource Group Manager)
  Service Definition
      Service Name
      Init Script (z.B. /etc/init.d/httpd)
      Verwendete Resourcen (floating IP Address)
      Failover Domain



                                 Neidhart   RH Cluster Suite
Einführung
                       RH Cluster Suite
                                          Technische Details
                    Anwendungsbeispiel
                                          Komponenten
                           Tipps/Tricks
                                  Ende


Failover Domains
  Wo soll ein Dienst laufen?




                               Neidhart   RH Cluster Suite
Einführung
                      RH Cluster Suite
                                         Technische Details
                   Anwendungsbeispiel
                                         Komponenten
                          Tipps/Tricks
                                 Ende


Shared Resources
  Cluster FS GFS
      Gemeinsame Datenquelle für alle Cluster Knoten
      Anbindung z.B. an ein SAN
      Vereinfacht Deployment und Backup von Applikationen




                              Neidhart   RH Cluster Suite
Einführung
                        RH Cluster Suite
                                           Technische Details
                     Anwendungsbeispiel
                                           Komponenten
                            Tipps/Tricks
                                   Ende


Linux Virtual Server
  Verteilt die Last auf mehrere “echte” Server:




                                Neidhart   RH Cluster Suite
Einführung
                          RH Cluster Suite
                                             Technische Details
                       Anwendungsbeispiel
                                             Komponenten
                              Tipps/Tricks
                                     Ende


LVS


 Load-Balancing Algorithmen
      (weighted) Round-Robin
      (weighted) Least-Connections
      Source Hash Scheduling
      ...

 Routing Methoden
      NAT
      direct routing



                                  Neidhart   RH Cluster Suite
Einführung
                   RH Cluster Suite
                                      Technische Details
                Anwendungsbeispiel
                                      Komponenten
                       Tipps/Tricks
                              Ende


NAT Routing


       Sowohl intern als
       auch extern wird
       eine “floating IP”
       verwendet
       Backend-Server
       haben interne
       floating-IP als
       default Route
       eingetragen



                           Neidhart   RH Cluster Suite
Einführung
                     RH Cluster Suite
                                        Technische Details
                  Anwendungsbeispiel
                                        Komponenten
                         Tipps/Tricks
                                Ende


Direct Routing


        LVS Router
        verarbeitet nur
        eingehende
        Pakete
        Antworten
        werden von den
        Servern direkt an
        die Clients
        geschickt



                             Neidhart   RH Cluster Suite
Einführung
                       RH Cluster Suite
                                          Technische Details
                    Anwendungsbeispiel
                                          Komponenten
                           Tipps/Tricks
                                  Ende


Wichtige Kommandos



  Befehle
      ccs_tool update der Cluster Configuration
      cman_tool steuert Cluster Manager
      clustat zeigt Status des Clusters an
      clusvcadm verwaltet Services




                               Neidhart   RH Cluster Suite
Einführung
                                     RH Cluster Suite
                                                           Technische Details
                                  Anwendungsbeispiel
                                                           Komponenten
                                         Tipps/Tricks
                                                Ende




Member S t a t u s : Quorate

 Member Name                                             Status
 −−− −−
  −−− −−                                                 −−−
                                                          −−−
 c l−node−70                                             Online , rgmanager
 c l−node−72                                             Online , Local , rgmanager
 c l−node−74                                             Online , rgmanager

 S e r v i c e Name            Owner ( L a s t )                     State
 − − − −− −
  −−− −−                       − − −− − −
                                −− −−−                               −−−
                                                                      −−
 PgSQL                         c l−node−70                           started




                                              Neidhart     RH Cluster Suite
Einführung
                      RH Cluster Suite
                                         Architektur
                   Anwendungsbeispiel
                                         Konfiguration
                          Tipps/Tricks
                                 Ende



Wir wollen eine kleine, feine Internet Applikation bauen, die
dynamische Inhalte ausliefert:
Beschreibung
    Webserver (z.B. apache) liefert die Seiten aus welche z.B.
    mit php generiert wurden
    Datenbankserver hält den dynamischen Content bereit

Anforderungen
    Applikation muss skalierbar sein, d.h. zusätzliche Last soll
    durch weitere Knoten abgedeckt werden können.
    Datenbank muss ausfallsicher laufen.
    Konsistentes Backup der Daten muss möglich sein.

                              Neidhart   RH Cluster Suite
Einführung
                RH Cluster Suite
                                   Architektur
             Anwendungsbeispiel
                                   Konfiguration
                    Tipps/Tricks
                           Ende




Stufen
    Stufe 1
    Load-Balancing
    Server
    Stufe 2
    Application
    Servers
    Stufe 3
    Database Server
    Stufe 4 GFS
    Data Source


                        Neidhart   RH Cluster Suite
Einführung
                                               RH Cluster Suite
                                                                             Architektur
                                            Anwendungsbeispiel
                                                                             Konfiguration
                                                   Tipps/Tricks
                                                          Ende


Knotenkonfiguration

  < c l u s t e r c o n f i g _ v e r s i o n = " 1 " name="DEMO" >
   <fence_daemon p o s t _ f a i l _ d e l a y = " 0 " p o s t _ j o i n _ d e l a y = " 3 " / >
     <clusternodes >
        < c l u s t e r n o d e name=" c l−node−70" v o t e s ="1" >
         <fence >
            <method name="1" >
              < d e v i c e name=" apc−71" p o r t = " 1 " / >
              < d e v i c e name=" apc−73" p o r t = " 1 " / >
             </ method>
            <method name="2" >
              < d e v i c e name=" ipmi −71"/>
             </ method>
          </ fence >
        </ c l u s t e r n o d e >
        < c l u s t e r n o d e name=" c l−node−72" v o t e s ="1" >
                 ....
        </ c l u s t e r n o d e >
      </ c l u s t e r n o d e s >
     < fencedevices >
        < f e n c e d e v i c e agent =" fence_apc " i p a d d r = " 1 7 2 . 1 0 . 7 3 . 7 1 " . . . / >
      </ fencedevices >




                                                           Neidhart          RH Cluster Suite
Einführung
                                        RH Cluster Suite
                                                                  Architektur
                                     Anwendungsbeispiel
                                                                  Konfiguration
                                            Tipps/Tricks
                                                   Ende


Servicekonfiguration


   <rm>
     <failoverdomains >
      < f a i l o v e r d o m a i n name="PgSQL_Domain " ordered = " 1 " r e s t r i c t e d ="1" >
        < f a i l o v e r d o m a i n n o d e name=" c l−node−70" p r i o r i t y = " 1 " / >
        < f a i l o v e r d o m a i n n o d e name=" c l−node−72" p r i o r i t y = " 2 " / >
        < f a i l o v e r d o m a i n n o d e name=" c l−node−74" p r i o r i t y = " 3 " / >
      </ f a i l o v e r d o m a i n >
     </ f a i l o v e r d o m a i n s >
     <resources / >
      < s e r v i c e a u t o s t a r t = " 1 " domain ="PgSQL_Domain " name="PgSQL" r e c o v e r y =" r e l o c a t e " >
        < i p address = " 1 7 2 . 1 0 . 7 3 . 9 0 " m o n i t o r _ l i n k ="1" >
          < s c r i p t f i l e = " / e t c / i n i t . d / c l _ p g s q l " name=" i n i t p g s q l " / >
        </ i p >
      </ s e r v i c e >
      < s e r v i c e a u t o s t a r t = " 1 " domain ="PgSQL_Domain " name=" Clus_Cron " r e c o v e r y =" r e l o c a t e " >
        < s c r i p t f i l e = " / e t c / i n i t . d / c l u s _ c r o n d " name=" i n i t c l u s _ c r o n " / >
      </ s e r v i c e >
    </rm>




                                                  Neidhart        RH Cluster Suite
Einführung
                        RH Cluster Suite
                     Anwendungsbeispiel
                            Tipps/Tricks
                                   Ende


Tipps



        Seperates Netzwerk für Cluster und Applikation
        Interface-bonding für internes Cluster-LAN
        Anpassung tcp send und receive Buffer
        Genügend Journals in der GFS Partition anlegen (pro
        zugreifendem Node muss ein Journal existieren)




                                Neidhart   RH Cluster Suite
Einführung
                 RH Cluster Suite
              Anwendungsbeispiel
                     Tipps/Tricks
                            Ende


Resourcen




    http://www.redhat.com/docs/manuals/csgfs/
    browse/4.6/Cluster_Suite_Overview/
    http://sourceware.org/cluster/faq.html
    http://sources.redhat.com/cluster/wiki/FAQ




                         Neidhart   RH Cluster Suite
Einführung
                     RH Cluster Suite
                  Anwendungsbeispiel
                         Tipps/Tricks
                                Ende


Ende




 Vielen Danke für die Aufmerksamkeit!
 Fragen?




                             Neidhart   RH Cluster Suite

Weitere ähnliche Inhalte

Empfohlen

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 

Empfohlen (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

Building high-available application with Red Hat Cluster Suite

  • 1. Einführung RH Cluster Suite Anwendungsbeispiel Tipps/Tricks Ende Red Hat Cluster Suite Building high-available Applications Thomas Neidhart Grazer Linuxtage 2008 Neidhart RH Cluster Suite
  • 2. Einführung RH Cluster Suite Anwendungsbeispiel Tipps/Tricks Ende Outline 1 Einführung Clusterarten 2 RH Cluster Suite Technische Details Komponenten 3 Anwendungsbeispiel Architektur Konfiguration 4 Tipps/Tricks Neidhart RH Cluster Suite
  • 3. Einführung RH Cluster Suite Anwendungsbeispiel Clusterarten Tipps/Tricks Ende Einführung Was ist eigentlich ein Cluster? Wozu braucht man so etwas? Welche Probleme kann ich damit lösen? Wie kann ich so einen Cluster aufbauen? Welche Komponenten werden dazu benötigt? Neidhart RH Cluster Suite
  • 4. Einführung RH Cluster Suite Anwendungsbeispiel Clusterarten Tipps/Tricks Ende Arten von Clustern Storage cluster - data access High availability - failover Load balancing - scalability High performance - parallel computation Neidhart RH Cluster Suite
  • 5. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Was bietet jetzt die RH Cluster Suite? kann bis zu 128 Knoten verwalten shared data storage (NFS, CIFS, GFS) bietet automatisches failover bietet load-balancing Neidhart RH Cluster Suite
  • 6. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Komponenten der Cluster Suite Die Cluster Suite besteht aus mehreren Komponenten, die einzelne Bereiche abdecken: Cluster infrastructure (config-file management, membership management, locking, fencing) HA Service Management Administration Tools Linux Virtual Server (LVS - IP Load Balancing) Neidhart RH Cluster Suite
  • 7. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Grundbegriffe Quorum zur Überprüfung der Funktionstüchtigkeit des Clusters Minimum an nötigen Stimmen jeder Knoten hat eine Stimme Quorum = 50% Knoten + 1 Stimme verhindert “split-brain” Situationen Neidhart RH Cluster Suite
  • 8. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Cluster und Lock Management Überwacht Quorum und Cluster Membership mit Hilfe von Heartbeat Nachrichten (Ethernet) Synchronisiert Zugriff auf gemeinsame Resourcen Locking Arten distributed: CMAN/DLM (Cluster Manager, Distributed Lock Manager) client-server: GULM (Grand Unified Lock Manager) Neidhart RH Cluster Suite
  • 9. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende CMAN Variante Neidhart RH Cluster Suite
  • 10. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende GULM Variante Neidhart RH Cluster Suite
  • 11. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Locking Erlaubt Zugriff auf gemeinsame Resourcen (GFS-Partition) Gewährleistet Datenintegrität Knoten die sich nicht im Cluster befinden, können nicht auf gemeinsame Resourcen zugreifen Neidhart RH Cluster Suite
  • 12. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Fencing Notwendig für die Datenintegrität des Clusters Ist ein Knoten ausgefallen (kein Heartbeat), wird sämtliche Aktivität eingefroren, bis der Knoten erfolgreich gefenced wurde. Fencing Arten Power fencing Fibre Channel switch fencing DRAC, IPMI, ... Achtung bei redundanten Power Supplies Neidhart RH Cluster Suite
  • 13. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Cluster Configuration System Verwaltet die Cluster Konfiguration. Neidhart RH Cluster Suite
  • 14. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Cluster Configuration System Im Cluster Configuration File (/etc/cluster/cluster.conf) stehen folgende Infos: Allgemeine Clusterinfo (Name, Locking Type, Fence Timing) Cluster Knoten (Name, Fence Methode, Quorum Votes) Fence Devices Managed Resources (Failover Domains, IP addresses) Neidhart RH Cluster Suite
  • 15. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende HA Service Management Definition von Services die ausfallsicher im Cluster laufen sollen. Wird verwaltet vom rgmanager (Resource Group Manager) Service Definition Service Name Init Script (z.B. /etc/init.d/httpd) Verwendete Resourcen (floating IP Address) Failover Domain Neidhart RH Cluster Suite
  • 16. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Failover Domains Wo soll ein Dienst laufen? Neidhart RH Cluster Suite
  • 17. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Shared Resources Cluster FS GFS Gemeinsame Datenquelle für alle Cluster Knoten Anbindung z.B. an ein SAN Vereinfacht Deployment und Backup von Applikationen Neidhart RH Cluster Suite
  • 18. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Linux Virtual Server Verteilt die Last auf mehrere “echte” Server: Neidhart RH Cluster Suite
  • 19. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende LVS Load-Balancing Algorithmen (weighted) Round-Robin (weighted) Least-Connections Source Hash Scheduling ... Routing Methoden NAT direct routing Neidhart RH Cluster Suite
  • 20. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende NAT Routing Sowohl intern als auch extern wird eine “floating IP” verwendet Backend-Server haben interne floating-IP als default Route eingetragen Neidhart RH Cluster Suite
  • 21. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Direct Routing LVS Router verarbeitet nur eingehende Pakete Antworten werden von den Servern direkt an die Clients geschickt Neidhart RH Cluster Suite
  • 22. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Wichtige Kommandos Befehle ccs_tool update der Cluster Configuration cman_tool steuert Cluster Manager clustat zeigt Status des Clusters an clusvcadm verwaltet Services Neidhart RH Cluster Suite
  • 23. Einführung RH Cluster Suite Technische Details Anwendungsbeispiel Komponenten Tipps/Tricks Ende Member S t a t u s : Quorate Member Name Status −−− −− −−− −− −−− −−− c l−node−70 Online , rgmanager c l−node−72 Online , Local , rgmanager c l−node−74 Online , rgmanager S e r v i c e Name Owner ( L a s t ) State − − − −− − −−− −− − − −− − − −− −−− −−− −− PgSQL c l−node−70 started Neidhart RH Cluster Suite
  • 24. Einführung RH Cluster Suite Architektur Anwendungsbeispiel Konfiguration Tipps/Tricks Ende Wir wollen eine kleine, feine Internet Applikation bauen, die dynamische Inhalte ausliefert: Beschreibung Webserver (z.B. apache) liefert die Seiten aus welche z.B. mit php generiert wurden Datenbankserver hält den dynamischen Content bereit Anforderungen Applikation muss skalierbar sein, d.h. zusätzliche Last soll durch weitere Knoten abgedeckt werden können. Datenbank muss ausfallsicher laufen. Konsistentes Backup der Daten muss möglich sein. Neidhart RH Cluster Suite
  • 25. Einführung RH Cluster Suite Architektur Anwendungsbeispiel Konfiguration Tipps/Tricks Ende Stufen Stufe 1 Load-Balancing Server Stufe 2 Application Servers Stufe 3 Database Server Stufe 4 GFS Data Source Neidhart RH Cluster Suite
  • 26. Einführung RH Cluster Suite Architektur Anwendungsbeispiel Konfiguration Tipps/Tricks Ende Knotenkonfiguration < c l u s t e r c o n f i g _ v e r s i o n = " 1 " name="DEMO" > <fence_daemon p o s t _ f a i l _ d e l a y = " 0 " p o s t _ j o i n _ d e l a y = " 3 " / > <clusternodes > < c l u s t e r n o d e name=" c l−node−70" v o t e s ="1" > <fence > <method name="1" > < d e v i c e name=" apc−71" p o r t = " 1 " / > < d e v i c e name=" apc−73" p o r t = " 1 " / > </ method> <method name="2" > < d e v i c e name=" ipmi −71"/> </ method> </ fence > </ c l u s t e r n o d e > < c l u s t e r n o d e name=" c l−node−72" v o t e s ="1" > .... </ c l u s t e r n o d e > </ c l u s t e r n o d e s > < fencedevices > < f e n c e d e v i c e agent =" fence_apc " i p a d d r = " 1 7 2 . 1 0 . 7 3 . 7 1 " . . . / > </ fencedevices > Neidhart RH Cluster Suite
  • 27. Einführung RH Cluster Suite Architektur Anwendungsbeispiel Konfiguration Tipps/Tricks Ende Servicekonfiguration <rm> <failoverdomains > < f a i l o v e r d o m a i n name="PgSQL_Domain " ordered = " 1 " r e s t r i c t e d ="1" > < f a i l o v e r d o m a i n n o d e name=" c l−node−70" p r i o r i t y = " 1 " / > < f a i l o v e r d o m a i n n o d e name=" c l−node−72" p r i o r i t y = " 2 " / > < f a i l o v e r d o m a i n n o d e name=" c l−node−74" p r i o r i t y = " 3 " / > </ f a i l o v e r d o m a i n > </ f a i l o v e r d o m a i n s > <resources / > < s e r v i c e a u t o s t a r t = " 1 " domain ="PgSQL_Domain " name="PgSQL" r e c o v e r y =" r e l o c a t e " > < i p address = " 1 7 2 . 1 0 . 7 3 . 9 0 " m o n i t o r _ l i n k ="1" > < s c r i p t f i l e = " / e t c / i n i t . d / c l _ p g s q l " name=" i n i t p g s q l " / > </ i p > </ s e r v i c e > < s e r v i c e a u t o s t a r t = " 1 " domain ="PgSQL_Domain " name=" Clus_Cron " r e c o v e r y =" r e l o c a t e " > < s c r i p t f i l e = " / e t c / i n i t . d / c l u s _ c r o n d " name=" i n i t c l u s _ c r o n " / > </ s e r v i c e > </rm> Neidhart RH Cluster Suite
  • 28. Einführung RH Cluster Suite Anwendungsbeispiel Tipps/Tricks Ende Tipps Seperates Netzwerk für Cluster und Applikation Interface-bonding für internes Cluster-LAN Anpassung tcp send und receive Buffer Genügend Journals in der GFS Partition anlegen (pro zugreifendem Node muss ein Journal existieren) Neidhart RH Cluster Suite
  • 29. Einführung RH Cluster Suite Anwendungsbeispiel Tipps/Tricks Ende Resourcen http://www.redhat.com/docs/manuals/csgfs/ browse/4.6/Cluster_Suite_Overview/ http://sourceware.org/cluster/faq.html http://sources.redhat.com/cluster/wiki/FAQ Neidhart RH Cluster Suite
  • 30. Einführung RH Cluster Suite Anwendungsbeispiel Tipps/Tricks Ende Ende Vielen Danke für die Aufmerksamkeit! Fragen? Neidhart RH Cluster Suite