Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An...

36
Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE Kristoffer Gronlund High Availability Engineer SUSE

Transcript of Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An...

Page 1: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Linux High Availability on IBM z SystemsAn Overview

Berthold GunrebenBuild Service Engineer

SUSE

Kristoffer GronlundHigh Availability Engineer

SUSE

Page 2: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

2

Outline

• Highly Available Hardware

• Introduction to High Availability

• Demo

Page 3: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Mainframe

Page 4: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

4

The Mainframe as a Datacenter

Page 5: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

5

Internals

Page 6: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

6

Key points

• Always virtualized

• Meet top level RAS Criteria

• Highest IO throughput

• Scale with number of CPUs

• No internal disk storage

Page 7: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

SUSE Linux Enterprise High Availability Extension

Page 8: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

8

High Availability

• Continuous Availability (CA)‒ No planned or unplanned outages

• Continuous Operations (CO)‒ Hides planned outages from users

• High Availability (HA)‒ Hides unplanned (and planned) outages from users

Page 9: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

9

Terminology

• Node‒ Member of a cluster

• Resource‒ Anything managed by the cluster

• Constraints‒ Rules determining where and how resources are allocated

• CIB‒ Cluster Information Base

‒ Shared knowledge of resources and constraints

Page 10: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

10

Architecture

Page 11: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

11

STONITH

Page 12: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

12

Basic requirements

• Nodes‒ At least two

• Network‒ Reliable

• STONITH‒ SBD needs shared storage, watchdog

‒ Other means: IPMI, iLO, ...

Page 13: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

13

Mainframe as High Availability Platform

• Requirements can be provided virtualized as needed‒ Network

‒ Storage

‒ Nodes

‒ STONITH

‒ SSI, User vs. Identity

Page 14: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

14

Availability of the Extension

• Included with SUSE Linux Enterprise Server for System z

• Also available for x64

Page 15: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Preparation

Page 16: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

16

Node DeploymentSetting up VMs

• Two or more nodes

• Operating System prepared as KIWI virtual appliance‒ Include all needed Packages

‒ Setup update channels

‒ Network configuration done during first bootup

‒ Prepare for usage as a Node in the HA Cluster

• Shared disk for SBD

Page 17: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

17

Node DeploymentKIWI

• Clone of KIWI as described in “The Virtualization Cookbook for IBM z Systems Volume 3”, SG24-8890

• Details and instructions for KIWI are found at‒ http://opensuse.github.io/kiwi/

‒ https://en.opensuse.org/SDB:KIWI_Cookbook_Start_Cooking

‒ https://doc.opensuse.org/projects/kiwi/doc/

Page 18: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

18

Node DeploymentBasic configuration, prepared with KIWI

• Network setup

• HOSTNAME

• /etc/hosts

‒ Needed by cluster software

• Configure NTP

• Enable watchdog‒ Use vmwatchdog on z Systems

Page 19: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

19

Node DeploymentCluster Installation, first node

• ha-cluster-init

‒ Ensures needed software is installed

‒ Configures cluster SSH identity

‒ Installs SBD

‒ Configures basic CIB

‒ Configures csync2

‒ Installs hawk

Page 20: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

20

Node DeploymentCluster Installation, other nodes

• ha-cluster-join -c <node>

‒ Any cluster node as argument

Page 21: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Live Demo

Page 22: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

22

Demo software

• HAProxy‒ HTTP(S) load balancing

• Apache‒ Basic web application

Page 23: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

23

Apache Configuration

• sed -i 's/^Listen 80$/Listen 8000/g' /etc/apache2/listen.conf

• copy index.html to /srv/www/htdocs/index.html

<!doctype html><html> <head> <title>Cluster web server test</title> </head> <body> <h1>Cluster web server test</h1> <p>This is node [hostname]. </p> </body></html>

Page 24: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

24

HAProxy Configuration

• /etc/haproxy/haproxy.cfg

global maxconn 256 daemon

defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms

listen http-in bind <floating-ip>:80 server server1 <node1>:8000 server server2 <node2>:8000 stats enable

Page 25: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

25

Cluster configuration

• crm configure edit

rsc_template web-server apache port=8000 \op monitor interval=10s

primitive proxy systemd:haproxy \op monitor interval=10s

primitive proxy-vip ocf:heartbeat:IPaddr2 ip=<floating-ip>primitive server-1 @web-serverprimitive server-2 @web-servergroup g-proxy proxy-vip proxy# Never put the two web servers on the same nodecolocation co-serv -inf: server-1 server-2

Page 26: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

26

Verifying setupHAProxy

• HAProxy stats‒ http://<floating-ip>/haproxy?stats

Page 27: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

27

MonitoringHawk

• Live Status

• Dashboard

Page 28: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

28

Handling failureDemo

• Software failure‒ HAProxy crashing

‒ Apache crashing

• “Hardware” failure‒ Fail over

Page 29: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

29

Adding nodes

• Automatically balances resources across new nodes

• Up to 32 nodes

Page 30: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Q&A

Page 31: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

31

More Information

• Virtualization Cookbook• https://www.suse.com/documentation/sle_ha/book_sleha/data/book_sleha.html

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

Page 32: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

32

More Linux on Mainframe @SUSECon

• CAS19992 - What´s Old is New Again: Consolidation and Innovation with Linux on the Mainframe at Sparda DV

• BOV19372 - KVM and Linux on z Systems

• BOV19919 - SUSE Manager on z Systems

• BOV19995 - 15 Years of SUSE Linux Enterprise Server on the Mainframe: Control, Optimize, Innovate!

• TUT19877 - Linux and z Systems in the Datacenter

• TUT20511 - SUSE Linux Enterprise Server on IBM z Systems, the Highly Scalable Hub for Mobile Workloads in the Enterprise

• FUT20719 - SUSE Linux Enterprise Server for System z Roadmap: Building enterprise IT with SUSE Linux Enterprise on IBM Mainframes

Page 33: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Thank you.

33

Questions?

Learn more:www.suse.com/products/systemz/https://www.suse.com/products/highavailability/

Page 34: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

34

Page 35: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Corporate HeadquartersMaxfeldstrasse 590409 NurembergGermany

+49 911 740 53 0 (Worldwide)www.suse.com

Join us on:www.opensuse.org

35

Page 36: Linux High Availability on IBM z Systems - SUSECON · Linux High Availability on IBM z Systems An Overview Berthold Gunreben Build Service Engineer SUSE ... primitive proxy systemd:haproxy

Unpublished Work of SUSE LLC. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC. 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.