SUSE Linux Enterprise 12 High Availability Extensionsuse.pl/webinar/webinar_SLES12_HA.pdf ·...

60
SUSE® Linux Enterprise 12 High Availability Extension Piotr Szewczuk Starszy konsultant [email protected]

Transcript of SUSE Linux Enterprise 12 High Availability Extensionsuse.pl/webinar/webinar_SLES12_HA.pdf ·...

SUSE® Linux Enterprise 12 High Availability Extension

Piotr SzewczukStarszy konsultant

[email protected]

2

Agenda:

➔ SLES 12 HAE – omówienie podstaw➔ Jak zbudować klaster w oparciu o SLES 12 HAE –

wymagane komponenty

➔ Pokaz na żywo, jak uruchomić podstawowy klaster na SLES 12 HAE na przykładzie serwisu www

SLES 12 HAE – podstawy

4

Wyzwania dla rozwiązań wysokiej dostępności

• Czy Twoi klienci są przygotowani?

– Na awarię sprzętu, powódź, pożar, trzęsienie ziemi?

– Mogą sobie pozwolić na przerwy w dostawie usług lub gorzej, utraty danych?

– Ile ich kosztują przestoje?

• Zabezpiecz swoje dane, obciążenia (workloads), usługi za pomocą rozwiązania, które jest:

– Łatwe w uruchomieniu, skonfigurowaniu i zarządzaniu

– Działa na wszystkich platformach sprzętowych i systemach wirtualizacyjnych

– Integruje się z posiadanym środowiskiem

– Jest przystępne cenowo

Prawo Murphy'iego jest uniwersalne

5

SLE HAE 12 – nowe funkcjonalności

• Odświeżony główny kod produktu

• Przeglądanie historii klastra

‒ Wsparcie off-line

• Nowi agenci do Fencingu‒ Obsługa SCSI

• Odzyskiwanie węzłów‒ ReaR

(Relax and Recover)

• Load Balancer‒ HAproxy

• Klastrowe systemy plików

‒ OCFS2

‒ GFS2

6

SLE HAE 12 – nowe funkcjonalności

• Pacemaker

‒ Tagowanie obiektów

‒ Poprawiona wydajność bazy CIB

• Cluster Shell:

‒ „Ocena zdrowia” klastra

‒ Ulepszone raportowanie błędów i składni konfiguracyjnej

• HAWK‒ Ulepszone kreatory

• Rozszerzenie Geo‒ Ulepszony algorytm

działania

‒ CIB – atrybuty per site

‒ Przełączanie IP w oparciu o nazwy DNS

7

A Traditional Cluster

Hardware Router

SAN

SUSE HAE – tradycyjny klaster

Node 1 Node 3Node 2

8

A Traditional ClusterSUSE HAE – dwuwęzłowy klaster z replikowanym zasobem dyskowym

Hardware Router

Node 1 Node 2

TCP/IPDRBD

9

Simple Stack Enqueue Replication

DRBD Data Sync HA in Virtual Environments

SLE HAE - przykłady klastrów dla SAP

10

Klaster lokalny i metro

SLESSLE HA

SLESSLE HA

SLESSLE HA

SLESSLE HA

Clients

11

ext3, XFS OCFS2

cLVM2

Local Disks SANFC(oE), iSCSI

DRBD Multipath IO

DLM

SCTP TCP UDPmulticast

UDPmulticastEthernet Infiniband

Bonding

Linux Kernel

SAP

MySQL

libvirt

Xen

Apache

iSCSI

Filesystems

IP address

DRBD

clvmd

Ocfs2_controld

dlm_controld

YaST2

cDRBD cOpenAISMPIO

LVS

Res

ourc

e A

gen

ts

LSB

ini

t

ST

ON

ITH

LRM

...

DRAC

iLO

SBD

Fencing

Web GUI

Python GUI

CRM Shell

CIBPolicyEngine

Pacemaker

OpenAIS

