Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior...

48
www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems [email protected] Eric Wing Partner and Integration Specialist Tenacious Integration Services [email protected] Bryon Griffin Technology Specialist Novell, Inc. bgriffi[email protected] Scott McCallum Sr. Consultant Novell, Inc. [email protected]

Transcript of Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior...

Page 1: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

www.novell.com

High-Availability Messaging: Clustering Novell GroupWise®

High-Availability Messaging: Clustering Novell GroupWise®

Stephen C. PayneSenior ConsultantProtocom Development [email protected]

Eric WingPartner and Integration SpecialistTenacious Integration [email protected]

Bryon GriffinTechnology SpecialistNovell, [email protected]

Scott McCallumSr. ConsultantNovell, [email protected]

Page 2: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Vision…one NetA world where networks of all types—corporate and public, intranets, extranets, and the Internet—work together as one Net and securely connect employees, customers, suppliers, and partners across organizational boundaries

MissionTo solve complex business and technical challenges with Net business solutions that enable people, processes, and systems to work together and our customers to profit from the opportunities of a networked world

Page 3: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.
Page 4: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Definition of a Cluster

• A cluster is a combination of hardware and softwarethat enables you to connect two or more servers, which thereafter act as a single system

• A cluster is typically connected to a storage area network (SAN)

• Clusters provide continuous access to cluster resources and services

• When a cluster server fails, the services and resourcesit was providing are distributed to the survivingcluster servers

Page 5: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Storage Area Networks Definition

• A dedicated network connecting servers and storage peripherals

• Consists of servers, external storage devices, adapters, hubs, switches, etc.

• Combines the flexibility, manageability, and saleability of networks with the high-bandwidth and reliability of storage

Page 6: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Novell Cluster Services™ Definition

• A collection of Novell NetWare® servers

Provides improved availability Acts as a single system Provides scalability Provides manageability Utilizes storage area networks

Page 7: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Novell Cluster Services Terminology

• Node• Cluster resource

Load script Unload script Preferred node list Policies

• Cluster-enabled volume• Master node• Slave node

• Failover Novell FAN-OUT-

FAILOVER™

• Failback• Epoch• Quorum membership• Quorum timeout• Protocol information

Heartbeat Masterwatchdog Tolerance Slavewatchdog

Page 8: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Novell Cluster Services Benefits

• All nodes active• Central administration• Transparent client reconnect • Up to 32 nodes• Fully integrated and managed in Novell

eDirectory™

• FAN-OUT FAILOVER• Web- (Novell Remote Manager) and Novell

ConsoleOne®-based administration

Page 9: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Novell Cluster ServicesLimitations

• Manual load balancing• Shared storage recommended—required for

Novell GroupWise® (GW)

• TCP/IP-based only• NetWare 5.x and 6.x• A NetWare cluster cannot span multiple

eDirectory trees

Page 10: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

What’s New in GW6 SP1 for Clustering?

• Enhanced support for Virtual Servers (VS) by most GW components

Post Office Agent (POA) can use Universal Naming Convention (UNC) to software distribution directory

Home switches can use UNC path with VS

• GW Notify auto-reconnects• Enhanced backup and restore with GWTSA• Agent installation program includes Novell

Cluster Services option Should add the /cluster and /IP switches manually

Page 11: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

What’s Changed Since the Last BrainShare Clustering GW Session?

• Most recommendations still apply

• When using GW6 agents (GWIA, WebAccess), you must load the agent in the same memory space as the MTA

• Load DSAPI in the same address space as MTA for eDirectory user synchronization event to run

Page 12: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

GroupWise 6 Installation Notes

• When installing agents, option exists to “Configure Agents for Clustering”

/HOME switch uses legacy volume syntax instead of UNC

AUTOEXEC.NCF file isn’t updated

• Remember to add the /CLUSTER switch to the POA start-up file

Page 13: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

GroupWise 6 SP1 Installation Notes

• All agents have been modified to understand virtual servers

• When installing, option exists to “configure agents for clustering”

Uses UNC paths again, since agents now understand the virtual servers

Automatically adds the /CLUSTER switch

