100% found this document useful (1 vote)
19 views

Db2 Integrated Cluster Environment Deployment Guide Ibm Redbooks instant download

The document is a deployment guide for the DB2 Integrated Cluster Environment, detailing design and implementation strategies for using IBM DB2 UDB with IBM Eserver. It covers various aspects including configuration examples, cluster types, and benefits of the integrated environment. The guide is intended for users of DB2 Universal Database Version 8.2 on Linux operating systems, providing insights into scalability, performance, and management of the cluster setup.

Uploaded by

kobelrudonwz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
19 views

Db2 Integrated Cluster Environment Deployment Guide Ibm Redbooks instant download

The document is a deployment guide for the DB2 Integrated Cluster Environment, detailing design and implementation strategies for using IBM DB2 UDB with IBM Eserver. It covers various aspects including configuration examples, cluster types, and benefits of the integrated environment. The guide is intended for users of DB2 Universal Database Version 8.2 on Linux operating systems, providing insights into scalability, performance, and management of the cluster setup.

Uploaded by

kobelrudonwz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 84

Db2 Integrated Cluster Environment Deployment

Guide Ibm Redbooks download

https://ebookbell.com/product/db2-integrated-cluster-environment-
deployment-guide-ibm-redbooks-51841908

Explore and download more ebooks at ebookbell.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Db2 Table Editor Tool Version 42 Ibm Redbooks

https://ebookbell.com/product/db2-table-editor-tool-version-42-ibm-
redbooks-51388442

Db2 Web Query Tool Version 12 Ibm Redbooks

https://ebookbell.com/product/db2-web-query-tool-version-12-ibm-
redbooks-51388448

Db2 Udbs Highfunction Business Intelligence In Ebusiness Ibm Redbooks

https://ebookbell.com/product/db2-udbs-highfunction-business-
intelligence-in-ebusiness-ibm-redbooks-51388450

Db2 Udb Ebusiness Guide Ibm Redbooks

https://ebookbell.com/product/db2-udb-ebusiness-guide-ibm-
redbooks-51388454
Db2 Udb Exploitation Of The Windows Environment Ibm Redbooks

https://ebookbell.com/product/db2-udb-exploitation-of-the-windows-
environment-ibm-redbooks-51841914

Db2 Developers Guide Includes Index 5th Ed Mullins Craig S

https://ebookbell.com/product/db2-developers-guide-includes-index-5th-
ed-mullins-craig-s-21983612

Db2 9 For Linux Unix And Windows Dba Guide Reference And Exam Prep 6th
Ed Baklarz

https://ebookbell.com/product/db2-9-for-linux-unix-and-windows-dba-
guide-reference-and-exam-prep-6th-ed-baklarz-22042666

Db2 Purexml Cookbook Master The Power Of The Ibm Hybrid Data Server
Matthias Nicola

https://ebookbell.com/product/db2-purexml-cookbook-master-the-power-
of-the-ibm-hybrid-data-server-matthias-nicola-2525416

Db2 Developers Guide A Solutionsoriented Approach To Learning The


Foundation And Capabilities Of Db2 For Zos Craig Mullins

https://ebookbell.com/product/db2-developers-guide-a-
solutionsoriented-approach-to-learning-the-foundation-and-
capabilities-of-db2-for-zos-craig-mullins-4072294
Front cover

DB2 Integrated Cluster


Environment
ment
Deployment Guide
uide
Integrated solution using powerful IBM
DB2 UDB and IBM Eserver

Detailed environment design


and implementation guide

Configuration examples
and scenarios

Whei-Jen Chen
Rav Ahuja
Yong Jun Bi
Robert Borovsky
Patrik Fürer
Craig Maddux
Ichiro Ohta
Mark Talens

ibm.com/redbooks
International Technical Support Organization

DB2 Integrated Cluster Environment Deployment


Guide

October 2004

SG24-6376-00
Note: Before using this information and the product it supports, read the information in
“Notices” on page xv.

First Edition (October 2004)

This edition applies to DB2 Universal Database Version 8.2 for use with SuSE Linux Enterprise
Server (SLES) 8 and later and Red Hat Linux Enterprise Linux (RHEL) 3 and later operating
system.

© Copyright International Business Machines Corporation 2004. All rights reserved.


Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP
Schedule Contract with IBM Corp.
Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Acknowledgement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi

Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Why DB2 on Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 DB2 + Linux = Versatility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Versatility + eServers = Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 What is a cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Cluster types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 DB2 partitioned databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 The DB2 Integrated Cluster Environment solution . . . . . . . . . . . . . . . . . . . 7
1.3.1 The ingredients for success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Benefits of DB2 Integrated Cluster Environment. . . . . . . . . . . . . . . . . . . . . 9
1.4.1 Scalability pays great returns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.2 Proven performance at a low cost. . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.3 High levels of availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.4 Easily managed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.5 Seamless interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 DB2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5.1 DB2 database access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Chapter 2. Selecting your cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33


2.1 Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.1 IA32 (and x86). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.2 AMD64 (and x86-64). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.3 Platform selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2 Server types and models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.1 1U “Pizza-box” - x335 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

© Copyright IBM Corp. 2004. All rights reserved. iii