Komponenty na pojedynczym węźle klastra

12

Klaster – architektura węzła

13

Klaster – grupowanie zasobów

14

Geo Clustering w rozwiązaniu SUSE Linux High Availability Extension

• Informacje o produkcie

‒ Rozszerza możliwości działania SLE HAE na nieograniczone odległości

‒ Pozwala wdrażać fizyczne i wirtualne klastry linuksowe w centrach danych na całym świecie

‒ Obsługuje automatyczne i ręczne przełączanie

• Licencjonowanie i ceny

‒ Wymaga dodatkowej subskrypcji

‒ Wymaga tego samego poziomu wsparcia, jak dla posiadanych subskrypcji SLES

15

Geo Cluster – Konfiguracja

Site A Site B

(Arbitrator)

boothd

Node 1 Node 2 Node 7 Node 8

Site C

boothd boothd

Jak zbudować klaster

17

Konfiguracja zasobów klastrowych

Tworzenie klastra

Konfiguracja systemu SLES + HAE

Zasoby dyskowe (MPIO)

SUSE HAE – elementy układanki

Sieć (Bonding)

18

SUSE HAE 12 – zasoby dyskowe

• Wykorzystujemy „standardowe” zasoby dostępne w SLES 12

• Obsługiwane protokoły dla współdzielonych zasobów (shared SCSI, iSCSI, FC, FCoE)

• Pamiętajmy o klastrowych systemach plików (OCFS2, GFS)

19

SLE HAE 12 – agregacja połączeń sieciowych

20

SUSE HAE 12 – MPIO

21

SLE HAE 12 – MPIO

22

Instalacja SLE HAE 12

23

SLE HAE 12 – Fencing

• Izolacja zasobów (zwykle dysków) pomiędzy węzłami

• Dwa sposoby realizacji‒ Izolacja zasobu - SAN switch

remapping‒ Izolacja węzła

- power-off lub „panic”

24

SLE HAE 12 – STONITH

• Shoot The Other Node In The Head• Sposób realizacji Fencingu w SLES• Program działający jako część oprogramowania klastra

• Zalecane metody realizacji: partycja SBD, karty zarządzające

• Wspiera kilka metod wymuszenia izolacji‒ stonith –L wyświetla listę dostępnych urządzeń

25

SLE HAE – przykład klastra

Kernel

XenVM1

LAMPApache

IPext3

Kernel Kernel

Corosync + openAIS

Pacemaker

DLM

cLVM2+OCFS2

XenVM2

Network Links

Clients

Storage

Licencjonowanie - rodzaje dostępnych subskrypcji

27

Rodzaje subskrypcji

• Basic – poprawki (łatki, aktualizacje), nowe wersje

• Standard – poprawki, nowe wersje + pomoc techniczna 12x5 świadczona drogą elektroniczną, czas reakcji 4 godz.

• Priority – poprawki, nowe wersje + pomoc techniczna 24x7 świadczona drogą elektroniczną, czas reakcji 4 godz., w przypadku zatrzymania serwera - 1 godz.

• Co nas wyróżnia: W Polsce jest dział obsługi technicznej SUSE.Zgłoszenia elektroniczne mogą być obsługiwane lokalnie w języku polskim z możliwą eskalacją do programistów

• Możliwość rozszerzenia usług: on-site, wdrożenia, konsulting

28

SUSE Linux Enterprise Server – subskrypcje i licencjonowanie

● Platforma Intel/AMD 64-bity – subskrypcje dostępne sąna serwer fizyczny (bez opcji wirtualizacji) lub na serwer fizyczny(z opcją wirtualizacji, nielimitowana liczba wirtualnych maszyn)

● Subskrypcja zapewnia możliwość korzystania z dowolnej aktualnie wspieranej wersji SLES (10,11, 12).

● Wsparcie dla XEN/KVM (zawarte w SLES 12)

● Standardowa subskrypcja to 12 miesięcy; istnieje możliwość wykupienia subskrypcji na okres 3, 5 lat

