Linux-Hochverfügbarkeit
2. und erweiterte Auflage
Oliver Liebel
|
Galileo Computing, 2. aktualisierte und erweiterte Auflage
- 09/2013
848 Seiten, gebunden. 49,90 Euro.
ISBN-10: 3836225425
ISBN-13: 978-3836225427

- Lokale HA: BTRFS, RAID, LVM, NIC-Bonding und
SMART
- Linux-HA-Cluster: Corosync/CMAN,
Pacemaker, LVS, GFS2, OCFS2, GlusterFS, Ceph,
DRBD 8/9, Storage Cluster für ESXi/vSphere
- Xen/KVM-VMs
im Cluster, Ceph-RBD, Backup und Disaster Recovery
"Hochverfügbarkeit ist ein zentrales und ebenso komplexes Thema
für jeden Administrator. Profitieren Sie jetzt von den
praxiserprobten Setup-Lösungen und dem technischen Background,
die der langjährige Linux-Experte Oliver Liebel für Sie
zusammengestellt hat. So sorgen Sie einfach und mit moderaten
Hardware-Ressourcen dafür, dass Ihre Linux-Server lokal und
im Netz stets hochverfügbar sind und zudem optimal skalieren.
Das Buch beleuchtet die wichtigsten Aspekte der lokalen
Hochverfügbarkeit und die Sicherstellung der Redundanz der
wichtigsten Serverkomponenten: Disk-Monitoring mit SMART, SSD's und
Hybrid-Disks im Server-Einsatz, ausfallsichere Bonding-Netzdevices,
redundante (Soft-)Raids, skalierbare Logical Volumes, die Auswahl
des passenden Linux-Journaling-Dateisystems und ausführliche
Praxis-Einblicke in das kommende Standard-Dateisystem unter Linux,
das Raid-, Resizing und Snapshot-Fähigkeiten in sich vereinigt:
BTRFS. Zur Sicherstellung der Hochverfügbarkeit auf
Cluster-Ebene werden zahlreiche aktuelle und praxiserprobte
Cluster-Setups mit Corosync/CMAN und Pacemaker anschaulich
erläutert, das ganze ergänzt durch Storage-Verwaltung im Cluster:
DRBD 8 und das neue DRBD 9.0 mit Mesh-/Multi-Node-Replication,
traditionelle Cluster-Dateisysteme wie OCFS2 und GFS2, Distributed
Storage Cluster mit GlusterFS, die "Next Generation" des Distributed
Storage Clustering mit CEPH und vieles andere mehr. Des Weiteren
wird gezeigt, wie Pacemaker Cluster in verschiedenen Konfigurationen
als hochskalierbare und -verfügbare Storage-Backends für
vSphere/ESXi-Umgebungen eingesetzt werden können. Zur optimalen
Ausnutzung und Verfügbarkeit der Ressourcen wird zudem das Setup von
virtuellen XEN- und KVM-Maschinen im Cluster und auf verschiedenen
Storage-Backends, wie z.B. Ceph-RBD oder DRBD im Dual-Primary-Mode,
eingängig erläutert, sowie deren Live-Migration, damit Sie die
optimale Verfügbarkeit der VMs in jeder Situation sicherstellen
können."
Pressestimmen zur 1.Ausgabe:SearchSecurity, 01/2011
"Linux Hochverfügbarkeit ist ein wirklich lohnenswertes Buch für Linux-Admins im Unternehmen.
Der Autor beschreibt unterhaltsam und trotzdem sehr informativ viele Details zum Aufbau lokaler
oder netzwerkbasierter Hochverfügbarkeits-Systeme und spart nicht mit Praxisbeispielen."
ADMIN, 02/2011
"Wer mit aktuellen Open-Source-Technologien hochverfügbare Cluster aufbauen will,
ist mit dem Buch gut bedient, denn es gibt direkt umsetzbare Anleitungen dafür.
Im Mittelpunkt steht das, was sich die meisten Admins unter Hochverfügbarkeit
vorstellen: Cluster-Setup mit redundanten Netzwerken und Speichersystemen.
Das führt Liebel an den Open-Source-Paketen OpenAIS, Corosync, DRBD und Pacemaker
im Detail vor. Die Praxis steht dabei klar im Vordergrund,
und so nehmen Shell-Kommandos entsprechend großen Raum ein."
Linux Magazin, 04/2011
Empfehlung der Redaktion
Linux Magazin Online, 04.04.2011
"Für viele Unternehmen ist die IT-Anlage heutzutage so wichtig, dass deren Ausfall stark negative
bis existenzbedrohende Auswirkung haben kann. Insofern ist die nahezu ständige Verfügbarkeit als
unternehmenskritisch einzustufen. Das Buch "Linux-Hochverfügbarkeit" zeigt, wie sie sich mit
Linux-Mitteln verwirklichen lässt. Spezielle, oft proprietäre und meist hochpreisige Lösungen
klammert der Autor Oliver Liebel bewusst aus. Es geht ihm darum, Lösungen aus dem Open-Source-Umfeld
aufzuzeigen, die auch mit moderaten Budgets realisierbar sind und dennoch kommerziellen
Produkten das Wasser reichen können. Insgesamt zeigt dieses Buch, was mit Linux und freier Software
alles möglich ist, um dem Ziel der Hochverfügbarkeit nahe zu kommen."
IT-Administrator 07/2011
"Hochverfügbarkeitsszenarien waren vor ein paar Jahren nur den Administratoren sehr großer
Rechenzentren vorbehalten, sind aber mittlerweile auch in mittleren und kleineren Netzwerken
relevant. Linux-Experte Oliver Liebel widmet sich diesem Thema und das primär auf seiner
Open Source-Platform. Die Motivation dahinter entspringt den praxisnahen Admin-Anforderungen:
maximale Ausfallsicherheit bei relativ moderaten Hardware-Voraussetzungen.
Dabei berücksichtigt der Autor keine spezielle Hardware-Konstellation, sondern stellt Ansätze
mit bereits bewährten Standard-Tools vor. Oliver Liebel lässt sein Know-how
in die detailliert aufgeschlüsselte Arbeit einfließen und präsentiert eine gelungene Mischung
aus relevanter Theorie gepaart mit praktischen Beispielen. Einziges Manko: Kommerziell
verfügbare Systeme werden in keiner Weise erwähnt.
Dennoch ist der Administrator nach dieser Lektüre Garant für den unterbrechungsfreien
Geschäftsablauf."
Inhalt
- ... Vorwort ... 19
- 1 ... Mission Critical – ausfallsichere
Server ... 26
- 1.1 ... Grundsätzliche Überlegungen zur
Redundanz ... 27
- 1.1.1 ... Parallelität, MTBF, MTTR und
einiges mehr … ... 29
- 1.2 ... Tool-Time zum Ersten: Das richtige
Werkzeug ... 34
- 1.2.1 ... Päckchen ... 35
- 1.2.2 ... … und Betriebsanleitungen ...
36
- ... Teil I – Hochverfügbarkeit (HA) auf
Server-Ebene ... 39
- 2 ... Lokale Hochverfügbarkeit ... 40
- 2.1 ... Vorbetrachtungen ... 40
- 2.1.1 ... Temperatur ... 41
- 2.1.2 ... G-Force ... 41
- 2.2 ... Netzteile, CPUs und mehr ... 42
- 2.2.1 ... Redundante Netzteile ... 42
- 2.2.2 ... Kernfrage, Teil 1: CPU ... 43
- 2.2.3 ... Kernfrage, Teil 2: Control
Groups und Cpusets ... 46
- 2.2.4 ... monit ... 61
- 2.2.5 ... Fessel- Spielchen –
Netzwerkkarten-Bonding ... 66
- 3 ... Lokaler Storage ... 74
- 3.1 ... Vorbetrachtungen ... 74
- 3.2 ... The road ahead – SSDs im
Servereinsatz ... 78
- 3.3 ... Disk- Überwachung: Clever mit SMART
... 83
- 4 ... Raid ... 90
- 4.1 ... Raid-Level ... 91
- 4.1.1 ... Raid 0 – oder: Wen kümmert’s?
... 92
- 4.1.2 ... Raid 1: Spieglein, Spieglein …
... 93
- 4.1.3 ... Raid 5: A + B = ? ... 94
- 4.1.4 ... Raid 6 ... 97
- 4.2 ... Exkurs: Raid-Kombilevel ... 97
- 4.3 ... Hard- oder Software-Raids ... 98
- 4.4 ... Softraids unter Linux ... 102
- 4.4.1 ... Softraid-Performance ... 103
- 4.4.2 ... Einsatzzweck und Bootloader ...
105
- 4.4.3 ... Weitere Vorbetrachtungen zum
Raid-Setup ... 106
- 4.4.4 ... Exkurs: Journalisten –
Journaling-Dateisysteme unter Linux ... 108
- 4.4.5 ... Mirror, Mirror – Teil 1:
Softraid Level 1 ... 124
- 4.4.6 ... Dynamisches Duo – Softraid
Level 1 + 0 und 10 ... 134
- 4.4.7 ... Softraid Level 5 ... 136
- 4.4.8 ... Softraid Level 6 ... 140
- 4.4.9 ... The Better Way – Partitionable
Raids ... 141
- 4.4.10 ... Bootredundante Softraids für
das OS ... 143
- 4.4.11 ... System-Installation/-Migration
auf ein partitionable Raid ... 150
- 4.4.12 ... Weitere wichtige
Raid-Parameter und - Szenarien ... 154
- 5 ... LVM – Storage- Virtualisierung mit
dem Logical Volume Manager ... 160
- 5.1 ... LVM – How it works ... 161
- 5.1.1 ... Logische Schaltzentrale –
lvm.conf ... 163
- 5.1.2 ... Let’s get physical – Erstellen
und Administrieren der PVs ... 164
- 5.1.3 ... Gruppentherapie –
Administration der Volume Groups ... 167
- 5.1.4 ... Administration der Logical
Volumes ... 168
- 5.1.5 ... Darf gestrip(p)t werden? –
Stripesets ... 169
- 5.1.6 ... Blow up ... 170
- 5.2 ... Bitte lächeln – Snapshots ... 173
- 5.2.1 ... LVM- Snaphots und Datenbanken
... 177
- 5.2.2 ... Völlige Verschmelzung –
Snapshot-Merging statt Restore ... 181
- 5.3 ... Spieglein, Spieglein … LVM-Raid
statt unterliegendem Raid ... 183
- 5.3.1 ... Auto(?)-Rebuild von defekten
PVs im LVM- Mirrorset ... 185
- 5.3.2 ... Just me myself and I –
LV-Raids/Raid-LVs ... 186
- 5.3.3 ... LVM/LV- Raid für das
root-Dateisystem ... 190
- 6 ... BTRFS in der Praxis ... 194
- 6.1 ... BTRFS: Vorbetrachtungen ... 194
- 6.2 ... Ab in den Untergrund: Subvolumes
... 196
- 6.3 ... BTRFS- Datenvolumen: Redundanz,
Resizing und Snapshots ... 197
- 6.3.1 ... Raid 1 ... 197
- 6.3.2 ... btrfs- Tools ... 199
- 6.3.3 ... Recover ... 200
- 6.3.4 ... Resize ... 201
- 6.3.5 ... Raid 10 ... 202
- 6.3.6 ... Subvolumes und Snapshots ...
202
- 6.3.7 ... BTRFS – Reflinks ... 203
- 6.3.8 ... Datenintegrität und
Defragmentierung mit btrfs <scrub> und <defragment> ... 204
- 6.3.9 ... Konvertierung mit btrfs-convert
... 205
- 6.3.10 ... BTRFS- Filesystem-Resizing ...
205
- 6.3.11 ... Sonstige BTRFS-Tools ... 206
- 6.4 ... BTRFS im Distributions-Einsatz als
Root- FS/Subvolume ... 206
- 6.4.1 ... Green Snapper ... 207
- 6.4.2 ... Snapshot-Revertierung ... 212
- 6.4.3 ... Kernel- Upgrade/Änderung und
Rollbacks ... 214
- 6.4.4 ... Root- Raid-BTRFS ... 215
- 6.5 ... Fazit ... 217
- ... Teil II – Hochverfügbarkeits-Cluster ...
219
- 7 ... HA-Cluster – Vorbetrachtungen ... 220
- 7.1 ... How it works ... 220
- 7.2 ... Clustertypen ... 221
- 7.2.1 ... Hochverfügbarkeits-Cluster ...
221
- 7.2.2 ... Load- Balancing-Cluster ... 221
- 7.2.3 ... High-
Performance-Computing-Cluster (HPC- Cluster) ... 222
- 7.2.4 ... Exkurs: Grids – alles vernetzt
oder was? ... 222
- 7.2.5 ... Exkurs: Stark bewölkt – Cloud
Computing ... 222
- 7.2.6 ... Active/Passive –
(Hot-)Failover-Cluster ... 224
- 7.2.7 ... Active/Active-Cluster ... 225
- 7.3 ... Cluster- Reigen: n-Node Cluster ...
226
- 7.4 ... Cluster- Lobotomie: Split-Brain,
Fencing und STONITH ... 226
- 7.4.1 ... Exkurs: High Noon – STONITH
Deathmatch ... 228
- 7.5 ... Volksentscheid: Cluster-Quorum ...
229
- 7.6 ... Exkurs: Alles oder nichts –
Shared-all-/Shared- nothing-Cluster ... 230
- 8 ... HA-Basics ... 231
- 8.1 ... Ressourcen und Agenten ... 232
- 8.2 ... Alles eine Frage der Kommunikation:
konzeptionelle ClusterÜbersicht ... 234
- 8.2.1 ... Das technische
(Schichten-)Modell von Heartbeat | Corosync und Pacemaker ...
235
- 8.2.2 ... Cluster-Kommunikation am
konkreten Beispiel ... 238
- 9 ... Clustersoftware ... 240
- 9.1 ... Heartbeat ... 240
- 9.2 ... Corosync ... 241
- 9.3 ... Pacemaker ... 244
- 9.3.1 ... Alles Tron oder was? – Der
»MCP« ... 248
- 9.4 ... Exkurs: CMAN und die roten Hüte ...
250
- 9.5 ... Installation der
Cluster-spezifischen Software ... 251
- 9.5.1 ... Verfallsdatum abgelaufen? –
Enterprise/LTS vs. Short-Term-Releases ... 251
- 9.5.2 ... Von Quellen und Päckchen … ...
252
- 9.5.3 ... … und der »Ente« in Enterprise
... 253
- 9.5.4 ... Upgrade der Cluster-Software
und einzelner Applikationen ... 253
- 10 ... NTPD – The Time Machine ... 256
- 10.1 ... Setup ... 257
- 10.2 ... NTP in VMs ... 260
- 11 ... Setup der Cluster-Kommunikation ...
265
- 11.1 ... Corosync- Setup ... 267
- 11.1.1 ... Protokoll-Konfiguration
(totem) ... 267
- 11.1.2 ... Interface-Konfiguration ...
270
- 11.1.3 ... Exkurs: »Cast«-ings ... 273
- 11.1.4 ... Logging-Konfiguration ... 274
- 11.1.5 ... Exkurs: Alles virtuell oder
was? – VLAN ... 276
- 11.1.6 ... Der Schlüsselmeister – authkey
... 277
- 11.1.7 ... Startup ... 279
- 11.1.8 ... Corosync-Debugging ... 280
- 11.2 ... Exkurs: CMAN ... 282
- 11.3 ... Heartbeat- Setup ... 285
- 11.3.1 ... ha.cf ... 285
- 11.3.2 ... Und wieder der
Schlüsselmeister – authkeys ... 289
- 11.3.3 ... Startup ... 290
- 11.3.4 ... Debugging ... 290
- 12 ... Pacemaker ... 291
- 12.1 ... Der Cluster-Monitor crm_mon ...
292
- 12.2 ... First Contact ... 294
- 12.2.1 ... Punktestände, Klebrigkeiten,
Regeln, Platzanweiser und Rangordnungen ... 294
- 12.2.2 ... Konfigurations-Layout ... 299
- 12.2.3 ... Die CIB-Files ... 300
- 12.3 ... Tool-Time zum 2.:
Cluster-Admin-Tools ... 301
- 12.3.1 ... Die crm-Shell ... 301
- 12.3.2 ... cibadmin und crm_*-Tools ...
311
- 12.3.3 ... Die Pacemaker-GUI ... 316
- 12.3.4 ... HAWK ... 319
- 12.3.5 ... LCMC ... 321
- 13 ... Management von Cluster-Ressourcen
... 325
- 13.1 ... At your Service – gestatten: Ihre
Service-IP ... 326
- 13.2 ... Integration von Ressourcen, Teil
1: Service-IP ... 327
- 13.2.1 ... Hackordnung:
Ressourcen-Platzierung ... 332
- 13.2.2 ... Strategische Platzierung –
mögliche »Placement Strategies« unseres Clusters ... 333
- 13.3 ... Örtlichkeiten – Setzen von
(Co-)Location- Constraints ... 336
- 13.3.1 ... Location ... 336
- 13.3.2 ... Colocation ... 337
- 13.4 ... Failover- Simulation und
Klebrigkeiten ... 338
- 13.5 ... Schattenspielchen im Sandkasten –
Testsimulation mit crm_shadow ... 341
- 13.6 ... CIB- Templating ... 345
- 13.7 ... Ressourcen verwalten ... 346
- 13.7.1 ... Ressourcen starten und stoppen
... 347
- 13.7.2 ... Ressourcen und Constraints
löschen, Integritätsprüfung der CIB ... 348
- 13.7.3 ... Ressourcen bereinigen ... 350
- 13.7.4 ... Ignoranz at it’s best –
Ressourcen (un- )managen ... 350
- 13.8 ... Integration von Ressourcen, Teil
2: Apache ... 351
- 13.8.1 ... Exkurs: Der »gepatchte« und
andere Agenten im Käfig – Pacemaker-Ressourcen im
»shielded«-cpuset ... 352
- 13.8.2 ... Exkurs: Co-Location oder
Gruppe? ... 355
- 13.9 ... Colocation- und
Ordering-Constraints in der Praxis ... 355
- 13.9.1 ... Colocation-Constraints ... 355
- 13.9.2 ... Immer schön der Reihe nach –
Orderings ... 357
- 13.9.3 ... Mandatory Ordering Constraint
... 358
- 13.9.4 ... Advisory Ordering Constraint
... 359
- 13.9.5 ... Ressource-Sets
(Multi-Orderings) ... 359
- 13.9.6 ... Exkurs: Warten auf Godot –
Intermediate- Zustände (Starting/Stopping/Pending- Operations)
unseres Clusters abfragen ... 364
- 13.9.7 ... Ressource-Sets
(Multi-Colocations) ... 365
- 13.9.8 ... Rulesets in der Praxis ... 366
- 13.10 ... Gruppentherapie ... 367
- 13.11 ... Migration-Threshold und
Failure-Timeout ... 369
- 13.12 ... Benutzerrechte und
Zugriffskontrollen im Cluster ... 373
- 13.12.1 ... Rollenspielchen ... 373
- 13.12.2 ... ACL- Benutzer ... 375
- 14 ... Cluster- Beispiele aus der Praxis
... 377
- 14.1 ... The Clone Wars – Hot-Failover mit
Clonesets ... 377
- 14.2 ... Hot- Failover-Webservices mit
Apache-Cloneset und ServiceIP ... 379
- 14.2.1 ... Exkurs – Auto-Update von
Constraints ... 381
- 14.2.2 ... Failure-Simulation ... 384
- 14.3 ... Exkurs: Namensfragen –
SSL-/TLS-Verbindungen im FailoverFall ... 384
- 14.4 ... Die gleiche Hausnummer –
Hot-Failover Apache- Cloneset mit zwei identischen Cluster- IPs
... 385
- 14.4.1 ... … and then there were Three
... 388
- 14.5 ... Cephalopoden-Kunde, Teil 1:
Failover- Proxy-Cluster mit Squid ... 391
- 14.6 ... Maximum HA-Scaling:
Hochverfügbares, applikationsunabhängiges Loadbalancing im
Cluster ... 396
- 14.6.1 ... Hochskalierbarer und
ausfallsicherer Loadbalancer mit LVS ... 397
- 14.6.2 ... Setup des OpenLDAP (localhost
auf dem LB oder als externer Worker) ... 400
- 14.6.3 ... Erstes Beispiel: Setup des
2-Node Loadbalancers (gleichzeitig auch Worker) ... 407
- 14.6.4 ... Zweites Beispiel: Setup eines
2-Node- Hot-Failover-Loadbalancers mit drei externen Workern ...
414
- 14.7 ... »Geben Sie mir ein ›Ping‹, Wassili
…«: Voll vernetzt – die ping-/pingd-Ressource ... 418
- 14.7.1 ... ping- Ruleset ... 422
- 14.7.2 ... Exkurs: Ionisations-Blackout
... 423
- 14.8 ... Inspector Gadget –
Ressourcen-Platzierung auf Basis von nodespezifischen System-
Informationen ... 425
- 14.8.1 ... Alle geregelt oder was? –
Multiple Rules und Entscheidungskriterien für den Cluster ...
427
- 14.8.2 ... Cleanup der SysInfo –
Attribute ... 429
- 14.8.3 ... »Back in Time« und anderer
Mumpitz: Zeitbasierte Regeln ... 429
- 14.9 ... Gruppentherapie zum Zweiten –
Failover einer Samba-3-Ressource ... 429
- 14.9.1 ... Setup S3-Standalone ... 432
- 14.9.2 ... Setup S3 mit
OpenLDAP-Anbindung ... 434
- 14.9.3 ... Cluster-Integration der
OpenLDAP und S3- Ressourcen ... 441
- 15 ... Pacemaker 1.1.8, Corosync 2.x und
pcs ... 446
- 15.1 ... Vorbetrachtungen ... 446
- 15.2 ... Corosync- Konfiguration per pcs
... 447
- 15.3 ... Fire it up … ... 450
- 15.4 ... Pacemaker- Konfiguration per pcs
... 451
- 16 ... … und noch einmal Tool-Time: Eigene
OCF-Ressource- Agenten erstellen ... 455
- 16.1 ... Vorbetrachtungen ... 455
- 16.1.1 ... Zum ersten Punkt – den zu
verwendenden Standards und Returncodes ... 456
- 16.1.2 ... Zum zweiten Punkt – den
Überwachungsfunktionalitäten ... 458
- 16.1.3 ... Fazit ... 459
- ... Teil III – Hochverfügbare Storage-Cluster
... 461
- 17 ... Ausfallsichere
Shared-Nothing-Cluster mit DRBD ... 462
- 17.1 ... DRBD – Vorbetrachtungen ... 463
- 17.1.1 ... Wozu – und wozu nicht:
Einsatzmöglichkeiten von DRBD ... 465
- 17.1.2 ... Die DRBD-Funktionalität im
Detail ... 466
- 17.1.3 ... Rollenspielchen – DRBD-Modi
... 467
- 17.1.4 ... Replikations-Varianten ... 468
- 17.2 ... DRBD- Standalone-Setup ... 470
- 17.2.1 ... drbd.conf – die Schaltzentrale
... 471
- 17.2.2 ... Die DRBD-Userspace-Tools ...
474
- 17.2.3 ... Setup der DRBD-Devices ... 476
- 17.2.4 ... Manueller DRBD-Funktionstest
(Master/Slave) ... 482
- 17.3 ... DRBD- Master/Slave-Ressource im
S3/LDAP- Cluster ... 484
- 17.3.1 ... Exkurs: Ab in den Käfig –
Zwangslokation für DRBD-Instanzen ... 490
- 17.4 ... Schnappschüsse zum Zweiten:
DRBD-Backups per BTRFS oder LVM ... 491
- 17.4.1 ... DRBD- Snapshots über BTRFS ...
491
- 17.4.2 ... Online-Resizing eines DRBD mit
unterlegten BTRFS-Volumes … ... 492
- 17.4.3 ... DRBD on top of LV – Backup des
Secondary per Snapshot ... 493
- 17.4.4 ... Online-Resizing eines DRBD mit
unterlegtem LV ... 495
- 17.4.5 ... LV on top of DRBD
(Master/Slave) ... 496
- 17.4.6 ... DRBD/BTRFS vs. DRBD/LVM –
Fazit ... 498
- 17.5 ... To Clone or not to DRBD –
hochverfügbare MySQL- Cluster ... 499
- 17.5.1 ... Einzelkämpfer: Standalone
MySQL-DB mit DRBD ... 500
- 17.5.2 ... Teamplayer: MySQL-DB im
Hot-Failover Cloneset ... 501
- 17.6 ... Exkurs: Groß und wenig – oder
lieber klein und viel? Cluster-Storage-Export via NFS oder iSCSI
... 509
- 17.7 ... DRBD- Master/Slave mit NFS-Clone
als hochverfügbares Storage-Backend für VMware
vSphere/ESXi-Hosts ... 510
- 17.8 ... DRBD Dual- Primary Mode ... 516
- 17.8.1 ... Einsatzzwecke ... 517
- 17.8.2 ... Exkurs:
DRBD-Split-Brain-Recovery ... 517
- 17.8.3 ... Exkurs: Manuelles
DRBD-Split-Brain- Recover ... 521
- 17.9 ... Cluster- Dateisysteme ... 523
- 17.9.1 ... Exkurs: DLM – der Distributed
Lock Manager ... 525
- 17.10 ... Die Cluster-FS-»Klassiker«: GFS2
und OCFS2 ... 527
- 17.10.1 ... GFS(2) ... 527
- 17.10.2 ... OCFS(2) ... 527
- 17.11 ... Pacemaker und Cluster-Filesysteme
... 528
- 17.12 ... DRBD Dual-Primary mit OCFS2 im
Pacemaker- Stack als S3-Storage-Backend ... 531
- 17.12.1 ... Do you really …? ... 531
- 17.12.2 ... Setup der DRBD Ressource ...
532
- 17.12.3 ... Setup der
DLM/OCFS2-Ressourcen ... 535
- 17.12.4 ... Setup der
Filesystem-Ressource und aller Constraints ... 537
- 17.12.5 ... Redundanzbetrachtungen ...
541
- 17.12.6 ... Failover-Fälle mit OCFS2 im
pcmk-Stack ... 541
- 17.13 ... DRBD Dual-Primary mit OCFS2 im
eigenen O2CB- Stack ... 542
- 17.14 ... DRBD Dual-Primary mit OCFS2 im
CMAN-Stack ... 546
- 17.15 ... Bitte lächeln – Teil 3: Snapshots
und Resizing mit DRBD DualPrimary und OCFS2 ... 547
- 17.15.1 ... Snapshots per LV ... 547
- 17.15.2 ... Snapshots per Reflink unter
OCFS2 ... 549
- 17.16 ... DRBD Dual-Primary mit OCFS2 und
CLVM ... 551
- 17.16.1 ... CLVM: Exkurs zu den
wichtigsten Komponenten ... 552
- 17.16.2 ... CLVM- Setup im Detail ... 553
- 17.16.3 ... Exkurs: Red Snapper, oder:
das Snapshot- Dilemma der roten Hüte ... 556
- 17.16.4 ... Exkurs: CLVM-Resizing ... 557
- 17.17 ... DRBD Dual-Primary mit GFS2 ...
558
- 17.18 ... DRBD Dual-Primary mit GFS2 und
NFS-Clone als Hot-Failover Storage-Backend für VMware
ESXi/vSphere – Hosts ... 561
- 17.19 ... DRBD- Online-Device-Verification
... 565
- 17.20 ... DRBD Replication Traffic
Integrity Checking ... 566
- 17.21 ... Stacked Fun? ... 567
- 18 ... The Road ahead – DRBD 9.x ... 568
- 18.1 ... Setup ... 569
- 18.1.1 ... Setup- Details ... 569
- 18.1.2 ... Fire it up ... 570
- 18.1.3 ... Auto- Promote ... 572
- 18.1.4 ... Analyse ... 573
- 18.1.5 ... Cluster Integration … ... 573
- 18.1.6 ... DRBD- Client … ... 573
- 18.2 ... DRBD 9 – Fazit ... 573
- 19 ... Gerechte Verteilung – Distributed
Storage Cluster mit GlusterFS und Ceph ... 575
- 19.1 ... Hoch? Oder lieber breit? Scale-Out
anstelle von Scale-Up ... 577
- 19.2 ... GlusterFS ... 578
- 19.3 ... Ceph(FS) ... 578
- 20 ... Alles nur Kopfsache – Distributed
Storage Cluster mit Ceph ... 580
- 20.1 ... Vorbetrachtung ... 580
- 20.1.1 ... Dreieinigkeit … ... 580
- 20.1.2 ... Ceph Object Storage Daemon
(Ceph-OSD) ... 584
- 20.1.3 ... Ceph Metadata Server
(Ceph-MDS) ... 585
- 20.1.4 ... Ceph Monitor (Ceph-MON) ...
586
- 20.1.5 ... Einfache Ceph-Cluster Design
Regeln ... 587
- 20.2 ... Setup und Verwaltung unseres
Ceph-Clusters ... 587
- 20.2.1 ... Exkurs: Auswahl eines lokalen
Dateisystems für Ceph ... 588
- 20.2.2 ... Ceph(FS)-Mount ... 595
- 20.2.3 ... Exkurs: Schlüsselfragen ...
596
- 20.2.4 ... Size Matters – Part 2 ... 598
- 20.2.5 ... F-Fall ... 599
- 20.2.6 ... Ceph- Tool-Time:
Stellschrauben und Messgeräte ... 600
- 20.2.7 ... Ceph- Datensicherheit und
Replikationslevel: ... 601
- 20.2.8 ... Placement Groups (PGs) ... 602
- 20.2.9 ... Pools ... 605
- 20.2.10 ... (Default-)Replikationslevel
unserer Pools ... 606
- 20.2.11 ... CRUSH maps ... 608
- 20.2.12 ... Poolparty – Die richtige
Platzierung im richtigen Pool ... 613
- 20.2.13 ... Size Matters – Part 3:
Resizing unseres Ceph- Clusters ... 615
- 20.2.14 ... Neuen OSD-Node hinzufügen ...
618
- 20.2.15 ... Und noch ein Wächter – Neuen
MON hinzufügen ... 622
- 20.2.16 ... Alles Meta oder was? –
Hinzufügen des vierten MDS ... 623
- 20.2.17 ... CephFS – verzögerte Löschung
... 624
- 20.2.18 ... CephFS – Snapshots ... 625
- 20.3 ... Troubleshooting und Debugging ...
625
- 20.4 ... Rhythmischer Octopus – Ceph/Samba
4 Storage Cluster ... 627
- 20.4.1 ... Ceph- Cluster-Setup ... 627
- 20.4.2 ... S4- Setup ... 629
- 20.4.3 ... Provisioning des ersten DC
(jake): ... 630
- 20.4.4 ... Join der weiteren S4-DC ...
633
- 20.4.5 ... Exkurs: Berechtigungsfragen –
S3FS vs. NTVFS und Ceph ... 636
- 20.4.6 ... S4 – Clusterintegration ...
640
- 20.5 ... Hochverfügbares
Ceph-RBD-Storage-Backend für S4 ... 642
- 20.5.1 ... Ceph- RBD-Setup ... 643
- 21 ... Distributed Storage Cluster mit
GlusterFS ... 647
- 21.1 ... GlusterFS –
Installationsvoraussetzungen ... 648
- 21.2 ... Setup der Gluster-Nodes ... 649
- 21.2.1 ... Client Mount: Daten da? ...
651
- 21.2.2 ... NFS- und CIFS-Mount ... 651
- 21.2.3 ... Gluster-Konsole ... 651
- 21.2.4 ... Size Matters Part 99 – oder:
Another Brick in the Gluster-Cluster … Erweiterung des
Gluster-Volumes um weitere Nodes (Bricks) ... 652
- 21.2.5 ... Tool- Time again –
Wartungsarbeiten am Gluster- Cluster ... 654
- 21.3 ... Pacemaker- Integration von Gluster
... 655
- 21.3.1 ... Performance-Monitoring ... 657
- 21.3.2 ... Authentifikation ... 657
- 21.4 ... Begegnung der dritten Art: UFO –
Objektbasierter Gluster-Storage ... 658
- 22 ... Geo-Site- /Multi-Site-(DFS-)Cluster
für Datacenter ... 659
- 22.1 ... Konzeptionelles Setup einer 2-
Datacenter-Ceph-Multi-Site-Replication via LAN ... 660
- 22.1.1 ... Vorbetrachtungen ... 660
- 22.1.2 ... Setup ... 662
- 22.1.3 ... Feintuning: CRUSH map für
Datacenter ... 665
- 22.2 ... Geo- Replication mit Gluster ...
666
- 22.2.1 ... Nix Wallstreet – Mountbroker
... 667
- 22.3 ... Ticket am Start?
Geo-Site-/Multi-Site-Cluster mit Tickets und Boothd ... 668
- 22.3.1 ... Pacemaker-Integration der
Ticket- Ressourcen und Constraints ... 670
- 22.3.2 ... boothd-Konfiguration ... 671
- 22.4 ... Cluster- Storage – Fazit ... 672
- 22.4.1 ... Performance ... 674
- 23 ... iSCSI im Cluster ... 675
- 23.1 ... iSCSI- Basics ... 675
- 23.1.1 ... Wer braucht’s? ... 676
- 23.2 ... Setup der iSCSI-Ressourcen (DRBD
im Primary/Secondary) ... 676
- 23.3 ... Einrichtung des iSCSI-Initiators
... 679
- 23.4 ... DRBD- Master/Slave mit iSCSITarget
als hochverfügbarem Storage-Backend für VMware
ESXi/vSphere-Hosts ... 682
- 23.4.1 ... Erweiterung ... 685
- 23.5 ... DRBD im DualPrimary mit Cluster-FS
als iSCSITarget für multiple Initiatoren ... 685
- 23.6 ... Ceph/RBD als hochredundantes
iSCSITarget ... 687
- ... Teil IV – STONITH und Debugging im Cluster
... 689
- 24 ... Node-Fencing mit STONITH ... 690
- 24.1 ... Vorbetrachtungen ... 690
- 24.2 ... Einfaches STONITH-Test-Setup mit
external/ssh ... 691
- 24.2.1 ... Exkurs: Passwortlose ssh-Key-
Autorisierung ... 692
- 24.2.2 ... Integration der
external/ssh-STONITH- Ressourcen in unseren Cluster ... 694
- 24.3 ... Watchdog ... 695
- 24.4 ... SBD – STONITH per
Split-Brain-Detector ... 695
- 24.5 ... Quorum- Disk ... 697
- 24.5.1 ... Setup qdisk unter RHEL/CentOS
... 699
- 24.6 ... STONITH per external/ibmrsa-telnet
... 702
- 24.7 ... STONITH per external/riloe und
external/ipmi ... 704
- 24.8 ... Fencing von virtualisierten
Pacemaker- Clusternodes auf ESXi/vSphere-Hosts ... 705
- 24.8.1 ... Shoot ’em down ... 710
- 25 ... Debugging im Cluster ... 711
- 26 ... Virtualisierung im Cluster ... 718
- 26.1 ... Virtualisierungskonzepte – oder:
Die wundersame Welt der Zwiebel ... 721
- 26.2 ... Xen ... 725
- 26.2.1 ... Xen- Terminologie ... 728
- 26.2.2 ... Xen- Setup ... 728
- 26.2.3 ... Installieren einer Xen-DomU
... 731
- 26.2.4 ... Live- Migration von Xen-DomUs
... 737
- 26.2.5 ... Remus ... 745
- 26.2.6 ... Exkurs: Snapshots/Backups für
Xen-DomUs und verschiedene Blockdevice-Formate ... 746
- 26.2.7 ... Monitoring von Xen-DomUs im
Cluster ... 751
- 26.3 ... KVM/qemu ... 752
- 26.3.1 ... KVM- Setup ... 753
- 26.3.2 ... KVM- Netzwerksetup ... 755
- 26.3.3 ... Doc Oc als VM-Spielplatz –
Teil 1: VM-Storage mit Ceph/RBD und Cluster-FS ... 756
- 26.3.4 ... KVM- Live-Migration ... 760
- 26.3.5 ... Backup/Snapshots von
KVM-Gästen ... 763
- 26.3.6 ... Doc Oc als VM-Spielplatz –
Teil 2: KVM nativ auf Ceph/RBD ... 764
- 26.3.7 ... Debugging ... 771
- 27 ... Backup und Disaster Recovery ... 774
- 27.1 ... Analyse ... 775
- 27.2 ... Umsetzung ... 777
- 27.2.1 ... Kategorie 1: Backup und
Recover des reinen Datenspeichers ... 777
- 27.2.2 ... Kategorie 2: Backup und
Recovery eines nicht virtualisierten Systems ... 785
- 27.2.3 ... Kategorie 3: Backup und
Recover von virtuellen Maschinen ... 788
- ... Anhang ... 791
- A.1 ... Beispieldateien ... 791
- A.2 ... Paketlisten ... 791
- A.3 ... Manpages ... 807
- A.3.1 ... SMART, cpusets/cgroups, monit,
ulimit, Bonding ... 808
- A.3.2 ... Softraid, Bootloader,
Filesysteme ... 809
- A.3.3 ... LVM ... 813
- A.3.4 ... HA – Heartbeat | CMAN |
Corosync / Pacemaker und Applikationen im Cluster ... 815
- A.3.5 ... DRBD, Cluster-FS, cLVM, iSCSI,
STONITH ... 822
- A.3.6 ... Xen, KVM, Qemu, libvirt ... 825
- A.3.7 ... OCF- Resource-Agenten,
auszugsweise alphabetische Übersicht ... 827
- ... Index ... 831
|