Page 14: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster Resources Defined on Our Demonstration System

• PDPO1 Primary domain with

post office 1• PO2

Post office 2• PO3

Post office 3• GWIA

GroupWise Internet Agent and domain

• WEBAGENT WebAccess gateway

and domain

• WEB Novell Enterprise Web

Server• DHCPSRVR

DHCP server• HOME

Use home directory volume

• APPS Apps volume

• PUBLIC Public volume

Page 15: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Novell Cluster Services Components

Resource IP Preferred Failover

PDPO1 10.1.1.100 1 2, 3

PO2 10.1.1.101 2 3, 4

PO3 10.1.1.102 3 4, 1

GWIA 10.1.1.103 4 1, 2

WEBAGENT 10.1.1.104 1 3, 4

WEB 10.1.1.105 2 4, 1

DHCPSRVR 10.1.1.106 3 1, 2

HOME 10.1.1.107 4 2, 3

APPS 10.1.1.108 1 4, 1

PUB 10.1.1.109 2 1, 2

Page 16: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

NetWare Cluster ServicesGroupWise

• Design considerations Follow Novell-recommended GroupWise design

guidelines for centrally located system Some cluster-specific considerations

• Name resolution considerations Virtual servers—do not use underscore (“_”) All virtual servers in DNS All virtual servers in HOSTS files on cluster

nodes Best to use short virtual server names

Page 17: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Planning the System Layout

• Port planning

Component

POA C/S

Port

POA MTP

Port

POA HTTP

Port MTA Port Agent Port

MTA HTTP

Port

PDPO1 1671 7301 2811 7101 N/ A 2801

PO2 1672 7302 2812 N/ A N/ A N/ A

PO3 1673 7303 2813 N/ A N/ A N/ A

GWIA N/ A N/ A N/ A 7102 4800 2802

WEBAC55 N/ A N/ A N/ A 7103 7205 2803

Page 18: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Installing GroupWise In the Cluster

• Plan the GroupWise system layout • Create the GroupWise volumes • Create cluster volumes and cluster

resources • Mount volume hosting the primary domain

and first post office• Install GroupWise 6 creating GW System,

primary domain, and first PO

Page 19: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Installing GroupWise In the Cluster (cont.)

• Mount the remaining GroupWise volumes • Create additional domains and post offices • Install GW agents to GroupWise volumes

running an MTA or POA • Create and configure the GWIA gateway• Designate a compatible web server or install

and configure Novell Enterprise Web Server• Create and configure the WebAccess

gateway

Page 20: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Domain Configuration

• Primary domain, routing domain,Resource domains

• Cluster-enabled volume • Locate agents, start-up files, and file

structure on the cluster volume No SYS volume dependencies gives the greatest

flexibility

Page 21: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

DOMAIN and First PO Load Script

NSS /POOLACTIVATE= PoolNameMOUNT volume VOLID=xCVSBIND ADD virtual ncp server x.x.x.xNUDP ADD virtual ncp server x.x.x.xADD SECONDARY IPADDRESS x.x.x.xLOAD ADDRESS SPACE=<name> DSAPILOAD ADDRESS SPACE= <name> vol:\SYSTEM\

GWMTA @vol: SYSTEM\STARTUP.MTALOAD ADDRESS SPACE= <name> vol:\SYSTEM\

GWPOA @vol: SYSTEM\STARTUP.POAPROTECTION RESTART <name>

Page 22: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

DOMAIN and First PO Unload Script

UNLOAD ADDRESS SPACE =<name> DSAPIUNLOAD ADDRESS SPACE =<name> GWMTAUNLOAD ADDRESS SPACE =<name> GWPOADELAY xUNLOAD KILL ADDRESS SPACE =<name>DEL SECONDARY IPADDRESS x.x.x.xNUDP DEL virtual ncp server x.x.x.xCVSBIND DEL virtual ncp server x.x.x.xNSS /POOLDEACTIVATE=PoolName

/OVERRIDE=QUESTION

Page 23: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Post Office Configuration

• Cluster volume vs. cluster resource • Locate everything on the cluster volume• POA startup file modifications

POA /CLUSTER switch POA /IP switch