● Subskrypcję należy wykupić na 2, 4 lub 8 socketów (podstawek procesora z obsadzonym CPU)

29

Wirtualizacja● Pełne wsparcie dla dwóch hipernadzorców

● Xen● KVM

● Strategia “Perfect Guest” ● VMware ESX● Microsoft Hyper-V● Citrix XenServer● SUSE Linux Enterprise wraz z Xen oraz KVM

● SUSE Appliance Program i SUSE Studio™ dla łatwego budowania, testowania i dystrybuowania gotowych rozwiązań

● Unikalna efektywność kosztowa – nielimitowana liczba wirtualnych maszyn SLES na pojedynczym serwerze fizycznym z jedną subskrypcją SUSE Linux Enterpise Server

30

SLES – ceny subskrypcji

31

SLE High Availability Extension- klastry, licencjonowanie

* wersja 64-bitowa

* poziom usługi maintenance dziedziczony z podstawowej subskrypcji SLES

Przykład klastra www w oparciu o SLE HAE

33

Opis środowiska demonstracyjnego

• Środowisko demonstracyjne zbudowane zostało w oparciu o wirtualizację z hiperwizorem KVM

• 3 węzły klastra z zainstalowanym systemem SUSE Linux Enterprise Server 12 i dodatkiem HA – maszyny wirtualne KVM

• Przestrzeń dyskowa w oparciu o SUSE Linux Enterprise Server 12 i iSCSI – udostępnione dwa luny: partycja sbd i partycja pod zasób dyskowy www z systemem plików OCFS2

• Na potrzeby komunikacji iSCSI została wydzielony odseparowany fragment sieci LAN

34

Generowanie kluczy SSH

Aby logować się, bez haseł, za pomocą kluczy ssh na zdalne serwery należy na serwerze, z którego będziemy się logować, na inny serwer, wygenerować klucze ssh:

ssh-keygen -t rsa -b 1024Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

Aby przyśpieszyć logowanie za pomocą ssh można wyłączyć rozwiązywanie nazw DNS w konfiguracji serwera ssh

#vi /etc/sshd/sshd_configUseDNS no

#rcsshd restart

35

Dystrybuowanie kluczy SSH

Klucze ssh generujemy na każdym węźle i następnie kopiujemy na serwery obok, jak również na host na którym był generowany klucz.

ssh-copy-id -i /root/.ssh/id_rsa.pub root@sles12-node2

ssh-copy-id -i /root/.ssh/id_rsa.pub root@sles12-node3

ssh-copy-id -i /root/.ssh/id_rsa.pub root@sles12-node1

36

Równoległe SSH

• Tworzymy plik konfiguracyjny z adresami hostów /etc/clusternodes.pssh

• Wykonujemy polecenia na wszystkich węzłach jednocześnie wywołując polecenie:pssh -ih /etc/clusternodes.pssh 'polecenie'

sles12-node1:~ # cat /etc/clusternodes.pssh root@sles12-node1root@sles12-node2root@sles12-node3

37

Zasoby dyskowe iSCSI (Target)

38

Zasoby dyskowe iSCSI (Target)

39

Zasoby dyskowe iSCSI (Target)

40

Zasoby dyskowe iSCSI (Target)

41

Zasoby dyskowe iSCSI (Initiator)

42

Zasoby dyskowe iSCSI (Initiator)

43

Zasoby dyskowe iSCSI (Initiator)

44

Zasoby dyskowe iSCSI (Initiator)

45

Tworzenie klastra – pierwszy węzeł

Na pierwszym węźle uruchamiamy narzędzie sleha-init

sles12-node1:~ # sleha-init

Odpowiadamy na kolejne pytania:• konfiguracja usługu NTP• generowanie kluczy ssh (wybieramy opcję No)• ustawienie adresacji sieciowej na potrzeby klastra

(Multicast lub Unicast)• wskazanie ścieżki do partycji SBD • zmiana hasła (polecenie passwd) dla użytkownika passwd hacluster

