Linux High Availability on IBM z Systems An Overview Kristoffer Gronlund Berthold Gunreben High Availability Engineer SUSE Build Service Engineer SUSE
Outline 2 Highly Available Hardware Introduction to High Availability Demo
Mainframe
The Mainframe as a Datacenter 4
Internals 5
Key points 6 Always virtualized Meet top level RAS Criteria Highest IO throughput Scale with number of CPUs No internal disk storage
SUSE Linux Enterprise High Availability Extension
High Availability Continuous Availability (CA) Continuous Operations (CO) Hides planned outages from users High Availability (HA) 8 No planned or unplanned outages Hides unplanned (and planned) outages from users
Terminology Node Resource 9 Anything managed by the cluster Constraints Member of a cluster Rules determining where and how resources are allocated CIB Cluster Information Base Shared knowledge of resources and constraints
Architecture 10
STONITH 11
Basic requirements Nodes Network 12 At least two Reliable STONITH SBD needs shared storage, watchdog Other means: IPMI, ilo,...
Mainframe as High Availability Platform 13 Requirements can be provided virtualized as needed Network Storage Nodes STONITH SSI, User vs. Identity
Availability of the Extension 14 Included with SUSE Linux Enterprise Server for System z Also available for x64
Preparation
Node Deployment Setting up VMs Two or more nodes Operating System prepared as KIWI virtual appliance 16 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
Node Deployment KIWI 17 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/
Node Deployment Basic configuration, prepared with KIWI Network setup HOSTNAME /etc/hosts Configure NTP Enable watchdog 18 Needed by cluster software Use vmwatchdog on z Systems
Node Deployment Cluster Installation, first node 19 ha-cluster-init Ensures needed software is installed Configures cluster SSH identity Installs SBD Configures basic CIB Configures csync2 Installs hawk
Node Deployment Cluster Installation, other nodes ha-cluster-join -c <node> 20 Any cluster node as argument
Live Demo
Demo software HAProxy Apache 22 HTTP(S) load balancing Basic web application
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> 23
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 24
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-server primitive server-2 @web-server group g-proxy proxy-vip proxy # Never put the two web servers on the same node colocation co-serv -inf: server-1 server-2 25
Verifying setup HAProxy HAProxy stats 26 http://<floating-ip>/haproxy?stats
Monitoring Hawk 27 Live Status Dashboard
Handling failure Demo Software failure HAProxy crashing Apache crashing Hardware failure 28 Fail over
Adding nodes 29 Automatically balances resources across new nodes Up to 32 nodes
Q&A
More Information 31 Virtualization Cookbook https://www.suse.com/documentation/sle_ha/book_sleha/data/book_sleha.html https://www.suse.com/documentation/sle-ha-12/
More Linux on Mainframe @SUSECon 32 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
Questions? Learn more: www.suse.com/products/systemz/ https://www.suse.com/products/highavailability/ Thank you. 33
34
35 Corporate Headquarters +49 911 740 53 0 (Worldwide) Join us on: Maxfeldstrasse 5 90409 Nuremberg Germany www.suse.com www.opensuse.org
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 Disclaimer This 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.