opensaf more than ha · 2017. 11. 7. · opensaf core services • clm - cluster membership service...

33
OpenSAF More than HA Jonas Arndt HP - Telecom Architect OpenSAF - TCC

Upload: others

Post on 01-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF – More than HA

Jonas Arndt

HP - Telecom Architect

OpenSAF - TCC

Page 2: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Presentation Layout

• OpenSAF Background

• OpenSAF Advantages

• Where are we and how did we get here?

• High Level Architecture

• Use Cases

Page 3: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

What is OpenSAF

• Base platform middleware

developed by OpenSAF

Project

• Provides availability,

manageability, utility and

platform services needed

to develop highly available

distributed applications

• LGPLv2.1 license

• Implements SA Forums AIS

Specification

• Supported by OpenSAF

Foundation

SA Forum

AIS HPI

OpenSAF OpenHPI

Standards Body

Open Source Projects

Page 4: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Advantages

• Applicable across the availability spectrum

– Enterprise

• Easy legacy application migration

• Supports LSB init.d scripts

– Telecom and aerospace/defense: millisecond failover

• Integration and use of OpenSAF services

• Unified and Model Based Management

– All services store configuration in the central information

model, managed by Information Model Managment (IMM)

– All services allow for administrative operations through

IMM

Page 5: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Key Technical Points

• Consistent and streamlined architecture – Applications and OpenSAF services use same core services

• Information model – IMM

• Notifications – NTF (availability actions or informational)

• Logging – LOG

• Platform Management – hardware integration – Fail-overs triggered by hardware events

– Isolation / Fencing

– Hardware validation

Page 6: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Where are we and how did we get here?

Page 7: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Architectural Changes: From 2.0 till 4.2

AMF

Logtrace

MDS RDE, FM MBCSv

CLM CKPT

MSG EVT

LCK

MASv

PSSv SRMSv

IFSv

SNMP

Subagent

OpenSAF

CLI

AvMv HiSv

Page 8: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Architectural Changes: Retirement of

non-AIS Compliant Services

AMF

Logtrace

MDS RDE, FM MBCSv

CLM CKPT

MSG EVT

LCK

MASv

PSSv SRMSv

IFSv

SNMP

Subagent

OpenSAF

CLI

AvMv HiSv

Retired Proprietary Services

Page 9: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Architectural Changes: Added AIS

Services

AMF

Logtrace

MDS RDE, FM MBCSv

CLM CKPT

MSG EVT

LCK

LOG NTF

SMF PLM IMM

New AIS Compliant Services

Page 10: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Architectural Changes: Modularizing

AMF

Logtrace

MDS RDE, FM MBCSv

CLM CKPT

MSG EVT

LCK LOG

NTF

SMF PLM IMM

Page 11: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Architecture Change: Modularized

AMF

Logtrace

MDS RDE, FM MBCSv

CLM CKPT

MSG EVT

LCK LOG

NTF

SMF PLM IMM

OpenSAF Optional Services OpenSAF Core

Page 12: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF 4.2 Architecture

Optional

AMF

IMM LOG NTF

Logtrace MDS RDE, FM

OpenSAF Infrastructure Services

MBC

CLM

OpenSAF Core OpenSAF Optional Services

Runtime

Dependency

CKPT

SMF

MSG

PLM

EVT

LCK

SNMP / Netconf / SOAP / HTTP / RPC / …

Management Systems

Management Daemons

Optional,

Modular,

Pluggable

CM, FM

IMM “CLI” Java

Bindings

Python

Bindings

• AMF – Availability Management Framework

• CKPT – Checkpoint Service

• CLM – Cluster Membership Service

• EVT – Event Service

• IMM – Information Model Management Service

• LCK – Lock Service

• LOG – Log Service

• MSG – Message Service

• PLM – Platform Management Service

• SMF – Software Management Framework

Page 13: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Roadmap

13

2008 2009 2010 2011 2012

1.0

2.0

3.0

4.0

4.1

Initial Release

• HW Integration C7000