46

Tworzenie klastra – dodawanie koleinych węzłów w klastrze

Na kolejnych węzłach klastra uruchamiamy narzędzie sleha-join

sles12-node2:~ # sleha-join

Odpowiadamy na kolejne pytania:• konfiguracja usługu NTP• generowanie kluczy ssh (wybieramy opcję No)• podajemy adres IP pierwszego węzła w klastrze• zmiana hasła (polecenie passwd) dla użytkownika passwd hacluster

47

Tworzenie zasobów klastrowych – współdzielony zasób dyskowy OCS2

Logujemy się do graficznego narzędzia HAWK, do zarządzania klastrem SLE HAE, za pomocą przeglądarki internetowej:

https://sles12-node1:7630/

Z dostępnych kreatorów wybieramy opcję tworzenia zasobu OCFS2

48

Tworzenie zasobów klastrowych – współdzielony zasób dyskowy OCS2

49

Tworzenie zasobów klastrowych – współdzielony zasób dyskowy OCS2

50

Tworzenie zasobów klastrowych – współdzielony zasób dyskowy OCS2

51

Tworzenie zasobów klastrowych – współdzielony zasób dyskowy OCS2

52

Tworzenie zasobów klastrowych – współdzielony zasób dyskowy OCS2

53

Tworzenie zasobów klastrowych – serwis www

• Na wszystkich węzłach instalujemy wymagane pakiety

sles12-node1:~ # pssh -ih /etc/clusternodes.pssh 'zypper in -y apache2 apache2-mod_php5 php5'pssh -ih /etc/clusternodes.pssh 'chown -R wwwrun.www /srv/www/htdocs'pssh -ih /etc/clusternodes.pssh 'a2enmod php5'

• Ważne !!! - wyłączamy automatyczny start usługi www na wszystkich węzłach:

pssh -ih /etc/clusternodes.pssh 'systemctl disable apache2'

54

Konfigurujemy zasoby klastrowe na potrzeby serwisu www

• Na wszystkich węzłach instalujemy wymagane pakiety

sles12-node1:~ # pssh -ih /etc/clusternodes.pssh 'zypper in -y apache2 apache2-mod_php5 php5'pssh -ih /etc/clusternodes.pssh 'chown -R wwwrun.www /srv/www/htdocs'pssh -ih /etc/clusternodes.pssh 'a2enmod php5'

• Ważne !!! - wyłączamy automatyczny start usługi www na wszystkich węzłach:

pssh -ih /etc/clusternodes.pssh 'systemctl disable apache2'

55

Konfigurujemy zasoby klastrowe na potrzeby serwisu www

• Dodajemy odpowiednie konfiguracje podstawowych agentów zasobów za pomoca polecenia crm configure edit:

primitive p-IP_1 ocf:heartbeat:IPaddr2 \meta target-role="stopped" \params ip="192.168.2.107" cidr_netmask="16" nic="eth0"

primitive p-apache ocf:heartbeat:apache \op monitor interval="10" timeout="20" \meta target-role="stopped"

56

Konfigurujemy zasoby klastrowe na potrzeby serwisu www

• Grupujemy podstawowe zasoby w grupę www, oraz zmieniamy kolejność startu usług tak, aby serwis www uruchamiał się dopero jak będzie dostępny zasób dyskowy

group g-apache_group p-IP_1 p-apache

order clusterfs-then-g-apache_group inf: c-clusterfs g-apache_group• Potwierdzamy zmiany poleceniem commit

57

Zasoby

• Strona produktu‒ https://www.suse.com/ha

• Dokumentacja‒ https://www.suse.com/documentation/sle-ha-12/

‒ https://www.suse.com/documentation/sle-ha-geo-12/

• Strona z wersjami testowymi‒ https://download.suse.com/

• SUSE Customer Center‒ https://scc.suse.com

58

59

Unpublished Work of SUSE. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.