• Assign unique ports to each POA within the cluster

• For best performance, use new caching mode

Page 24: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Post Office Resource Load Script

NSS /POOLACTIVATE= PoolNameMOUNT volumeADD SECONDARY IPADDRESS x.x.x.xLOAD ADDRESS SPACE= <name> vol:\SYSTEM\

GWPOA @vol: SYSTEM\STARTUP.POAPROTECTION RESTART <name>

• Cluster-enabled volume is optional—include necessary commands if cluster-enabling the volume

Page 25: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Post Office Resource Unload Script

UNLOAD ADDRESS SPACE =<name> GWPOADELAY xUNLOAD KILL ADDRESS SPACE =<name>NSS /POOLDEACTIVATE=PoolName

/OVERRIDE=QUESTIONDEL SECONDARY IPADDRESS x.x.x.x

Page 26: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIADomain Considerations

• Domain volume must be cluster-enabled• Configure the domain and the GWIA as a

single cluster resource (the cluster-enabled volume)

• Configure the domain and the GWIA on the same volume on the SAN

• Install the domain using a UNC path throughthe virtual server or a drive mapped to the cluster-enabled volume

• GWIA must run in the same memory space as the MTA

Page 27: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIANetWare Loadable Module™ (NLM™) Considerations

• Each node’s SYS volume Must install the GWIA multiple times or copy

the NLM OR, consider placing the startup files on the

shared volume to minimize administration

• On the shared volume with the domain Don’t forget where the NLMs are when you

patch

Page 28: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIAInstalling the GWIA

• Install through the UNC path with thevirtual server

• Modify the startup files /home=Volume:\path /dhome=Volume:\path

• Confirm the EXEPATH.CFG file (for snap-ins) UNC path using virtual server

Page 29: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIAProtected Memory

• Domain MTA—use protected memory if any chance two MTAs will be on the same node

• GWIA—does not need protected memory unless multiple GWIAs in the cluster

GW6 GWIA must be in the same address space as its MTA

• Commands LOAD ADDRESS SPACE=

LOAD ADDRESS SPACE=NAME VOLUME:\SYSTEM\GWMTA @VOLUME:\SYSTEM\DOM.MTA

PROTECTION RESTART NAME UNLOAD ADDRESS SPACE= PROTECTION

Page 30: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIACluster Resource

• Never have two resource objects for the same logical resource

i.e., one for the volume and one for GroupWise

• Add the GroupWise commands to the cluster-enabled volume cluster resource object

• Copy commands from the template, but do notuse the template for the GWIA

Page 31: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIAName Resolution Considerations

• Must resolve virtual server name (IP name resolution)

CVSBIND propagates to SLP and ishighly recommended

DNS if your DNS implementation supports “_” NDS—Do not forget about context HOSTS files NWHOSTS files (administrator workstation)

Page 32: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIALoad Script

• Normal cluster-enabled volume commands Add IP address Activate and mount volume NUDP ADD command

• Add CVSBIND command for name resolution• Load GroupWise domain commands using

protected memory• Load GWIA in same memory space as its MTA• Protection restart

Page 33: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIAUnload Script

• Unload GWIA using protected memory• Unload GWMTA using protected memory• Add a pause to allow modules to unload• Kill the address space• Normal cluster-enabled volume unload

commands Stop CVSBIND advertisement Dismount and deactivate the volume Stop NUDP response Delete the secondary IP address

Page 34: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster-Enabling GWIAMiscellaneous Considerations

• Configure all domain links to be TCP/IP within the cluster/LAN

• Configure the GWIA post office links TCP/IP• Firewall considerations

Allow services incoming to secondary IP address Allow services outgoing using each servers

primary IP address

Page 35: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

GroupWise Domain for WebAccess

• Use a separate cluster-enabled volume

• Create a dedicated domain for WebAccess gateway (GWINTER)

Page 36: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Novell Enterprise Web Server

• Configure a hardware virtual server using web server administrator

Use web browserto point to https:webserver_address:2200

Use TCP/IP address assigned to cluster-enabled volume

TCP/IP port 80(443 for SSL)

Document directoryshould be placed onto cluster-enabled volume