• Java Mapping

• IMM

• 64-Bit support

• AIS – LOG Service`

• Performance enhancements

• SMF Rollback & API

• Messaging over TCP

• AM4J/AMF Agent

• PLM, SMF

• Retired closed services

• Modularized Architecture

• Streamlined Architecture

4.2 • Python Mapping

• Non-Root User

• Retired DTSv

Page 14: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Architecture

Page 15: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Concepts

• Defines two types of nodes – System Controller Node

– Payload Node

• System Controller Node – Management Access Point for Entire Cluster

– Hosts Centralized Functions of OpenSAF Services

– 2N Redundancy

– Can also host OpenSAF controlled applications

• Payload Node – Contains Node-Scoped functions of OpenSAF Services

– Hosts OpenSAF controlled applications

Page 16: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF 2-tier Architecture

• Server on Controller

• Only library on

Payload, used to talk

directly to the Server

• Examples

– PLM

– LOG

– NTF

– EVT

Controller

Server

Payload

Client

Library

Page 17: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF 3-tier Architecture

• Director on Controller

• Node Director on Payload, handles node-scoped activities and communicates with Director

• Examples – AMF

– CKPT

– CLM

– IMM

– SMF

Controller

Director

Payload

Client

Library

Node

Director

Page 18: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Deployment Architecture Controller Node (Active)

Payload Node 1

Controller Node (Standby)

Payload Node N

State replication

2N

Director Director

Director

Director Director

Director

Node

Director Node

Director Node

Director

Node

Director Node

Director Node

Director

Server Server

Server

Server Server

Server

Lib

App

Lib

App

Page 19: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Core Services

• AMF - Availability Management Framework

– Manages redundant service providers for each

service

• instantiate, terminate and monitor service providers

• Dynamically (re)assing services to service providers

• Model driven

• IMM - Information Model Management Service

– Manages the Information Model

– Allows objects of the Information Model to be

created, accessed, and managed by system

management applications

• LOG - Log Service

– Enable application to express and forward log

records through well-known log streams that lead to

particular output destinations such as named files

AMF

Node Component

Service

Instance (CSI)

Service

Instance

Service

Unit

AMF

Application

Component

Hosted On

Hosted On

Protects

Assigned to

Assigned to

Service

Group

OI 1

OM 1 OM 2

IMM Object

Management API

IMM Object

Implementer

API OI 2

Object IMM Service

Node V Node U

Log

Alarm Notification System

Notification

Log lib

Application

App 1

Log lib

Node W

App 2

Log lib

Page 20: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Core Services

• CLM - Cluster Membership Service

– Deciding which nodes are part of the

specific cluster

• NTF - Notification Service

– Notification producers generate notifications

– Notification consumers consume

notifications generated by producers, and

can be either of subscriber or reader type

– Support for Notification filters

Notification Log File

Log Service

Transport Service

Forwarding

Logging

Notification Server

Application Producer

Notification Library

Application Subscriber

Notification Library

Alarm Mgr Reader

Notification Library

Application Subscriber

Notification Library

Page 21: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Optional Services

• SMF - Software Management Framework

– Software Upgrade: Support for migrating a

target system in operation from one

deployment configuration to another is

realized following an upgrade campaign

specification

– In Service Upgrade: SMF uses AMF to

upgrade applications in a controlled fashion

• CKPT - Checkpoint Service

– Manages checkpoints that a process uses

to save its state to minimize the impact of

failure

– A checkpoint is a cluster-wide entity, with a

unique name, that is structured into areas

called sections

– A copy of the data that are stored in a

checkpoint is called a checkpoint replica

SMF

-Admin operations

-Read config

-Modify config

Install/remove software

on target nodes

SMF

Adaptation

commands

IMM

Software

repository

Campaign.xml

Page 22: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Optional Services

• PLM - Platform Management

Framework

– Service providing management

of hardware (via HPI) and low-

level software

– Handles HW entities as well as

Execution Environments

– Virtual machines & Host OS

– Validation of HW

– Isolation / Fencing

HPI Request

Broker

HPI Session

Manager

PLMc

Interface

Module

PLMs

OpenHPI

Entity group

Management Readines

Tracking

OM

PLMc

HPI

Requests

HPI

Events

PLM

Agent

State Machine

VM / OS

PLM

Page 23: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

OpenSAF Optional Services

• EVT - Event Service

– Publish/subscribe multipoint-to-multipoint communication mechanism based on cluster-wide event channels

• LCK - Lock Service

– The Lock Service is a distributed lock service that allows different application processes on the same or different nodes in the cluster to compete for access to a shared resource in the cluster

• MSG - Message Service

– Buffered message passing system, for processes on the same or different nodes, that is based on the concept of a message queue

Page 24: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Use Case 1 - Apache Web Server

• Requirements

– Static content => No shared disk needed

– Migrating IP address

– Lifecycle management

– Health Monitoring

– No altering of the code

– Cold standby HTTPD HTTPD

IP IP

SU1 SU2 SG

Page 25: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Use Case 1 – Apache Web Server

• Suggested Solution

– Wrapper component

for httpd interacts with

AMF

– Use httpd init script

for lifecycle and

health checks

– PID supervision

– IP part is non-saf

aware component

AMF

Wrapper

/etc/init.d/httpd start

/etc/init.d/httpd stop

/etc/init.d/httpd status

IP

Full AIS with

Health Checks

Calls

Non-SAF Aware

Page 26: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Use Case 1 – Apache Web Server

• Benefits

– No coding

• Wrapper part of

samples

– Legacy application

intact

– Fast migration

• Cons

– Fail-over takes longer

AMF

Wrapper

/etc/init.d/httpd start

/etc/init.d/httpd stop

/etc/init.d/httpd status

IP

Full AIS with

health checks

Calls

Non-SAF Aware

Page 27: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Use Case 2 – Video Streaming Server

• Requirements

– Fail-over with no interruption in video (ms)

• Requires full AIS with checkpointing

• Requires hot standby

– Fail-over due to certain HW events

• Requires PLM and subscription to notifications (NTF)

– No changes to Video Server code (VLC)

• Need a proxy to talk to OpenSAF

• Proxy needs to have full control of VLC

• VLC Libraries to be used

Page 28: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Use Case 2 – Video Streaming Server

VLC Server

Active

Hardware Client

Contro

ller 1

Contro

ller 2

Paylo

ad 1

Paylo

ad 2

OpenHPI

OpenSAF

OS

VLC Server

Standby

Stream

Hot

standby

Page 29: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Use Case 2 – Video Streaming Server

OpenHPI PLM HSM

NTF

vlc_ntf / Policy Mgr vlc_app vlc_ckpt vlc_amf

AMF

VLC Server

CKPT

PLM

Hardware

OpenSAF

Fail-over decisions

Based on HW events libvlc calls

HW Generated

HPI Events

Writes checkpoints Responds to

health checks

Page 30: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Use Case 2 – Video Streaming Server

• Benefits

– Core application intact

• Will survive upgrades

– Rapid fail-over

– HW health problems detected and

addressed prior to customers noticing

• Cons

– Coding work has to be done

Page 31: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Backup Slides

Page 32: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Project Focus Areas

Architecture

Usability

Ecosystem

t

t

t

4.0

• Streamlined

• Modularity

• Functionality

“Solve simple problems

in simple way”

• Documentation

• Tools

• Migration Support

• 3PP Plugins

• Distros (visibility)

Page 33: OpenSAF More than HA · 2017. 11. 7. · OpenSAF Core Services • CLM - Cluster Membership Service – Deciding which nodes are part of the specific cluster • NTF - Notification

Project Focus Areas

Architecture

Usability

Ecosystem

t

t

t

4.2 / Today

• Streamlined

• Modularity

• Functionality

“Solve simple problems

in simple way”

• Documentation

• Tools

• Migration Support

• 3PP Plugins

• Distros (visibility)