2.2.2 AMD64 “Pizza-box” - e325 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.2.3 2U 2P - x345 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2.4 4P - x365. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.5 HS20 (2-way; 14 Blades in a 7U unit) . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.6 Server selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3 Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.1 Localized vs. centralized storage topologies. . . . . . . . . . . . . . . . . . . 43
2.3.2 Enterprise Storage Servers (ESSs) . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.3 DS4000 series. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.4 Direct Attached Fibre Storage (EXP) . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.5 Direct-attached SCSI storage (ServeRAID™) . . . . . . . . . . . . . . . . . 51
2.3.6 Network Attached Storage (NAS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3.7 Storage selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.4 Network interconnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.4.1 InfiniBand option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4.2 Network selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.5 Linux distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5.1 Validated enterprise-class Linux distributions . . . . . . . . . . . . . . . . . . 57
2.5.2 Linux distribution selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.6 Sample configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.6.1 A 32-bit configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.6.2 A Scaled-out 32-bit configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.6.3 A 64-bit benchmark configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.6.4 A 4-way building block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Chapter 3. Planning and design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63


3.1 Steps for building a large partitioned database . . . . . . . . . . . . . . . . . . . . . 64
3.2 Disk considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2.1 Summary of the most popular RAID levels . . . . . . . . . . . . . . . . . . . . 65
3.2.2 Data placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2.3 Log placement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.4 Data availability and performance. . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.5 General storage performance recommendations . . . . . . . . . . . . . . . 69
3.3 Database design considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.3.1 Understand data partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.3.2 Define the number of database partitions . . . . . . . . . . . . . . . . . . . . . 72
3.3.3 Define database partition groups . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.3.4 Design the table spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.5 Understand partitioning map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.3.6 Choose the partitioning key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.3.7 Size the tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.3.8 Size for MDC utilization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

iv DB2 Integrated Cluster Environment Deployment Guide


3.3.9 Size for MQT utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.3.10 Configure DB2 UDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.3.11 Recommended parameters for performance . . . . . . . . . . . . . . . . 110
3.3.12 Naming conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Chapter 4. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


4.1 Lab environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.1.1 Hardware environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.1.2 Software environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.1.3 Topology of the lab environments . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.2 Prepare your Linux OS for DB2 Integrated Cluster Environment . . . . . . 130
4.2.1 Basic requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.2.2 Installation planning and preparation . . . . . . . . . . . . . . . . . . . . . . . 135
4.3 DB2 partitioned database setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.3.1 Considerations on DB2 installation . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.3.2 Preparations for DB2 UDB product installation . . . . . . . . . . . . . . . . 154
4.3.3 DB2 UDB product installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
4.3.4 Preparation for instance creation . . . . . . . . . . . . . . . . . . . . . . . . . . 162
4.3.5 Instance creation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
4.3.6 Node configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.3.7 Preparation for database directory (optional) . . . . . . . . . . . . . . . . . 165
4.3.8 Database creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.3.9 Data loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.4 Post installation tasks - Initial tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.4.1 Tuning your DB2 through Configuration Advisor GUI tool . . . . . . . 170
4.4.2 Tuning your DB2 by using the autoconfigure command . . . . . . . . . 180
4.4.3 Important DB2 registry and environment variables . . . . . . . . . . . . . 182
4.4.4 Validating logical database design with the DB2 Design advisor . . 187

Chapter 5. Operations and administration . . . . . . . . . . . . . . . . . . . . . . . . 201


5.1 Manageability enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
5.1.1 Health Center enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
5.1.2 Automated log file management . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
5.1.3 Self-tuning for backup and restore . . . . . . . . . . . . . . . . . . . . . . . . . 267
5.1.4 Recover database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
5.1.5 Automatic setting of prefetch size . . . . . . . . . . . . . . . . . . . . . . . . . . 268
5.2 Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
5.2.1 DB2 instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
5.2.2 Linux tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Chapter 6. High availability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
6.1.1 What is high availability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
6.1.2 Types of high availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Contents v
6.1.3 High availability in clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
6.1.4 Failover in a highly available cluster . . . . . . . . . . . . . . . . . . . . . . . . 314
6.1.5 High-availability clustering configurations . . . . . . . . . . . . . . . . . . . . 315
6.1.6 High-availability software solutions . . . . . . . . . . . . . . . . . . . . . . . . . 318
6.1.7 Automatic Client Reroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
6.2 TSA implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
6.2.1 TSA fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
6.2.2 TSA installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
6.2.3 TSA resource planning for an HA DB2 cluster . . . . . . . . . . . . . . . . 325
6.2.4 Basic implementation with the regdb2salin script . . . . . . . . . . . . . . 327
6.2.5 Advanced implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
6.2.6 Scaling out your HA DB2 clusters . . . . . . . . . . . . . . . . . . . . . . . . . . 345
6.2.7 Notes on Logical Volume Manager . . . . . . . . . . . . . . . . . . . . . . . . . 346

Chapter 7. Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349


7.1 Introduction to scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
7.1.1 Scale-up vs. scale-out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
7.1.2 Scalability dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
7.2 Scaling up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
7.2.1 Adding additional processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
7.2.2 Taking advantage of greater parallelism . . . . . . . . . . . . . . . . . . . . . 357
7.2.3 Adding additional memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
7.3 Scaling out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
7.3.1 Preparing the new servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
7.3.2 Moving database partitions without data redistribution . . . . . . . . . . 365
7.3.3 Adding database partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
7.3.4 Data redistribution via REDISTRIBUTE command . . . . . . . . . . . . . 389
7.3.5 Alternate methods of data redistribution . . . . . . . . . . . . . . . . . . . . . 393

Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397


IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401

vi DB2 Integrated Cluster Environment Deployment Guide


Figures

1-1 DB2 database partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


1-2 Sample DB2 Integrated Cluster Environment configuration . . . . . . . . . . 8
1-3 DB2 UDB architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1-4 DB2 processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1-5 DB2 object relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1-6 Relationship to DB2 instance, databases, and tables . . . . . . . . . . . . . . 18
1-7 DB2 database partition groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1-8 Relationship between tables and views . . . . . . . . . . . . . . . . . . . . . . . . . 21
1-9 Relationship between indexes and tables . . . . . . . . . . . . . . . . . . . . . . . 22
1-10 Relationship between table space and containers. . . . . . . . . . . . . . . . . 23
1-11 DB2 directory structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1-12 DB2 application connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2-1 Application execution scenarios against a database on x86-64 . . . . . . 35
2-2 x335 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2-3 e325 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-4 x345 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-5 x365 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2-6 IBM BladeCenter chassis (left) and Blade (right) . . . . . . . . . . . . . . . . . . 41
2-7 IBM eServer Cluster 1350 configuration summary . . . . . . . . . . . . . . . . 42
2-8 Each node with its own local storage . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2-9 Storage for all nodes inside a consolidated infrastructure . . . . . . . . . . . 44
2-10 Storage options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2-11 Sample layout for ESS-based SAN with remote site connectivity . . . . . 46
2-12 A rack with FD4500 servers and disk expansion units . . . . . . . . . . . . . 48
2-13 Server attached to a DS4400 and several DS4000 EXP700s . . . . . . . . 49
2-14 A database server attached directly to DS4000 EXP700 units . . . . . . . 50
2-15 Database servers attached to NAS filers . . . . . . . . . . . . . . . . . . . . . . . . 52
2-16 Network connectivity for a database cluster . . . . . . . . . . . . . . . . . . . . . 54
2-17 InfiniBand being used as a unified cluster fabric . . . . . . . . . . . . . . . . . . 56
2-18 32-bit configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2-19 Scaled-out 32-bit configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2-20 64-bit benchmark configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2-21 Four-way building block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3-1 DB2 shared-nothing architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3-2 Physical partitions and database partitions . . . . . . . . . . . . . . . . . . . . . . 72
3-3 Number of logical partitions example . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3-4 Balanced Partition Unit as the building block to a partitioned database 74
3-5 DB2 I/O hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

© Copyright IBM Corp. 2004. All rights reserved. vii


3-6 Database partition groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3-7 Table space containers layout example. . . . . . . . . . . . . . . . . . . . . . . . . 83
3-8 DMS table space structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3-9 Partitioning map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3-10 Table collocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3-11 Table sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4-1 X335 servers connected directly to DS4000 Series storage . . . . . . . . 128
4-2 X335 servers connect to DS4000 Series storage via Infiniband switch 129
4-3 e325 servers directly connected to EXP700 . . . . . . . . . . . . . . . . . . . . 129
4-4 IBM DB2 Setup Launchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
4-5 Product selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
4-6 DB2 Setup wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4-7 Selecting the install action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4-8 Assigning a user ID for the administration server owner explicitly . . . . 159
4-9 No DB2 instance creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4-10 Ready to begin installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4-11 Database directory structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4-12 Wizards window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4-13 Select database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4-14 Configuration Advisor window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
4-15 Specify percent of memory used for TPCH database . . . . . . . . . . . . . 172
4-16 Specify workload type for your database . . . . . . . . . . . . . . . . . . . . . . . 173
4-17 Specify a database administration priority . . . . . . . . . . . . . . . . . . . . . . 174
4-18 Specify whether your database is populated with data . . . . . . . . . . . . 175
4-19 Specify connections to your database . . . . . . . . . . . . . . . . . . . . . . . . . 176
4-20 Specify isolation level. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4-21 Enabling the DB2 scheduling function window . . . . . . . . . . . . . . . . . . 178
4-22 Define your task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4-23 Configuration results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
4-24 Design advisor - Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
4-25 Design advisor - Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4-26 Design advisor - Workload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4-27 Design advisor - Import workload file . . . . . . . . . . . . . . . . . . . . . . . . . . 191
4-28 Design advisor - Imported workload . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4-29 Design advisor - Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4-30 Design advisor - Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
4-31 Design advisor - Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4-32 Design advisor - Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4-33 Design advisor - Unused objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4-34 Design advisor - Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4-35 Design advisor - Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5-1 Configure automatic maintenance start . . . . . . . . . . . . . . . . . . . . . . . . 202
5-2 Introduction to automatic maintenance . . . . . . . . . . . . . . . . . . . . . . . . 203

viii DB2 Integrated Cluster Environment Deployment Guide


5-3 Select automation maintenance type . . . . . . . . . . . . . . . . . . . . . . . . . . 204
5-4 Timing of automatic maintenance activities . . . . . . . . . . . . . . . . . . . . . 205
5-5 Changing online maintenance time . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5-6 Changing offline maintenance time . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
5-7 Manage your notification list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5-8 Configure maintenance activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5-9 Backup priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
5-10 Backup location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
5-11 Backup mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5-12 Configured backup maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
5-13 Configure reorg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5-14 Configure runstats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
5-15 All activities configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
5-16 Health Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
5-17 Health indicator configuration launchpad . . . . . . . . . . . . . . . . . . . . . . . 219
5-18 Instance configuration - Current settings . . . . . . . . . . . . . . . . . . . . . . . 220
5-19 Instance configuration - Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
5-20 Configure health indicator - Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
5-21 Configure health indicator - Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
5-22 Add script - Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
5-23 Add script - Run properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
5-24 Add script - Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
5-25 Configure health indicator - Alert with thresholds . . . . . . . . . . . . . . . . 225
5-26 Global settings - Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
5-27 Global settings - Table space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
5-28 Global settings - Table space container. . . . . . . . . . . . . . . . . . . . . . . . 227
5-29 Object settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
5-30 Object settings - Select a database object. . . . . . . . . . . . . . . . . . . . . . 228
5-31 Object settings - Updated for one object . . . . . . . . . . . . . . . . . . . . . . . 229
5-32 Start the Recommendation Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
5-33 Recommendation advisor - Introduction . . . . . . . . . . . . . . . . . . . . . . . 231
5-34 Recommendation advisor - Requirements - Full investigation. . . . . . . 232
5-35 Recommendation advisor - Recommendation - Full investigation . . . . 233
5-36 Recommendation advisor - Action - Full investigation . . . . . . . . . . . . . 234
5-37 Recommendation advisor - summary - full investigation . . . . . . . . . . . 235
5-38 Recommendation advisor - Requirements - Immediate solution . . . . . 236
5-39 Recommendation advisor - Recommendation - Immediate solution . . 237
5-40 Recommendation advisor - Action - Immediate solution . . . . . . . . . . . 238
5-41 Recommendation advisor - Summary - Immediate solution . . . . . . . . 239
5-42 Recommendation advisor - Command-line processor . . . . . . . . . . . . . 240
5-43 Configure health alert notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
5-44 Troubleshoot health alert notification - Introduction . . . . . . . . . . . . . . . 242
5-45 Troubleshoot health alert notification - Delete orphaned contacts . . . . 242

Figures ix
5-46 Troubleshoot health alert notification - Delete orphaned contacts . . . . 243
5-47 Troubleshoot health alert notification - Summary . . . . . . . . . . . . . . . . 243
5-48 Troubleshoot health alert notification - Resolve orphaned contacts . . 244
5-49 Troubleshoot health alert notification - Resolve orphaned contacts . . 245
5-50 Change Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
5-51 Manage contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
5-52 Troubleshoot health alert notification - Resolved contacts . . . . . . . . . 246
5-53 Troubleshooting health alert notification - Summary resolved contacts247
5-54 Troubleshoot health alert notification - Import contacts . . . . . . . . . . . . 248
5-55 Troubleshoot health alert notification - Summary import contacts . . . . 249
5-56 Contacts did not get the appropriate health alert notification - Action . 250
5-57 Contacts did not get appropriate health alert notification - Summary . 250
5-58 SMTP server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
5-59 SMTP Server - Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
5-60 Configure database logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
5-61 Circular logging - Choosing type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
5-62 Circular logging - Number and size of log files . . . . . . . . . . . . . . . . . . 254
5-63 Circular logging - Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
5-64 Circular logging - Scheduling function . . . . . . . . . . . . . . . . . . . . . . . . . 256
5-65 Circular logging - Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
5-66 Archival logging - Choosing the type . . . . . . . . . . . . . . . . . . . . . . . . . . 258
5-67 Archival logging - Archiving method. . . . . . . . . . . . . . . . . . . . . . . . . . . 259
5-68 Archival logging - Number and size of log files . . . . . . . . . . . . . . . . . . 260
5-69 Archival logging - Location of logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
5-70 Archival logging - Backup image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
5-71 Archival logging - Backup partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
5-72 Archival logging - Backup options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
5-73 Archival logging - Enabling scheduling . . . . . . . . . . . . . . . . . . . . . . . . 265
5-74 Archival logging - Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5-75 Archival logging - Backup message . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5-76 Archival logging - Success message . . . . . . . . . . . . . . . . . . . . . . . . . . 267
5-77 Activity monitor - Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
5-78 Activity monitor set up - Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 283
5-79 Activity monitor set up - Monitoring task . . . . . . . . . . . . . . . . . . . . . . . 284
5-80 Activity monitor set up - Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
5-81 Activity monitor set up - Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
5-82 Activity monitor - New monitoring task . . . . . . . . . . . . . . . . . . . . . . . . . 286
5-83 Activity monitor set up - User-defined monitoring task. . . . . . . . . . . . . 287
5-84 Activity monitor set up - Category for user-defined task . . . . . . . . . . . 288
5-85 Activity monitor set up - Filter for user-defined task . . . . . . . . . . . . . . . 288
5-86 Activity monitor set up - Application report for user-defined task . . . . . 289
5-87 Activity monitor set up - SQL report for user-defined task . . . . . . . . . . 290
5-88 Activity monitor set up - Transaction report for user-defined task . . . . 291

x DB2 Integrated Cluster Environment Deployment Guide


5-89 Activity monitor set up - Summary for user-defined task . . . . . . . . . . . 292
5-90 Activity monitor - Top CPU time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
5-91 Activity monitor - Report details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
5-92 Activity monitor - Report recommendations . . . . . . . . . . . . . . . . . . . . . 294
5-93 Memory Visualizer - Startup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
5-94 Memory Visualizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
5-95 nmon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
6-1 Sample high-availability cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
6-2 High-availability clustering configurations . . . . . . . . . . . . . . . . . . . . . . 315
6-3 Mutual takeover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
6-4 Idle standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
6-5 Balanced mutual takeover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
6-6 A sample configuration for basic implementation . . . . . . . . . . . . . . . . 328
6-7 A sample configuration for advanced implementation . . . . . . . . . . . . . 336
6-8 Resource schematics for the sample configuration . . . . . . . . . . . . . . . 340
6-9 A sample resource schematics using LVM . . . . . . . . . . . . . . . . . . . . . 347
7-1 Examples of scalability curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
7-2 Intra-partition parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
7-3 Adding a partition to the DB2 instance. . . . . . . . . . . . . . . . . . . . . . . . . 373
7-4 Add Partitions Launchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
7-5 Add Partitions Wizard introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
7-6 Add Partitions Wizard - Add Partitions panel . . . . . . . . . . . . . . . . . . . . 376
7-7 Add Partitions Wizard - Enter server information for new partition . . . 377
7-8 Add Partitions Wizard - Copy settings panel . . . . . . . . . . . . . . . . . . . . 378
7-9 Add Partitions Wizard - Copy Partition Settings. . . . . . . . . . . . . . . . . . 379
7-10 Add Partitions Wizard - Assign partition groups. . . . . . . . . . . . . . . . . . 380
7-11 Add Partitions Wizard - Set containers for new partition . . . . . . . . . . . 381
7-12 Add Partitions Wizard - Set Containers . . . . . . . . . . . . . . . . . . . . . . . . 382
7-13 Add Partitions Wizard - Set containers completed. . . . . . . . . . . . . . . . 383
7-14 Add Partitions Wizard - Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
7-15 Add Partitions Wizard - Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
7-16 Task Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
7-17 DB2 Command Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
7-18 Launch the Redistribute Data wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 390
7-19 Redistribute Data wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Figures xi
xii DB2 Integrated Cluster Environment Deployment Guide
Tables

1-1 Multi-tier configuration examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


2-1 IBM TotalStorage DS4000 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3-1 Steps for building a large partitioned database . . . . . . . . . . . . . . . . . . . 64
3-2 Basic considerations between SMS and DMS table spaces . . . . . . . . . 85
3-3 Page size relative to table space size . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3-4 Suggested overhead and transfer rates for ESS . . . . . . . . . . . . . . . . . . 93
4-1 Required disk space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4-2 Example of TCP/IP settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4-3 Package requirements for SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . 133
4-4 Package requirements for Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4-5 Network configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4-6 Partitions’ numbers and locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4-7 Users and groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4-8 Naming convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4-9 Storage layout for server 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4-10 Storage allocation for EXP700 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4-11 Mount points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4-12 Autoconfigure options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4-13 Supported Linux distributions for AIO . . . . . . . . . . . . . . . . . . . . . . . . . 183
4-14 Supported Linux distributions for scattered I/O . . . . . . . . . . . . . . . . . . 184
4-15 Supported Linux distributions for large page buffer pool . . . . . . . . . . . 184
6-1 File system used in the sample configuration . . . . . . . . . . . . . . . . . . . 328
6-2 Parameters to set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
6-3 File systems used in the sample configuration . . . . . . . . . . . . . . . . . . 337
6-4 Service IP addresses used in the sample configuration . . . . . . . . . . . 337
6-5 Resource attributes for IBM.Application. . . . . . . . . . . . . . . . . . . . . . . . 339
6-6 Resource attributes for IBM.ServiceIP . . . . . . . . . . . . . . . . . . . . . . . . . 339
7-1 Original partition layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
7-2 Original file systems for server DB2RB09 . . . . . . . . . . . . . . . . . . . . . . 367
7-3 Original file systems for server DB2RB10 . . . . . . . . . . . . . . . . . . . . . . 367
7-4 New partition layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
7-5 Updated file systems for server DB2RB09 . . . . . . . . . . . . . . . . . . . . . 371
7-6 Updated file systems for server DB2RB10 . . . . . . . . . . . . . . . . . . . . . 371
7-7 File systems for new server DB2RB11 . . . . . . . . . . . . . . . . . . . . . . . . 371
7-8 File systems for new server DB2RB12 . . . . . . . . . . . . . . . . . . . . . . . . 372

© Copyright IBM Corp. 2004. All rights reserved. xiii


xiv DB2 Integrated Cluster Environment Deployment Guide
Notices

This information was developed for products and services offered in the U.S.A.

IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area.
Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product, program, or service that
does not infringe any IBM intellectual property right may be used instead. However, it is the user's
responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document.
The furnishing of this document does not give you any license to these patents. You can send license
inquiries, in writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.

The following paragraph does not apply to the United Kingdom or any other country where such provisions
are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES
THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer
of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may
make improvements and/or changes in the product(s) and/or the program(s) described in this publication at
any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.

Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm
the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on
the capabilities of non-IBM products should be addressed to the suppliers of those products.

This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.

COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the
sample programs are written. These examples have not been thoroughly tested under all conditions. IBM,
therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy,
modify, and distribute these sample programs in any form without payment to IBM for the purposes of
developing, using, marketing, or distributing application programs conforming to IBM's application
programming interfaces.

© Copyright IBM Corp. 2004. All rights reserved. xv


Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:

AIX® IBM® Redbooks (logo) ™


BladeCenter™ ibm.com® Redbooks™
CICS® IMS™ ServeRAID™
DB2 Connect™ Informix® Tivoli®
DB2 Extenders™ iSeries™ TotalStorage®
DB2 Universal Database™ Lotus® VisualAge®
DB2® NetView® WebSphere®
Enterprise Storage Server® PowerPC® X-Architecture™
Eserver® POWER™ xSeries®
Eserver® pSeries® zSeries®

The following terms are trademarks of other companies:

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun
Microsystems, Inc. in the United States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product, and service names may be trademarks or service marks of others.

xvi DB2 Integrated Cluster Environment Deployment Guide


Preface

This IBM Redbook is an informative guide for deploying a DB2 Integrated Cluster
Environment on Linux. This book is organized as follows:
 Chapter 1, “Introduction” on page 1, provides a general overview of DB2
Integrated Cluster Environment and discusses the fundamentals of DB2 in a
Linux cluster environment.
 Chapter 2, “Selecting your cluster” on page 33, discusses options for cluster
ingredients that constitute DB2 Integrated Cluster Environment and
considerations for their selection.
 Chapter 3, “Planning and design” on page 63, goes over simple planning and
design considerations to assist you with building your first DB2 partitioned
database that is both flexible and scalable.
 Chapter 4, “Implementation” on page 125, describes our lab environment for
DB2 Integrated Cluster Environment. This chapter guides you through
implementing DB2 Linux clusters focusing on a multiple-partition
environment.
 Chapter 5, “Operations and administration” on page 201, describes the new
autonomic features of DB2 UDB V8.2 and some of the tools on the system
that can be used for monitoring.
 Chapter 6, “High availability” on page 309, describes components and
possible configurations of a high-availability solution. It also gives a detailed
description of an implementation of a failover protection in a DB2 Integrated
Cluster Environment.
 Chapter 7, “Scaling” on page 349, discusses scalability in the DB2 Integrated
Cluster Environment. It includes some guidance in planning for the growth of
a business and database. This chapter also examines a number of scaling
strategies in more detail and provides the steps involved in scaling a
database.

The team that wrote this redbook


This redbook was produced by a team of specialists from around the world
working at the International Technical Support Organization, San Jose Center.

© Copyright IBM Corp. 2004. All rights reserved. xvii


Figure 1 Team (left to right): Yong Jun, Robert, Whei-Jen, Craig, Patrik, Rav, Ichiro, Mark

Whei-Jen Chen is a Project Leader at the International Technical Support


Organization, San Jose Center. She has extensive experience in application
development, database design and modeling, and DB2 system administration.
Whei-Jen is an IBM® Certified Solutions Expert in Database Administration and
Application Development, as well as an IBM Certified IT Specialist.

Rav Ahuja is the Worldwide Product Manager for DB2 on Linux and is based out
of the IBM Toronto Lab. He has been working with DB2 on distribution platforms
since Version 1 days. He is a vocal advocate for Linux clusters and frequently
contributes to articles and books related to databases on Linux. Rav can be
reached at [email protected]®.

Yong Jun Bi is an IT Specialist currently working in Technical Sales Support,


IBM China, mainly focused on database administration and troubleshooting, as
well as Business Intelligence solution implementation. He is an IBM Certified
Advanced Database Administrator—DB2 Universal Database™ V8.1 for Linux,
UNIX®, and Windows®.

Robert Borovsky joined IBM Czechoslovakia in 1991, as a Systems Engineer in


a branch office. He was responsible for implementation of various IBM Software

xviii DB2 Integrated Cluster Environment Deployment Guide


solutions: Lotus®, Tivoli®, and DB2. In 1998 he moved to the Software group in
IBM Slovakia, with the technical responsibility for IBM Data Management
software and Tivoli software. In the year 2000, he joined the IBM Canada
Software group as an IT Specialist, and is responsible for technical sales of the
IBM DB2 Information Management software. In this role his main focus is DB2 on
Linux.

Patrik Fürer is an IT Specialist currently working in IBM Global Services, IBM


Switzerland. He has been working for three years for IBM in the Database
Management Sector. Before he got his Masters degree in Natural Sciences
(biotechnology) at the Federal Institute of Technology in Zuerich, Switzerland. He
is an IBM Certified Advanced Database Administrator - DB2 Universal Database
V8.1 for Linux, UNIX, and Windows.

Craig Maddux is a Certified Senior IT Specialist for IBM’s Pacific Northwest


region with over 20 years of IT experience as a programmer and database
administrator. For the past four years he has been with IBM as a DB2 Technical
Specialist, assisting IBM customers design and implement solutions on DB2
UDB on Linux, Unix and Windows.

Ichiro Ohta is an IT Specialist, currently providing pre-sales support on BI


solutions and Information Management products in Japan. He is also a published
author, whose works include various technical articles and books on Java™
programming, XML applications, and DB2 administration, etc. He holds a
Masters degree in Information and Computer Sciences from Osaka University,
Osaka, Japan.

Mark Talens is a Certified Consulting IT Specialist for IBM’s Pacific Southwest


region. He has been working with DB2 since 1988. Prior to IBM, Mark was an
independent consultant providing DBA services for many companies in Southern
California. He has worked for IBM for seven years; three years in IBM Global
Services and four years as a DB2 pre-sales technical specialist. He provides
customers with technical information to assist in the purchase of DB2 for Linux,
UNIX, and Windows platforms.

Acknowledgement
Thanks to the following people for their contributions to this project:

Amy C. Freeman
IBM WW Brand Manager - xSeries® Linux Marketing

Vicki Martin Petruch


IBM WW Brand Manager - DB2 on Linux

Preface xix
Grant Hutchison
DB2 Linux/Windows Solution Center manager, IBM Toronto Software
Laborotory

Conor Malone
Advanced Micro Devices

Ben Eiref
TopSpin Communications, Inc.

Al Kliethermes
IBM Global Business Intelligence Solutions, West, Software Technical
Sales

Stuart Alexander
IBM Linux Cluster Marketing Manager, Linux Cluster, IBM eServer xSeries

Scott Andrus, Kitman Cheung, John Keenleyside, Peter Robinson, Baris


Naciterhan, Brian Olynyk, Steve Raspudic, Berni Schiefer
IBM Database Technology, IBM Toronto Laboratory

Monty Wright
IBM America Advanced Technical Support - Software, DB2, Content
Management

Emma Jacobs
International Technical Support Organization, San Jose Center

Julie Czubik
International Technical Support Organization, Poughkeepsie Center

Become a published author


Join us for a two- to six-week residency program! Help write an IBM Redbook
dealing with specific products or solutions, while getting hands-on experience
with leading-edge technologies. You'll team with IBM technical professionals,
Business Partners and/or customers.

Your efforts will help increase product acceptance and customer satisfaction. As
a bonus, you'll develop a network of contacts in IBM development labs, and
increase your productivity and marketability.

Find out more about the residency program, browse the residency index, and
apply online at:
ibm.com/redbooks/residencies.html

xx DB2 Integrated Cluster Environment Deployment Guide


Comments welcome
Your comments are important to us!

We want our Redbooks™ to be as helpful as possible. Send us your comments


about this or other Redbooks in one of the following ways:
 Use the online Contact us review redbook form found at:
ibm.com/redbooks
 Send your comments in an Internet note to:
[email protected]
 Mail your comments to:
IBM Corporation, International Technical Support Organization
Dept. QXXE Building 80-E2
650 Harry Road
San Jose, California 95120-6099

Preface xxi
xxii DB2 Integrated Cluster Environment Deployment Guide
1

Chapter 1. Introduction
Organizations today face the challenging job of integrating technologies to pull
together a comprehensive solution that fits their business needs and IT budgets.

A complete data center solution consists of enterprise-class applications,


databases, management tools, network infrastructure, and server hardware.
Until recently, such solutions were based on proprietary systems and involved
significant investment in capital, time, and resources to assemble, integrate, test,
manage, and support. This scenario has changed dramatically with Linux
clusters and best-of-breed software, hardware, and services from IBM and its
partners.

In this chapter we provide a general overview of DB2 Integrated Cluster


Environment and discuss the fundamentals of DB2 in a Linux cluster
environment. We cover:
 Why DB2 on Linux
 What is a cluster
 The DB2 Integrated Cluster Environment solution
 Benefits of DB2 Integrated Cluster Environment
 DB2 Architecture

© Copyright IBM Corp. 2004. All rights reserved. 1


1.1 Why DB2 on Linux
IBM® DB2 Universal Database™ has long been known for its technology
leadership. Therefore it was not surprising when IBM took the lead in bringing the
proven performance, scalability, and ease-of-use features of DB2 to Linux. Over
the years DB2 has kept up its lead by releasing the first database for clustered
environments on Linux, showcasing the first commercial database for Intel® and
AMD powered 64-bit platforms, and continuously being first to announce
industry-leading benchmarks on Linux. IBM’s commitment to Linux is further
reflected through its ongoing efforts to exploit and enhance the Linux kernel for
database workloads.

As a result, IBM is the market leader on Linux for relational database systems.
The reasons why major companies and governments around the globe choose
to deploy DB2 for Linux in the enterprise setting are quite simple. The DB2
system's rich set of features has been running on Linux for almost six years and
during this time, while the Linux kernel matured through the efforts of thousands
of programmers and volunteers, the IBM teams were busy further hardening the
kernel and DB2 on Linux for enterprise workloads.

1.1.1 DB2 + Linux = Versatility


Today DB2 is the most versatile and powerful information management system
on Linux. DB2 for Linux is capable of effectively handling terabytes of data in
both decision support and transactional environments. The combination of DB2
and Linux is a robust database platform for a variety of solutions and vertical
applications, including:
 Backend for Web and application servers
 Business intelligence and data warehousing
 Transactional enterprise systems
 Enterprise applications such as ERP, CRM, and SCM
 Information integration and content management
 Gateway to mainframe and host data
 Financial, retail, public sector, and manufacturing applications
 Life sciences and bio-informatics solutions
 Store for spatial and geographical systems
 High-performance computing applications including:
– Financial modeling
– Oil and gas exploration
– Research and scientific applications

2 DB2 Integrated Cluster Environment Deployment Guide


1.1.2 Versatility + eServers = Value
Despite implementing a wide array of solutions in different industries, customers
of DB2 for Linux generally talk about a few common themes regarding the
benefits they derive. Foremost among them is the exceptional value that DB2 for
Linux delivers. Not only is DB2 known for lower initial cost, it also provides the
lowest long-term total cost of ownership (TCO) when compared to other
databases from Microsoft® and Oracle1. Running DB2 on the open Linux
platform and Intel or AMD processor-based servers or blades delivers an even
more compelling price/performance story. DB2 is renowned for critical self-tuning
and self-healing features. The autonomic technologies make DB2 easy to use
and maintain while minimizing administration costs. IBM’s alliances with all the
major Linux distributors and the ability to get 24 x 7 support for both DB2 and
Linux directly from IBM provides added piece of mind.

1.2 What is a cluster


In its simplest form, a cluster is two or more computers that work together to
provide a solution. This should not be confused with a more common
client/server model of computing, where an application may be logically divided
such that one or more clients request services of one or more servers. The idea
behind clusters is to join the computing powers of the servers involved to provide
higher scalability, more combined computing power, or to build in redundancy to
provide higher availability. So, rather than a simple client making requests of one
or more servers, clusters utilize multiple machines to provide a more powerful
computing environment through a single system image.

Clusters of computers must be somewhat self-aware, that is, the work being
done on a specific server often must be coordinated with the work being done on
other servers. This can result in complex connectivity configurations and
sophisticated inter-process communications between the servers of a cluster. In
addition, the sharing of data between the servers (or nodes) of a cluster through
a common file system is almost always a requirement. There are many other
complexities that are introduced by clusters, such as the operational
considerations of dealing with a potentially large number of computers as a
single resource.

For additional information, refer to the following Web site:

http://www.pc.ibm.com/ww/eserver/xseries/clustering/info.html

1 For details refer to http://www.ibm.com/software/data/highlights/db2tco.html.

Chapter 1. Introduction 3
1.2.1 Cluster types
As just described, clusters may exist in many different forms. The most common
cluster types are:
 High availability (HA)
 High performance computing (HPC)
 Horizontal scaling (HS)
 Database cluster (DBC)

It should be noted that the boundaries between these cluster types are
somewhat indistinct and often an actual cluster may have properties or provide
the function of one or more of these cluster types.

High availability (HA)


In its simplest form, a high-availability cluster consists of two servers with shared
disk space between them and an extra connection between the two servers to
provide a heartbeat between the two machines. One server (Server A in this
example) is where we will run our database. In the event of a problem with Server
A, the second server, Server B, will take over running the database, take over the
IP address that the users are using to connect to server A, and resume database
operations with the minimum of disruption to the users. After a brief failover, the
length of which will depend on the nature of the failure and the size and state of
the database at the time of failure, the user will once again be able to access the
data from the same database at the same IP address. Server B will continuously
monitor the state of Server A (through the LAN and, for redundancy, through a
separate serial cable) in order to know when and if to take over the resources.

High-performance clusters (HPC)


High-performance computing clusters are designed to use parallel computing
techniques to apply more processor power in order to develop a solution for a
given problem. There are many examples of this in the scientific computing arena
where multiple low-cost processors are used in parallel to perform a large
number of operations. This is referred to as parallel computing or parallelism.

High-performance clusters are typically made up of a large number of computers.


The design of high performance clusters is a challenging process that needs to
be carefully examined throughout the entire life cycle of the solution.

The goal of high-performance clustering is to present what appears to be a single


“virtual” system to any given process or task. When the cluster system is
configured properly, the process or task has no idea that its work load is being
divided up into smaller, more manageable pieces and then delegated for
simultaneous execution by many or all of the compute nodes.

4 DB2 Integrated Cluster Environment Deployment Guide


Horizontal scaling (HS)
Horizontal scaling clusters are used to provide a single interface to a set of
resources that can arbitrarily grow (or shrink) in size over time. The most
common example of this is a Web server farm. In this example, a single interface
(URL) is provided, but requests coming in through that interface can be allocated
across a large set of servers providing higher capacity and the ability to manage
the end-user experience through functions such as load balancing.

Of course, this kind of cluster also provides significant redundancy. If one server
out of a large farm fails, it will likely be transparent to the users. Therefore, this
model also has many of the attributes of a high-availability cluster. Likewise,
because of the work being shared among many nodes, it also is a form of
high-performance computing.

Database clusters (DBC)


The database cluster may incorporate all three cluster types above. A database
cluster may incorporate HA clustering to ensure that the database is available
even after a hardware failure. Query workloads with demanding service level
agreements may require the parallel processing of a High Performance Cluster.
When the database grows to where the existing hardware can no longer handle
the capacity, then you will need to horizontally scale your database to add
additional computing resources.

The driving force behind using Linux clusters is that by distributing the load over
several low-cost servers running an open-source operating system, a larger task
can be accomplished faster, more reliably, and a lot more economically. And if
the load increases, the cluster can be extended for managing the additional
demand without compromising on performance. DB2 was the first commercial
database on Linux to provide built-in capabilities for clusters. That is, DB2 can be
deployed across a Linux cluster right out of the box, without the need for
additional clustering software.

1.2.2 DB2 partitioned databases


DB2 exploits the power of Linux clusters by employing database partitioning. In a
partitioned environment, a database is distributed across multiple partitions,
capable of residing on different machines. Each partition, called a database
partition, is responsible for a portion of a database’s total data. Because data is
divided across database partitions, you can use the power of multiple processors
on multiple physical servers to satisfy requests for information. Data retrieval and
update requests are decomposed automatically into sub-requests, and executed
in parallel among the applicable database partitions.

Chapter 1. Introduction 5
Prior to DB2 V8, a database partition was often referred to as a database node.
Sometimes this introduced some confusion, because the computer hardware
industry often refers to a server as a node. In DB2 V8.1 we use database
partition instead of database node. You may find references to a database node
in text and in some DDL, but this remains to make it easier for those transitioning
from prior releases of DB2. In this book, and in practice, an individual DB2
partition is called a database partition. The term node should only be used in
reference to hardware and servers.

As an illustration of the power of processing in a partitioned database system,


assume that you have 100,000,000 records that you want to scan in a
single-partition database. This scan would require that a single database
manager search 100,000,000 records. Now suppose that these records are
spread evenly over 20 database partitions; each partition only has to scan
5,000,000 records. If each database partition server scans in parallel with the
same speed, the time required to do the scan should be approximately 20 times
faster than a single-partition system handling the entire task.

The fact that databases are partitioned across several database partitions is
transparent to users and applications. User interaction occurs through one
database partition, known as the coordinator partition for that user; see
Figure 1-1 on page 7. Any database partition can be used as a coordinator
partition. The database partition that a client or application connects to becomes
the coordinator partition. You should consider spreading out users across
database partition servers to distribute the coordinator function.

6 DB2 Integrated Cluster Environment Deployment Guide


Load,
SQL

Coordinator

Agent Agent Agent

CPU CPU CPU CPU CPU CPU

Database Database Database


Partition 1 Partition 2 Partition 3

Figure 1-1 DB2 database partition

1.3 The DB2 Integrated Cluster Environment solution


The biggest problem facing customers today, who try to implement any Linux
environment, is the integration of both hardware and software that are
compatible with their Linux kernel. You may find yourself installing the latest
Linux kernel only to find that your storage vendor has not written a driver for that
kernel.

The IBM DB2 Integrated Cluster Environment for Linux is a completely


integrated, high-performance, and pre-tested solution that incorporates
best-of-breed software, hardware, and services. It provides you with a
high-performance, reliable data management system that can scale from one to
1,000 nodes2. You can order a pre-configured solution or customize it to meet
your needs.

2 Scalability limits may vary by type of workload.

Chapter 1. Introduction 7
The core solution is based on IBM DB2 Universal Database and IBM Linux
Cluster 1350 (xSeries, 325, and Blade Center). Figure 1-2 shows a sample DB2
Integrated Cluster Environment configuration. The other components in a DB2
Integrated Cluster Environment can include (but are not limited to):
 SuSE or Red Hat Linux
 IBM Tivoli System Automation software
 IBM WebSphere® Application Server
 IBM TotalStorage®
 IBM Global Services
 TopSpin InfiniBand

IBM Storage

Gigabit, Infiniband or
Fiber Channel

Cluster 1350 Options (11U, 25U, 42U)


Server Nodes Enterprise Storage Servers and SANs (ESS)
x335, Fiber Attached Storage (FAStT + EXP)
x345, Direct fibre attached storage (EXP)
e325, Direct attached SCSI Storage (ServeRAID+EXP)
Blade Center HS20 Network Attached Storage (NAS)
Interconnect Options
Gigabit Ethernet
InfiniBand
Operating System
RHEL 3
SLES 8

Figure 1-2 Sample DB2 Integrated Cluster Environment configuration

1.3.1 The ingredients for success


The success of DB2 Integrated Cluster Environment contains several factors,
discussed in this section.

Autonomic database
The benefits of Linux clusters, including superior performance at a low cost, are
well known. When you add to the mix the built-in clustering capabilities of IBM

8 DB2 Integrated Cluster Environment Deployment Guide


DB2 Universal Database (UDB) for Linux, Enterprise Server Edition (ESE), you
get a rock-solid foundation for all your enterprise e-business data processing
needs.

Powerful hardware
IBM has extensive and proven experience with clustered UNIX® computers. IBM
xSeries® has applied that knowledge to produce servers that are armor-plated
for Linux, optimized for database work loads, and deliver tremendous power at a
fraction of the price.

Demanding applications
The combination of DB2 UDB and Linux on IBM eServer xSeries, with the latest
Intel® and AMD® processors, is powerful enough to run highly demanding
business applications, including SAP R/3, mySAP Customer Relationship
Management (CRM), mySAP Business Intelligence (BI), and IBM WebSphere
Application Server.

Reliable management
Managing a clustered environment is easy using autonomic capabilities built into
DB2 software and xSeries hardware along with management tools from IBM®
Tivoli® software. The availability of the solution is further enhanced using Tivoli
System Automation for Linux.

High-speed network
Gigabit Ethernet is the standard network connection in most servers and would
suffice in most DB2 Integrated Cluster Environment implementations. However,
if high bandwidth, low latency, and low overhead is required, then infiniband can
be used as both server and storage interconnect.

Platform support and services


You do not have to go at it alone. IBM Global Services Linux professionals help
you install, migrate, configure, tune, and service your database solution. IBM’s
strong relationships with its Linux partners, supplemented by expertise from
SuSE/Novell, Red Hat, and others, give you the confidence and support to
deploy even the most critical solution.

1.4 Benefits of DB2 Integrated Cluster Environment


Managers and IT professionals tasked with selecting and implementing a data
management solution that is robust enough for mission-critical enterprise needs,

Chapter 1. Introduction 9
yet flexible enough to deliver exceptional value to small businesses, often
evaluate technologies based on the following criteria:
 Scalability
 Price/performance
 Availability
 Manageability
 Interoperability

1.4.1 Scalability pays great returns


Many IT professionals are concerned about whether their relational database
system on Linux will be able to scale as workloads increase. DB2 software and
xSeries servers for Linux help you avoid large up-front costs as well as migration
and training costs later. They can be deployed based on your initial requirements
and then scale as large as your business demands.

The possibilities are indeed empowering. You can build powerful clusters using
IBM xSeries servers running Linux. IBM DB2 Universal Database Enterprise
Server Edition provides a single database that can be distributed across such a
cluster. You can easily scale up by adding a new machine to the cluster, and
trigger DB2 to automatically redistribute data to the new partition.

1.4.2 Proven performance at a low cost


Operating DB2 Universal Database on IBM xSeries servers for the Linux
platform, the customer can expect the high performance your business needs to
support its growth. The combination of IBM DB2 Universal Database and IBM
xSeries servers is a proven leader in several performance benchmarks on Linux.

Numerous application and industry standard benchmarks have delivered


performance not only in lab conditions but also at countless customer
installations around the world. A key reason for this success is the close
cooperation with IBM business partners such as SuSE, Red Hat, and TopSpin,
who participated in these efforts to deliver a superior system. Host channel
adaptors and switches based on Mellanox silicon featured in components from
Voltaire can meet the most demanding needs for fast, low-latency
communication between database partitions in the cluster. This solution
combines leading technologies into a powerful supercomputer at a fraction of the
costs of a special purpose machine with equivalent capabilities.

1.4.3 High levels of availability


DB2 Universal Database is setting the standard for quality and reliability in the
database industry. As more mission-critical applications are implemented on

10 DB2 Integrated Cluster Environment Deployment Guide


Linux, IBM's ability to bring mainframe-level reliability to this environment has
become a major factor for customers choosing the DB2 family.

IBM eServer offers a reliable foundation for leading Linux-based computing. With
the IBM X-Architecture™ advantage, you can feel confident about the availability
of the hardware running your core business applications.

The Tivoli System Automation (TSA) for Linux increases the availability of DB2
operating environments on xSeries hardware by effectively monitoring system
and application health. In the event of an outage, TSA allows applications to
automatically fail over to other servers in the cluster, providing continuous
access to DB2 and restored data. TSA is based on autonomic research inside
IBM, long-standing experience with IBM cluster technology, and is specifically
designed for the benefits of enterprise class solution stacks. The tight integration
with DB2 for Linux offers smooth and seamless production operation with highest
levels of availability.

1.4.4 Easily managed


DB2 greatly reduces the complexity of data management by eliminating,
simplifying, and automating many tasks traditionally associated with maintaining
an enterprise class database. These advances are the first implementation of the
autonomic project and the first step towards making autonomic computing a
reality for database implementations.

Tivoli management products simplify the management of distributed systems.


Tivoli Monitoring provides monitoring for essential system resources, to detect
bottlenecks and potential problems, and to automatically recover from critical
situations. Tivoli NetView® extends traditional network management to ensure
the availability of critical business systems and to provide rapid resolution of
problems.

Tivoli Storage Manager (TSM) protects critical business information by


simplifying, centralizing, and automating backup and recovery operations. Tivoli
TSM support for DB2 provides online backup and quick, granular-level recovery,
helping to reduce downtime and administrative costs.

1.4.5 Seamless interoperability


We recognize that today's business environment is heterogeneous and there is a
great need for different technologies to integrate seamlessly. Starting with a
vision of making Linux ready for business, coupled with strong relationships, the
technology vendors featured here have created a highly capable enterprise class
solution. Furthermore, DB2 and xSeries have introduced validation programs
designed to set standards in interoperability on Linux.

Chapter 1. Introduction 11
The right products working in harmony enhance productivity, reduce costs of
deployment, and simplify management of critical e-business applications. In
other words, they empower you to focus on your business rather than the
technology on which it runs.

1.5 DB2 Architecture


Figure 1-3 on page 13 shows the architecture overview of DB2 UDB. DB2 UDB
implements a dedicated process architecture.

12 DB2 Integrated Cluster Environment Deployment Guide


Application shared libraries
Client
JDBC type 2, SQLJ
embedded SQL
JDBC type 4 CLI, APIs
DRDA DRDA application requester
ADO ODBC/OLE DB
communication layer

Network
Netbios shared memory
SNA TCP/IP named pipes
internode communication

Server Shared Libraries (Node 1 - n)

Database Server Base Support Utilities communication layer


DRDA application server
Fast Communication
Load Backup & Restore db2agent Logger Deadlock Detector Manager

Relational Data Services

Catalog
Access Services
Plan SQL Compiler
Manager Runstats

Data
Protection
Utilities Services Common Services
Run-time Interpreter
Import relational operations System
Export aggregation Data Management Services Locks Monitor
group by Index Manager
Load hash join Sort Transaction Configuration
Long and Large Object Management Services
UDF Manager
Backup etc..
Restore Table Manager Logging Data
Rollforward Services
Buffer Pool Manager

prefetchers page cleaners


Operating System Services
code page conversion memory management TCP/IP
file i/o message queues trace
latching semaphores wait post

Operating System Storage

Linux UNIX Windows

Figure 1-3 DB2 UDB architecture overview

From a client-server view, the client code and the server code are separated into
different address spaces. The application code runs in the client process, while
the server code runs in separate processes. The client process can run on the
same machine as the database server or a different one, accessing the database
server through a programming interface. The memory units are allocated for
database managers, databases, and applications.

Chapter 1. Introduction 13
To enable access to a special database, the DB2 instance process responsible
for the database must be running on the DB2 server. When an instance process
is started, several processes are created and interact with each other, to
maintain connected applications and the database. There are several
background processes in DB2 that are pre-started; others start on a need-only
basis. This section explains some of the important background processes.

DB2 UDB processes


The DB2 UDB server activities are performed by Engine Dispatch Units (EDUs)
that are defined as background processes on Linux systems.

Per Instance
Per Application Per Database
db2agent db2pfchr db2pclnr
db2ipccm

db2agent db2dlock

db2tcpcm db2agent db2loggr db2loggw

Per Application Per Database


db2agent db2pfchr db2pclnr
db2ipccm

db2agent db2dlock

db2tcpcm db2agent db2loggr db2loggw

db2gds db2sysc db2wdog db2fmtlg db2syslog

Figure 1-4 DB2 processes

Some DB2 background processes are started with the instance, and others are
initialized when the database is activated by a connection. Figure 1-4 shows the
necessary background processors of the DB2 UDB server at the instance,
application, and database level. In the following sections, we discuss some of the
important processes on the respective levels.

14 DB2 Integrated Cluster Environment Deployment Guide


Instance-level processes
The following background processes will start as soon as the DB2 UDB server is
started with the db2start command.
 DB2 daemon spawner (db2gds)
This is a global daemon processor started for each instance. This process
starts all the EDUs as UNIX processes.
 DB2 system controller (db2sysc)
This is the system controller processor. Without this process the instance
cannot function properly.
 DB2 watchdog (db2wdog)
This process is required only in UNIX platforms. It is the parent process for all
other processes.
 DB2 format log (db2fmtlg)
Pre-allocates log files in the log path when the LOGRETAIN database
configuration parameter is enabled, and the USEREXIT disabled.
 DB2 system logger (db2syslog)
This is the system logger process responsible for the writing operating system
error log.

Database-level processes
The following background processes are started when a connection activates the
database:
 DB2 log reader (db2loggr)
This process reads the log files during transaction rollback, restart recovery,
and roll-forward operations.
 DB2 log writer (db2logw)
This is the log writer process that flushes the database log from the log buffer
to the transaction log files on disk.
 DB2 page cleaner (db2pclnr)
An asynchronous process to make room in the buffer pool by writing changed
pages to disk, before pre fetchers read pages on disk storage and move into
the buffer pool.
 DB2 prefetcher (db2pfchr)
This process retrieves data from disk asynchronously and moves it into the
buffer pool before the application requested the data.

Chapter 1. Introduction 15
 DB2 deadlock detector (db2dlock)
This is the database deadlock detector process. It scans the lock list (the lock
information memory structure of DB2) and looks for deadlock situations.

Application-level processes
These processes are started for each application connecting to the database:
 DB2 communication manager (db2ipccm)
This is the inter-process communication (IPC) process started for each
application connecting locally. This process communicates with the
coordinating agent to perform database tasks.
 DB2 TCP manager (db2tcpcm)
This is the TCP communication manager process. This process is started
when the remote client or applications connect to the database using TCP/IP
communication. This process communicates with the coordinating agent to
perform database tasks.
 DB2 coordinating agent (db2agent)
This process handles requests from applications. It performs all database
requests on behalf of the application. There will be one db2agent per
application unless the connection concentrator is established. If intra-partition
parallelism is enabled, the db2agent will call DB2 subagents to perform the
work.
 DB2 subagent (db2agnta)
Subagent, which works with the db2agent process when intra-partition
parallelism is enabled.
 Active subagent (db2agntp)
This is the active subagent that is currently performing work. This process is
used when enabling SMP parallelism, which means having more processes
achieving the same task. In order to enable this feature in DB2, we must set
the intra-parallelism database parameter to YES.

DB2 database objects


In this section, DB2 objects and their relationships to each other are introduced.
Figure 1-5 on page 17 shows the basic DB2 database objects.

16 DB2 Integrated Cluster Environment Deployment Guide


System

Instance(s)

Tab
Database(s)

Tab
DB Partition(s)

Tab

Table space(s)
tables
Tab

index(es)

long data

Figure 1-5 DB2 object relationships

 Instances
An instance is DB2 code that manages data. It controls what can be done to
the data, and manages system resources assigned to it. Each instance is a
complete, independent environment. It contains all the database partitions
defined for a given parallel database system. An instance has its own
databases (which other instances cannot access directly), and all its
database partitions share the same system directories. It also has separate
security from other instances on the same machine (system), allowing, for
example, both production and development environments to be run on the
same machine under separate DB2 instances without interfering with each
other.
 Databases
A relational database presents data as a collection of tables. Each database
includes a set of system catalog tables that describe the logical and physical
structure of the object in the database, a configuration file containing the
parameter values configured for the database, and a recovery log. An

Chapter 1. Introduction 17
application or a user connects to a specified database to read or manipulate
data in tables.
Figure 1-6 shows the relationship between instances, databases, and tables.

Server system

User,
Application

Instance ... Database Manager


Instances
... Instance
connect to

... Databases ...

... Tables ...


Figure 1-6 Relationship to DB2 instance, databases, and tables

 Database partition groups


A database partition group is a set of one or more database partitions
(Figure 1-7 on page 19). Before creating tables for the database, you first
need to create the database partition group where the table spaces will be
stored, and then create the table space where the tables will be stored. If a
partition group is not specified, there is a default group where table spaces
are allocated. In earlier versions of DB2, database partition groups were
known as nodegroups. In a non-partitioned environment, all the data resides
in a single partition; therefore it is not necessary to worry about partition
groups.

18 DB2 Integrated Cluster Environment Deployment Guide


Database

Database Database
Database Partition Partition
Database Partion Group 2
Partion Group 1

Database
Partition
Database
Partition
Database
Partion Group 3

Database
Partition

Figure 1-7 DB2 database partition groups

 System catalog tables


Each database includes a set of system catalog tables, which describe the
logical and physical structure of the data. DB2 UDB creates and maintains an
extensive set of system catalog tables for each database. These tables
contain information about the definitions of database objects such as user
tables, views, and indexes, as well as security information about the privilege
that users have on these objects. Catalog tables are created when the
database is created, and are updated during the course of normal operation.
You cannot explicitly create or drop them, but you can query and view their
contents using the catalog views.
 Table spaces
A database is organized into subdivided table spaces. A table space is a
place to store data. When creating a table, you can decide to have certain
objects such as indexes and large object (LOB) data kept separately from the
rest of the table data. A table space can also be spread over one or more
physical storage devices.

Chapter 1. Introduction 19
Table spaces reside in database partition groups if they were created. Table
space definitions and attributes are maintained in the database system
catalog. Containers are assigned to table spaces. A container is an allocation
of physical storage (such as a file or a device).
A table space can be either system managed space (SMS) or database
managed space (DMS). For an SMS table space, each container is a
directory in the file system of the operating system, and the operating
system's file manager controls the storage space. For a DMS table space,
each container is either a fixed size pre-allocated file, or a physical device
such as a disk, and the database manager controls the storage space.
 Schemas
A schema is an identifier, by default the user ID, that qualifies tables and other
database objects. A schema can be owned by an individual, and the owner
can control access to the data and the objects within it. A schema name is
used as the first part of a two-part object name. For example, a schema
named Smith might qualify a table named SMITH.PAYROLL.
 Tables
A relational database presents data as a collection of tables. Data in a table
are arranged in columns and rows. The data in the table is logically related,
and relationships can be defined between tables. Table data is accessed
through Structured Query Language (SQL), a standardized language for
defining and manipulating data in a relational database. A query is used in
applications or by users to retrieve data from a database. The query uses
SQL to create a statement in the form of:
SELECT <data_name> FROM <table_name>
 Views
A view provides a different way of looking at data in one or more tables; it is a
named specification of a result table. The specification is a SELECT
statement that runs whenever the view is referenced in a SQL statement. A
view has columns and rows just like a base table. All views can be used just
like base tables for data retrieval. Figure 1-8 on page 21 shows the
relationship between tables and views.

20 DB2 Integrated Cluster Environment Deployment Guide


Table A Table B
47 ABC
17 QRS
85 FCP
81 MLI
93 CJP
87 DJS
19 KMP

View A View AB

CREATE VIEW A CREATE VIEW AB


AS SELECT ... AS SELECT ...
FROM TABLE A FROM TABLE A, TABLE B
WHERE ... WHERE ...

Figure 1-8 Relationship between tables and views

 Indexes
An index is a set of keys, each pointing to rows in a table. For example, table
A has an index based on the first column in the table (Figure 1-9 on page 22).
This key value provides a pointer to the rows in the table: Value 19 points to
record KMP. An index allows efficient access when selecting a subset of
rows in a table by creating a direct path to the data through pointers.
The DB2 SQL Optimizer chooses the most efficient way to access data in
tables. The optimizer takes indexes into consideration when determining the
fastest access path.

Chapter 1. Introduction 21
Index Table A
17 47 ABC
19 17 QRS
47 85 FCP
81 81 MLI
85 93 CJP
87 87 DJS
93 19 KMP

Figure 1-9 Relationship between indexes and tables

 Containers
A container is a physical storage device. It can be identified by a directory
name, a device name, or a file name. A container is assigned to a table
space. A single table space can span many containers, but each container
can belong to only one table space, as shown in Figure 1-10 on page 23.

22 DB2 Integrated Cluster Environment Deployment Guide


Database 1

Tablespace

Table1 Table2 Table3

/dev1/dbase1
/dev3/dbase1
container 0 container 2

/dev2/dbase1 /dev4/dbase1
container 1 container 3

Figure 1-10 Relationship between table space and containers

 Buffer pools
A buffer pool is the amount of memory allocated to cache table and index
data pages. The purpose of the buffer pool is to improve system performance.
Data can be accessed much faster from memory than from disk; therefore,
the fewer times the database manager needs to read from or write to a disk
(I/O) synchronously, the better the performance of the application. The size of
the buffer pool is the single most important performance tuning area, because
you can reduce the delay caused by synchronous I/O.

DB2 directory structure


On Linux systems the default installation path for DB2UDB V8.2 is
/opt/IBM/db2/V8.1. $DB2DIR is the environment variable for the DB2 installation
directory. Figure 1-11 on page 24 shows the default directory structure for a
simple CREATE DATABASE command with no table space options specified. By
default DB2 creates SMS table space containers in the specified database
directory. The three default table spaces created are system catalog, system
temporary, and user table space. For the log files DB2 creates a directory called
sqllogdir. On a Linux system, by default, a sqllib directory will be created under

Chapter 1. Introduction 23
the instance home directory, which has a symbolic link to the DB2 installation
directory.

Database
Directory

DB2 Instance
Name

NODE0000 The partition number of the db, 0 for a non partitioned database
SQL00001 The db id starts at 1 and increases for all subsequent databases
SQLOGDIR The directory for default log files

SQLT00000.0 The SMS container for catalog tablespace

SQLT00000.1 The SMS container for default temporary tablespace


SQLT00000.2 The SMS container for default User tablespace

sqllib
symbolic link
DB2 installation path

adm
adsm

bin

bnd
cfg

conv

...
Figure 1-11 DB2 directory structure

DB2 catalog
In DB2 UDB, the metadata is stored in a set of base tables and views called the
catalog. The catalog contains information about the logical and physical
structure of the database objects, object privileges, integrity information, etc.

The catalog is automatically created with the database. The base tables are
owned by the SYSIBM schema and stored in the SYSCATSPACE table space.
On top of the base tables, the SYSCAT and SYSSTAT views are created. SYSCAT
views are the read-only views that contain the object information and are found in
the SYSCAT schema. SYSSTAT views are updateable views containing statistical
information that are found in the SYSTAT schema. The complete DB2 UDB
catalog views can be found in DB2 UDB SQL Reference Volume 1 and 2,
SC09-4484 and SC09-4485.

24 DB2 Integrated Cluster Environment Deployment Guide


1.5.1 DB2 database access
In this section the following topics are discussed:
 DB2 clients
 Application access
 DB2 application programming interfaces

DB2 clients
To access a DB2 UDB database a DB2 client has to be installed on the client
system. IBM offers four types of DB2 clients:
 Run-Time Client
This client provides you access to DB2 UDB servers with application
interfaces, such as JDBC, SQLJ, ODBC, CLI and OLE DB. This client can be
used if no DB2 server administration has to be done from this client.
 Run Time Client Lite
This is a new addition in DB2 UDB Version 8.2. Run-time Client Lite is a
smaller footprint version of the DB2 Run-Time Client and is available only on
Windows environments. It provides basic functions that allow your
applications to access a DB2 UDB server. The DB2 Run-Time Client Lite also
contains support necessary for JDBC, SQLJ, ODBC, CLI, OLE DB, and .NET,
similar to the DB2 Run-Time client. With its reduced installation image size,
the DB2 Run-Time Client Lite is ideal for mass deployment or for bundling
with your applications.
 Administration Client
The Administration Client has all features of the DB2 Run-Time client plus
tools to administer a DB2 Server.
 Application Development Client
This client provides a collection of graphical and non-graphical tools for
developing applications. It includes all components of the DB2 Administration
Client.

For client-server communication DB2 supports several communication protocols


like TCP/IP, APPC, NPIPE, NetBIOS, etc. Most protocols are automatically
detected and configured during an instance creation. The DB2COMM registry
variable identifies the protocol detected in a server. To enable a specific protocol,
the db2set DB2COMM command has to be executed. For TCP/IP, a unique port
address has to be specified in the database manager configuration. This port is
registered in the services file. To reserve port 50000 with the service name
db2cidb2, for example, the entry in the services file would be:
db2icdb2 50000/tcp

Chapter 1. Introduction 25
To update this information in the database manager the following command is
used:
db2 UPDATE DBM CFG USING SVCENAME db2icdb2

These tasks can also be performed using the DB2 configuration assistant utility.
At the client, the database information is configured using either the CATALOG
command or using the configuration assistant. The database is configured under
a node that describes the host information like protocol and port, etc. To
configure a remote TCP/IP node the following command is used:
db2 CATALOG TCPIP NODE node-name REMOTE host-name SERVER service-name

The service name registered in the server or the port number can be specified in
the SERVER option. To catalog a database under this node the command used
is:
db2 CATALOG DATABASE database-name AS alias-name AT NODE node-name

When using the Configuration Assistant GUI tool to add a database connection,
a database discovery can be started to find the desired database.

Note: The DB2 Discovery method is enabled at the instance level using the
DISCOVER_INST parameter, and at the database level using the
DISCOVER_DB parameter.

Application access
When deploying applications with DB2 UDB, different methods can be used:
 Single-tier
In this configuration the application and the database reside on the same
system. In enterprise environments, it may be rare to see such a
configuration, because remote access to a database server is typically
required. Nonetheless, this is quite common for developing applications that
can later be deployed transparently in a multi-tier DB2 environment without
any changes or batch applications.
 Client/server or 2-tier
The application and the database reside on separate systems. The machines
where the application runs typically have a DB2 client installed, which
communicates over the network to a database server. For the application, the
physical location of the data is transparent. The application communicates
with the DB2 client using a standard interface (for example, ODBC) and the
DB2 client takes over the task of accessing the data over the network. In
some cases, such as browser- or Java-based access, it is not necessary to
have the DB2 client running on the same machine where the application
executes.

26 DB2 Integrated Cluster Environment Deployment Guide


Random documents with unrelated
content Scribd suggests to you:
involved in Elly’s. That was the strong point of which Elly was quite
conscious. Her own happiness was a matter too important to the household
to be permanently risked in any way.
But a few words from Percy, for whom she had no veneration, whom she
rather scorned in his new sacerdotal assumptions, had changed all this! Elly
was confused by the suddenness of the revolution, and did not understand
it, nor did she quite understand the hasty, resolute step with which John
went on, not observing, apparently, that he was walking out before her. Not
that she minded that; it seemed, on the contrary, quite natural. She liked him
to forget that he needed to stand on any punctilio with her. The wonderful
thing was that Percy had done it all, and that a change had been wrought in
John himself by that little curate. There was, then, a freemasonry among
them, too. She walked on beside her lover, breathless, finding it a little
difficult to keep up with him; and at length, when her mind began to get
into working order again, broke the silence with a question.
‘Jack, what are you going to do?’
Whereupon he stopped all at once, and turned round upon her.
‘Elly! to think that I should have been thinking so much of you as almost
to forget you were there! Percy’s right, that’s the truth. I must go away. I
couldn’t be such a hound as to upset you and put you out with them, when
there’s nothing more possible for the moment. I’ve got to go and work it
out.’
‘To work what out—to go away when you might stay a week longer?
Aunt Mary is not everybody. I will speak to my father,’ cried Elly, in the
light of a new impulse. It was not at all a usual thing for anyone to think of
going directly to the rector, but yet in a great emergency it might be done.
‘No,’ said John. ‘Now that Mrs. Egerton knows, and all of them, it’s
honest, Elly; that’s all I want. Don’t let us ask anything more. They shall
never say I bound you to a nobody when you might have done so much
better. You’re free, Elly; but you’ll stick to me all the same I know.’
‘Till I die—and after,’ she said, raising her face, which was a little pale,
but ennobled with great and solemn feeling. She added after a moment,
falling back to a more natural level, ‘But I can’t understand, all the same,
why you should hurry off like this—why, for something that Percy said,
Percy! you should change all in a moment and go and leave me.’
‘I’m going after you,’ said John. ‘You’re perhaps a long way off, Elly,
but the road’s clear, and I shall be a little bit nearer to you every step I take.
I’ll be a little bit nearer every day, please God. I’ve got the ball at my feet,
Elly. I’ve never had time to tell you about it, to show you. There’s all the
plans and calculations made out. Perhaps it needn’t be so very long. I am
not going to lose a day, not a day.’
‘What is it, Jack? Something like what we used to talk of? oh, how silly
we were! about the lighthouse——?’
‘It’s not a lighthouse, but the biggest job—Elly, it was you who put me
up to it from the very first. It’s your work as well as mine, and it’s for you.
And I’ve got the ball at my feet and the road’s clear.’
CHAPTER XVI.

SUSIE’S SHARE.

Susie had never been so much made of, so watched over and attended to, all
her life.
She did not quite know what to make of it all. First there was John
arriving like a whirlwind, rushing upstairs to pack up his things, telling her
he was going away at once, with Elly following, wistful, not quite
understanding, it seemed, yet full of suppressed excitement. Susie suspected
how it was, though she had not been told, and she had all a young woman’s
interest in her brother’s love-story, and did not see any incompatibility as
Percy and Mrs. Egerton did, but thought it very natural, as they had known
each other all their lives. She was too kind to question Elly when she came
into the parlour while John rushed upstairs. The girl it was evident was
much excited, sitting down one moment, getting up again, turning over the
books on the table, looking out of the window, distracted, and not knowing
what to do with herself, listening to the sound of his movements upstairs.
Susie felt that he must be throwing his things into his portmanteau in the
most dreadful confusion, and longed to run up and pack them for him, but
did not venture to leave her visitor, or indeed to interfere. And it was not till
some time had passed, and the tramping overhead became more and more
lively, as if John was stamping upon his portmanteau to get it to close
(which was exactly what he was doing) that Susie took it upon her to
inquire.
‘I wonder why he is going away in such a hurry. Do you know, Miss
Spencer, if he has had any telegram, any news?—if he is wanted at the
office?’
‘Oh, Susie,’ said Elly, bursting forth all at once, ‘don’t call me Miss
Spencer. I’m going to marry him as soon as we can; and it is because of that
and Aunt Mary that he is going away.’
‘Because of that; but I should have thought—’ Here Susie paused in
some perplexity, and looked her young companion in the face.
‘You should have thought he would have stayed longer, instead of
hurrying away? Oh, so should I! but boys understand each other, it appears,
just as you and I would do. It was Percy who said something to him. Percy
is not a bit clever; and it was slangy and only half intelligible to me. “There
are some things a fellow can do, and some he can’t,” that was all Percy
said; and Jack just jumped up as if he had been stung and darted away. Aunt
Mary was scolding, indeed,’ said Elly, glad of the opportunity of
unburdening herself; ‘but what of that? she would have come round in
time.’
‘Perhaps he thought they did not like it,’ Susie said.
‘What of that?’ said Elly, ‘when I tell you they would have come round
in time!’ Then she cried, ‘Oh, forgive me, Susie, if I am not civil. I am so
mixed up! So happy one moment, and then so perplexed, and not knowing
anything about it. I thought I had it all in my own hands. So I have, with a
little time. Papa never resists me long, and as for Aunt Mary, she was
coming round even when she was making the most fuss. When all at once
this thing happens between the boys, and Jack pays no more attention to
me.’
With this she began to cry a little, merely by way of distraction to fill up
the time, for Elly was not at all given to crying. There was a sound in the
midst of it as if John were coming downstairs, and then Elly immediately
cried, ‘Hush!’ as if Susie had been the guilty person, and dried her eyes. But
John did not come downstairs. He was still to be heard stamping and
moving about overhead. And presently Elly resumed.
‘He must be making a dreadful mess of his things,’ she said, with a tone
of resignation. ‘So does Dick when he packs for himself, but Percy never.
Percy is always neat—and yet to think it was he who said that!’ There was
again a little pause, both listening to every sound upstairs, Susie, puzzled
and disturbed, not knowing what to say, while Elly, altogether absorbed in
this new relationship, which was at once authoritative and subject, could
neither think nor speak of anything but Jack. There was not much of the
confused rapture of a newly-developed love about her. Even at the first
moment there had been something of the familiar sway of a sister in Elly’s
treatment of John, and now she was anxious, bewildered, not knowing what
to make of him, feeling that he had gone out of her ken into a region
influenced by a man’s motives, not a woman’s, which are different. Elly
gave presently a glance at the clock, and took out her watch and compared
it, then gave a sigh of relief. ‘He is too late,’ she said, ‘thank goodness, for
this train. He must wait till night now,’ whereupon she became more
composed, and her excitement calmed down.
But Susie did not know what to say in this curious position of affairs. To
take this pretty young stranger into her arms and talk to her of all John’s
excellencies, and kiss her and cry over her with pleasure, as is the wont of a
young man’s admiring and sympathetic sister with his love, seemed out of
place with Elly, whom she scarcely knew, who seemed to know John better
than she did, and who, in place of the emotional stage, was in the anxious
one, rather regarding John as a wife does who is concerned about how her
husband is going to act in a certain position of affairs which affects their
well-being, than as a rapturous girl ready to find everything her lover does
half divine. There was care instead of ecstacy on Elly’s brow, and that little
conflict of opinion which must take place sometimes between all properly
endowed minds, even in the closest relationship, was in full force. She
resumed after a time the discussion in which Susie could not take an active
part.
‘Don’t you think,’ she said, ‘that instead of starting off like this, to make
his fortune—as if a fortune could be made in a day!—it would have been
more sensible to wait and give them a little time?’
‘I am sure I don’t know,’ said Susie, diffidently. ‘You are so young. You
didn’t mean to—— to marry all at once, even if your papa gave his
consent.’
‘Oh, no,’ cried Elly, with a blush and a laugh. ‘Oh, no; why, Jack’s only
just come of age.’
Susie accepted this information meekly.
‘Then, he had got your consent?’ she said.
‘Oh, yes,’ cried Elly, with fervour, ‘of course he had that all the time.’
And then the girl was seized with a little fit of that laughter which is so near
tears. She grasped Susie suddenly by the arm. ‘Do you know,’ she cried,
flaming celestial rosy red, ‘what happened when he went away? We kissed
each other! I was only sixteen. It was four years ago. And I have sometimes
thought that he never understood what had happened. But, of course, after
that, when Jack asked me——’ She could not grow more crimson than she
had done before, and her eyes filled with that golden dew of happiness and
tears which makes the dullest eyes swim in light. This lovely softening and
revolution in the girl’s face touched Susie. She put her arms timidly round
her and kissed her cheek, to which Elly replied by flinging herself upon the
conforting bosom of this new friend to whom she had now a right.
‘We’re sisters, don’t you know,’ she said. ‘I’ve only had Aunt Mary till
now, and Aunt Mary’s so much older. Yes, of course, of course, he had my
consent.’
‘Then what did he want more?’ said Susie, in her ear. ‘Dear, I’m of Mr.
Percy’s opinion too. He has got to go away and do what he can to make it
agreeable to your people. That is the only thing he could do—unless he had
kept away altogether,’ Susie added, ‘which would perhaps have been the
wisest way.’
At which Elly sprang up, and, seizing her comforter by both arms, shook
her, first with wild indignation, then bursting again into the agitated
laughter which belonged to her state.
‘Oh, you cruel—oh, you barbarous——’ she cried, and kissed her
between. Then they started apart and turning round appeared demurely,
seated close to each other in silence and attention, when John came in
hurriedly with a bag in his hand pushing open the door.
It was of no use, however, as he was obliged to acknowledge. The night
train which did not pass till midnight was the only one possible. As a matter
of fact he did not go till next morning, subdued in his ardour of departure
by a whole afternoon spent in the society of Elly, with whose freedom for
that day nobody interfered. And indeed the afternoon was passed in a
somewhat strange way, in the parlour which was so connected with all the
associations of John’s youthful life, where he and she bending over the table
with their heads close together went over the plans, of which John made a
sketch for Elly’s benefit, of the great scheme which he was convinced was
to make his fortune. It was, let us say, the drainage of the Thames valley,
than which there is no more urgently wanted piece of engineering, nor one
which would bring a young man more fame and money.
John drew rude plans and diagrams of all kinds, while Elly looked on.
He became enthusiastic in his descriptions, laying out everything before
her, the manner in which the waste was to be carried away so as to do good
and not harm, how floods were to be prevented, how the low-lying lands
near the river were to be protected and utilised. John’s eyes glowed as he set
it all forth, and Elly said, ‘I see!’ ‘I understand,’ with sympathetic emotion
and many a lyric of praise; but whether she did really see so clearly as she
said, remains, perhaps, open to doubt. She believed, at all events, which
comes to the same thing, and without being at all humbled or troubled by
her inability to fathom the expedients or comprehend the calculations. At
sixteen she would not have given in so easily. She would have worked out
the diagrams, and compelled herself to know what it was all about. But now
she saw, after a sort, through John’s eyes and was satisfied. He got perhaps
more applause than was good for him from Elly, who he honestly believed
followed all his elucidations, and from Susie, who understood none of
them, and did not pretend to know anything save that he was very clever,
the cleverest of engineers, a conclusion which, with deprecations, John was
not perhaps altogether unwilling to accept. In this way they spent a few
hours of such happiness as comes but rarely in youthful life. It was better
than the more emotional rapture of the young lover’s paradise, for it had so
many finer elements in it to their own happy consciousness. Their life was
to be built upon this grand work, which was a work which would save life,
which would increase comfort, which would make wealth, not only to
themselves but to others. It was the plan which had ‘pleased their childish
thought.’ It was Elly’s dream, which she had transferred with all her girl’s
enthusiasm to the steady working brain, full of impulses more lasting than
hers, and a training infinitely stronger, which had made that suggestion into
a reality.
Thus the personality of each was flattered and charmed with the scheme
that seemed to be in some sort the production of both. And Susie, who
could not possibly claim any share, sat by and admired and applauded. She
was as much delighted as they were. She had the additional advantage of
being able to feel how clever they both were, how good it was that John
was to have a wife who understood him, who would go with him in
everything. Susie sat and beamed upon them from the heights of unselfish
enthusiasm and delight, not with any effort to understand. Her mind had no
need of that. Her part was to admire and love, which was easy, and suited
her best.
Susie made no objections about remaining behind, when John thus
rushed away. She was pleased with the village, the quietness, the retirement,
the new friends; and, as has been said, she had never been so much made
of, never met with so many attentions all her life. The old gardener and his
wife whom John had managed to pick up again, and instal as guardians of
the house, according to his old dream, were in the first place her devoted
servants, telling her all manner of stories about her grandparents, which
were very pleasant to Susie; and then she had visits from everybody to
comfort or to explain to her. Mrs. Egerton came, full of anxiety, appealing
to her as a person of sense to say whether she did not think her brother far
too young to take the serious engagements of life upon him—whether it
was not a pity for a young man to tie a millstone round his own neck—
whether she had ever seen an engagement turn out well that had been
formed so indefinitely, where there was no likelihood of a conclusion to it
for years? This was the tone Mrs. Egerton had now taken up: and indeed
she was too much of a gentlewoman at any time to have troubled Susie with
any hint of the inequality in family and circumstances, which she had
pointed out so distinctly to John. And then Elly would come with her letters,
to ask what news Susie had, and to talk about Jack and herself—herself and
Jack, and what they had done when they were ‘young,’ and what now they
meant to do.
Percy too had got a habit of ‘looking in’ when he came in from his
rounds in the parish. He tried to interest Susie in parish work, and, indeed,
did get from her a wonderful deal of information and help in the matter of
the cottage hospital which he and the parish doctor were so anxious to get
up— Percy, in order to get the sick poor to some small extent provided for,
the doctor with perhaps the less virtuous motive of studying disease. She
gave him a great deal of help, but that did not altogether account for the
constant visits he paid her, nor the deferential tone in which he spoke, and
the respect with which he received all her little opinions. On the subject of
hospitals, it was true, Susie knew more than anyone else in the whole
parish: but on others her opinions were timid and not at all self-assured. Yet
with what respect this young man, who put aside Elly’s much more
convinced and enlightened views, listened to the little which Miss Sandford
had to say! He almost frightened Susie by the earnestness of his attention,
frightened her, flattered her, in the end amused her very much, and made
her laugh to herself in private at the new position she held, quoted and
looked up to as in all her life she had never been before. Susie could not tell
why. She was older than he was, and she understood his kind better than he
understood hers, and had not in reality as much reverence for the type of
curate as he had. But yet he came every day, and told her more about
himself and his own life and thoughts than any one else knew, and brought
her books which he was anxious she should read and tell him her opinion
of, even going so far as to mark passages, in the eagerness of his desire to
know what she thought on this and that point. It was not possible that Percy
should refrain from all remark about John in these many and prolonged
interviews, but the tenderness with which he treated Susie’s brother was
very different from the uncompromising views he had held on that subject
before Susie appeared at Edgeley. He gave her to understand that if he
interfered at all it was wholly in John’s interest.
‘They would never be allowed to marry now; indeed, I don’t suppose
they ever thought of that; and it seemed best for them not to let him lose his
time here, and disturb his mind—don’t you think so, Miss Sandford? A fine
fellow like Jack, with everything before him.’
‘But they say,’ said Susie, in her modest way, ‘that nothing is so good for
a young man. It gives him something to look forward to, and a motive in his
work. John is so much younger than I am. I feel more like a mother to him
—’
‘And so do I to Elly,’ said the young man, with great gravity, ‘who is just
like that, much younger than I. And next to our own family I take an interest
in Jack. He has done so well, and will do still better, I feel sure. And then he
will understand what I meant. Miss Sandford, won’t you come to the edge
of the common and see the sunset? It is going to be glorious. I’ll bring you
home afterwards, and then, perhaps you will give a look at this which I
brought to show you. I should so much like to know what you think.’
Sometimes Susie assented to this proposal, and would walk out
pleasantly in the light of the declining sun, to see the sky all golden and
purple over the common, and all those peaceful sights of a country life,
which are so wonderful and delightful to town-bred folk. She had no lack of
companions, of escorts, of attendants at any time, and the air, that was so
sweet and fresh, blowing over miles of green and blossoming country, and
the friendly life of the village, and the tranquillity of the little house, and its
sweet old-fashioned garden, was a refreshment to her beyond anything that
heart could conceive. She thought regretfully of her mother, going on all the
time with that stern routine which was all charity and succour yet at the
same time business of the severest and most uncompromising kind. But
Susie knew that the sweet rest she was taking would not be a possibility to
her mother, and that the hospital was what suited Mrs. Sandford best. And
she could not but think of John, whose name was on everybody’s lips, and
who had gone off with such an impulse of energy and faith in himself and
his future: but afterwards returned again with a great deal of pleasure to the
life around, which breathed so full of quiet and friendliness, and every
pleasant thing.
She had another frequent visitor whom she received with almost more
pleasure and sense of grateful esteem than any, and that was Mr. Cattley,
who had not half so much to say as Percy, and yet seemed to feel in Susie’s
parlour—the room which he had known so well in other times, when it was
full of the ways of the old people, but which now was Susie’s parlour as if it
never had belonged to anyone else—something of the same sweet calm and
refreshment which the village life and quiet brought to her. Mr. Cattley
knew the village as well as Susie knew the hospital: he wanted something
more to refresh his spirit: and on the eve of going away from Edgeley, and
breaking up all the old habits which had been his life for years, this new
habit and association were more pleasant to him than it was easy to believe
anything could be. He liked to sit and watch her, moving about, or sitting at
work, or perhaps only looking up with a little interchange of simple talk. He
told her when he got more familiar how long he had been here, and how
little inclination he had to go away; and then he told her of his new parish,
and its great unlikeness to this, and how reluctant he was to plunge into it,
feeling as if he were about to plunge into a new world.
‘It will not seem so when you get used to it,’ Susie would say.
‘No, most likely not. It is the getting used to it that is the difficulty,’ he
would reply: and looked at her in an anxious way, as if the sight of her
made a difference. He did not himself understand yet what the difference
was.
When Percy came and found Mr. Cattley there, the new curate made it
apparent in his manner that he thought the old one very much out of place.
He would say,
‘Oh, I thought this was your day for the schools: but, of course, it is not
important to keep that up now you are going away;’ or ‘I thought you said
you would take the almshouses this evening. If I had known you were not
going I should have gone, for the old people don’t like to be disappointed:’
which was half-amusing to Mr. Cattley, but not pleasant, as the pupil’s
attempts to instruct his former master seldom are. But what the old curate
felt most of all was when the young man said to him: ‘I thought you had
some business with Aunt Mary! I know she was looking for you.’
When this was said, Mr. Cattley took up his hat and rose from his chair,
giving Susie a glance which she did not understand—and perhaps neither
did he: and Percy would settle himself in his chair to remain, while Mr.
Cattley went away.
CHAPTER XVII.

JOHN’S RESOLUTION.

John’s feelings as he returned to town were very different indeed from


those with which he had left London. Everything then was enveloped in a
vague pleasure of expectation, a delightful doubt which was not fear. He did
not know what he was to meet, how he was to be received, what changes
had passed upon his old home and surroundings. All that was unascertained,
in every way doubtful, making his heart beat with uncertainty, with
expectation, and a pleasant mist of possibilities. But since then all had
become clear—so clear! dazzling even in the distinctness of the light: and
he himself had been suddenly lifted from youthful obscurity, and
compelled, as he felt, to distinguish himself, to bring out all his powers
without delay, to prove what he was. He was not afraid of this compulsion:
it exhilarated him rather with the delightful consciousness that he was equal
to the undertaking, able for all that was demanded from him; proud and
glad to be forced to the front where he knew he could hold his place. But
still it was a tremendous change—one that subdued him with its greatness
even while it exhilarated and inspired him. Life had altered altogether. It
had become a thing laid down on grand and noble lines, much greater and
firmer than anything he had thought of, yet perhaps, by reason of being no
longer vague, not such an altogether splendid and dazzling possibility. He
saw before him what he was going to do. He was not going to conquer
kingdoms, to deliver princesses, to subdue the nations like an old knight of
romance, which is what in the mists of the morning every ambitious youth
still feels possible, though the nineteenth century makes it expedient for
them to laugh at all such fancies. John too had seen visions in which he
enacted the part of St. George and encountered a modern dragon, with Elly
looking on; and the dream had been sweet.
But he saw things differently now. He was going to slay no dragon.
There was not indeed any monster to slay. What he had to do was to mature
as rapidly as possible his plans, the great scheme which had occupied so
much of his thoughts for months past, which he had been working out on
paper, and building his future upon. It was, after all, the slaying of a dragon
in the only practicable nineteenth century way; and perhaps the mediæval
dragon meant nothing more than a great public danger which the knight-
errant had to face and subdue and kill, or reform into an amiable and
sociable monster, as could be done to the great river, which, a tyrant and
destroyer sometimes, was at others the delight and help of man. All these
ideas passed through his head as the train plunged along, with little
interludes of lover-like dreaming and surprises of softer thoughts. He would
recall to himself Elly on the common, as she looked when she had given
herself to him, and next moment would be running over long lines of
calculations in his mind, calculations made over and over again, which it
was a satisfaction to prove and reprove, lest there should lurk any weak
points in them. How to perfect them in every final detail, to carry them to
the firm, to demonstrate the greatness of the undertaking, the impossibility
of failure—which, indeed, would at once be plain and evident to those
skilled eyes, was to be his occupation now. After that everything would be
plain sailing enough, he felt. He had meant to delay a little, to wait until he
was himself a little more mature. But what did that matter, after all? He was
only all the more adapted to superintend and carry out the work for being so
young as he was. Young as he was he was a fully trained engineer, and
already works of some importance had been committed to his hands. He
was equal to any fatigue and any exertion in the carrying out of this, and
there could be no doubt that he was the only fit person to work his own plan
to completion. As a matter of fact he had no doubt about anything, either in
the plan itself, or his capability of executing it, or its instant and entire
acceptance by those who had so long been looking for something of the
kind.
He had thus so much to think of, that when the quickening of speed, the
suburban stations whirling by, and all the signs which announce a near
arrival at the end of a journey, made it clear that London was at hand, he
was half sorry, and felt that he had not had half time enough for all he had
to think about. He gathered up the two primary subjects of his thoughts as
he did the books and newspapers which he had not read, being concerned
with more pressing matters, and jumped out of the carriage with his bag in
his hand with the sense that he had not a moment to lose. It was a long train,
and there were a great many passengers, porters running about after the
luggage, a crowd of cabs waiting; and in the hurry John strode along,
intending to mount up upon the knife-board of an omnibus which passed
the end of the street in which his lodgings lay. But it was not fated that he
should do this so simply as he intended.
As he made his way through the crowd he met with an unexpected
interruption. Some one called him two or three times in a voice which he
remembered at once as somehow familiar, though he did not understand it
for the moment. It was like a voice in a dream calling to him, though not by
his own name? Was it not his own name? With a slight start he remembered
it and what it meant.
‘Mr. May— John May!’ cried the voice which became breathless with
the hurrying of its owner towards him. John looked round, and saw close to
him a figure which he had not seen for a long time; a tall man, taller than
ever in consequence of his increased leanness and meagreness, with a tall
hat, more shiny than ever by reason of extreme wear and shabbiness, and
the glaze of poverty. John had seen very little of Montressor since the time
when he had first made his acquaintance, on his arrival in town. From time
to time a chance meeting in the streets had made it apparent to him that the
poor actor’s hopes that his affairs would take a turn and that fortune once
more would favour him, were not likely to be realised, as also that there
were agencies at work which were likely to keep him down more than any
spite of fortune. John, in his studious boyhood, keeping himself clear from
all distraction, was not likely to be tolerant of any moral weakness of that
description, and he had avoided the chance acquaintance who had come so
suddenly into his life, but yet had never failed when a meeting occurred to
greet him kindly, and to ask after the child whom he had saved from injury.
Now and then when Montressor’s face looked more gaunt, and his clothes
were more poverty-stricken and his talk more big than usual, John would
send a present to the little girl, which he could see was eagerly accepted.
There were times even when he would meet the poor actor two or three
weeks in succession lingering about the end of the street where his lodgings
were, and John had an understanding that the wolf was at the door, and that
the five shillings he sent to buy little Edie a doll were probably of use for
more serious needs: then perhaps for months or an entire year he would see
the shabby figure in that hat which was always shiny, and the clothes which
were always threadbare, no more.
For one thing, John, in his serious young manhood, had altogether
outgrown the boyish petulance which had induced him to call himself May.
Whatever had been the cause of his mother’s abandonment of that name, he
felt sure it must have been a just cause. He had gradually grown into a
respect which was not either sympathy or filial feeling for his mother and
her decisions, and the hot boyish opposition to all she desired, which once
boiled in his veins, was there no longer. In the gravity of twenty-one, which
felt like ten years more after his studious and serious youth, he was willing
to confess that he had been very foolish at the moment of grief and passion
when he had left home and the tender care of the old grandparents, to enter
upon life. And the sight of Montressor, and his appeal to him by the name
which he had assumed for that moment only, always brought an acute pang
of recollection and shame.
And yet he had never informed the actor that his name for ordinary
purposes was not May. Something withheld him from any such confession
—indeed, for that and other reasons he made his interview with the actor as
brief as possible when he met him, and was glad to buy him off with that
five shillings for Edie, though he had not always been rich enough to spare
it easily. To-day he felt the call after him of ‘Mr. May— John May,’ more
disagreeable than ever. There was no telling who might hear the respectable
John Sandford addressed by that name, and explanations are always
difficult. He turned sharply round upon his doubtful acquaintance, raising
his hand to stop the call.
‘Do you want me?’ he said, in a tone which perhaps was somewhat
sharp, too.
‘Me young friend, I am delighted to see you,’ said Montressor; ‘it is ages
since we have met. Let me help to carry your things, me excellent young
hero—for such ye are ever to me. The chyild is well, and always remembers
her deliverer—in her prayers, me dear May, in her prayers.’
‘Poor little Edie! I am very glad to hear she is well, and I hope you are as
busy as I am,’ said John, with an uneasy smile. ‘I scarcely have a moment I
can well call my own,’ a statement which was largely influenced by his
desire to get away from any prolonged interview now. To tell the truth,
Montressor, gaunt and shabby in his shiny hat, was not the sort of person
with whom a highly respectable young man would care to be seen standing
amid the crowds of a railway station in London, in what was still the full
light of day.
‘Ah, me dear young fellow, ye’ve got a solid occupation by the hand,
thank ye’r stars for it; not a slippery standing upon the slopes of Art; be
thankful for it,’ said Montressor, with the air of consoling one of the inferior
classes for his disadvantages. ‘In me own profession, though ye may mount
up to the skies, ye are likewise exposed to all the tricks of fortune, that jade:
and malice and spite may drive ye down to the depths, where, alas!
Montressor is now.’
‘I am very sorry,’ said John, ‘but you had an engagement?’
‘I had—an engagement: but the conspiracy that’s pursued me from me
youth has once more coiled its meshes about me feet. Ah!’ cried
Montressor, with a sort of hissing through his teeth, ‘if I could but hold the
heads of that hydra in me hands and crush them for ever! But let us not
speak of that,’ he continued, with a fling over his shoulder of some
imaginary burden. ‘Let’s not speak of that: it disturbs the pleasure of this
friendly meeting and does no good, John, when, me dear young friend, it’s a
pleasure beyond telling among all our own troubles to see an example of
success and prosperity in you.’
‘Yes, I have got on very well,’ said John, half mollified, half impatient;
‘but I have a great deal to do. I am rushing home now to see after some
plans.’
‘I’ll walk with you,’ said Montressor, ‘for though I’m not the well-
known man I once was, me young friend, to be seen with Montressor will
do ye no harm.’
‘I’m not going to walk—further than the omnibus.’
‘Then I’ll go as far. It’s not friendship moves me this time, me young
friend, though for friendship to my chyild’s deliverer I’d go further still. I
told ye I knew a man of your name, a poor fellow that got into trouble long
ago. He’s been in seclusion, poor man, for his country’s good, don’t ye
know? Poor devil! and he’s what the French call a good devil, too, poor
wretch—a kyind creature—one that would give ye a share of his last crust
—ay, and do a thing for any man that asked him, without considering if it
was according to the law or not.’
‘That’s awkward,’ said John, ‘a man should draw the line at that. It
doesn’t do to go against the law.’
‘No, it doesn’t do—that’s what it is. The case may be as bad as ye
please, hard or unjust or—— but ye mustn’t go against it. That’s what poor
May can’t be got to see, poor devil: and he is terrible poor, and he’s got no
friends.’
‘I am very sorry, Mr. Montressor: but I don’t see that I can do any good.’
‘No, but being of the same name you might find a way. Me young friend,
t’would be a real charity. For the thing is he has a family, but don’t know
where to find ’em. It’s a pitiful story: and you’re of the same name. Now
give me a little of your attention, me young benefactor, for that ye are and
always have been. It isn’t much that’s in Montressor’s power now. But, look
ye, if I could find this poor devil’s friends and put him in kind hands, I’d be
happy with the sense that I’d done one good action: and, me dear May, oh,
me dear young May——!’
‘What does it matter,’ said John, ‘that I’m of the same name? What can I
do? I could give you a few shillings for him, that’s all I could do.’
‘The shillings,’ said Montressor, ‘are not wanted yet. There’s money
enough as yet. But if his own friends were to take him back he might be
kept from harm, and where he is he’ll be in trouble again before a month’s
out. Me dear friend, among the Mays ye belong to isn’t there one that’s
gone wrong? Isn’t there one that’s disappeared out of ken. Think, me boy,
me dear boy, it’s the saving of a fellow-creature, it’s the delivering of a
soul!’
The actor stood still in the middle of the pavement to say this in his most
impressive tone, and John perforce stood still with him, his bag in his hand,
his coat on his arm, and confusion and annoyance in his face.
‘No,’ he said, ‘I know nobody. I’ve—no relations of that name. Pray let
me go. I’ve a tremendous evening’s work before me. I can’t really, so far as
I’m aware, be of the least use to your friend.’
‘Think it over,’ said Montressor, ‘think it over. Ye’ve too good a heart
not to help if ye can. Think it over, me dear May. I will tell me wife and me
chyild I have seen ye, which is what they always hear with pleasure—with
pleasure,’ he said, with emphasis.
The actor looked very poor, very thin, very bare of everything. His
appearance suddenly struck John as they stood side by side in the crowded
street. The omnibus was already in sight, bearing down upon him with its
freight of men. John was very eager to escape, to get to his own business, to
plunge into the plans which he so confidently expected were to bring him
fame and fortune. But it suddenly occurred to him what a contrast to his
own confident youth was this poor man at the other end of life, who had
made his try and failed: and who out of the depths of his poverty and
downfall, was pleading for another who had failed more bitterly than
himself. The pathos of it struck John in the midst of his impatience to
escape from it, and his natural youthful disinclination to have painful
matters which he had nothing to do with, thrust upon him like this. He hated
it, he was impatient of it, he longed to escape and feel himself in face of his
own success which he held to be so certain; but a certain glistening
wistfulness in the actor’s eye, and his reluctance to be left behind, and the
shabbiness of his garb and aspect altogether, moved John’s heart in spite of
himself. The young man adopted that expedient which is so general, with
which most of us are so willing to buy off distress and free ourselves from
the sight of misery. He took out one of his few sovereings—for though he
was sufficiently well off he did not abound in money—from his waistcoat
pocket.
‘I have not seen Edie for a long time,’ he said, ‘and she must want much
bigger dolls now than the one she used to be so fond of. Will you give her
this for me, and tell her to buy something with it. And I’ll come and see her
soon. Here’s my omnibus. I am sorry I can’t do anything for your friend.
Good-bye.’
‘God bless ye,’ said the actor. ‘Ye’re always the same fine fellow. Edie
will bless ye, me brave boy. But think over the other case that I’ve told ye
of. Think it over, and good-bye, and be sure ye come. We’ll look for ye, and
Edie—— Good-bye. Good-bye!’
John did not care that even the people on the omnibus should see the
shiny hat which was waved to him with so much enthusiasm. But there was
nobody he knew, and presently, as he bowled along, his former thoughts
came back to him and he himself forgot this interruption which was only
momentary. Montressor’s friend, whose name was May, attracted but little
his preoccupied mind. There had, indeed, been a time when it might have
excited him, when he had been so anxious about the mystery of his
childhood that anyone bearing that name would have roused his attention.
But that phase was altogether over. If he ever thought of his boyish visit to
Liverpool, and the mayor whose name was May, and all the anxiety he was
in to affiliate himself somehow, it was with a smile of mingled self-ridicule
and shame. Nothing now could make him anything but John Sandford,
which was as truly his name as any name could be, which he had made
known as that of a young man sure to rise, one who had the ball at his foot
and before whom the way was clear.
He was doomed to interruptions, however, that evening. He had just
settled down to his work after a hearty meal, laying out his papers upon the
table and disposing himself to a last inspection of all his calculations and
diagrams, when his landlady, a woman who had the greatest respect for
John, tapped seriously, with a tap that evidently meant something, at the
door. She came in, when John bade her enter, with a grave face.
‘Mr. Sandford,’ she said, ‘there has been two men here asking for you as
are not your sort at all. One is like a poor gentleman as has got into trouble,
and the other’s no better than a rough off the streets. They’ve been here
twice asking to see you. I don’t know if they’ve anything to do with the
works. Once they was both the worse for liquor. I don’t like to have such
folks seen at my door.’
‘I know nothing about them,’ said John. ‘I certainly expected no such
visitors. Did they say what they wanted?’
‘They wanted the gentleman as lived here. When I asked if it was Mr.
Sandford, the old gentleman, he gave a sort of a cry, but he was that weak
on his legs he could not be very clear in his head, I don’t think: and then
they commenced again, and they said as you’d been kind to them, and they
wanted to see you. And if you’ll peep out of the window behind the curtain
you’ll see them coming along the street. And kind or not kind, Mr. Sandford
(though I know you’re a good-hearted young gentleman), they ain’t the sort
of folks, take my word for it, to be coming to a respectable house.’
John glanced from the window, as he was told: and there he saw
approaching the two men whom he had encountered on the steps of the
office the night before he went to Edgeley—the tramp whom he had already
come in contact with several times before, and the man who had gone to
sleep against the closed door, and whom he had rescued and taken to safe
lodgings for the night. He had forgotten the adventure in the press of other
thoughts, but now it came all fresh to his mind.
‘Oh, these men,’ he said. ‘Yes, I do know them, though I don’t know
who they are. If they want to see me, let them come in, Mrs. Short, for
once.’
‘If I were you, sir, I’d send them half-a-crown, and say as you were too
busy, and better they should come no more.’
‘Well, I am very busy,’ said John. He hesitated for a moment, looking at
his papers, thinking the half-crown would be well expended: and then
another sentiment moved him which he could not explain to himself, a
curiosity, a melting of the heart. Here was some other direful failure; a crash
still worse than Montressor’s and Montressor’s friend—while he, John
Sandford, was so strong in youthful success. ‘No,’ he said, ‘poor souls, I’ll
see them. Let them come in, this once.’
CHAPTER XVIII.

A PHILOSOPHER.

The two men came in, the first with a somewhat downcast shamefaced air,
the other with the impassiveness of the man who cannot be less thought of
than he is, and who has neither pretensions nor hopes; yet it was Joe who
was the first, and who encouraged his apparently uncongenial companion to
enter.
‘Don’t you funk it,’ said Joe, ‘if any one’ll help you, he’ll do it. This
gentleman,’ he added, addressing John, who was looking at them across the
table covered by his papers, with a slightly impatient look, ‘is my mate, sir,
as I told you on; him as you was so kind to, t’other night. He wanted for to
thank you for all your kindness: and there’s—there’s another thing or two
——’
‘I suppose he can tell me himself what he wants,’ said John.
The other man stood crushing his hat between his hands, looking at John
with deprecating eyes, in which there lurked a smile, as though he was
conscious how ludicrous it was that he should be thus introduced under the
patronage of this strange companion. He said now,
‘That might be a little hard. But I can at least thank you, sir, for the
kindness of the other night.’
‘It was nothing,’ said John, confusedly. ‘Won’t you sit down? It was very
surprising to see a—a person like you——’
‘In such circumstances and such company, you would say? For the
circumstances—yes; but, for the company, it’s the best this world can give
any man, the company of a faithful friend. Joe’s not very polished, and if
he’s clever it’s perhaps not in a laudable way: but he’s faithful. I believe
he’ll never forsake me, sir. He’s as faithful as if I were a prince and he a
knight. A poor pair of nobilities we’d make. You needn’t say so. I can see it
in your eyes.’
‘I hope he is as faithful as you think,’ said John, ‘but——’
‘But me no buts,’ said the stranger, ‘if I give up Joe, I give up
everything. I have nothing but Joe to trust to. Oh, yes, he’s faithful: for if he
weren’t I should sink into ruin altogether. Don’t say anything against him—
he’s all I have.’
The speaker gave John a look—which he thought more pathetic than
anything he had ever seen, and which went at once to his heart—a look
which betrayed a knowledge of Joe and of all that was in John’s mind
concerning him, and of the unstable foundation on which his confidence
reposed. The pathos and the wistfulness and the humour that were in it
betrayed to John’s mind the existence of a sort of passionless self-conscious
despairing, such as he had never glimpsed at before, or believed in the
possibility of. Joe was this poor wretch’s only prop, but in his heart he knew
Joe better than anyone else, and was half-amused in the depths of his
desolation that he himself should still be capable of this human clinging to
the only being who stood by him. This was what his eyes said to John’s.
Joe’s faithfulness was a sort of woeful jest to him, yet his poor sheet-
anchor, too.
‘Have you no relations?’ John said; he could not tell why, for what right
had he to question this unfortunate man?
‘Relations,’ said the other, ‘are not fond of a man in my circumstances.
You know where I’ve come from, I believe, sir, and what I am. May I ask
you what made you so kind to me—the other night?’
John looked at Joe, who stood behind looking on, his eyes prowling
round in a sort of hungry investigation. The other had drawn a chair to the
table, and seated himself, but Joe stood looking about him, like a predatory
animal examining if perhaps there might be something to devour.
‘Would your friend mind,’ said John, ‘if I were to ask him to step into the
hall?’
The stranger gave a keen glance towards the door.
‘If there is nothing of value there,’ he said, quickly; then, with a change
of his tone, ‘Joe, my good fellow, take a little walk outside. I seem to want
to have a sentinel or I can’t rest. Just go and walk about a bit outside.’
Joe gave another predatory glance around, and then with a nod of his
head withdrew.
‘I’ll come back,’ he said, ‘in ’alf an ’our. If I walks about, some bobby or
other will be after me. They don’t never let a poor fellow alone.’
The stranger gave John one of his humorous looks.
‘Such is the effect of prejudice,’ he said.
It was impossible that any position could be more strange. This unknown
criminal, this discharged convict, of whom all that John knew was that he
was a convict, and had no friend but Joe, seated himself opposite to the
young man familiarly at John’s own table, with a twinkle in his eye and a
grotesque sense of all that was ludicrous in his own circumstances which
was entirely bewildering to a young man not used to mental phenomena of
any kind. The man was dressed in clothes of an old-fashioned cut (most
likely such as had been quite fashionable and appropriate, John thought, in
the days when he was shut up in prison), but still perfectly correct and
respectable, and there was in his aspect nothing of that unfamiliarity with
comfort and decency which was evident in his companion. This person
drew in his chair to John’s table with the ease and freedom of one to whom
a tidy bourgeois parlour was usual and natural. Perhaps he might have been
accustomed to better places—certainly not to worse. How the episode of the
prison had affected him, John wondered vaguely, but at all events there was
nothing visible of that association. He was able to make a good-humoured
joke of it—a joke which concealed, was it philosophy, was it despair? He
settled into seriousness, however, as the door closed upon Joe, though the
smile was never far from his eyes—and repeated, with a slight curiosity,
‘You were very kind—that night. To find myself in a decent house, in a
soft bed, was wonderful. I couldn’t help wondering why you should take
such an interest in me.’
The eyes which were so expressive gave a wistful, almost imploring
look in John’s face, as if the man had some suspicion, or rather hope, that
John’s motive was other than that of mere charity. The young man was
bewildered by this look, and by a something, he could not tell what, that
was sympathetic and familiar in the air of the stranger. Sympathetic! and he
was one of the criminal class, a returned convict! John’s mind was full of
confusion, perplexed beyond measure by the influence which he felt to
affect him in spite of himself. But, though he was angry with himself for
yielding to it, he could not resist his strange companion’s eyes.
‘It does not seem becoming in me, at my age, to speak so to a man of
yours,’ he said. ‘But when I saw you, helpless, with no one but that—
ruffian——’
The twinkle lit up again in the eyes of the other; he put up his hand in
deprecation.
‘Be gentle,’ he said, ‘with poor Joe.’
How was it possible to maintain the air of a virtuous superior with this
smiling criminal? John was more and more abashed and embarrassed.
‘I thought,’ he said, ‘that if you had time to look out—for your real
friends——’
‘It was simple charity, then?’ said the man, with a faint sigh: and then he
smiled again. ‘At least it was a kind thought. You wanted to deliver me
from the evil connections into which you thought I had fallen, in coming
out, for lack of better. It was a very kind thought.’
John felt himself draw a long breath, almost a gasp of astonishment and
relief and utter confusion of mind. He had felt himself the benefactor, doing
indeed a very kind action, something that perhaps not many men would
have done: and he was altogether taken aback by this generous appreciation
of his good motive.
‘You were right enough,’ said the other, ‘quite right if I had been a more
hopeful subject. But you’re too young to know all the ins and the outs of it.
I have no real friends. Joe may, or may not, be faithful, poor fellow, but he’s
the only human creature who sticks to me, and I am used to him. It was a
kind thought on your part, but one that couldn’t come to anything. I
partially divined it, so I left the place. I could not enjoy the clean sheets and
the tidy room under false pretences; no less thanks to you, my young
friend.’
‘But——’ said John, ‘you are not surely going to let yourself sink? you,
a man evidently of education, of sense, of understanding——’
‘Sink—to what? Can one sink any deeper? I had all these things when I
went—wrong, as people say. If they did not prevent me then, how do you
think they are going to stop me now?’
John could do nothing but gasp and draw his breath, and stare at this
calm statement. The speaker, after a moment’s pause, looked at him closely,
and said,
‘You knew nothing at all about me then, what I had done or where I had
been?’
‘How should I?’ said John.
The other laughed a little.
‘How should you indeed? but I had a kind of a hope you might. You
don’t even know what I did to get myself into such a scrape? It was nothing
brutal like poor Joe’s.’
‘I wish,’ said John, ‘you would not tell me any more: if I can help you to
work to keep out of the mire, I will do it; but if it is only how you fell in to
it, why should I know? I don’t want to know.’
‘Why, indeed?’ echoed the stranger, ‘and yet one has a sort of desire to
tell. After all, you know, after thinking it over in every possible light for
fourteen years, I cannot see the absolute sin there is in writing another
man’s name. On the face of it, it’s no great thing—not so much as telling a
lie, which anybody does without thinking. It’s only a more formal sort of a
lie. Offences against the person are evident crimes; to injure another man, to
put him in danger of his life, to give him pain, that I can understand; or to
rob him of what is perhaps his children’s bread. But to write his name
instead of your own! I have had a great deal of time to think of it. I cannot
see, after all, the criminality of that.’
‘It’s one of the worst of crimes,’ said John, ‘it strikes at the root of
everything. Why, forgery——’
‘Yes, give a dog an ill name,’ said the other dispassionate thinker, ‘call it
forgery, and it becomes a bogey and frightens everybody. And yet, after all,
apart from the motive, it’s the simplest action. Then there’s the other thing,
drink—which is so often the first step (I hope you have no leanings that
way, though I seem to excuse it—for, right or wrong, it’s ruin)—well,
there’s no sin, you know, in that. Wine’s not vice, nor even whisky. No one
will tell me that to take two, three, or indeed any number of glasses of
anything is vice.’
‘Excess is vice,’ cried John. He felt himself redden with indignant
fervour. The idea that any man could sit by him calmly and look him in the
face and defend the indefensible—take up the cause of vice and criminality:
he could not believe his ears. The criminal generally (so far as he was
aware, especially the drunkard, of which kind the young man had seen in
the way of his work some fine examples) is too apt to be unctuous in his
repentance and quite uncompromising in his denunciation of his vice. To
hear a man in this calm and apparently reasonable way discuss it as an open
question was entirely new to him.
‘Excess is—excess,’ said this philosopher, ‘very bad for you, in whatever
way you consider it; for the stomach and the constitution, also for your
prospects in life, to which it is destruction;—that’s indisputable. But how
far you can be said to break the moral law— To be sure you may take
higher ground or lower ground. You may say that whatever obscures your
brain and makes you incapable of reflection and thought, which is the
spiritual side of the question; or, on the other hand, whatever visibly
interferes with your comfort and destroys your career— But that last is
mercenary,’ he added, with a wave of his hand, ‘and things that are
mercenary and based on self-interest belong to a lower class of motives
altogether; not what we were discussing at all.’
‘There is nothing to discuss that I can see,’ cried John. ‘All that you say
is a mere confusion of plain right and wrong. To forge another man’s name
is to sin against your neighbour; and drink is a sin against—yourself, and
everything that’s sane and rational. You own yourself it’s ruin; and it’s
degradation and misery and everything that’s dreadful. I have seen it among
the men——’
‘I never said anything about the penalties,’ said the other, waving his
hand again. ‘They’re innumerable: but they’re irrelevant. The penalties are
enormous. Drinking is not in the decalogue at all, you’ll acknowledge that.
But if you consider consequences (which, however, I protest are irrelevant),
there’s nothing, not even murder, that is punished so. It makes a wreck of
everything—a young fellow’s looks, and his health, and all he stands upon.
He pays for his glass with everything he has in the world. You may even
steal without being caught for years: but if you drink you lose everything:
there’s no escape for you and no hope. All that is true. Still it isn’t the sin
that lying is, or cheating, or bearing false witness. These things are all in the
commandments, but not drinking. So far as I can see, and I have had a great
deal of time to think, we’re paid out for that in the present world. It’s not
left over like the rest for—the other place, sir, the other place.’
‘If you’d seen what I’ve seen,’ cried John, with honest, youthful fervour;
‘the harm it has done—oh, not to the brute himself, I don’t care a farthing
for that! but to the helpless wife and children,—you would know better than
to hesitate for a moment as to whether drinking is a sin.’
‘If I’d seen what he’s seen!’ cried his strange companion, with that
wonderful twinkle in his eye. The humour in it was tinged with the
profoundest tragedy, though John, in his indignation, failed to see it. He
began to laugh low to himself with a curious quiver of sound in his throat.
‘I’ve done more than see it. I’ve done it,’ he said: ‘broken the hearts of
everybody I cared for in the world. You don’t know what I am. I am a man
that have had a wife and children, and perhaps have still, for aught I know. I
made them pay for my whisky, God knows I did: and myself, too—but
that’s neither here nor there. As for the brute himself, as you say, who cares
a farthing for him? I took it out of them and made them pay for it. But now
they’ve shaken me off, glad perhaps to get shut of me. And if they’re living
or dead I don’t know, and where they are I don’t know. That’s one of the
penalties. I should know all about that, if any one does: I’m no neophyte—
I’m a man well instructed. But all these are consequences,’ he added,
slowly. ‘They’re irrelevant. They don’t touch the principle. What you say
I’ve gone over a thousand times. It’s juvenile, it’s elementary: it doesn’t
touch the question at all: on which he thinks, bless us all—though he’s
scarcely out of swaddling clothes—that he knows more than I!’
John was daunted, and he was impressed by the terrible story thus lightly
glanced at. He did not know what to say. What he faltered forth at last was
the question of a child in the midst of an exciting story.
‘And don’t you know where they are? and can’t you seek them out?’
If the stranger’s feelings had been affected before, he seemed to have got
the better of his emotion now.
‘Do you remember,’ he said, ‘in the Sermon on the Mount, how the
unkind children say it is Corban, a gift, and so get rid of the old people?
That’s how they’ve done with me. It is Corban, a gift. I’m not penniless,
though I’m friendless. There was a sum of money waiting for me when I
came out: and that was all.’
‘But you could inquire; you could search for them: you could——’
John felt his sense of right and wrong confused by this narrative.
Suspicion, offence, indignation, righteous anger at all these sophistries had
succeeded each other in his mind. Now there came over him a great wave of
pity. In every such story he had ever heard of (he did not realise that he had
never heard such a story at first hand) there had always been some devoted
wife or sister or child waiting to receive the miserable offender, some
sorrowful home ready to take him in. That was always the most pathetic
situation, the saddest picture. But the dead blank of this—a sum of money
waiting for the unhappy man and no more, no one to take him by the hand
or give him hope, was tragedy indeed. It made his heart sick, and filled him
with a confused relenting and compunction and eagerness to do something
—to help, where no help was.
‘Why should I?’ said the man, with his strange smile. ‘I daresay she has
brought them up very creditably, poor children. I should like to know
something about my little boy: but it would be no advantage to him, would
it, to find his long-lost father in me? No, I’ve got below that, or above it, if
you please. I content myself with Joe—poor Joe,’ here he broke into a
tremulous laugh, ‘whose truth you don’t believe in, but who’s always been
faithful, after his sort, to me.’
John was greatly moved, more moved than he could have thought was
possible out of mere sympathy and pity.
‘Oh,’ he cried, ‘don’t content yourself with Joe. I’ve no right to give you
my advice, but since you’ve come to me and told me all this— When I took
you to those lodgings that night, it was because I wanted to try to get you to
think—to get free of such company. Don’t be content with Joe; you will
only fall into—you will only be led into——’
‘Drink,’ said the other. ‘Very likely: and that’s all right. I should have
been dead long ago if I hadn’t been kept from it by force for years. Now
I’m old, comparatively, as the newspapers say. And it will make short work.
All the better. That’s the only thing I’m good for now.’
‘Don’t say that,’ said John, with moisture in the corners of his eyes. ‘You
are not an old man yet. Do something better than that. Work at something.
I’ll help you if I can—I’ll——’ He paused, for this was a tremendous thing
to say, and such a risk to run as took away the breath of a young man so
absorbed in his own pursuits and determined on succeeding. He paused, and
the flush of a sudden struggle came all over him, a rush of blood to his
brain, a conflict of thoughts which filled his head and his ears with a
clamour as of armies meeting, and then he continued, with a vehemence
which was not in his ordinary nature, a burst of generous youthful impulse
unlike the ordinary wisdom and self-restraint of his sober youth, ‘I’ll be a
friend to you instead of Joe!’
The convict—for he was a convict, however he might explain his
offences away—gave John a smile which was like sunshine, and lit up all
his face. But then he shook his head.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookbell.com

You might also like