SUSE Linux Enterprise 12 High Availability Extensionsuse.pl/webinar/webinar_SLES12_HA.pdf ·...
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
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
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
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
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
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
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)
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
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
31
SLE High Availability Extension- klastry, licencjonowanie
* wersja 64-bitowa
* poziom usługi maintenance dziedziczony z podstawowej subskrypcji SLES
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
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
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
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.