• Assign document directory asa “public directory”

Restrict access ifSSL is being used

• Active/active web server vs. active/passive web server

• Edit SYS:SYSTEM\NSWEB.NCF• Duplicate configuration on

each web server• DO NOT manually start/stop

web server—use cluster-resource to control web server

Page 37: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Installation of WebAccess

• Initial install should include Java servlets and WebAccess agent (GWINTER) All Java servlets located on each node’s SYS: volume Install documents to default

(SYS:\NOVONYX\SUITESPOT\DOCS) directory Copy DOCS directory to hardware virtual server’s document

directory on the shared volume Install servlets only on each node Copy NLMs to each additional node Note: for Novell WebPublisher, cache location should be

changed to cluster-enabled volume STRTWEB.NCF modifications

• Protected memory• Move to cluster-enabled volume

Page 38: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

WebAccess Cluster Load Script

NSS /POOLACTIVATE=PoolNameMOUNT GWWEB1 VOLID=xCVSBIND ADD virtual ncp server x.x.x.xNUDP ADD virtual ncp server x.x.x.xADD SECONDARY IPADDRESS x.x.x.xLOAD ADDRESS SPACE=addrspace vol:path\GWMTA

@vol:path\config.mtaDELAY XXvol:path\STRTWEB.NCF [STRTWEB.NCF must call

GWINTER in protected memory in the same space as GWMTA]

PROTECTION RESTART addrspace

Page 39: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

WebAccess Cluster Unload Script

UNLOAD ADDRESS SPACE=addrspace GWINTERUNLOAD ADDRESS SPACE=addrspace GWMTADELAY xxUNLOAD KILL ADDRESS SPACE=addrspaceDEL SECONDARY IPADDRESS x.x.x.xNUDP DEL virtual ncp server x.x.x.xCVSBIND DEL virtual ncp server x.x.x.xNSS /POOLDEACTIVATE=PoolName

/OVERRIDE=QUESTION

Page 40: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

WebAccess Failover Characteristics

• Time for failover and migration

• End-user experience

Page 41: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Cluster Resources Running on Preferred Nodes

Server1 PDP01

WEBAGENTAPPS

Server2P02WEBPUB

Server3 PO3

DHCPSRVR

Server4 GWIAHOME

Page 42: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Server1 PDP01

WEBAGENTAPPS

Server2P02WEBPUB

Server3 PO3

DHCPSRVR

Server4 GWIAHOME

What Happens When a Node Fails?

Page 43: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Server1 PDP01

WEBAGENTAPPSGWIA

Server2P02WEBPUB

HOME

Server3 PO3

DHCPSRVR

Server4

down

Server4

down

FAN-OUT FAILOVER

Page 44: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

GroupWise Target Service Agent (GWTSA) and Clustering

• A GroupWise-specific API• Works with other backup software

(e.g., Veritas BackupExec for NetWare)• Standard GroupWise post office and domain

directory structures/files backed up• Currently only available for NetWare

platform

Page 45: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

GWTSA and Clustering (cont.)

• GWTSA must be installed and loaded on each server to be backed up

• GWTSA cannot currently run in protected memory

• Use /HOME switch Add path for every domain on a cluster-enabled

volume that may fail over to a particular server Add path for every post office on a cluster-

enabled volume that may fail over to a particular server

Page 46: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

GWTSA and Clustering (cont.)

• GWTSA checks availability of each location• All available domain and post office files are

backed up• If a location becomes unavailable during

backup, backup should be restarted Currently no method to restart backup from a

checkpoint position

• Restore data to a currently mounted location

Page 47: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.

Need More Info?

• June 2001 AppNotes® (http://developer.novell.com)

• Novell Press Novell’s Guide to Storage Area Networks and Novell Cluster Services by Payne and Wipfel ISBN 0-7645-3581-1

• http://www.novell.com/consulting • http://www.novell.com/documentation/lg/

ncs6p/tswizard/

Page 48: Www.novell.com High-Availability Messaging: Clustering Novell GroupWise ® Stephen C. Payne Senior Consultant Protocom Development Systems stephen.payne@protocom.com.au.