Steve Strutt
ibm.com/redbooks
Redpaper
International Technical Support Organization An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center July 2005
Note: Before using this information and the product it supports, read the information in Notices on page v.
First Edition (July 2005) This edition applies to Version 3, Release 1 of IBM Tivoli Provisioning Manager (product number 5724-I15), Version 2 of IBM TotalStorage Productivity Center with Advanced Provisioning (product number 5608-UC0), and Version 2, Release 2 Modification level 1 of IBM TotalStorage SAN File System (product number 5765-FS2).
Copyright International Business Machines Corporation 2005. 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
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .v Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Chapter 1. An introduction to storage provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Problems caused by human error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Storage provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Automating complex tasks with Tivoli Provisioning Manager . . . . . . . . . . . . . . . . . 1.2.2 Tivoli Provisioning Manager and TotalStorage Productivity Center . . . . . . . . . . . . 1 2 2 4 5
Chapter 2. Tivoli Provisioning Manager support for storage provisioning . . . . . . . . . . 7 2.1 Data center model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Logical operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 Storage templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.3 Administrative interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Representing the storage environment on TPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1 Representing Storage Managers in TPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.2 Representing SAN Fabrics in TPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.3 Representing Storage subsystems in TPM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Specifying a servers storage needs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3.1 Volume Container Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.2 Logical Volume Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3.3 Disk Partition Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.4 File System Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.5 File system mount settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.6 Physical Volume Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3.7 Multipath settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.4 Storage Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4.1 Storage Manager operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.4.2 SAN Fabric operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.4.3 Storage Pool operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.4.4 Storage Subsystem operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.4.5 Operating system operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.6 End-to-end storage provisioning operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Chapter 3. Provisioning Storage with Tivoli Provisioning Manager. . . . . . . . . . . . . . . 3.1 Storage visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Performing storage operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Add Storage To Host operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Add Storage Volume To Host operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Implicit execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Creating storage templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Controlling user access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 4. TotalStorage Productivity Center with Advanced Provisioning . . . . . . . . . 4.1 Value of TotalStorage Productivity Center with TPM . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 TotalStorage Productivity Center logical operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Storage configuration discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Tracking environment changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 42 43 44 45 46 47 55 57 58 58 59 60
iii
Chapter 5. A storage provisioning solution for SAN File System . . . . . . . . . . . . . . . . 5.1 An on demand storage environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 The SAN File System solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 SAN File System physical environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Storage usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Storage provisioning to simplify volume management . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 SAN File System automation tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Modelling of SAN File System in TPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61 62 63 63 64 65 66 67
iv
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
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.
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both:
AIX BladeCenter Enterprise Storage Server Eserver Eserver HACMP ibm.com IBM Redbooks (logo) Redbooks Tivoli TotalStorage
The following terms are trademarks of other companies: 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. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, Intel Inside (logos), MMX, and Pentium are trademarks of Intel Corporation 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 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.
vi
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Chapter 1.
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
SAN SAN
The following list gives more details on the tasks that a storage administrator might have to perform to add additional storage: Add a volume (storage subsystem). Select storage subsystem. Select or create new volume. Select host HBA ports (WWNs). Select subsystem controller ports (WWNs). Map volume to controller ports. Map volume to host HBA ports. Determine if multiple paths are required. Create or update zones. Get active zone set. Add zone to zone set. Activate zone set.
Set up replication (if necessary). Map the HBA LUNs to the operating system and file system. Update volume group and file system (host server). Add physical volume to volume group. Add physical volume to logical volume. Create or extend file system. Extend application to use additional space. Reconfigure backup. As well as the task itself, input values are needed, which require a detailed knowledge of the storage environment, such as the WWNs of HBAs in the hosts and subsystems, existing zones, etc. Reference to additional tools or documentation detailing the last known
Chapter 1. An introduction to storage provisioning
configuration of the environment might be necessary to determine these values. Best practice rules for maintaining the environment must be applied consistently; this is complex and requires a significant amount of skill to ensure any documentation of the environment is kept up to date. On the positive side, each of these tasks is well defined and usually can be quite simply automated through scripting. However, scripting the end-to-end operation is barely feasible due to the number of input values and the number of tasks. Also, the script would be host, switch, and subsystem specific, requiring rewrites if changes occur in the environment, and also requiring different scripts for each variation. A solution to this problem is to automate the process using workflow automation.
Attach Storage
Configure Networking
Server Provisioning
Management Applications Virtualization Storage Devices Fabric Security Management Applications Security Virtualization
Fabric / Network
Storage Provisioning
Network Provisioning
This ability to perform and coordinate provisioning tasks across a range of components and management disciplines makes TPM an ideal automation tool for performing file system and volume management tasks and for the provisioning of SAN attached storage in general. A clear benefit of using TPM to provision storage is that these tasks can be incorporated into the wider server and application provisioning scenarios, significantly reducing the time and administrative effort in delivering new applications and servers. TPMs storage provisioning capabilities utilize its workflow engine to automate and manage the tasks associated with configuring storage. Provisioning of Network File System (NFS),
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
direct attached, and SAN attached storage is supported, along with management of volume managers and file systems.
Device interfaces
Platform support
a. IT Infrastructure Library: A process-based methodology that is used by IT departments to ensure that they can deliver IT services to end users in a controlled and disciplined way. b. Release Management: The process of managing the rollout of new applications, servers, and infrastructure. c. Availability Management: Includes planning, implementation, management, and optimization of IT services so that they can be used where and when the business requires. d. Ensures that sufficient IT infrastructure resources are available cost-effectively when needed.
TPM and TPC are targeted at different user groups within the data center. TPMs audience is IT infrastructure and server administrators who need to manage the roll-out of new applications, servers, and infrastructure. TPC is aimed at storage administrators who manage storage capacity. In their own areas they deliver best-of-breed functionality, integrating into a single solution that addresses a broad range of management requirements while retaining their own unique differentiating features. TPM is a comprehensive storage provisioning solution, providing the infrastructure and facilities to provision storage capacity. However, its out-of-the-box device and platform support is limited in comparison with TPC. TPC extends TPMs storage provisioning capabilities to provide broad standards-based device support, with a richer set of device
management capabilities and with the potential to make intelligent choices based on other metrics such as subsystem and fabric performance. These differences become more significant with the introduction of new storage arrays such as the IBM TotalStorage DS6000 and DS8000, where there is much greater choice over volume selection criteria, including RAID array sizes, underlying disk volume sizes, etc. Later in this paper the use of TPC to enhance the basic device management capabilities of TPM is looked at in more detail.
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Chapter 2.
This figure shows the physical connections from a number of storage hosts via a Cisco 9509 switch to an IBM TotalStorage SAN Volume Controller (SVC). The model is a direct representation of the physical environment, which is kept in synchronization with the real environment. Some benefits of this approach are that it allows TPM to track the usage state of resources and determine whether resources are reserved to meet future requirements or currently available for use. It also allows the logical grouping of resources together into pools, enabling automation to select the most appropriate resource to fulfil a requirement. In a later section we show how TPC can be used to automatically populate the TPM model with storage information.
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Storage environment
File system, Volume Manager
SAN SAN
SAN Fabric
The storage pool logical device is a grouping of storage subsystem volumes from one or more subsystems. Rather than directing an operation to get a new storage volume at a single specific subsystem, the operation can be performed against a pool of pre-existing storage volumes from multiple subsystems. The use of pools also enables the concept of tiered storage to be modelled in TPM. The next section looks at how TPM uses these logical devices to manage real devices.
Logical devices provide abstraction from physical devices - Storage Subsystem Logical Devices
Devices
Logical Operations are actions that can be executed on the logical device - Create Storage Volume - Remove Storage Volume Workflows deliver sequential transitions Transitions can be Java plugins, other workflows, simple commands etc.. Transitions
Workflow Simple Command
Logical Operations
Device Driver A device, represented by a logical device in the DCM is associated with a Device Driver to provide a set of capabilities
Workflows A package of workflows to implement Logical Operations for a device is a Device Driver - e.g. ESS Device Driver
Java Plugin
Associated with TPMs representation of a physical device or resource in the DCM as a logical device is a Device Driver (also called a TPM automation package), which enables TPM to perform device-specific actions against the real device or resource. As in the figure, operations against an ESS storage subsystem represented as a logical device would execute ESS-specific workflows from the ESS Device Driver. The workflows themselves are comprised of transitions or steps. These can be other workflows, simple commands issued to a device, or a Java plug-in to call a device API. Figure 2-4 on page 11 represents how an LDO could be implemented and the flow.
10
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Device Driver
Java PlugIn
Simple Command
Workflow
Transition
Transition
Java PlugIn
Data Centre
Simple Command
A combination of the operation being executed and the Device Driver associated with the logical device determines which device-specific workflow will be called to perform the operation. This then unfolds into transition steps. Conditional branching can occur depending on input parameters or information retrieved from the DCM about the environment. Actions on the physical devices are performed through Java plug-ins, which act on device APIs or simple commands executed on a host or a device using Telnet or SSH1. Interaction with devices is only handled through the device-specific workflows in the Device Driver or automation packages, which must be implemented for each specific device or OS platform that requires configuration in the storage environment. Interaction with a device is via any of the external interfaces it supports, such as an API or command line interface. At the host server, the Storage Manager LDOs provide support for configuration of the storage via volume managers and file systems. On the storage network, SAN Fabric LDOs manage the zone configuration to ensure secure access between the host and storage subsystem. At the subsystem, Storage Subsystem LDOs create new volumes and configure LUN masking to provide secure data access to storage volumes. Figure 2-5 on page 12 illustrates the implementation of the storage device drivers using command line interfaces.
SSH: Secure Shell, provides secure encrypted communications between two untrusted hosts over an insecure network
11
TPM Server
Device Drivers Workflows
Simple Command
SAN SAN
Changes made to the physical environment by the operations, such as the mapping of storage volumes to hosts, are reflected in the DCM to ensure that the DCM is an accurate representation of the physical environment for input to future operations.
12
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Storage Template
Logical Operation
Environment information
SAN SAN
Physical Environment
Policy information from the storage template and environment information from the DCM is provided as input to operations. As changes are made to the physical environment, the environment model is updated by the operation to reflect the new state. Storage templates provide input parameters for all aspects of configuring storage for a host server. These extend from the file system type and mount point, through to the volume size on the subsystem and the adapter ports on the subsystem, through which a volume is accessible. Templates can specify input parameters down to the last detail, such as volume names and zone names, or it can be used to provide a template for a workflow to use as a starting point, combining it with information retrieved from the DCM about the devices being configured.
13
The TPM inventory view is selected in the left hand pane, using the View tab. This gives access to the inventory of all the devices represented in TPM. When a device is selected it is shown in the right-hand pane, in a number of formats. For storage there are two representations of the storage environment. The previous figure shows a detailed view, where all the device components are displayed along with detailed configuration information. Alternatively, there is a topology view or icon view, which shows the physical and logical associations between components. Figure 2-8 on page 15 shows the storage icon view for the same host server and its storage components, while Figure 2-1 on page 8 is an icon view of the SAN topology.
14
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
When using TPM, there are two ways of initiating storage provisioning actions. Actions can be initiated manually via the administrative interface by users, or initiated automatically as steps in server or application provisioning workflows. Individual granular provisioning steps or more complex end-to-end tasks can be initiated. Individual actions, such as masking a volume to a host, can be invoked from the inventory views of each device, or end-to-end storage provisioning actions can be initiated from the server inventory view, as shown in Figure 2-9.
From a servers Edit menu tab, several storage provisioning actions can be initiated, as well as server provisioning tasks. These perform end-to-end provisioning tasks of adding and
Chapter 2. Tivoli Provisioning Manager support for storage provisioning
15
removing storage to and from a host. The Add Storage Volume to Host performs all the tasks to make the volume visible at a host: Select a volume, mask it to a host, configure SAN zoning, and OS configuration. The Add Storage to Host extends this to configure volume managers and file systems to make the storage usable at the host without human intervention. The Remove Storage/Storage Volume tasks deconfigure the file systems and volume managers, and remove the storage. These end-to-end tasks are discussed in more detail later in the paper. Other storage provisioning tasks can be performed from the inventory views of servers, volumes, SAN fabrics, volume groups, and file systems.
TPM Object
S1
VC1
VC2
Storage Manager
SAN Fabric
SV3
SV2
SV1
SV4
Storage Volumes
The storage model is used to represent the current state of the real data center environment within TPM. TPM can use this information directly without having to query the environment 16
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
every time to understand what resources are available and the connectivity between components. As TPM operations make changes to the physical storage configuration and the use state of volumes (available, reserved, in-use), TPM updates its model to reflect the latest configuration. This saves TPM from having to query the environment each time it performs an operation. The storage devices defined to TPM are accessible via the TPM inventory view, under the Storage heading, as shown in Figure 2-11.
This TPM inventory view in the above figure shows the expanded Storage heading, showing the four storage logical device types in the left-hand window pane, with the Storage Subsystems inventory view selected. To display the relevant devices defined to TPM, select the entry in the inventory view. This view also shows a fifth storage construct, Storage Templates, from where the inventory of Storage Templates can be listed. We will now look at each of the four logical devices in detail.
17
TPM Object
S1 VC1 S3 S2
Storage Manager
FS2 LV2 PV3 PV2
The Storage Manager represents both the file system manager and volume manager components on a host (these are not represented separately in TPM). Within the Storage Manager are defined the TPM Volume Containers; in a file system such as JFS on AIX, these are the Volume Groups. Within the Volume Container, the Physical Volumes are defined into that container (group) and the Logical Volumes built from the Physical Volumes using the volume manager software. Then the file systems are layered on top of the Logical Volumes by the file system software. The model also includes the concept of Access Servers. These allow TPM to represent other servers, which might also be configured for access to the same file system, and logical and physical volumes. This would be the case with clustered file systems or a file system configured for failover with MSCS on Windows or HACMP on AIX. Figure 2-13 shows the TPM inventory view of all the Storage Managers defined for servers managed by TPM. There is one entry here for each host with a volume manager/file system managed by TPM.
The figure shows the volume group defined for this server, vg1. The name used for the Storage Manager definition on a server is the same for each host with the same type of file 18
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
system and volume manager, for example, AIX_LVM for all AIX hosts. This facilitates the use of Storage Templates to provide policy-based provisioning. When provisioning actions are performed, the Storage Manager name is used to select only the templates that are appropriate to a host and specify the same Storage Manager. Figure 2-14 shows the corresponding host view of a Storage Manager for host ibmp660-1.
Selecting a Storage Manager shows the volume containers (volume groups) defined under it, as in Figure 2-15.
19
Under each Storage Manager is the list of Volume Containers (Volume Groups) that are managed by TPM. Drilling down into a Volume Container shows the Logical and Physical Volumes, and File Systems on the host server managed in this volume container. An example is shown in Figure 2-16.
The Logical Volumes represented here are created by TPM logical operations against the Volume Manager on a host. Physical Volumes are created on a host when a storage volume is masked from the storage subsystem to the host server and the OS device mapping has been completed. The Physical Volume must be associated with a Volume Container before it is shown by TPM in the Volume Container (volume group), as in Figure 2-26 on page 27.
20
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
SV3
SV2
SV1
Storage Subsystem
The figure shows all the elements of TPMs SAN Fabric model with a single SAN containing two fabrics. The server and storage subsystem have ports connected to both fabrics in a dual path configuration.
Servers
Host Bus Adapters (HBAs) in a server are modelled as interface cards, with a number of ports. Figure 2-18 on page 22 is an example of the TPM representation of a host with one HBA with two ports. On a port, the WWN of the port is defined, along with its physical connection to a switch and any zones that the port is defined in. The information recorded about host SAN connectivity is essential for automatically performing SAN zoning operations, as it enables the SAN Fabrics the host is connected to, to be determined. Furthermore, it determines the SAN Fabrics at which zoning operations need to be directed for this host.
21
Storage subsystems
SAN connectivity for storage subsystems is represented similarly to host servers with interface cards and ports. Figure 2-19 on page 23 shows an SVC with four HBAs connected to two Cisco 9509 switches.
22
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Switches
To support modelling of different types of SAN switches, a switch contains a number of interface cards, with each card containing a number of ports. This enables TPM to model both switches with a fixed number of ports (single card), as well as director class switches, which have a number of card bays containing cards with varying numbers of ports. Figure 2-20 shows a typical SAN fabric defined in TPM. The core of this fabric is a Cisco 9509 director, with a Cisco 9140 edge switch.
The left-hand pane shows that two fabrics were defined: Fabric1 and Fabric2. These represent the two fabrics that provide a fully redundant dual path configuration for disk access.
Chapter 2. Tivoli Provisioning Manager support for storage provisioning
23
In the properties for Fabric1, the World Wide Name field is used by TPM to identify the principal switch in the fabric through which it will perform zoning operations. The same WWN must also be defined on the principal switch. This name is largely symbolic within TPMit is only used to locate the principal switch in the fabric through which zoning operations are performed, and does not have to be the real fabric WWN. A detailed view of a switch is shown in Figure 2-21its World Wide Name attribute being the same as for the SAN fabric.
Back in Figure 2-20 on page 23, Active Zone Set is the name of the Active Zone Set in this fabric. With the TPM workflows for switch management from the Orchestration and Provisioning Automation Library (OPAL2), this is the Zone Set against which zoning actions are performed. When using TPC for switch management, TPC can automatically determine and update the currently active zoneset.
24
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
The icon view is currently in effect, as this menu item is grayed out on the View tab. This shows all the hosts and storage devices connect to the switch 9509-1.
Storage On Port
SV3 Pool 1 SV2 SV1 Pool 2 Pool 3 SV5 SV6 SV7 SV4 SV4
Storage Volumes
Storage Subsystems
Storage Subsystems are modelled similarly to servers with interface cards and ports defining the HBAs on the subsystem. An example is shown in Figure 2-24 on page 26.
25
The volumes created on the subsystem are shown. Within TPM these are known as Storage Volumes. When a volume is mapped to a host port, this association is represented in the Fibre Channel Port field. Some array types require that storage volumes are mapped to specific adapters on the subsystem for access by host servers. This mapping is known as the Fibre Adapter Port mapping (sometimes abbreviated to FA Port in TPM). The TPM terminology for this is Storage On Port and is used to support arrays that map volumes to specific subsystem adapters (for example, EMC and HP arrays). During workflow execution, this mapping can be used to determine which subsystem adapter should be zoned to a host to give it access to a storage volume. This mapping is also represented in this view by an entry in the Fibre Channel Port field. This is not shown in the figure, as the array represented does not require it. In the figure, there is a field for the ANSI T10 ID. This can be used to uniquely identify a storage subsystem. T10 is the definition of the SCSI standard by the America National Standards Institute (ANSI) and is the serial number of the storage subsystem. Specification of this is not required in TPM.
Storage Pools
Storage Pools are used to group volumes of a similar type, that is, all RAID5 volumes, or all RAID1 volumes or pools of tiered storage. The use of pools makes it easier to select volumes of a particular type without having to specify all the detailed parameters such as RAID level or volume type. Another use for storage pools is to implement the concept of volume reservation. When there is a known future requirement for significant quantities of storage, the volumes could be temporarily allocated to a reservation pool or pools until they are required. When a volume is created in TPM on the storage subsystem, it can also be assigned to a storage pool. Alternatively, if volumes on the storage subsystem are pre-created outside of TPM, they can be defined into the pools to make volume selection a simpler task in a workflow.
26
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Storage Pools in TPM can also be referred to as Storage Allocation Pools. Similarly, the volumes within a pool are sometimes referred to as Storage Allocation Pool Elements (SAPEs). The TPM Storage Pool inventory list is shown in Figure 2-25. In this example the pool names used are the SVC managed disk group names. The naming convention includes the RAID level and the volume size of the managed disks.
Figure 2-26 shows a list of volumes in Storage Pool F1_36_R5. A volumes capabilities are also shown, indicating RAID level and the subsystem it exists in. The State/Assignment field indicates if a volume is Available for use, In Use (mapped to a host), Assigned (LUN masked to a host, but not yet mapped), Reserved (being used by an executing workflow), or Unknown. The use of volume states helps to determine the availability of volumes to satisfy requests for additional volumes.
The pool name reflects the type of disk storage in the pool; as this is a pool of SVC volumes, the name reflects that the backing storage is 36-GB volumes in a RAID 5 configuration.
27
Within a storage template TPM implements settings for: Volume Containers (Volume Group) Physical Volumes Disk Partitions Logical Volumes File Systems File System Mount Points Data Paths Multipath Software The settings are used as input to the Logical Device Operations and the workflows that implement them. Though the settings define values, the workflow implementations are free to use the values passed, modify them, or determine their own based on best practices coded into the workflows. A typical usage might be to pass the prefix for a SAN fabric zone name, and the workflow determines the unique full name of the zone based on the host being zoned and the prefix. Figure 2-27 is an example of the different storage settings that can be specified.
The logical and physical volume names to be used and the volume sizes and types can be defined. Using templates in this fashion ensures that all servers added to the cluster are configured by TPM with the same storage configuration. Settings form a hierarchical structure under the Volume Container settings, dividing into settings related to the physical storage and the logical storage environments. Physical environment settings, including volume size, type, and storage subsystem are grouped under the Physical Volume settings. Logical storage settings, such as file system type, capacity, and block sizes are grouped under the Logical Volume settings. We will look at each of these settings in more detail.
28
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
The Storage Manager field in the Volume Container settings defines which Storage Managers the volume container is eligible to be created under, and hence which hosts this template can be used on, based on a hosts Storage Manager definition. The field also defines the Physical Partition size to be used by the volume manager for the volumes. The settings for the Physical and Logical Volumes, and File Systems that will be created within the container are under each Volume Container Settings object.
29
At a logical level, these define how the volume manager will configure and carve up physical volumes to make logical volumes. If the volume manager supports capabilities such as software RAID, they can be specified here, though typically the volume type is more likely to be of type simple or spanned. Simple implies that the logical volume exists on a single physical volume only and spanned that it is made up of one or more physical volumes.
30
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
All the required attributes of the file system are defined here.
31
These policy parameters allow TPM to automatically select a volume from a storage pool, or create a new volume on a subsystem meeting the specified RAID Level, Function Type, and Consumable (minimum) size requirements. The Function Type is used for subsystems where volumes are predefined and their usage is configured, such as EMC BCVs (Business Continuance Volumes). The consumable size is the smallest size of volume that TPM will use. When a volume is required it will either create a volume of the requested size or select the smallest existing volume larger than the consumable size, which has the correct attributes.
32
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
When fully specified, multipath settings can be used to determine the LUN ID at the host, the zone t be used, and the subsystem fibre ports and the host HBA ports to be included in the zone. All parameters relating to connectivity between the host and the storage subsystem are defined in one place, taking an end-to-end view of this operation, rather than looking at it from the perspective of each device that needs configuring (that is, the hosts, SAN switch, and storage subsystem). The parameters passed can be used directly by the zoning workflows, or if a workflow determines, more appropriate values can take precedence.
33
Storage Pool Create/delete storage volume in pool, mask/unmask storage volume. SAN Switch Create/delete zone, add/remove WWN/Port To/from Zone. Operating System Create physical disk, create SAN disk, delete physical disk. Before these operations can be used, the device drivers or automation packages that implement them have to be created for the specific switch, subsystem, volume manager, and file system. A number of examples of TPM and TPC device drivers that implement these operations for different platforms, switches, and storage subsystems can be found on OPAL. Most operations are extremely granular and perform only a single specific task, such as creating a storage volume or adding a SAN zone member. Usable workflows are then built up from these smaller building block elements. This provides great flexibility and enables TPM to be customized to meet a wide variety of requirements, and implement the best practices related to specific environments; however, building a storage provisioning solution from scratch using just these basic building blocks would be extremely time consuming. In addition to providing the basic building blocks, TPM also provides operations that represent end-to-end storage provisioning tasks such as creating file systems from scratch, adding volumes to hosts, and extending file systems. These encapsulate all the sub-operations required to perform the request task, such as creating a volume, then mapping it to the host, and finally creating a file system on the new volume. These operations also exploit the Storage Template approach to policy-based provisioning. The templates provide all the necessary parameters required to perform the end-to-end operations. An example of one of these operations is looked at in more detail later.
34
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Most operations are extremely granular and perform only the single specific task as implied by the Logical Device Operations (LDOs) name. The AddStorageToHost and RemoveStorageFromHost operations are examples of more complex operations discussed previously, which can perform end-to-end configuration of storage to and from hosts. This includes zoning, creation of storage volumes on the subsystem, LUN masking, volume manager, and file system operations. An implementation of the AddStorageToHost operation is looked at in 2.4.6, End-to-end storage provisioning operations on page 38.
These include creating and deleting new zones, and adding and removing members from zones. Here the capabilities of TPM as a provisioning tool are focusing on the routine
Chapter 2. Tivoli Provisioning Manager support for storage provisioning
35
day-to-day tasks performed in a storage environment to provision storage. Tools such as TPC are required to provide in-depth management functionality.
The use of storage pools makes it easier to model tiered storage within TPM and also accommodate the concept of volume reservation for specific future requirements. The Storage Pool GetStorageVolumes LDO can search the entire pool for a volume meeting the requirements rather than a single subsystem, as is the case for the Storage Subsystem implementation of the GetStorageVolumes LDO. Once a volume has been created and selected, subsequent operations are performed by the Storage Subsystem LDOs.
36
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
These operations include the same three operations supported for Storage Pools: GetStorageVolume, CreateStorageVolume, and RemoveStorageVolume, and they can be used interchangeably with the Storage Pool operations in workflows. The operations provide effective management of many types and vendors of storage subsystems, and include operations to support management of EMC arrays.
Three of these operations relate to storage: CreateDASDPhysicalVolume, CreateSANPhysicalVolume, and RemovePhysicalVolume. The first two relate to mapping of internal disk and SAN disk to OS device names, and the latter allows removal of either type of disk.
37
Where the OS supports it, implementation of these operations allows storage to be mapped to a host while the host is online, without requiring a reboot. This reduces the time taken to provision new storage and avoids having to schedule a system outage to attach additional storage capacity.
38
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
} for each LogicalVolumeSetting in VolumeContainerSettings { StorageManager.createLogicalVolume (xx) for each PhysicalVolume { StorageManager.addPVToLV (xx) } } } StorageManager.createFS (xx) }
The inputs to the workflow are the name of the server and the name of the storage template to be used to create the volumes and file systems. A key subcomponent of this workflow is the AddStorageVolumeToHost operation. This performs the volume-related tasks required, and the AddStoragetoHost operation wraps this around with the file system and volume manager tasks to create usable storage. After creating the Volume Group on the host and the corresponding Volume Container object in TPM, the Physical Volume Settings are used to determine the size and type of Storage Volumes required. The AddStorageVolumeToHost operation is invoked to perform all the tasks of creating and mapping the volume to the host. After creating the volume and mapping it to the host OS, the physical volumes, logical volumes, and file system are created.
39
40
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Chapter 3.
41
This figure shows the logical and physical storage resources for host ibmp660-1. A single HBA connects via two ports to port 2 on SAN switches 9509-1 and 9509-2. The physical volumes on the host as well as the storage volumes mapped to the host are shown. Note that, as the storage volumes are not explicitly mapped via an HBA on the subsystem, the connectivity to the switch is not shown. The logical associations between the Storage Volumes and Physical Volumes are also hidden in this view to improve clarity. Hover the mouse over a physical volume or storage volume to show the logical relationships between the resources, as shown in Figure 3-2 on page 43.
42
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
The dotted lines in this figure show that storage volume AIX_vol3 in storage subsystem SVC_TEC is mapped to HBA0:0 and HBA0:1 at the host, and is represented by physical volume pv03 at the host. Right-click a resource to give more options such as the ability to hide relationships or resources.
43
The figure shows the four storage operations that can be initiated from the server view, with one highlighted. Two of these storage operations are looked at in detail here, Add Storage Volume To Host and Add Storage To Host. Both of these operations use storage templates as input. The Storage Manager task must be completed first to define the storage manager type for the server before storage can be managed for the first time.
44
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
In the figure, only one storage template has been defined for Storage Manager (AIX_LVM), and is presented in the dialog. Click OK to initiate the operation. Figure 3-5 shows the message indicating that the operation had been initiated.
The operation has been initiated as request 10331. The status of completed and executing workflows can be tracked from the Deployment Requests task in the TPM Configuration View, as shown in Figure 3-6.
The operation has completed successfully. Search options can be specified to show the status of requests selected by status, name, time, or explicitly by deployment ID as shown here.
45
Having specified the Storage Manager, the Volume Container Settings and Physical Volume Settings in the templates determine the volume characteristics required. Eligible Storage Subsystems and Volumes meeting these characteristics are presented and a volume selected. Checking the execution status is the same as for the Add Storage To Host operation.
46
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
The figure shows a server template with an associated storage template defined. Server templates can be assigned to resource pools, application tiers, and individual systems in TPM. They can be created using the Server Template heading via the TPM Application View as in the previous figure. Figure 3-9 shows a server inventory view; the server template associated with the server can be seen on the right-hand side of the server properties.
47
In step 2 (Figure 3-11) enter the Volume Container settings. One or more sets of settings can be created.
In step 3 (Figure 3-12 on page 49) define the Physical Volume settings. One or more sets of settings can be created.
48
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
DASD settings relate to internal disks internal in the server. SAN settings relate to externally attached storage, typically SAN attached. In step 4 (Figure 3-13 on page 50) enter the Datapath/Multipath settings. One or more sets of settings can be created.Typically there will be two datapath settings, one for each fabric the server is connected to.
49
In step 5 (Figure 3-14 on page 51) enter the Logical Volume settings. One or more sets of settings can be created.
50
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
In step 6 (Figure 3-15 on page 52) enter the File System settings. One or more sets of settings can be created for each Logical Volume.
51
In step 7 (Figure 3-16 on page 53) enter the File System Mount settings for each file system.
52
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
In step 8 (Figure 3-17 on page 54) enter the Partition settings if required.
53
Step 8 (Figure 3-18 on page 55) is a summary of all the settings configured and enables them to be modified before completion. Click Finish to save the new storage template.
54
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
55
Access to individual views as well as individual devices within a view can be controlled. From a storage provisioning perspective this enables all the various tasks and views related to server and application provisioning to be removed from the storage administrators sight. Application administrators could also be given the ability to provision additional storage related to only the applications they are responsible for.
56
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Chapter 4.
57
Good - Device driver required for each vendor and where model ranges use different interfaces. Drivers available for EMC and ESS.
Good - Parsed response through command line. Good - Only TPM defined logical operations.
58
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
TPM Server
Device Drivers Workflows
SAN SAN
Java PlugIn
API
TPC Server
TPC-specific device drivers are used for all the storage devices represented by SAN Fabric, Storage Subsystem, and Storage Pool logical devices in the DCM. With TPM, the supplied device drivers talk directly to the devices concerned using CLIs, while with the TPC drivers, a Java plug-in is used to talk to the TPC for Disk and Fabric components over an API. This opens up all of the management capabilities of TPC for Disk and Fabric to be used by workflows, and enables all the devices supported by TPC for Disk and Fabric (disk arrays, SAN switches) to be controlled by TPM for provisioning storage. This greatly increases the number of storage subsystems that can be managed by TPM.
59
60
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Chapter 5.
61
Applications
Virtualised storage
The focus here is primarily on the storage provisioning solution developed for this environment. The SAN File System architecture provisioning approach described here is also applicable to other SAN File System environments, as the management tasks described are common to any environment. This provisioning solution is a specific example of the power of TPM to create a fully automated storage environment using storage provisioning.
62
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
CISCO MDS
TotalStorage SAN Volume Controller TotalStorage 3584 Tape Library TotalStorage DS4300 Disk Array
63
Apache
MS Exchange
MS SQL Server
MS IIS
User Groups
Shared capacity
The different user groups share the same SAN File System Pools, with all groups having access to the total pool capacity. Free space is aggregated across all the users of the pool and is available on demand for capacity growth. Users are only charged for their usage and not for unused space. The cost of providing the free space buffer is spread across all users by the cost model.
Orchestration environment
The orchestrated application environment offers dynamic provisioning of IBM Eserver BladeCenter blade servers as application loads demand using orchestration and provisioning. This is shown in Figure 5-4 on page 65.
64
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
En e r pr i s e C n. . . t o Ev en t G r ou ps O p t on s i
E nt er p r i se C on so l e S our ce G o up s r O pt o ns i H el p
Internet
D t ba se a a T v ol i Pl us i T vo i / en t r i lS y S yst em L og f e s il H p e l N um ber of M es sages U da t O p e N 2 2 2 2 2
Eve nt G r ou ps
Ev en t S ou r ce s
To ta l : 1 1
D t ab ase s a
FATA L
CRIC I AL T
MN R I O
W RIN A N G
H M SS AR LE
U K N WN N O
O PEN S er v c es i
AC O W KN LED G ED
C SE D LO
C as s l
Se ver i t y
H o st N am e
M ess ag e
C SED LO C SED LO C SED LO C SED LO P rn t rs i e C SED LO C SED LO C SED LO C SED LO C SED LO O N PE A pp i ca t on s l i V i w M essages e
D B_Tabl e_Ful l D B_Tabl e_Ful l D B_Tabl e_Ful l D B_C apaci t y D B_C apaci t y D B_C apaci t y D B_C apaci t y D B_C apaci t y D B_C apaci t y D B_C apaci t y
D as al l London Aust n i
157. 83. 7. 34 2 157. 83. 7. 33 2 157. 83. 7. 35 2 157. 83. 7. 36 2 157. 83. 7. 37 2 157. 83. 7. 38 2 157. 83. 7. 39 2
e i w
Ac t i n S o
a t t us
A c n o w l e d g e Me s a g e k
C ose M l essage
Load Balancer
Server orchestrated in
This exploits SAN File Systems data sharing capabilities, to share a single copy of Web site data between multiple Web servers. As load increases on the Web site due to increased user activity, additional servers are provisioned into the application cluster, spreading the workload evenly across the new larger pool of servers. SAN File System provides for high-performance, scalable, and secure sharing of the application and Web site file storage between servers in the application clusters. The ability of the storage provisioning solution to automatically add new SAN File System clients on demand without manual intervention is essential to the ability to rapidly orchestrate in new Web servers as utilization levels change. The new servers connect into and share the existing single copy of the Web site data in the SAN File System environment.
65
Figure 5-5 illustrates the actions automated by the storage provisioning solution.
New SAN FS client being added to environment Host OS device mapping updates to realise new volumes at host
SAN SAN
SAN Zone configuration change to include new server Update LUN masking assignments for all volumes in SAN-FS user pool to allow access from new server
Figure 5-5 Provisioning tasks to introduce a new SAN File System client
When an administrator wants to add a new SAN File System client, the SAN zoning must be updated to enable the new host to see the storage subsystem, by adding it to existing zones or creating new zones. The subsystem LUN masking assignments for all the volumes in the SFS user pool must be updated to enable the new client to see the subsystem volumes. Finally, the HBA driver and multi-pathing software at the host must be reconfigured to map the LUNs presented from the storage subsystem to the operating system and the SAN File System client as physical disks. While relatively simple for an administrator to perform, these tasks have to be carried out for each volume in a SAN File System User Pool as new clients are added or for each server using the pool when a new volume is added to the pool. The tasks also require coordination to ensure successful execution and to guarantee that prerequisite tasks have been completed. These SAN File System management tasks are ideal candidates for automation using provisioning workflows, reducing administrative effort for day-to-day operation of a SAN environment.
administrators so that they do not need specialized skills to perform complex SAN administrative tasks.
67
Within TPM the SAN File System user pool is represented by a TPM Volume Container. Servers that have been zoned and masked to be able to see the volumes in the pool are shown as access servers. The SAN File System volumes in the user pool are represented as TPM Logical Volumes. To simplify management and enable SAN File System resources to be easily tracked and identified, the volumes created on the SVC use the pool name as a prefix, for example, Webpool_1. Using the TPM DCM to model SAN File System in this fashion simplifies the task of management, as there is a ready list of servers that use and have access to the pool and the list of volumes in the pool. The server list is used as input to the AddSpaceToSFSPool workflow to determine which servers require the newly created volume to be masked to them. The volume list is used as input to the AddHostToSFSPool workflow, to determine the storage volumes that must be masked to the new SFS client so it can access the pool.
68
An Introduction to Storage Provisioning with Tivoli Provisioning Manager and TotalStorage Productivity Center
Back cover
Redpaper
INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION