IBM XIV Storage System
IBM XIV Storage System
Bert Dufrasne
Roger Eriksson
Lisa Martinez
Wenzel Kalabza
ibm.com/redbooks
International Technical Support Organization
May 2014
SG24-7659-08
Note: Before using this information and the product it supports, read the information in “Notices” on
page ix.
This edition applies to the IBM XIV Storage System with XIV Storage System Software Version 11.5.1 and
IBM XIV Storage Management Tools Version 4.4.
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Now you can become a published author, too . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Stay connected to IBM Redbooks publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Summary of changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
May 2014, Ninth Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Contents v
Chapter 6. Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
6.1 XIV Storage System Software and hardware architecture . . . . . . . . . . . . . . . . . . . . . 286
6.1.1 Workload distribution and load balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
6.1.2 Grid architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
6.1.3 Caching mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
6.1.4 Data redistribution effects on host systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
6.1.5 Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
6.2 Practices for optimum performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
6.2.1 Sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
6.2.2 Number of logical unit numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
6.2.3 Multipathing considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
6.2.4 Host considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
6.2.5 Quality of service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
6.3 Performance monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
6.3.1 Using the XIV Storage Management GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
6.3.2 Using the XIV Top utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
6.3.3 Using the XIV Storage System command-line interface . . . . . . . . . . . . . . . . . . . 314
6.3.4 Tivoli Storage Productivity Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
6.4 Performance evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
6.4.1 Problem-solving steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Contents vii
viii IBM XIV Storage System Architecture and Implementation
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 grant 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 websites are provided for convenience only and do not in any
manner serve as an endorsement of those websites. The materials at those websites are not part of the
materials for this IBM product and use of those websites 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.
Any performance data contained herein was determined in a controlled environment. Therefore, the results
obtained in other operating environments may vary significantly. Some measurements may have been made
on development-level systems and there is no guarantee that these measurements will be the same on
generally available systems. Furthermore, some measurements may have been estimated through
extrapolation. Actual results may vary. Users of this document should verify the applicable data for their
specific environment.
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 illustrate 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.
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
AIX® IBM Flex System® Storwize®
DS6000™ NetView® System p®
DS8000® POWER® System Storage®
FlashSystem™ Redbooks® Tivoli®
IBM® Redpaper™ XIV®
IBM FlashSystem™ Redbooks (logo) ®
Intel, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel
Corporation or its subsidiaries in the United States and other countries.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Microsoft, Windows, 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 Oracle and/or its
affiliates.
Other company, product, or service names may be trademarks or service marks of others.
This IBM® Redbooks® publication describes the concepts, architecture, and implementation
of the IBM XIV® Storage System.
The XIV Storage System is a scalable enterprise storage system that is based on a grid array
of hardware components. It can attach to both Fibre Channel Protocol (FCP) and IP network
Small Computer System Interface (iSCSI) capable hosts. This system is a good fit for clients
who want to be able to grow capacity without managing multiple tiers of storage. The
XIV Storage System is suited for mixed or random access workloads, including online
transaction processing, video streamings, images, email, and emerging workload areas, such
as Web 2.0 and cloud storage.
The focus of this edition is on the XIV Gen3 running Version 11.5.x of the XIV system
software, which brings enhanced value for the XIV Storage System in cloud environments. It
offers multitenancy support, VMware vCloud Suite integration, more discrete performance
classes, and RESTful API enhancements that expand cloud automation integration. Version
11.5 introduces support for three-site mirroring to provide high availability and disaster
recovery. It also enables capacity planning through the Hyper-Scale Manager, mobile push
notifications for real-time alerts, and enhanced security. Version 11.5.1 supports 6TB drives
and VMware vSphere Virtual Volumes (VVOL).
In the first few chapters of this book, we describe many of the unique and powerful concepts
that form the basis of the XIV Storage System logical and physical architecture. We explain
how the system eliminates direct dependencies between the hardware elements and the
software that governs the system. In subsequent chapters, we explain the planning and
preparation tasks that are required to deploy the system in your environment by using the
intuitive yet powerful XIV Storage Manager GUI or the XIV command-line interface. We also
describe the performance characteristics of the XIV Storage System and present options for
alerting and monitoring, including enhanced secure remote support.
This book is for IT professionals who want an understanding of the XIV Storage System. It is
also for readers who need detailed advice on how to configure and use the system.
Copy services and data migration features are covered in the Redbooks publication,
IBM XIV Storage System Business Continuity Functions, SG24-7759.
Host operating systems and other integration aspects are addressed in a separate
publication, XIV Storage System: Host Attachment and Interoperability, SG24-7904. Refer
also to the IBM Redpaper™ publication, Using XIV in VMware environments, REDP-4965.
For details about thin provisioning and space reclamation, see the Redpaper, XIV Thin
Provisioning and Space Reclamation, REDP-5001.
For information about IBM Hyper-Scale, see the Redpaper, IBM Hyper-Scale for the XIV
Storage System, REDP-5053. For information about encryption, see the Redpaper, XIV
Security with Data-at-Rest Encryption, REDP-5047.
Bertrand Dufrasne is an IBM Certified Consulting I/T Specialist and Project Leader for
IBM System Storage® disk products at the International Technical Support Organization
(ITSO), San Jose Center. He has worked at IBM in various I/T areas. He has authored many
IBM Redbooks publications, and has also developed and taught technical workshops. Before
joining the ITSO, he worked for IBM Global Services as an Application Architect. He holds a
Master’s degree in Electrical Engineering.
Roger Eriksson is an STG Lab Services consultant, based in Stockholm, Sweden, who
works for the European Storage Competence Center in Mainz, Germany. He is a Senior
Accredited IBM Product Service Professional. Roger has over 20 years of experience
working on IBM servers and storage, including Enterprise and Midrange disk, NAS, SAN, IBM
System x, IBM System p®, and IBM BladeCenter. He has done consulting, proof of concepts,
and education, mainly with the XIV product line, since December 2008. He has worked with
both clients and various IBM teams worldwide. He holds a Technical College Graduation in
Mechanical Engineering.
Lisa Martinez has been working in the North America Storage Specialty Team (formerly
ATS) as a storage consultant since January 2012. Her focus has been with pre-sales support
for DS8000® and XiV as well as lead instructor for XiV customer based workshops. Prior
experience includes roles as a storage architect in the Specialty Services Area in GTS, a
temporary assignment as a Global Support Manager for Cardinal Health and test architect in
disk storage focusing on system level test for XiV for three years, and copy services for
DS8K. Lisa holds degrees in Computer Science from New Mexico Highlands University and
Electrical Engineering from the University of New Mexico. She has been employed with IBM
for 17 years.
Wenzel Kalabza s a certified XIV Product Field Engineer (PFE) based in the storage
competence center in Mainz, Germany. Wenzel joined IBM in 1998 as customer quality
engineer for IBM disk drive failure and performance analysis. He joined the Back Office for
the high end storage system (ESS) in June 2002. In 2005, Wenzel started a PFE role for the
IBM disk storage DS6000™. In June 2008, he became a PFE for the XIV storage product.
Wenzel holds a degree in Electrical Engineering and Power Economy, and several storage
related certifications.
Eyal Abraham, Diane Benjuya, Ramy Buechler, Rami Elron, Theodore Gregg, Peter Kisich,
Rony Shapiro, Yossi Siles, Oded Kellner, George Thomas, Carlo Saba, Ohad Atia, Marcus
Boelke, Daniel Lereya, Mary J. Connell.
IBM
Jana Jamsek, Suad Musovich, Markus Oscheka, In Kyu Park, Francesco Perillo, Carlo Saba,
Hank Sautter, Jim Sedgwick, Eugene Tsypin, Kip Wagner, Alexander Warmuth, Peter Wendler,
Axel Westphal, Ralf Wohlfarth, Dietmar Dausner, Itzhack Goldberg, Stephen Solewin, Christian
Schoessler, Patrick Schill, Christian Burns, Thomas Peralto.
Special thanks to ESCC team in IBM Mainz, Germany, for hosting the project and making
equipment available in their lab.
Find out more about the residency program, browse the residency index, and apply online:
ibm.com/redbooks/residencies.html
Comments welcome
Your comments are important to us.
We want our books to be as helpful as possible. Send us your comments about this book or
other IBM Redbooks publications in one of the following ways:
Use the online Contact us IBM Redbooks publications form:
ibm.com/redbooks
Send your comments by email:
[email protected]
Mail your comments:
IBM Corporation, International Technical Support Organization
Dept. HYTD Mail Station P099
2455 South Road
Poughkeepsie, NY 12601-5400
Preface xiii
xiv IBM XIV Storage System Architecture and Implementation
Summary of changes
This section describes the technical changes made in this edition of the book and in previous
editions. This edition might also include minor corrections and editorial changes that are not
identified.
Summary of Changes
for SG24-7659-08
for IBM XIV Storage System Architecture and Implementation
as created or updated on November 3, 2017
New information
Inclusion of XIV Storage System Software Version 11.5 features, including multitenancy,
enhanced performance classes, mobile notifications, and security updates
Examples and illustrations that reflect XIV Storage Management GUI v4.4
Updated, “Similar results can be accomplished on UNIX-based platforms by using shell
scripting and crontab for scheduling custom monitoring processes.” on page 410
Changed information
Various updates to reflect the XIV Storage Software Version 11.5.1 features
IBM XIV Gen3 latest hardware
The IBM XIV Gen3 Storage System is a high-end disk storage system. It provides secure,
self-service, scalable, enterprise-class storage with a self-healing, data-protected
cloud-centric foundation that is ideal for public, private, or hybrid clouds. The XIV cloud
economics provide world-class business continuity for applications that require zero tolerance
for downtime. It’s predictable, consistent, high-performance design enables organizations to
take control of their storage and gain business insights from their data. The storage system
contains proprietary and innovative algorithms that offset hardware malfunctions, minimize
maintenance, provide flexibility, and drive massive parallelism. XIV provides a high service
level for dynamic and mixed workloads.
This chapter provides a high-level overview of the XIV Gen3. It covers the following topics:
1.1, “Introduction” on page 2
1.2, “New features in XIV” on page 3
1.3, “Total cost of ownership” on page 4
1.4, “XIV Gen3 Storage System models and components” on page 5
1.5, “XIV Gen3 design features and functions” on page 6
1.6, “XIV Storage System Software” on page 9
1.7, “Host support” on page 15
The XIV Storage System incorporates fully automated recovery processes. A data
redistribution takes place automatically after new hardware is added, removed, or has failed.
Only the data necessary to keep the system fully redundant is redistributed, minimizing
recovery time and data movement. Because of this powerful distribution algorithm, the
performance is always consistent.
The virtualized grid architecture and algorithms that are used divide the host data into 1 MB
partitions and distribute them pseudo-randomly across all disks, leading to a consistent load
on all components and eliminating hotspots. During the distribution process, the data is
always mirrored by ensuring that each 1 MB partition is kept in at least two separate locations
within the system.
Clients receive exceptionally low total cost of ownership because the system software
licensing includes quality of service (QoS), snapshots, thin provisioning, data migration,
asynchronous and synchronous mirroring, and an intuitive GUI, combined with dramatic
efficiencies in capacity, power, and space. Because of the unique physical architectural
design of the system, including off-the-shelf modules, network switches, and power
components, new technologies can be adopted easily. XIV offers encryption for data at rest
while avoiding performance impact
The IBM XIV Gen3 Storage System is fully virtualized storage designed to eliminate the need
for performance tuning, planning for capacity and performance growth, and numerous other
storage management activities. The highly intuitive XIV GUI and built-in management tools
make administrative tasks easy and efficient, with little training or expertise required, from
provisioning volumes to monitoring multiple systems. A powerful command-line interface
(CLI) supports complex scripting. The unified console enables one-stop centralized
administration of multiple XIV systems. Its exceptional flexibility extends to mobile devices,
giving users the flexibility of performance and capacity monitoring by the IBM XIV Mobile
Dashboard, supporting the Apple iPhone and Apple iPad, and Android devices.
1 Twelve TB using 15 x 800 GB flash drives in XIV Gen3 systems equipped with 4 TB or 6 TB drives
The XIV Storage System includes software licenses for all features and functions at no
additional charge. There is no need to purchase additional software licensing when you
decide to add more capacity to your system or use an advanced feature, such as mirroring or
data migration. To augment the capacity, additional hardware must be purchased. Clients
may also take advantage of the Capacity on Demand option, acquire XIV systems using
Advanced System Placement, or capitalize on IBM XIV Cloud Storage for Service Providers
solution offering.
The IBM XIV Storage System Management software suite, along with the virtualized grid
architecture, greatly simplifies the layout and management of data within the storage system,
which reduces the cost of managing it. Snapshots and test environments are created in
seconds. Data migration is dramatically simple and fast; remote mirroring is easy and is
supported even between XIV Gen3 and the XIV second-generation Storage System. By
reducing complexity, the system minimizes the IT resources required to manage storage,
freeing individuals for other tasks.
The XIV Storage System Gen3 uses a grid array of low cost, high capacity (22 TB, 3 TB,
4 TB, or 6 TB) SAS drives for storing data, which provides performance similar to Fibre
Channel (FC) drives in traditional storage systems. The grid architecture used in the XIV
Storage System eliminates the need for “idle spare drives” in the event of a drive failure. As a
result, all drives in the system are fully used, reducing the number of idle components.
These features and more reduce the overall TCO of the XIV Storage System.
Note: Effective October 25, 2013, the XIV Gen3 2812-114 and 2810-114 have been
withdranw from marketing and can no longer be ordered from IBM.
The 2812 supports a 3-year warranty to complement the 1-year warranty offered by the
existing and functionally equivalent 2810.
All of the machine types are available in the following modules’ configurations:
Six modules (including three Interface Modules)
Nine to fifteen modules (including six Interface Modules)
The 114 model includes the following components, which are visible in Figure 1-1
Three to six Interface Modules, each with 12 SAS disk drives (2 TB or 3 TB but
no intermixing).
Three to nine Data Modules, each with 12 SAS disk drives (2 TB or 3 TB but
no intermixing).
Flash caching support. Each Data or Interface Module can be equipped with one 400 GB
flash drive (SSD) as fast read cache (6 TB for a full system with 15 modules).
An uninterruptible power supply (UPS) module complex comprising three redundant UPS
units.
Two InfiniBand module interconnects with redundant power supplies (RPSs).
A Maintenance Module.
An Automatic Transfer Switch (ATS) for external power supply redundancy.
A modem, which is connected to the maintenance module for external system service.
The model 214 includes the same components and brings the following enhancements:
Data modules and interface modules can be equipped with 2 TB, 3 TB, 4 TB, or 6 TB, but
no intermixing
Up to twelve 10 GbE ports for connecting to iSCSI-attached hosts (or twenty-two 1 GbE
ports, as in the 114 model)
Up to 15 CPUs providing 90 physical cores (180 logical cores using Intel Hyper-Threading
technology)
More energy-efficient hardware that can reduce power consumption by up to 16%
compared to previous models
For both models (114 and 214), all of the modules in the system are linked through the two
internal redundant InfiniBand module interconnects, which enable maximum bandwidth use
and are resilient to at least a single component failure.
The system (models 114 and 214) and all of its components come pre-assembled and wired
in a lockable rack.
Figure 1-1 XIV Storage System components: Front and rear views
We describe these key design points and underlying architectural concepts in detail in
Chapter 2, “IBM XIV Storage System logical architecture and concepts” on page 17.
1.5.3 Self-healing
Protection against concurrent double disk failure is provided by an efficient rebuild process
that brings the system back to full redundancy in minutes. In addition, the XIV Storage
System extends the self-healing concept, resuming redundancy even after failures in
components other than disks, such as a failure of a whole module.
Important: Identified rebuild times are estimated and vary in specific environments. You
might experience reduced or increased rebuild times,depending on architecture, block
data written, and resource allocations of modules. Refer to 2.10.2, “Preserving data
redundancy: Rebuilding and redistributing” on page 51.
The mirroring setup and functions are otherwise unchanged and fully supported between the
two generations. For details about the synchronous and asynchronous mirroring functions,
see the IBM Redbooks publication titled IBM XIV Storage System Business Continuity
Functions, SG24-7759.
IBM XIV three-way mirroring that was introduced in the 11.5.0 system software further
enhances the system high availability and disaster recovery options.
3-way mirroring: XIV Gen3 Model running system software version 11.5.0 or later is
required in supporting three-way replication feature. (Gen2 models are not supported)
SSD flash caching: XIV offers extensive I/O analytic trace collections from the block
storage system level that produces visualization and very good performance benefit
estimates for using SSD flash caching. The trace can be captured only by your local
IBM Storage Solution Architect. It can help with determining whether SSD flash caching
is a cost-effective feature for your XIV infrastructure.
XIV multitenancy:
Enables the division of storage system management scheme into logical domains, with
extreme flexibility in assigning policy, administrators, and QoS per domain.
Support for multiple snapshots:
The snapshot capabilities within the XIV Storage System Software use a metadata,
redirect-on-write design that allows snapshots to occur in a subsecond time frame with
little performance impact. The system supports multiple differential snapshots of a volume.
Any of the snapshots can be made writable, and then snapshots can be taken of the newly
writable snapshots (snapshots of snapshots). Volumes can even be restored from these
writable snapshots.
Cross-system consistency groups
XIV 3-way mirror: XIV software v11.5.x supports a three-site mirroring star topology
with one synchronous and one asynchronous mirror relationship. For details, see the
IBM Redpaper publication titled IBM XIV Storage System Multi-site Mirroring,
REDP-5129 and the IBM Redbooks publication titled IBM XIV Storage System
Business Continuity Functions, SG24-7759.
Along with IBM XIV Management Tools version 4.4, the IBM Hyper-Scale Manager v1.5.x
was released. The Hyper-Scale Manager reduces operational complexity and enhances
capacity planning through integrated management for large and multi-site XIV deployments.
The Hyper-Scale Manager can be run as a virtual appliance above an ESX server (VMware
VSphere Hypervisor only) or as an application on a preinstalled Red Hat Enterprise Linux
server.
For more information about the Hyper-Scale Manager, see the IBM Redpaper titled IBM
Hyper-Scale in XIV Storage, REDP-5053.
The other XIV Management Tools (GUI, XIV Top, and XCLI) are available for various
operating system platforms from the IBM System Storage Interoperation Center (SSIC):
http://www.ibm.com/systems/support/storage/ssic/interoperability.wss
The management tools, including the Hyper-Scale Manager and Host Attachment Kit (HAK),
can be downloaded from IBM Fix Central:
http://www.ibm.com/support/fixcentral/
The XIV Storage Management GUI, XIV Top, and XCLI tools are bundled in a single package
that can be downloaded for each supported operating system. There is a separate XCLI
package for IBM AIX®, Linux, Solaris, and HPUX.
There is a mobile monitoring dashboard version available for iPhone, iPad, and Android
devices.
The XIV Storage Management GUI also contains a demonstration mode. To use the
demonstration mode, after the initial GUI program launch, select Demo for the Mode and
then click Login, as shown in Figure 1-2. A password is not required. There is also a Manager
mode that you can use to activate the Hyper-Scale Storage Manager.
Figure 1-3 shows one of the top-level configuration windows where you can also see flash
(SSD) status.
Example 1-1 shows an XCLI command being run in a Windows DOS shell.
The XCLI is installed as part of the FULL GUI installation, or it can be installed alone.
For details about each operating system and versions supported, see the IBM XIV
interoperability matrix or the IBM System Storage Interoperation Center (SSIC) at the
following website:
http://www.ibm.com/systems/support/storage/config/ssic/index.jsp
There are also various software agents available to help you manage environments that
connect to an XIV Storage System.
2.1.1 Features
The XIV Storage System architecture incorporates various features designed to uniformly
distribute data across internal resources. This unique data distribution method fundamentally
differentiates the XIV Storage System from conventional storage subsystems, offering
numerous availability, performance, and management benefits across both physical and
logical elements of the system.
The XIV Storage System has a native virtual storage design that is both efficient and simple
to use. It eliminates all physical disk Redundant Array of Independent Disks (RAID)
management tasks. The XIV is an enterprise-class storage system in which storage
management involves defining capacity (a logical unit number, or LUN, or a volume) and
assigning the capacity to a host system.
The XIV Storage System hardware architecture is a dramatic shift from traditional
RAID-based parity data protection. From a performance perspective, the XIV Storage System
can automatically involve all of the disk drives, the whole system cache including its optional
flash cache extension, and the processors in servicing I/O operations.
Scalability is also a strength of the XIV Storage System. The XIV Storage System is able to
scale without administrative involvement to redistribute data or tune for optimum performance.
It takes care of these tasks automatically.
The XIV configuration includes data modules, interface modules, interconnect switches, and
uninterruptible power supply (UPS) units. For details and components of the physical system
architecture, see Chapter 3, “IBM XIV architecture, components, and planning” on page 61.
Modules
The primary components of the XIV Storage System are known as modules. Modules provide
processing, cache (including optional flash cache), and host interfaces. They are composed
of “off the shelf” systems that are based on Intel technology.
All of the modules work together, concurrently, as elements of a grid architecture. This helps
the system harness the parallelism that is inherent in such a distributed computing
environment.
FC Interface Module
Host XIV Module
Flash
Host Data
Modules
Interconnect
Host Interface
Switch
Modules
XIV Module
Flash
Interface
Modules
XIV Module
Flash
Data
Modules
Data Module
UPS Units
Important: Flash cache is an optional feature. However, if you opt for the flash cache
extension, flash cache devices must be installed in all modules.
Note: Figure 2-2 depicts the conceptual architecture only. Do not misinterpret the number of
connections or modules and other representations as a precise hardware layout.
XIV Module XIV Module XIV Module XIV Module XIV Module XIV Module
Interface Module
XIV Module XIV Module XIV Module XIV Module XIV Module XIV Module
Flash Flash Flash Flash Flash Flash
XIV Module XIV Module XIV Module XIV Module XIV Module
Flash Flash Flash Flash Flash
Data Module
Interface and data modules are connected each other through an internal switching network
Interface modules
Interface modules are equivalent to data modules in all aspects, with the following exceptions:
In addition to disk, cache, and processing resources, interface modules include both Fibre
Channel and IP network Small Computer System Interface (iSCSI) interfaces for host
system connectivity, remote mirroring, and data migration activities. Figure 2-2
conceptually illustrates the placement of interface modules within the topology of the
XIV Storage System architecture.
The system services and software functions associated with managing external I/O is
located exclusively on the interface modules.
Important: The XIV Storage System uses parallelism at both hardware and
software levels.
Design principles
The XIV Storage System grid architecture, by virtue of its distributed topology, ensures that
the following design principles are possible:
Performance:
– The relative effect of the loss of a single component is minimized.
– All modules are able to participate equally in servicing the total workload.
This design principle is true regardless of access patterns. The system architecture
inherently enables excellent load balancing, even if certain applications access certain
volumes, or certain parts within a volume, more frequently.
Compatibility:
– Modules consist of standard “off the shelf” components.
Because components are not specifically engineered for the system, the resources
and time required for the development of newer hardware technologies are minimized.
This benefit, coupled with the efficient integration of computing resources into the grid
architecture, enables the system to realize the rapid adoption of newer hardware
technologies available without the need to deploy a whole new subsystem.
Scalability:
– Computing resources can be dynamically changed.
– The architecture can be “scaled out” by adding new modules to accommodate both
new capacity and new performance demands.
– The architecture can also be “scaled up” by adding more modules, up to a total of 15
modules.
.............................................
Flash Flash Flash
...........................
Flash Flash Flash Flash
...........................
Flash
SSD
SSSD Flash Flash
Proportional scalability
Within the XIV Storage System, each module contains all of the pertinent hardware elements
that are necessary for a grid topology (processing, caching, and storage). All modules are
connected through a scalable network. This aspect of the grid infrastructure enables the
relative proportions of cache, processor, disk, and interconnect bandwidth to remain optimal
even when modules are added or removed:
Linear cache growth: The total system cache size and cache bandwidth increase linearly
with disk capacity because every module is a self-contained computing resource that
houses its own cache. The cache bandwidth scales linearly in terms of both host-to-cache
and cache-to-disk throughput, and the close proximity of cache, processor, and disk is
maintained.
Cache: Flash cache also increases linearly with total memory capacity. Flash cache
drives are not used to expand the disk capacity, but rather to extend the memory
capacity allocated to the caching of read I/Os.
Proportional interface growth: Interface modules house Ethernet and Fibre Channel host
interfaces and are able to access not only the local resources within the module, but also
the entire system. With every interface module added, the system proportionally scales
both the number of host interfaces and the bandwidth to the internal resources.
Constant switching capacity: The internal switching capacity scales proportionally as the
system grows, preventing bottlenecks regardless of the number of modules. This
capability ensures that internal throughput scales proportionally to capacity.
An example of this modular design is located specifically in the interface modules. All six
interface modules actively manage system services and software functions associated with
managing external I/O. Also, three of the interface modules deliver the system’s management
interface service for use with the XIV Storage System.
Figure 2-4 shows how all drives are used evenly by partition units regardless of applications
or the size of assigned logical volumes. The storage administrator does not need to worry
about data placement impact on performance.
To appreciate the value inherent to the virtualization design that is used by the XIV Storage
System, consider the various aspects of the physical and logical relationships that make up
conventional storage subsystems. Specifically, traditional subsystems rely on storage
administrators to plan the relationship between logical structures, such as arrays and
volumes, and physical resources, such as disk packs and drives, to strategically balance
workloads, meet capacity demands, eliminate hotspots, and provide adequate performance.
Snapshots: The XIV snapshot process uses redirect on write, which is more
efficient than the copy on write that is used by many other storage subsystems.
Flash caching: For details about flash caching, see 2.8, “Flash caching
architecture” on page 43, or consult the Redpaper publication, Solid-State Drive
Caching Implementation in the IBM XIV Storage System, REDP-4842.
Partitions
The fundamental building block of a logical volume is known as a partition. Partitions have
the following characteristics on the XIV Storage System:
All partitions are 1 MB (1024 KB) in size.
A partition contains either a primary copy or secondary copy of data:
– Each partition is mapped to a single physical disk:
• This mapping is dynamically managed by the system through innovative data
distribution algorithms to preserve data redundancy and equilibrium. For more
information about the topic of data distribution, see “Logical volume layout on
physical disks” on page 28.
• The storage administrator has no control or knowledge of the specific mapping of
partitions to drives.
– Secondary copy partitions are always placed in a separate module from the one
containing the primary copy partition.
Important: In the context of the XIV Storage System logical architecture, a partition
consists of 1 MB (1024 KB) of data. Do not confuse this definition with other definitions of
the term partition.
The diagram in Figure 2-4 on page 23 illustrates that data is uniformly yet randomly
distributed over all disks. Each 1 MB of data is duplicated in a primary and secondary
partition for redundancy. The system ensures that the primary partition and its corresponding
secondary partition are never located within the same module to protect against a single point
of failure.
Capacity: The initial physical capacity allocated by the system upon volume creation
can be less than this amount, as described in “Logical and actual volume sizes” on
page 38.
Storage pools
Storage pools are administrative boundaries that enable storage administrators to manage
relationships between volumes and snapshots and to define separate capacity provisioning
and snapshot requirements for separate applications or departments. Storage pools are not
tied in any way to physical resources, nor are they part of the data distribution scheme. We
describe storage pools and their associated concepts in 2.6, “Storage pool concepts” on
page 35.
Snapshots
A snapshot represents a point-in-time copy of a volume. Snapshots are like volumes, except
snapshots incorporate dependent relationships with their source volumes, which can be
either logical volumes or other snapshots. Because they are not independent entities, a
particular snapshot does not necessarily wholly consist of partitions that are unique to that
snapshot. Conversely, a snapshot image does not share all of its partitions with its source
volume if updates to the source occur after the snapshot was created.
Distribution table
The distribution table is created at system startup. It contains a map of every primary and
secondary partition and the modules and physical disks where they are located. When
hardware changes occur, a new distribution table is created and delivered to every module.
Each module retains redundant copies of the distribution table.
As described in “Partitions” on page 27, the XIV Storage System architecture divides logical
volumes into 1 MB partitions. This granularity and the mapping strategy are integral elements
of the logical design that enable the system to realize the following features and benefits:
Partitions that make up a volume are distributed on all disks by using a pseudo-random
distribution function, which is described in 2.2.2, “Software parallelism” on page 23:
– The distribution algorithms seek to preserve the equality of access among all physical
disks under all conceivable conditions and volume access patterns. Essentially,
although not truly random in nature, the distribution algorithms in combination with the
system architecture preclude the occurrence of hotspots:
• A fully configured XIV Storage System contains 180 disks, and each volume is
allocated across at least 17 GB (decimal) of capacity that is distributed evenly
across all disks.
• Each logically adjacent partition on a volume is distributed across a separate disk.
Partitions are not combined into groups before they are spread across the disks.
• The pseudo-random distribution ensures that logically adjacent partitions are never
striped sequentially across physically adjacent disks. For more about the partition
mapping topology, see 2.2.2, “Software parallelism” on page 23.
– Each disk has its data mirrored across all other disks, excluding the disks in the
same module.
– Each disk holds approximately one percent of any other disk in other modules.
– Disks have an equal probability of being accessed regardless of aggregate workload
access patterns.
The following information is described in “XIV Storage System virtualization design” on
page 24:
– The storage system administrator does not plan the layout of volumes on the modules.
– If there is space available, volumes can always be added or resized instantly with a
negligible impact on performance.
– There are no unusable pockets of capacity known as orphaned spaces.
When the system is scaled out through the addition of modules, a new data distribution is
created, where just a minimum number of partitions are moved to the newly allocated
capacity to arrive at the new distribution table.
The new capacity is fully used within a few hours and with no need for any administrative
intervention. Therefore, the system automatically returns to a state of equilibrium among
all resources.
If a drive or module fails or is phased out, a new XIV Storage System data distribution is
created where data in non-redundant partitions is copied and redistributed across the
remaining modules and drives.
The system rapidly returns to a state in which all partitions are again redundant because
all disks and modules participate in re-creating the necessary partitions.
XIV multitenancy, introduced in XIV Storage Software v11.5, brings flexibility and simplicity to
management of tenant data and storage resources across multiple XIV systems through
these methods:
Secure division and isolation of XIV storage resources among numerous tenants
Simple, quick delegation of administration tasks and role-based permissions
Simple, rapid deployment without the need for extensive planning and tuning and the
ability to upgrade in the field
Domains
XIV multitenancy is based upon the concept of domains, where an XIV Storage System is
logically partitioned into one or more independent containers, each with its own assigned
administrators. This enables secure isolation form other domains of the logical entities
contained within a domain. A user who is associated with a single domain has no knowledge
of the other domains that exist on the system nor about the pools or volumes associated with
those domains. Domains can be associated with these entities:
Users and user groups
Storage pools (and, inherently, the volumes that they contain)
Hosts and clusters
Remote mirror targets
Note: Although a storage pool (and the volumes it contains) can be associated with only a
single domain, users (and user groups), hosts (and host clusters), and remote mirror
targets can be associated with multiple domains.
From a conceptual perspective, an end user’s interactions (for example, those of a storage
administrator) with the XIV Storage System can be viewed as actions performed upon
objects. Examples of these object/action pairs might include:
Creating a storage pool
Resizing a volume
Mapping a volume to a host
Viewing the properties of a pool or volume
The XIV Storage System uses a role-based access control (RBAC) model to control what
actions a specific system user can perform. The predefined roles available in the system are
discussed in more detail in “User roles” on page 221 and in “LDAP user roles” on page 265.
Note: When considering multitenancy, do not confuse the use of the term domain with a
fully-qualified domain name (FQDN) or directory services domain. In the context of
multitenancy, a domain is simply a logical construct that allows partitioning (logically, not
physically) of XIV Storage System resources.
It is important to understand that the implementation of this domain construct within the XIV
Storage System occurs at the management level. All physical system resources (disks,
CPUs, memory, and interfaces) are shared among domains. As such, domain administrators
do not have the ability to modify physical system resources. However, they can be notified of
events relating to physical system attributes, because these events might affect the objects
within their domain. For example, a domain administrator can be alerted upon the failure of a
drive or the disconnection of an interface link.
Domain creation
The creation of domains within the XIV Storage System is performed by a global storage
administrator, which is a user with the role of storage administrator who is not associated
with any domains. By default, the built-in admin user account is a global storage
administrator.
When creating a domain, the global administrator assigns system resources to that domain.
There are certain resources within the XIV Storage System that have finite limits. Examples
include storage capacity and number of volumes. As such, upon creation of a domain, the
global administrator must determine the quantity of these finite resources to assign to the
domain. For more information about domain creation and the assignment of system
resources to a domain, see 4.8, “Multitenancy” on page 174.
Domain attributes
Domains includes these important characteristics:
A domain is a logical partition of the system’s resources. It represents a subset of the
system’s resources. These resources include, but are not limited to, storage pools, hosts,
mirror targets.
Users can be assigned to zero or more domains. A user assigned to zero domains is
considered a global user and has access to all system resources that are not associated
exclusively with a domain.
A domain restricts the resources that a user can manage. A user can manage only the
parts of the system that are associated with the domains that he or she is associated with,
as depicted in Figure 2-6 on page 32.
The calculation of the net usable capacity of the system consists of the total disk count, less
disk space reserved for sparing (which is the equivalent of one module plus three more
disks). This number is then multiplied by the amount of capacity on each disk drive that is
dedicated to data (98%), and reduced by a factor of 50% to account for data mirroring
achieved by the secondary copy of data.
For example, an XIV Storage System with 15 modules populated with 2 TB disk drives has a
net usable capacity of approximately 161 TB based on the following formula:
The net usable capacity depends on the module configuration and disk drive type. For more
details, see Table 2-1.
Table 2-1 Net usable capacity depends on module configuration and disk drive type (TB, decimal)
Total number of modules 6 9 10 11 12 13 14 15
Net capacity with 2 TB disk 55 88 102 111 125 134 149 161
drives TB TB TB TB TB TB TB TB
Net capacity with 3 TB disk 84 132 154 168 190 203 225 243
drives TB TB TB TB TB TB TB TB
Net capacity with 4 TB disk 112 177 207 225 254 272 301 325
drives TB TB TB TB TB TB TB TB
Net capacity with 6 TB disk 169 267 311 338 382 409 453 489
drives TB TB TB TB TB TB TB TB
Note: The system defines capacity by using decimal metrics. One GB is 1 000 000 000
bytes using decimal metrics. By contrast, 1 GiB is 1 073 741 824 bytes using binary
metrics.
This global spare capacity approach offers advantages over dedicated hot spare drives,
which are used only upon failure and are not used otherwise, therefore reducing the number
of spindles that the system can use for better performance. Also, those non-operating disks
are not typically subjected to background scrubbing processes. In XIV, all disk drives are
operating all the time and are subject to examination, which helps detect potential reliability
issues with drives.
The global reserved space includes sufficient capacity to withstand the failure of a full module
plus three additional disk drives, and still allow the system to create the necessary partition
copies to return to full redundancy.
Tolerance of failures: A fully used system tolerates multiple hardware failures, including
up to an entire module with three subsequent drive failures outside of the failed module. If
the system is less than 100% full, it can sustain more subsequent failures based on the
amount of unused disk space that is allocated in the event of failure as a spare capacity.
For a thorough description of how the system uses and manages reserve capacity under
specific hardware failure scenarios, see 2.10.2, “Preserving data redundancy: Rebuilding
and redistributing” on page 51.
Snapshots: The IBM XIV Storage System does not manage a separate global reserved
space for snapshots. For more about this, see 2.6.3, “Storage pool relationships and rules”
on page 36.
A logical volume is defined within the context of only one storage pool. Because storage
pools are logical constructs, a volume and any snapshots associated with it can be moved to
any other storage pool (within the same domain) if there is sufficient space within the target
storage pool.
As a benefit of the system virtualization, there are no limitations on the associations between
logical volumes and storage pools. In fact, manipulation of storage pools consists exclusively
of metadata transactions and does not trigger any copying of data. Therefore, changes are
completed instantly and without any system performance degradation.
This consistency between the volumes in the group is paramount to maintaining data integrity
from the application perspective. By first grouping the application volumes into a consistency
group, it is possible to later capture a consistent state of all volumes within that group at a
specified point-in-time using a special snapshot command for consistency groups.
The XIV Storage System manages these suspend and resume activities for all volumes within
the consistency group.
The following principles govern the relationships between logical entities within the
storage pool:
An XIV Storage System LUN or logical volume can have multiple independent snapshots.
This logical volume is also known as a master volume.
A master volume and all of its associated snapshots are always in the same storage pool.
A volume can only be part of a single consistency group and a single storage pool.
All volumes of a consistency group must be in the same storage pool.
The space allocated for a storage pool can be dynamically changed by the storage
administrator:
– The storage pool can be increased in size.
– The storage pool can be decreased in size. It is limited only by the space that is used
by the volumes and snapshots that are defined within that storage pool.
The designation of a storage pool as a regular pool or a thinly provisioned pool can be
dynamically changed even for existing storage pools. Thin provisioning is described in 2.7,
“Capacity allocation and thin provisioning” on page 37.
The storage administrator can relocate logical volumes between storage pools without any
limitations, if there is sufficient free space in the target storage pool:
– If necessary, the target storage pool capacity can be dynamically increased before
volume relocation, assuming sufficient deallocated capacity is available in the system.
– When a logical volume is relocated to a target storage pool, sufficient space must be
available for all of its snapshots to be in the target storage pool as well.
Snapshot reserve: The system preemptively deletes snapshots if the snapshots fully
use the allocated space of the storage pool. Therefore, you must ensure that adequate
space is allocated for snapshot reserve when defining a storage pool.
Snapshots are automatically deleted only when there is inadequate physical capacity
available within the context of each storage pool. This process is managed by a snapshot
deletion priority scheme. Therefore, when the capacity of a storage pool is exhausted,
only the snapshots that are in the affected storage pool are deleted in order of the deletion
priority.
Important:
Snapshot deletion occurs automatically and older snapshots will be deleted without
warning whenever a new snapshot is taken and space is insufficient to hold new volume
or snapshot data.
The XIV Storage System implementation of thin provisioning provides these benefits:
Capacity associated with specific applications or departments can be dynamically
increased or decreased per the demand imposed at a specified point in time, without
necessitating an accurate prediction of future needs. Physical capacity is only committed
to the logical volume when the associated applications execute writes, as opposed to
when the logical volume is initially allocated.
The snapshot reserve capacity associated with each storage pool is a soft capacity limit. It is
specified by the storage administrator, although it effectively limits the hard capacity used
collectively by snapshots also.
Tip: Defining logical volumes in terms of blocks is useful when you must precisely match
the size of an existing logical volume on another system.
This value reflects the total size of volume areas that were written by hosts. The actual
volume size is not controlled directly by the user and depends only on the application
behavior. It starts from zero at volume creation or formatting and can reach the logical volume
size when the entire volume has been written. Resizing of the volume affects the logical
volume size, but does not affect the actual volume size.
The actual volume size reflects the physical space used in the volume as a result of host
writes. It is discretely and dynamically provisioned by the system, not the storage
In both cases, the upper limit of this provisioning is determined by the logical size assigned to
the volume:
Capacity is allocated to volumes by the system in increments of 17 GB because of the
underlying logical and physical architecture. There is no smaller degree of granularity than
17 GB. For more information, see 2.4, “Logical system concepts” on page 26.
Application write access patterns determine the rate at which the allocated hard volume
capacity is used and, therefore, the rate at which the system allocates additional
increments of 17 GB, up to the limit defined by the logical volume size. As a result, the
storage administrator has no direct control over the actual capacity allocated to the volume
by the system at any specified point in time.
During volume creation, or when a volume has been formatted, there is zero physical
capacity assigned to the volume. As application writes accumulate to new areas of the
volume, the physical capacity allocated to the volume grows in increments of 17 GB and
can ultimately reach the full logical volume size.
Increasing the logical volume size does not affect the actual volume size.
With a regular pool, the “host-apparent” capacity is guaranteed to be equal to the physical
capacity reserved for the pool. The total physical capacity allocated to the constituent
individual volumes and collective snapshots at a particular time within a regular pool reflects
the current use by hosts because the capacity is dynamically used as required. However, the
remaining unallocated space within the pool remains reserved for the pool and cannot be
used by other storage pools.
In contrast, a thinly provisioned storage pool is not fully backed by hard capacity, meaning
that the entirety of the logical space within the pool cannot be physically provisioned unless
the pool is transformed first into a regular pool. However, benefits can be realized when
physical space consumption is less than the logical space assigned because the amount of
logical capacity assigned to the pool that is not covered by physical capacity is available for
use by other storage pools.
Figure 2-7 on page 40 shows a regular storage pool and a thin pool with these
characteristics:
In the regular pool, the host system sees a 34 GB LUN, a 51 GB LUN, and a 68 GB LUN.
The storage pool size is the total of all three LUNs, which is 153 GB. About 40% of this
storage is used.
In the thin pool, the host system sees the same three LUN sizes, and the total storage pool
size is also 153 GB. The difference is that the total space corresponding to unused
When a storage pool is created using thin provisioning, that pool is defined in terms of both a
soft size and a hard size independently, as opposed to a regular storage pool in which these
sizes are by definition equivalent.
Thin provisioning of the storage pool maximizes capacity use in the context of a group of
volumes, where the aggregate “host-apparent,” or soft, capacity assigned to all volumes
surpasses the underlying physical, or hard, capacity allocated to them. This use requires that
the aggregate space available to be allocated to hosts within a thinly provisioned storage pool
must be defined independently of the physical, or hard, space allocated within the system for
that pool.
Therefore, the storage pool hard size that is defined by the storage administrator limits the
physical capacity that is available collectively to volumes and snapshots within a thinly
provisioned storage pool. The aggregate space that is assignable to host operating systems
is specified by the storage pool soft size.
Regular storage pools segregate the hard space reserved for volumes from the hard space
used by snapshots by limiting the soft space allocated to volumes. However, thinly
provisioned storage pools allow the total hard space to be used by volumes with no guarantee
of preserving any hard space for snapshots.
Logical volumes take precedence over snapshots and can be allowed to overwrite snapshots,
if necessary, as hard space is used. However, the hard space that is allocated to the storage
pool that is unused (the incremental difference between the aggregate logical and actual
volume sizes) can be used by snapshots in the same storage pool.
Thin provisioning is managed for each storage pool independently of all other storage pools:
Regardless of any unused capacity that might be in other storage pools, snapshots within
a storage pool are deleted by the system according to the corresponding snapshot pre-set
priority if the hard pool size contains insufficient space to create an additional volume or
increase the size of an existing volume. (Snapshots are deleted only when a write occurs
under those conditions, and not when allocating more space).
As described in “Thinly provisioned storage pools” on page 39, the storage administrator
defines both the soft size and the hard size of thinly provisioned storage pools and
allocates resources to volumes within a storage pool without any limitations imposed by
other storage pools.
The designation of a storage pool as a regular pool or a thinly provisioned pool can be
dynamically changed by the storage administrator:
When a regular pool needs to be converted to a thinly provisioned pool, the soft pool size
parameter must be explicitly set in addition to the hard pool size, which remains
unchanged unless updated.
When a thinly provisioned pool must be converted to a regular pool, the soft pool size is
automatically reduced to match the current hard pool size. If the combined allocation of
soft capacity for existing volumes in the pool exceeds the pool hard size, the storage pool
cannot be converted. This situation can be resolved if individual volumes are selectively
resized or deleted or moved to another storage pool to reduce the soft space used.
The XIV Storage System architecture allows you to define a global system capacity in terms
of both a hard system size and a soft system size. When thin provisioning is not activated at the
system level, these two sizes are equal to the system’s physical capacity.
There are conditions that can temporarily reduce the system’s hard limit. For more
information, see 2.10.2, “Preserving data redundancy: Rebuilding and redistributing” on
page 51.
The soft system size limits the soft size of all volumes in the system and has the following
attributes:
It is not related to any direct system attribute and can be defined to be larger than the hard
system size if thin provisioning is implemented. The storage administrator cannot set the
soft system size.
Storage pools: If the storage pools within the system are thinly provisioned, but the
soft system size does not exceed the hard system size, the total system hard capacity
cannot be filled until all storage pools are regularly provisioned. Therefore, it is best to
define all storage pools in a non-thinly provisioned system as regular storage pools.
The soft system size is a purely logical limit. However, you must exercise care when the
soft system size is set to a value greater than the maximum potential hard system size. It
must be possible to upgrade the system’s hard size to be equal to the soft size. Therefore,
defining an unreasonably high system soft size can result in full capacity depletion. It is for
this reason that defining the soft system size is not within the scope of the storage
administrator role.
If it is necessary to increase the soft system size beyond the maximum hard system size
for a particular XIV Storage System model, there is a procedure that IBM performs that
can accomplish this task. Contact your IBM Technical Advisor or IBM sales team for more
details.
There are conditions that might temporarily reduce the system’s soft limit. For more
information, see 2.10.2, “Preserving data redundancy: Rebuilding and redistributing” on
page 51.
Important: Upgrading the system beyond the full 15 modules in a single frame is currently
not supported.
Volume locking
If more hard capacity is still required after all the snapshots in a thinly provisioned storage
pool have been deleted, all the volumes in the storage pool are locked, preventing any
additional consumption of hard capacity. There are two possible behaviors for a locked
volume: read only (the default behavior) or no I/O at all. In either case, your applications stop
in a way that is not predictable.
Important: Volume locking prevents writes to all volumes in the storage pool.
The thin provisioning implementation in the XIV Storage System manages space allocation
within each storage pool so that hard capacity depletion in one storage pool never affects the
hard capacity available to another storage pool. There are both advantages and
disadvantages:
Because storage pools are independent, thin provisioning volume locking on one storage
pool never cascades into another storage pool.
Hard capacity cannot be reused across storage pools, even if a certain storage pool has
free hard capacity available. This limitation can lead to a situation where volumes are
locked because of the depletion of hard capacity in one storage pool while there is
available capacity in another storage pool. It is still possible for the storage administrator to
intervene to redistribute hard capacity.
With flash caching, as illustrated in Figure 2-8 on page 44, there is no need to relocate data.
Because flash cache is used as read cache only, when data in cache is no longer accessible,
it can simply be dropped and replaced by more relevant data.
This approach allows for the flash cache to be used effectively in highly dynamic
environments where data patterns are constantly changing. To have a holistic solution, the
caching architecture must also deliver good write performance.
The caching algorithm is embedded in the XIV System software (firmware) and makes the
flash cache integration completely transparent to the user or storage administrator. No tuning
of the cache is required to get the potential performance boost.
The flash caching feature is supported automatically by the XIV unique caching algorithm,
which dynamically adapts to detected I/O request patterns.
Flash caching: For more details about flash caching, see the Redpaper publication,
Solid-State Drive Caching Implementation in the IBM XIV Storage System, REDP-4842.
A flash cache map is built as read misses occur in the DRAM cache. The process, known as
flash cache learning, is depicted in Figure 2-9 on page 45.
The cache node immediately checks the extended cache for the requested I/O. If the
requested I/O exists in the extended flash cache, it is served to the host through the main
cache. The I/O operation is now complete and is recorded as a flash cache read hit.
If the operation results in a true read miss (not in the DRAM cache and not in extended flash
cache), the request is forwarded in an unmodified state to the disk drive (SAS layer). The I/O
is retrieved from the disk drive and served to the host through the main cache. From a host
perspective, the I/O operation is now complete and is recorded as a read miss. The related
pages are copied into reserved buffers in the main cache.
Important: Any read larger than 64 KB bypasses the extended flash cache.
When the buffer reaches 512 KB, it is written sequentially to the flash cache as a
log-structured write. This method helps to prolong the life of the flash cache.
Note: The XIV is able to retain the data in the flash cache between system restarts and
code upgrades.
XIV Storage System Software Version 11.2 introduced improved flash caching algorithms,
which provide a performance boost of up to 4.5 times over systems without flash cache for
random database-type workloads. This boost is accomplished by storing and computing all
flash cache-related data integrity checking tasks in DRAM rather than on the flash cache.
For more information, see the IBM Redpaper, XIV Security with Data-at-Rest Encryption,
REDP-5047.
For more information about the XIV Storage System parallel modular architecture, see 2.2,
“Parallelism” on page 21.
Availability
The XIV Storage System maximizes continuous operation and minimizes the performance
degradation associated with nondisruptive planned and unplanned events, while providing the
capability to preserve the data in a disaster.
High reliability
The XIV Storage System not only withstands individual component failures by quickly and
efficiently reinstating full data redundancy, it also monitors permanently and phases out
individual components before data redundancy is compromised. We describe this in
“Proactive phase out and self-healing mechanisms” on page 58. The collective high-reliability
provisions incorporated within the system constitute multiple layers of protection from
unplanned outages and minimize the possibility of related service actions.
Maintenance freedom
Although the potential for unplanned outages and associated corrective service actions are
mitigated by the reliability attributes inherent in the system design, the XIV Storage System
autonomic features minimize the need for storage administrators to conduct non-preventative
maintenance activities that are purely reactive in nature. This is done by adapting to potential
issues before they are manifested as a component failure. The continually restored
redundancy, along with the self-healing attributes of the system, effectively enable
maintenance activities to be decoupled from the instigating event (such as a component
failure or malfunction) and safely carried out according to a predefined schedule.
The modular system design also expedites the installation of any replacement or upgraded
components, while the automatic and transparent data redistribution across all resources
eliminates the downtime, even in the context of individual volumes, associated with these
critical activities.
High availability
The rapid restoration of redundant data across all available drives and modules in the system
during hardware failures, and the equilibrium resulting from the automatic redistribution of
data across all newly installed hardware, are fundamental characteristics of the XIV Storage
System architecture. These capabilities minimize exposure to cascading failures and the
associated loss of access to data.
Consistent performance
The XIV Storage System can adapt to the loss of an individual drive or module efficiently and
with relatively minor impact compared to monolithic architectures.
A controller failure in a typical N+1 system results in a dramatic (up to 50%) reduction of
available cache, processing power, and internal bandwidth. Conversely, the loss of a module
in the XIV Storage System translates to only 1/15th of the system resources and does not
compromise performance nearly as much as the same failure with a typical architecture.
The XIV Storage System also incorporates innovative provisions to mitigate isolated
disk-level performance anomalies through redundancy-supported reaction. This is described
in “Redundancy-supported reaction” on page 59. Also see “Flexible handling of dirty data” on
page 59.
Disaster recovery
Enterprise class environments must account for the possibility of the loss of both the system
and all of the data as a result of a disaster. The XIV Storage System includes the provision for
remote mirror function as a fundamental component of the disaster recovery strategy. For
more information about the remote mirror function in XIV, see IBM XIV Storage System
Business Continuity Functions, SG24-7759.
Because of the XIV Storage System grid topology, a system shutdown event essentially
entails the graceful shutdown of all modules within the system. Each module can be thought
of as an independent entity that is responsible for managing the destaging of all data in cache
that has not already been written to the disk drive. The data in cache that must be written to
disk within each module consists of equal parts primary and secondary copies of data, but
never contains both primary and secondary copies of the same data.
Destage: The system memory space is reserved for write operations. However, the
proximity of the cache and the disk drives, with the enforcement of an upper limit for data
that has not been destaged and is enforced on a per-drive basis ensures that the full
destage process occurs while operating under battery power.
Important: The extended flash cache layer is non-volatile memory, and all data in flash
cache is protected for either scheduled or non-scheduled system shutdown. The XIV
Storage System does not use flash cache for write. All write I/Os are staged and mirrored
out of main cache (DRAM layer) only. The writes are flushed from main cache to the disk
drive layer as part of the normal write destaging. However, on shutdown, the primary
cache (DRAM) related metadata is dumped to the flash cache. Upon the next XIV startup,
the metadata is read back and validated for correctness.
For more information, see the Redpaper publication, Solid-State Drive Caching
Implementation in the IBM XIV Storage System, REDP-4842.
Important: If there is a complete power loss in the data center, the XIV automatically
powers up when power is reapplied. If this is not the behavior you want, contact IBM
technical support to learn how to disable this feature.
When a disk drive or a module is replaced during normal maintenance, or additional data
storage capacity is added to an existing XIV System configuration, the XIV System moves
existing primary and secondary data partitions to the new hardware. This process occurs in
such a way that results in an even distribution of partitions across all disk drives and modules.
At no time during this process does the XIV System become non-redundant. This distribution
process consists of the following activities:
Creation of a target data distribution
Initiation of the redistribution of the redundant data according to the new target data
distribution, known as redistribution
When the full redundancy of data is compromised because of a disk drive or module failure,
the XIV Storage System immediately identifies the non-redundant partitions and begins the
rebuild process. The rebuild process is similar to the redistribution process, and consists of
the following activities:
Creation of a target data distribution
Copying of the non-redundant partitions and writing them according to the new target
distribution, known as rebuilding
Simultaneously initiation of the redistribution of the redundant data according to the new
target data distribution, known as redistribution
Note: After an XIV Storage System component failure, rebuild and redistribution begin
immediately and at the same time.
The sections that follow describe XIV data rebuild and redistribution.
Note: XIV Storage System Software Version 11.2 introduced enhancements that
significantly reduce rebuild times by as much as 50% over previous versions. An enhanced
algorithm, designated as disk Quality of Service (QoS) introduced in v 11.5.1 has further
improved rebuild times by introducing a mechanism that allows doing more rebuild (and
scrubbing) IOPS at times when the system is not under stress (see Figure 2-13 on
page 54).
Table 2-2 shows both the disk and module rebuild times for a fully allocated 15 module
XIV Storage System (Version 11.3) under significant workload.
Table 2-2 Rebuild times for a 15 module Gen3 XIV Storage System running software Version 11.3
Rebuild type 2 TB drives 3 TB drives 4 TB drives
Important: Table 2-2 illustrates the rebuild times that are possible with XIV under load.
Actual rebuild times depend on several factors:
Numbers of modules
Type of failure (disk or module)
Host-generated workload
Amount of data written to the system
The rebuild times that you experience in your environment depend on these factors.
To illustrate this rebuild scenario, we purposely failed module 13, as shown in Figure 2-12 on
page 53. Notice the status bar in the lower-right corner of the GUI that shows the completed
percentage of the rebuilding progress. The percentage completed is in light green and is
reported in our example as 30% complete. The percentage that is yet to be completed is in
yellow. Remember that the redistribution process is also running, even though the
XIV Storage Management GUI reports only the rebuilding.
If there is a disk failure in a fully configured XIV Storage System, there are 168 disks reading
because there is no data that is not redudant on the other disks within the same module as
the failed disk. Concurrently, there are 179 disks writing to preserve full data distribution.
If there is a module failure, the copies of non-redundant data are read from all of the
remaining modules in the system because none of the disks within a particular module
contain the secondary copies of data on any of the disks in the module. Therefore, during a
rebuild that results from a module failure in a fully configured XIV Storage System, there are
168 disks (180 disks in the system minus 12 disks in a module) reading and 168 disks writing,
concurrently.
The XIV Storage System rebuild process has the following characteristics:
The rebuild of data is many times faster than conventional RAID array rebuilds and can
complete in a short period for a fully provisioned system:
– Statistically, the chance of exposure to data loss or a cascading hardware failure is
minimized because of both the short rebuild time required and the low I/O workload
imposed on any particular disk.
The XIV Storage System rebuilds only actual data. The number of drives participating in
the rebuild is about 20 times greater than in most average-sized conventional RAID arrays.
By comparison, the array rebuild workload is greatly dissipated, greatly reducing the
relative impact on host performance:
– In a conventional RAID array, the whole disk is re-created which often includes unused
space.
– Conventional RAID array rebuilds place many times the normal transactional load on
the disks and substantially reduce effective host performance.
Important: If an XIV Gen3 storage system is equipped with flash cache, the flash
cache does not participate in the rebuild process because flash cache is only used as
extended read cache. Therefore, the most recent written data must be taken from the
disk drives.
For the same reason, a flash cache device failure does not initiate a rebuild or
redistribution process.
For details, see 2.8, “Flash caching architecture” on page 43, or consult the Redpaper
publication, Solid-State Drive Caching Implementation in the IBM XIV Storage System,
REDP-4842.
In the redistributing phase, the XIV Storage System data partitions (both primary and
secondary copies) continue to be rearranged into the new optimized pseudo-random target
distribution. Redistribution is a low-priority self-tuning process. Notice the status bar in the
lower-right corner of the XIV Storage Management GUI in Figure 2-14, which shows the
progress of the redistributing process. The percentage complete is in bright green and the
percentage that is yet to be complete is in light green.
The flash cache degraded module continues to serve reads from its DRAM cache and large
sequential reads from disk. All small read misses are redirected to the secondary partition
copies, which are on modules with functioning flash cache. This behavior evenly distributes
the extended flash caching duties of the module with the failed flash device to all other
modules, therefore balancing the use of the remaining extended flash cache across all
modules.
There is no rebuild or redistribution of data as a result of a flash device failure. All the primary
partitions on the module with the failed flash device remain the primary partition. But because
of the reduced extended flash cache, the specific module limits its caching duties.
The XIV Storage System data distribution has the following characteristics:
The redistribution process is triggered by the phase in of a new drive or module and differs
from a rebuild or phase out in the following ways:
– The system does not need to create secondary copies of data to reinstate or preserve
full data redundancy.
– The concentration of data on each physical disk decreases.
The redistribution is dependent on the writing capabilities to the new drive or module:
– When a replacement module is phased in, there are 168 disks reading and 12 disks
writing concurrently. Therefore, the time to completion is determined by the data
throughput to the replacement module. Because the read frequency to the existing
disks due to the redistribution process is low, a low impact on host performance during
the process is guaranteed.
– When a replacement disk is phased in, there are concurrently 179 disks reading and
only one disk writing. In this case, the new drive determines the achievable throughput
of the redistribution process. Again, the impact on host transactions is small and not
noticeable.
When sufficient deallocated hard capacity is available, the system withholds allocating
reserve spare space to complete the rebuild or phase-out process to provide additional
protection. As a result, it is possible for the system to report a maximum soft size that is
temporarily less than the allocated soft capacity. The soft and hard system sizes do not revert
to the original values until a replacement disk or module is phased in, and the resulting
redistribution process is completed.
Disaster recovery
All high availability SAN implementations must account for the contingency of data recovery
and business continuance following a disaster, as defined by the organization’s recovery
point and recovery time objectives. The provision within the XIV Storage System to efficiently
and flexibly create nearly unlimited snapshots, coupled with the ability to define consistency
groups of logical volumes, constitutes integral elements of the data preservation strategy. In
addition, the XIV data mirroring function facilitates excellent potential recovery point and
recovery time objectives as a central element of the full disaster recovery plan. For more
information, see IBM XIV Storage System Business Continuity Functions, SG24-7759.
In real systems, the failure rate is not constant over time, but rather increases with service life
and duty cycle. By actively gathering component statistics to monitor this trend, the system
ensures that components do not operate under conditions beyond an acceptable threshold of
reliability and performance. Therefore, the XIV Storage System self-healing mechanisms
increase the already high level of availability of the system even further and also safeguard
critical operations, such as a rebuild from further component failures.
Total cost of ownership (TCO) is an important advantage of the XIV Storage System. The
self-healing mechanisms make service actions less frequent. When service actions are
necessary to replace drives or modules, the XIV has already automatically undergone rebuild
and redistribution tasks to adapt to the changing configuration. After component replacement,
the XIV Storage System automatically absorbs the new hardware into the new configuration.
The XIV Storage System leads the industry in the amount of time that is required to adapt to
the new configurations. All of these provisions together minimize maintenance time and costs
and are key to the low TCO of the XIV.
Disk scrubbing
The XIV Storage System maintains a scrubbing algorithm that runs continuously as a
background process scanning all disks for checksum errors. It assures data integrity by
alerting corrective actions before user data becomes compromised.
Therefore, redundancy is not only implemented as part of the basic architecture of the
system, but it is also continually monitored and restored as required. In summary, the data
scrubbing process has the following attributes:
Verifies the integrity and redundancy of stored data, even across mirrors
Enables early detection of disk errors and their early recovery
Runs as a background process on each module and all disks simultaneously
Zeroes out partitions that are not allocated to the user data space
However, as implemented in XIV Storage System, the SMART diagnostic tools, coupled with
intelligent analysis and low tolerance thresholds, provide an even greater level of refinement
of the disk behavior diagnostic tests and the performance and reliability driven reaction. For
example, the XIV Storage System measures the specific values of parameters including, but
not limited to these possibilities:
Reallocated sector count: If the disk encounters a read or write verification error, it
designates the affected sector as “reallocated” and relocates the data to a reserved area
of spare space on the disk. This spare space is a parameter of the drive and is not related
in any way to the system reserve spare capacity that is described in “Global spare
capacity” on page 34.
Disk temperature: The disk temperature is a critical factor that contributes to premature
drive failure and is constantly monitored by the system.
Raw read error : The raw read error count provides an indication of the condition of the
magnetic surface of the disk platters and is carefully monitored by the system to ensure
the integrity of the magnetic media itself.
Spin-up time: The spin-up time is a measure of the average time that is required for a
spindle to accelerate from zero to 7200 rpm. The XIV Storage System recognizes
abnormal spin-up time as a potential indicator of an impending mechanical failure.
Likewise, for additional early warning signs, the XIV Storage System continually monitors
other aspects of disk-initiated behavior, such as spontaneous reset or unusually long
latencies. The system intelligently analyzes this information to reach crucial decisions
concerning disk deactivation and phase out. The parameters involved in these decisions
allow for a sensitive analysis of the disk health and performance.
Redundancy-supported reaction
The XIV Storage System incorporates redundancy-supported reaction, which is the provision
that uses the distributed redundant data scheme by intelligently redirecting reads to the
secondary copies of data. This extends the system’s tolerance of above-average disk service
time when accessing primary data locations. The system reinstates reads from the primary
data copy when the transient degradation of the disk service time has subsided. A
redundancy-supported reaction might be triggered by an underlying potential disk error that is
ultimately managed autonomically by the system according to the severity of the exposure, as
determined by ongoing disk monitoring.
The code upgrade is run on all modules in parallel and the process is fast enough to have no
impact on host applications.
No data migration or rebuild process is allowed during the upgrade. Mirroring, if any, is
suspended during the upgrade and automatically reactivated upon completion.
Storage management operations are also not allowed during the upgrade, although the status
of the system and upgrade progress can be queried. It is also possible to cancel the upgrade
process up to a point of no return.
The NDCL does not apply to specific component’s firmware upgrades (for example, module
basic input/output system (BIOS) and host bus adapter (HBA) firmware). These components
require a phase in/phase out process of the impacted modules.
Note: Starting from Release 11.3, hot firmware upgrade is supported for certain Unified
System Management (USM), SAS disk, and flash cache components. For details, contact
your IBM technical support.
After flash cache is inserted into the XIV modules and enabled, it is immediately ready for use
by the XIV software. Depending on the use profile, it can help improve performance.
There are two machine types associated with the XIV Storage System: the 2810 and the
2812. Both machine types have the standard warranty period. IBM XIV systems with a
machine type 2810 have a one-year warranty and ones with a machine type of 2812 have
three-year warranties.
The XIV Gen3, shown in Figure 3-1, is a scalable enterprise storage system based on a grid
array of hardware components. The architecture offers the highest performance through
maximized and balanced use of all disks, a true distributed cache implementation that
produces exceptional performance. It also offers superior reliability through its distributed
architecture, redundant components, self-monitoring, and self-healing attributes.
Figure 3-1 IBM XIV Storage System Gen3: Front and rear views
Rack IBM T42 42U IBM T42 42U IBM T42 42U
All Modules Intel Quad core CPU Intel Six core CPU Intel Six core CPU
24 GB DDR memory 48 GB DDR3 1.3 GHz memory 48 GB DDR3 1.3 GHz memory
12x SAS drives 12x SAS drives 12x SAS drives
2x Redundant Power 2x High Efficient. Power Supplies 2x High Efficient. Power Supplies
Supplies/module 2U 2U
2U
Interface In addition to data module: In addition to data module: In addition to data module:
Module - 2x iSCSI Port on Module 4 - 2x iSCSI Port on Module 4 - 2x iSCSI Ports 10 GbE
- 4x iSCSI Ports on active Modules - 4x iSCSI Ports on active Modules
- 4x 8 Gbps FC ports - 4x 8 Gbps FC ports - 4x 8 Gbps FC ports
All XIV Gen3 hardware components are delivered preinstalled in a standard IBM T42 19-inch
rack. Data and interface modules provide the processing, caching, and storing of data. All
modules can be considered data modules in that they each contain a processor, memory,
and 12 serial-attached SCSI (SAS) drives. The SAS drives can be 2 TB and 3 TB. The
SAS-SED drives can be 2 TB, 3 TB, 4 TB, or 6 TB. The interface modules are data modules
but with more capabilities. The interface modules have unique software and hardware that
provide Fibre Channel and IP network Small Computer System Interface (iSCSI) host
connectivity.
The bottom of the rack contains three uninterruptible power supplies (UPSes) that supply
power to all XIV Storage System components. They also provide enough battery backup
power for emergency shutdown if main power is lost for more than 30 seconds.
A maintenance module and two InfiniBand switches are installed near the middle of the rack,
just above module 6. The InfiniBand network provides redundant and fast communication
paths between the modules. This grid network ensures communication between all modules
even if one of the switches or a cable connection fails. It also provides the capabilities for
parallelism and the execution of a data distribution algorithm that contributes to the
performance of the XIV Storage System.
All cabling between the modules and switches, including the internal power connections, are
fully redundant using two sets of cables. All cables use industry standard plugs. The XIV rack
comers precabled for all 15 modules even if smaller configuration is ordered.
Because each module in Model 214 contains up to 48 GB of memory (in the 4 TB disk
configuration), a full rack contains up to 720 GB of memory that can be used to handle host
read and write I/O requests (Model 114 has up to 24 GB installed per module, which equates
to 360 GB for the full rack). The SSD extended caching option adds 400 GB of read cache
capacity to each module, for a total of 6 TB in a fully populated configuration (15 modules). In
the 4 TB or 6 TB version of the Model 214, the flash cache option can be ordered in 800 GB
of read cache capacity to each module, for a total of 12 TB in a fully populated configuration
(15 modules).
Summary:
Each interface module of the XIV Gen3 Model 114 contains four 8 Gbps Fibre Channel
ports and one 4-port 1 GbE adapter, except interface module 4, which has only two
iSCSI ports.
Each interface module of the XIV Gen3 Model 214 (1 GbE) contains four 8 Gbps Fibre
Channel ports and one 4-port 1 GbE adapter, except interface module 4, which has
only two iSCSI ports.
Each interface module of the XIV Gen3 Model 214 (10 GbE) contains four 8 Gbps Fibre
Channel ports and one 2-port 10 GbE adapter.
Different size drives cannot be intermixed within the same IBM XIV Storage System.
The SSD Caching extension is also available with partially populated configurations. The
SSD extension is required for each module present in the partial configuration.
In Figure 3-2, certain interface modules are labeled Disabled. This label means that the
interface module is not running the special software that characterizes an interface module
and the host interface adapters are not functional. They still function as data modules. As
modules are added to the XIV Storage System configurations, these interface modules
become Enabled from an interface perspective.
Certain partial rack configurations do not use all host attachment interface ports even though
they might be physically present. The interface ports are activated automatically as more
modules are added to the system.
Details about these configuration options and the various capacities, drives, ports, and
memory are provided in Figure 3-2.
Rack Configuration
Total number of modules 6 9 10 11 12 13 14 15
(Configuration type) partial partial partial partial partial partial partial full
Interface module 9 state Disabled Disabled Enabled Enabled Enabled Enabled Enabled
Interface module 8 state Enabled Enabled Enabled Enabled Enabled Enabled Enabled
Interface module 7 state Enabled Enabled Enabled Enabled Enabled Enabled Enabled
Interface module 6 state Disabled Disabled Disabled Disabled Disabled Enabled Enabled Enabled
Interface module 5 state Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled
Interface module 4 state Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled
FC ports 8 16 16 20 20 24 24 24
Usable capacity (1 / 2 / 3 / 4 / 6 TB ) 28 TB 44 TB 51 TB 56 TB 63 TB 67 TB 75 TB 81 TB
55 TB 88 TB 102 TB 111 TB 125 TB 134 TB 149 TB 161 TB
84 TB 132 TB 154 TB 168 TB 190 TB 203 TB 225 TB 243 TB
112 TB 177 TB 207 TB 225 TB 254 TB 272 TB 301 TB 325 TB
169 TB 267 TB 311 TB 338 TB 382 TB 409 TB 453 TB 489 TB
# of CPUs (one per Module) 6 9 10 11 12 13 14 15
Memory (24 GB per module w 1/2/3 TB) 144 GB 216 GB 240 GB 264 GB 288 GB 312 GB 336 GB 360 GB
Memory (48 GB per module w 4/6 TB) 288 GB 432 GB 480 GB 528 GB 576 GB 624 GB 672 GB 720 GB
{Optional for 1, 2 ,3, 4, 6 TB XIVs} 400 GB Flash 2.4 TB 3.6 TB 4.0 TB 4.4 TB 4.8 TB 5.2 TB 5.6 TB 6.0 TB
Cache
{Optional for 4, 6 TB XIVs} 800 GB Flash Cache 4.8 TB 7.2 TB 8.0 TB 8.8 TB 9.2 TB 10.4 TB 11.2 TB 12.0 TB
Power (kVA) - Model 281x-214 / with SSD 2.5 / 2.6 3.6 / 3.9 4.0 / 4.3 4.3 / 4.6 4.7 / 5.09 5.0 / 5.4 5.5 / 5 .8 5.8 / 6.2
CoD means that an XIV Storage System Gen3 can be ordered with a certain amount of
authorized storage capacity, as well as extra storage capacity that is not intended to be used
initially and will be purchased later as this additional storage is allocated to XIV Storage
System storage pools.
IBM is alerted that this storage is being used and an invoice is generated to authorize the use
of this additional storage. This situation is referred to as purchasing a module activation
feature. The XIV sends reports to IBM about allocated storage through the Call Home feature
(modem or email), and IBM invoices clients if licensed capacity is exceeded. An XIV Storage
System that is in the CoD program must be able to call home to IBM. (This is mandatory.)
The advantage of CoD is that storage purchases can be deferred until the storage capacity is
needed. There is a small price premium associated with purchasing CoD storage over the
traditional way of paying for all storage capacity in the whole configuration up front. It is
common for clients to stay in the XIV Capacity on Demand program until the XIV Storage
System configuration has reached nine modules and then switch to purchasing normal
(non-CoD) modules to further expand the capacity of the XIV Storage System. Switching from
a CoD configuration to a non-CoD configuration is allowed, but then you cannot later
purchase more CoD capacity.
The most important aspect of all CoD configurations is that the system is delivered with the
same hardware configuration as the non-CoD system. All modules are active. The XIV uses
the performance capabilities of all the disk drives in the configurations, purchased storage,
and CoD de-allocated and unpurchased storage.
Benefit: All CoD configurations are delivered with the same hardware as a full system, and
all modules and all ports are active. The restriction is only on the capacity that you can use.
This scenario means that data is initially distributed over all of the drives in the XIV Storage
System configuration. There are no restrictions on the normal functions. The full performance
capacity of all modules in the rack is used, even though some of the modules are unused
CoD modules.
The basic configuration rule to keep in mind about the XIV Storage System Gen3 CoD
program is that there can be only up to three de-allocated CoD modules in the configuration.
This configuration means that every valid CoD configuration always has one, two, or three
de-allocated CoD modules in the configuration.
There are several considerations for Model 114 and Model 214 CoD configurations:
The minimum CoD system configuration is six modules. This configuration requires a
minimum of three and a maximum of five CoD activation features (between three and five
modules are already purchased and between one and three modules are available
for purchase).
Figure 3-3 on page 68 shows an example of the valid capacities in decimal TB of an XIV
Storage System Gen3 with 2 TB drives. The table shows that the capacity per CoD activation
varies depending on the exact configuration.
For example, a machine with 10 physical modules has 102.6 TB of usable capacity. If the
client purchased seven activations, they can use 71.82 TB of that 102.6 TB. With each extra
activation, the client could use an extra 10.26 TB of usable capacity. If they purchase a total
of 10 activations without purchasing any extra physical modules, they exit the CoD program
and are able to use all of the 102.6 TB. If they instead purchase one more activation (for a
total of eight) and one more physical module (for a total of 11), they are able to use 81.091 TB
of 111.5 TB of usable capacity. Each extra activation now buys 10.136 TB.
Figure 3-3 CoD capacities for an XIV Storage System Gen3 with 2 TB drives
Figure 3-4 shows an example of the valid capacities in TBs of an XIV Storage System Gen3
with 3 TB drives.
Figure 3-4 CoD capacities for an XIV Storage System Gen3 with 3 TB drives
Figure 3-5 CoD capacities for an XIV Storage System Gen3 with 4 TB drives
Figure 3-6 shows an example of the valid capacities in TBs of an XIV Storage System Gen3
with 6 TB drives.
Figure 3-6 CoD capacities for an XIV Storage System Gen3 with 6 TB drives
For details and official terms of the offer, see the IBM Announcement Letter Number 314-041
about IBM System Storage Advanced System Placement:
http://ibm.co/ZF5O5J
This acquisition program serves a highly flexible way to provide XIV storage. It is available for
new and current IBM clients and is ideal for cloud service providers. It is also a good fit for
clients with rapidly growing storage requirements who need highly flexible ways to add
storage.
Advanced System Placement might be good to consider for clients who meet one or more the
following situations:
Clients who buy more than 160 TB of usable capacity per year
Clients with unpredictable growth needs who are not sure when they will need the extra
capacity and would like to defer payment
Clients about to launch a major new application
Clients who are acquiring another company
Clients who are deploying private clouds
Client who expect a new contract or client
The acquisition is simple. IBM installs a full system with partial payment, based on initial use.
When use and capacity requirements grow, there is no need for hardware configuration
changes or intervention from an IBM sales support representative nor any key activation. In
contrast to the CoD program, Advanced System Placement does not require detailed
capacity monitoring. It also provides the ability to run several parallel ASP tracks for multi-site
data centers and client needs. Clients sign a contract for standard a one-year fixed term.
A financed version of the ASP program is available through IBM Global Financing. By
combining this program with a hardware lease program, payments become predictable and
manageable. The offering can be proposed as a capital acquisition model or, in many cases,
as an operating expense (Opex model), with payments spread over 36 months (60% stepping
up to 100% or no payments stepping up to 100%).
For each agreement, there may be one initial machine and any number of additional
machines called “subsequent machines” that are acquired one at a time. There is no limit to
the number of agreements that the client may have in place at any one time.
Figure 3-7 on page 71 depicts a one-year acquisition model. IBM installs a fully populated
15-module XIV system with partial payment (60% of total price) based on initial use. The
client gets full XIV performance from the first day. Depending on client growth rates and
service level agreement (SLA), IBM procures subsequent systems in advance of client
needs, typically at 70% use.
IBM charges one US dollar for initial invoices for the second system and the remaining 40%
charges for the first machine. In the same manner, IBM will deliver one additional system
whenever the previous machine reaches the expansion threshold (70% use, in this example)
and charges the one US dollar initially for the additional system. At that time, the client must
Important: Remember that with ASP, the capacity increments are full systems: 161 TB,
243 TB, 325 TB, or 489 TB.
The program supports the XIV Storage System machine type 2810 or 2812 and model 214
and later.
One Agreement consists of an initial machine and any number of subsequent machines.
There is no limit to the number of subsequent machines that a client may have under an
agreement, but the agreements must be acquired one at a time.
Client pays for By XIV module increment: ~10, 16, or Buys full XIV system, payment split
capacity used 22 TB. Consumption determined last into 2 parts. Second invoice is either
day of each month. when use > 70% or at the end of the
period.
Minimum capacity Initial system as small as 27 TB, Full XIV systems only: 161 TB, 243
purchased increments of XIV activated modules TB, 325 TB, or 489 TB.
(10, 16, 22 TB). Standard config is 3
extra modules (can RPQ more).
Acquired Purchase or lease XIV system with CoD Purchase or lease full XIV system
modules under CoD contract. under ASP contract.
Sold through IBM direct and Business Partner sales, IBM direct and Business Partner sales
purchase or lease (IGF) (IGF lease only)
XIV Cloud Storage for Service Providers features are optimized for cloud services and offer
the following advanced function licenses for purchase as needed (see Figure 3-8 on
page 73):
Efficiency: Flash caching
Elasticity: HyperScale mobility
Security: Encryption
Continuity: Mirroring
Clients with fewer than three optional features may add features. Clients with three optional
features will automatically receive the full set of components, after which there will be no need
to order other optional components.
XIV Cloud Storage for Service Providers license requires one IBM XIV Storage System Gen3
machine type 2810-214 or 2812-214 (full systems: 6 interface modules, 9 data modules, and
feature number 0815 are required) in any of the validly recordable configurations.
3.1.6 XIV Storage System Model 114 and Model 214 hardware components
The system architecture of the XIV Storage System is designed, wherever possible, to use
off-the-shelf components (except for the Automatic Transfer Switch (ATS)) that are not
dependent upon specifically designed hardware or proprietary technology. This architecture
is optimized for flexibility so that as newer and higher performing components are made
available in the marketplace, development is able to incorporate this newer technology into
the base system design at a faster pace than was traditionally possible. The following
sections describe the hardware components that build up the XIV Storage System.
For more detailed planning information, see 3.2, “Hardware planning overview” on page 94.
Also see the IBM XIV Storage System Planning Guide. The latest version is available in both
PDF format and HTTP format in the IBM XIV Storage System documentation in the IBM
Knowledge Center (IBM XIV Storage System > IBM XIV Gen3 281x-11x and 281x-21x >
Planning):
http://publib.boulder.ibm.com/infocenter/ibmxiv/r2/index.jsp
All XIV Storage System Gen3 configurations include the following components:
Rack
Power components
Data modules and interface modules
InfiniBand module interconnect
Patch panel
Support hardware
3.1.7 Rack
All of the XIV Storage System hardware components are installed in an IBM T42 rack, as
shown in Figure 3-9. Adequate space is provided to house all components and to properly
route all cables. The rack door and side panels can be locked with a key to prevent
unauthorized access to the installed components. This XIV Gen3 rack security kit is available
by ordering RPQ 8S1190.
The XIV Storage System Gen3 rack should be considered a dedicated unit for XIV Storage
System. Spare space within the rack cannot be used for other equipment.
Rack space: Unused rack space cannot be used for other purposes.
Installation of the required floor hardware and the earthquake resistance kit is disruptive. If
the earthquake resistance kit is installed on an existing XIV Storage System, the XIV Storage
System must be turned off and temporarily moved while the floor is prepared and the kit is
installed.
The rack tie downs are intended for securing a frame weighing 1134 kg (2500 lbs) per rack.
These tie downs are designed to secure the rack on either a non-raised floor or a raised floor
installation.
IBM has made every effort to conduct limited tests, but not all situations are tested, and the
drawings and data are provided on an as is basis, with no warranty of any kind, express or
implied. Rather, IBM has provided the information to help procure the parts needed. You can
either install the design or request IBM to install the design as a service.
For more details, see the IBM XIV Storage System Gen3 Models 281x-11x and 281x-21x
Planning Guide, SC27-5412.
The XIV Storage System Gen3 rack that is installed with this option can be on a raised floor
or a non-raised floor. The required planning for the rear-door heat exchanger is extensive.
Details can be found in the IBM XIV Storage System Planning Guide, SC27-5412.
Also, if this feature is ordered, the IBM SSR can also remove the rack top cover to reduce the
rack total height to help with moving the rack through low clearance obstacles.
Power consumption
Table 3-4 lists the power consumption of the XIV Gen3 module configurations. The
measurements were taken in an environment with a room temperature of 25° C (77° F).
Thermal dissipation
Table 3-5 indicates the cooling (thermal dissipation) requirements for a 15-module rack. To
support capacity upgrades, the installation site must provide cooling capacity to support
full-rack configurations.
For the latest and most accurate information, see the IBM XIV Storage System Gen3 Models
281x-11x and 281x-21x Planning Guide, SC27-5412:
The floor must be able to withstand the weight of a fully configured XIV Storage System
Gen3, which is 1040.8kg (2295 lb.). For racks with fewer than 15 modules, subtract
28.6 kg (63 lb.) for each module less than 15 to get the approximate weight requirement
for your rack.
Adequate cooling is required for the XIV Storage System Gen3 configuration ordered.
Enough clearance around the system must be left for cooling and service. The thermal
dissipation of a fully configured XIV Storage System Gen3 Model 114 with 2 TB drives is
22.7 kBTU/hour and 24 kBTU/hour with 3 TB drives. The thermal dissipation of a fully
configured XIV Storage System Gen3 Model 214 with 2 TB drives is 19 kBTU/hour,
20.1 kBTU/hour with 3 TB drives, 20.5 kBTU/hour with 4 TB drives and 6 TB drives.
Airflow is from front to back.
Building features, such as any ramps, elevators, and floor characteristics, must also
be considered.
The following measurements in Figure 3-10 are provided for your convenience.
Power redundancy
To prevent the complete rack or single components from failing because of power problems,
all power components in the XIV Storage System are redundant:
Important: When connecting the XIV Storage System to a 30 A power source, ensure that
the facility circuit breakers can handle the inrush currents and differing power loads. For
example, D-Curve type breakers provide higher tolerances to allow temporary loads to flow
without tripping the facility circuit. Locations in Europe, Middle East, and Africa (EMEA),
Australia, and New Zealand should take special note of this information.
The ATS is monitored by the system and generates system event messages in case of
problems. The status of the ATS can also be viewed with the ats_list XIV Storage System
Command-Line Interface (XCLI) command, as shown in Figure 3-12.
Four ATS features can be ordered with the XIV Storage System. Order them to correspond to
the type of alternating current electric power generation, transmission, and distribution used
in the client location. When ordering the XIV Storage System, order the correct feature that
meets both local power regulations and client requirements.
Note: Line cords are provided with the connector part numbers shown. Receptacle par t numbers shown are recommended.
Although equivalent receptacles can be used, it is the responsibility of the customer to verify compatibility.
For more information about the appropriate ATS and power cord selection, see the IBM XIV
Storage System Gen3 Models 281x-11x and 281x-21x Planning Guide, SC27-5412.
Internal UPS: Although the system is protected by a UPS for internal use, you can reduce
the risk of a power outage if you connect the system to an external UPS, a backup
generator, or both.
The UPS complex is designed and dedicated to supporting the components inside the XIV
Storage System rack. No external equipment can be plugged into the UPS units. The UPS
complex is not substitute for traditional power conditioning or sustaining equipment typically
found in a data center environment and is intended to be used with existing equipment.
Important: The three UPSes in the XIV Storage System appear to the central UPS in the
main data center as standard storage system power supplies. The XIV Storage System
does not affect the central UPS unit in the main data center in a harmful way.
The three UPS modules are at the bottom of the rack. Each UPS is 3U in height. Each UPS
has an output of 6 Kilovolt ampere (kVA) to supply power to all other components in the
system.
Attention: Do not power off the XIV Storage System by using the UPS power button,
because this action can result in the loss of data and system configuration information.
Powering the system off must be done solely from either the XIV Storage Management
graphical user interface (GUI) or the XIV command line interface (XCLI).
To monitor battery life, the UPS modules routinely run a self-test every 14 days, with a 9-hour
interval between each UPS. To maximize battery life, a UPS battery calibration is performed
every 120 days. This calibration drains the batteries to about 20% and recharges them to
100%. This routine operation causes UPS warning lights and audible alarms. The best way to
determine whether the UPS lights and alarms are a real problem is to check the event log.
The routine calibration tests produce an event that looks similar to the event shown in
Figure 3-16.
Redundant
power supplies
InfiniBand
CPU
Fans
Memory
Figure 3-17 Data module
Both the data and interface modules on XIV Gen3 contain the following hardware features:
System board with a PCIe 2.0 bus, with the following management ports (Figure 3-18 on
page 83):
– RS-232 serial port
– USB port (one used, three unused)
– Two Gb Ethernet ports
Quad-core or six-core processor
Memory
SAS host bus adapter (HBA)
SAS disk drives
InfiniBand host channel adapter
SSD slot (see Figure 3-18 on page 83)
Fan bank
Memory flash card (see Figure 3-18 on page 83)
Redundant power supplies
Enclosure management card
Figure 3-18 XIV Storage System Gen3 data module connections that are used
Quad-core processor
The XIV Storage System Gen3 Model 114 processor is a third-generation Intel Nehalem
micro-architecture Westmere 32 nm processor with a 2.4 GHz clock speed. There is one
processor per module. This processor features turboboost and hyperthreading and is more
energy efficient than its predecessors. This processor is specifically sized to handle the I/O
workload required in the XIV Storage System Gen3 modules.
Part of the memory is used as module system memory; the rest is used as cache memory.
Cache consists of both read cache, where the module holds previously read data and
pre-fetched data; plus write cache, where the module holds data that is being cached before
being de-staged to disk.
When the optional SSD cache extension is installed (Model 114 software 11.1.0 or later),
each module gets an extra 400 GB capacity for use as an extension of the DDR3 cache.
Power supplies
The modules are powered by a redundant power supply unit (PSU) cage with dual 850 W
PSU assemblies, as shown in Figure 3-19 on page 84. These power supplies can be
replaced individually with no need to stop using the module. The power supply is a
field-replaceable unit (FRU). Each power supply is cabled to a different UPS unit.
Six-core processor
Model 214 modules are powered by a six-core Intel Westmere CPU E5645 processor, which
is based on the 32 nm technology and 2.4 GHz clock frequency. Equipped with 12 MByte L3
cache and DDR3 1333 MHz, the CPU features Hyper-Threading technology (HT technology),
which delivers two processing threads per physical core. Consequently, a fully configured
system provides the processing power of ninety physical, or 180 logical cores, using the
Hyper-Treading technology. Thanks to the Integrated Power Gates, the power consumption
of inactive kernels is near zero, which makes this processor highly efficient. With six cores
and the mentioned feature, the processor is powerful enough to manage the basic workload
of all modules and the additional workload in the interface modules.
Note: Four-core and six-core modules can be intermixed in Model 114 with software 11.2
or later, in case of FRU replacement or miscellaneous equipment specification (MES)
installation.
Power supplies
The modules in Model 214 are powered by two redundant high efficiency power supply units
(HE PSU), which have reduced power consumption compared to previous standard PSUs.
They are monitored by the software and can be individually replaced with no need to stop
using the module. The power supply is a field-replaceable unit (FRU). Each power supply is
cabled to a different UPS unit.
System board
The XIV Storage System system board uses the PCIe 2.0 bus, which is twice the speed of the
XIV Storage System Gen 2 PCIe 1.0 bus and features more PCIe lanes than its predecessor.
The system board has one RS-232 serial port, one USB port, and two Ethernet ports, which
are used for internal XIV Storage System management. The monitor port and three USB
ports are unused.
This SAS drive also exhibits significant performance gains for large block I/O.
All XIV Storage System disks are installed in the front of the modules, with 12 disks per
module. Each single SAS disk is installed in a disk tray that connects the disk to the
backplane and includes the disk indicators on the front. If a disk is failing, it can be replaced
easily from the front of the rack. The complete disk tray is one FRU, which is latched in its
position by a mechanical handle.
In the XIV Gen3, disks are replaced according to the IBM standard maintenance strategy
in “deferred maintenance”. This means that IBM is alerted with the third failing disk in the
system and arranges the replacement of all three failing disks in one repair action by the
IBM SSR. Optionally, with extended maintenance, each failing disk is replaced immediately
after it was failed.
Flash cache
One of the most important features of the XIV Gen3 is the upgrade with flash cache. The
optional flash cache option is available for Gen3 Model 214 and Model 114 running software
Version 11.1.0 or later. XIV Gen3 systems can be equipped with a 400 GB SSD for every
module, and the XIV Gen3 with 4 TB or 6 TB drives can be equipped with a 400 GB or 800
GB SSD for every module. The installation is nondisruptive. For a 15-module system, this
configuration represents 6 TB of read flash cache with the 400 GB SSD feature, and with 800
GB SSD, it has 12 TB read flash cache. For partial configurations, see Figure 3-2 on page 65.
There is not an additional disk tier to manage; the XIV Storage System Gen3 software
manages this flash cache automatically.
This flash cache feature further improves performance for read workloads, especially random
read workloads.
This card is the boot device of the module and contains the software and module
configuration files.
Important: Because of the configuration files, the Compact Flash Card is not
interchangeable between modules, and it is not user-serviceable.
Depending on the Gen3 model, a different number of adapters are installed in the interface
modules:
Model 114 and 214 (1 GbE):
– Two 2-port 8 Gbps Fibre Channel HBAs
– One 4-port iSCSI 1 Gbps Ethernet adapter
Model 214 (10 GbE):
– Two 2-port 8 Gbps Fibre Channel HBAs
– One 2-port iSCSI 10 Gbps Ethernet adapter
These two interface adapter types are used for host attachment to the XIV Storage System.
The ports can also be used to establish remote mirror links and data migration paths with
another remote XIV or storage systems from other vendors (migration).
Figure 3-22 on page 88 shows a schematic (rear view) of the two interface modules with Fibre
Channel and iSCSI ports. All Fibre Channel and iSCSI ports used for external connections
are internally connected to a patch panel, where the external connections are made. The
patch panel layout depends on the XIV model. See 3.1.12, “Patch panel” on page 92, which
shows the two different patch panels.
Figure 3-22 shows an XIV Model 114/214 (1 GbE) and XIV Model 214 (10 GbE) interface
module with Fibre Channel and iSCSI ports.
Figure 3-22 XIV Model 114/214 (1 GbE) and Model 214 (10 GbE) interface module with FC/iSCSI ports
There are four Fibre Channel ports available in each interface module, for a total of 24 Fibre
Channel ports in a fully configured XIV system. Certain partial rack configurations do not use
all ports, even though they might be physically present.
The Fibre Channel ports support 2, 4, and 8 Gbps full-duplex data transfer over short wave
fibre links, using 50 micron multi-mode cable. It is not possible to attach this HBA to a 1 Gbps
SAN switch.
The allocation and use of specific ports in each module depend on your environment, your
specific requirements in terms of resiliency, the nature of your host I/O traffic, and whether
you use mirroring or not.
Most illustrations in this book show ports 1 and 3 allocated for host connectivity. Ports 2 and 4
can be reserved for additional host connectivity or remote mirror and data migration
connectivity. This configuration is generally the choice for clients who want more resiliency
Fibre Channel ports: Using more than 12 Fibre Channel ports for host connectivity does
not necessarily provide more bandwidth. A preferred practice is to use enough ports to
support multipathing, without overburdening the host with too many paths to manage. See
IBM XIV Storage System: Host Attachment and Interoperability, SG24-7904 for more
information.
iSCSI connectivity
With the 10 GbE adapter that equips the Model 214 (10 GbE), there are differences in iSCSI
connectivity between the Model 114, Model 214 (1 GbE), and Model 214 (10 GbE).
In addition, improvements in the XIV Storage Software Version 11.2 include a new iSCSI
implementation with significant performance enhancements:
Network protocol processing has been moved from the Linux kernel to a user space
application based on the open source Lightweight IP (LWIP) stack. This change results in
significant CPU processing efficiencies.
Using multiple Transmission Control Protocol (TPC) connections (iSCSI sessions) to
provide higher throughput.
Provides more robust host connectivity during XIV hot upgrade.
For each iSCSI IP interface, you can define these configuration options:
IP address (mandatory)
Network mask (mandatory)
Default gateway (optional)
The default and highest possible maximum transmission unit (MTU) is 9000 MTU.
The 10 GbE adapter provides enhanced iSCSI host connectivity and adequate infrastructure
for potential FCoE (Fibre Channel over Ethernet) functions, if IBM decides to offer FCoE.
There are up to twelve 10 GbE ports available for iSCSI over IP/Ethernet services. The
number of active ports depends on the number of modules installed in the rack. See
Figure 3-2 on page 65. The active ports are connected to the client’s IP network through the
patch panel. For that reason, the patch panel in Model 214 (10 GbE) differs from the patch
panel in the previous Model 114 and Model 214 (1 GbE), as shown in Figure 3-26 on
page 92.
For each iSCSI IP interface, you can define these configuration options:
IP address (mandatory)
Network mask (mandatory)
Default gateway (optional)
Note: With Model 214 (10 GbE), the number of iSCSI ports is divided in half, per interface
module. However, because there are 10 GbE ports, the iSCSI bandwidth is five times
greater than with Model 114 and Model 214 (1 GbE).
Each of the modules (data or interface) has an InfiniBand HCA that is cabled to each of the
InfiniBand switches. The switches are also linked to each other. See Figure 3-24 for a logical
view of this connectivity. For external views of the adapter and its ports, see Figure 3-18 on
page 83, Figure 3-21 on page 87, and Figure 3-22 on page 88.
Switch #1 Switch #2
This network topology enables maximum bandwidth use because the switches are used in an
active-active configuration. The InfiniBand switches are also tolerant to any failure of the
following individual network components:
Ports
Links
Switches
Figure 3-25 shows the two InfiniBand switches installed in the XIV rack. The cabling has been
removed from the top InfiniBand switch to show a better view of the switch itself.
Each InfiniBand switch contains 36 ports that have 40 Gbps full bidirectional bandwidth per
port. Port-to-port latency is less than 100 nanoseconds. Each switch has 2.88 Tbps switching
throughput. The switches are powered by redundant power supplies and fan modules to
eliminate any single point of failure. Additionally, each switch has several RJ-45 management
ports that are used by the XIV Storage System. InfiniBand is also scalable, well beyond the
current 15 modules in a single XIV Storage System rack.
The patch panel has had various redesigns of the labeling based on the production date.
Management
Connections
USB to Serial
Maintenance module
The 1U maintenance module and the modem, which are installed in the middle of the rack,
are used for XIV Storage System support and for the IBM personnel to maintain and repair
the system. This device is used only to gain remote access to the XIV System through the
modem for support personnel. When there is a software or hardware problem that needs
attention, a remote connection is required and used to analyze and possibly repair the faulty
system. If there is no XIV Remote Support Center (XRSC) or other broadband connection
available, the only way to connect is through the modem and maintenance module. For more
information about remote connections, see “XIV Remote Support Center” on page 101.
Modem
The modem installed in the rack is an option to use for remote support if the preferred choice
of XIV Remote Support Center is not selected. It enables the IBM specialists and higher-level
support to connect to the XIV. Problem analysis and repair actions without a remote
connection can be complicated and time-consuming.
For more detailed planning information, see the IBM XIV Storage System Gen3 Models
281x-11x and 281x-21x Planning Guide, SC27-5412.
Additional documentation is available in IBM XIV Storage System documentation in the IBM
Knowledge Center:
http://ibm.co/1rvfciG
For a smooth and efficient installation of the XIV Storage System, planning and preparation
tasks must take place before the system is scheduled for delivery and installation in the data
center. A sales representative will arrange a Technical Delivery Assessment (TDA) meeting
to go over site-specific details and to ensure that the correct information is gathered before
the delivery of the system.
http://ibm.co/1raoi5t
The configuration planning worksheets are also in the IBM XIV Storage System Gen3 Models
281x-11x and 281x-21x Planning Guide, SC27-5412.
Additional documentation is available from the XIV Storage System Information Center at:
http://publib.boulder.ibm.com/infocenter/ibmxiv/r2/index.jsp
You must provide the IBM SSR with the information required to attach the system to your
network for operations and management, and enable remote connectivity for IBM support
and maintenance.
This basic configuration data is entered in the system by the IBM SSR after the physical
installation. See “Basic configuration” on page 105.
Other configuration tasks, such as defining storage pools, volumes, and hosts, are the
responsibility of the storage administrator and are described in Chapter 4, “IBM XIV Storage
Management software” on page 111.
For details about the host connections, see XIV Storage System: Host Attachment and
Interoperability, SG24-7904.
The 24 Fibre Channel (FC) ports are available from the six interface modules, four in each
module, and they are internally connected to the patch panel. Of the 24 ports, 12 are provided
for connectivity to the switch network for host access, and the remaining 12 are for use in
remote mirroring or data migration scenarios (however, they can be reconfigured for host
connectivity). Adhere to this guidance on Fibre Channel connectivity. The external
(client-provided) cables are plugged into the patch panel. For planning purposes, Figure 3-28
highlights the maximum values for various Fibre Channel parameters for your consideration.
Maximum values
FC parameters Modell 114, Model 214(1 GbE) and Model 214(10 GbE)
Maximum number of Interface Modules with iSCSI ports 6
Values in Figure 3-28 apply to Version 11.5 of the XIV Storage System Software.
iSCSI connections
The external (client-provided) Ethernet cables (Model 114 and Model 214 [1 GbE]) or optical
cables (model 214 [10 GbE]) are plugged into the patch panel. For planning purposes,
highlight the maximum values for various iSCSI parameters for your consideration. As with
Fibre Channel, it is important to plan your connectivity based on these maximums.
Maximum values
iSCSI parameters Modell 114 Model 214(1 GbE) Model 214(10 GbE)
Maximum number of Interface Modules with iSCSI ports 6 6 6
Maximum number of 1-GB iSCSI ports(Interface Module 4 only have 2 ports) 22 22 -
Maximum number of 10-GB iSCSI ports - - 12
Maximum number of hosts ports defined (WWPN + IQNs) 4000 4000 4000
Figure 3-29 iSCSI parameters
These values are correct at the time of publication of the Ninth Edition of this book for
version 11.5 of the XIV Storage System Software.
Experience has shown that the first multipathing configuration in Figure 3-30 is the best
overall general-purpose configuration. Host multipathing reliability during path error recovery
in some operating systems is complicated by increasing numbers of paths per logical unit
number (LUN). Certainly, for host systems with two HBAs, using the six paths per LUN is a
preferred practice.
There is no performance or reliability benefit in using too many paths. Going beyond 12 paths
per volume has no benefit, because most operating systems have more processing overhead
handling the paths and cause longer times for recovery. Going beyond six paths rarely has
much benefit. Use four or six paths per volume as a standard. Do not go below four paths.
Figure 3-30 shows six paths per LUN as the best multipathing configuration.
PatchPanel
Hosts
91
92
93 HBA1WWPN
94 Host 1
HBA2WWPN
IBM XIV Storage System
81
82
83 SAN
84 Fabric1 HBA1WWPN
Host 2
HBA2WWPN
71
72
73
74
HBA1WWPN
61 Host 3
HBA2WWPN
62
63
64
SAN
51 Fabric2
HBA1WWPN
52 Host 4
HBA2WWPN
53
54
41
42
HBA1WWPN
43 Host n
HBA2WWPN
44
Figure 3-30 Six paths per LUN is the best overall multipathing configuration
The second multipathing configuration that is shown in Figure 3-31 on page 98 is more
appropriate for benchmarking and higher performance host systems with the highest I/O
requirements. The primary differentiator is the host’s ability to handle the higher number of
paths per LUN. Do not use the configuration in Figure 3-31 on page 98 for most production
applications, because the host multipathing provides enough reliability during path recovery
scenarios.
PatchPanel
Hosts
91
92
93 HBA1WWPN
94 Host 1
HBA2WWPN
IBM XIV Storage System
81
82
83 SAN
84 Fabric 1 HBA1WWPN
Host 2
HBA2WWPN
71
72
73
74
HBA1WWPN
61 Host 3
HBA2WWPN
62
63
64
SAN
51 Fabric 2
HBA1WWPN
52 Host 4
HBA2WWPN
53
54
41
42
HBA1WWPN
43 Host n
HBA2WWPN
44
The following information relates to the configuration that is shown in Figure 3-31:
Each host is equipped with dual HBAs. Each HBA (or HBA port) is connected to one of
two FC switches.
Each of the FC switches has a connection to a separate FC port of each of the six
interface modules.
Each LUN has 12 paths.
Each host HBA is physically connected to all six of the XIV Storage System interface
modules. This configuration provides the ability for each HBA to use the maximum available
I/O capabilities.
For XIV Storage System, each interface module has two 2-port Fibre Channel adapters. It is a
preferred practice that each zone is physically connected to one port on each XIV Storage
For more information, see the IBM Redbooks publication titled IXIV Storage System: Host
Attachment and Interoperability, SG24-7904.
Single-switch solution
This configuration is resilient to the failures of a single interface module, host bus adapter,
and cables, but in this configuration, the switch represents a single point of failure. If the
switch goes down because of a hardware failure or because of a software update, the
connected hosts lose all data access. Figure 3-32 on page 99 shows this configuration.
Use a single-switch solution only when no second switch is available or for test environments.
H osts w ith 1 H B A
IM 9
S w itch
IM 7
Restriction: Direct host to XIV Storage System connectivity is not supported. The
implementation must use a SAN fabric (either single or dual SAN switches). Dual fabric
configurations are preferable.
When installing an XIV Storage System, complete the following Fibre Channel
configuration procedures:
You must configure Fibre Channel switches that are zoned correctly to allow access
between the hosts and the XIV Storage System. The specific configuration to follow
depends on the specific Fibre Channel switch. It is best to have a separate zone for each
initiator.
Hosts must be set up and configured with the appropriate multipathing software to balance
the load over various paths. For multipathing software and setup, see the specific
operating system section in XIV Storage System: Host Attachment and Interoperability,
SG24-7904.
IP configuration
The configuration of the XIV Storage System iSCSI connection is dependent on your network.
In the high availability configuration, the two client-provided Ethernet switches used for
redundancy can be configured as either two IP subnets or as part of the same subnet. The
XIV Storage System iSCSI configuration must match the client’s network. You must provide
the following configuration information for each Ethernet port:
IP address
Netmask
MTU (optional, depending on your network’s MTU)
MTU configuration is required if your network supports an MTU that differs from the
standard one. The largest possible MTU must be specified. From the XIV Storage System,
with software Version 11.2 or later, the largest MTU size is increased to 9000. If the iSCSI
hosts are on another subnet than the XIV Storage System, a default IP gateway per port
must be specified.
Important: An XIV Storage System running on software Version 11.2 or later has an
increased largest-possible MTU size of 9000.
The IP network configuration must be ready to ensure connectivity between the XIV Storage
System and the host before the physical system installation:
Ethernet virtual local area networks (VLANs), if required, must be configured correctly to
enable access between hosts and the XIV Storage System.
IP routers (if present) must be configured correctly to enable access between hosts and
the XIV Storage System.
The XIV Remote Support Center (XRSC) merges XIV internal functions with a set of globally
deployed supporting servers to provide secure IBM support access to the XIV Storage
System when necessary and when authorized by the IBM client’s personnel.
Figure 3-33 provides a representation of the data flow of the XIV Storage System to
IBM Support.
An optional Remote Support Proxy can be used when one or more IBM XIV systems do not
have direct access to the Internet (for example, because of firewall restrictions). You can use
the XIV Remote Support Proxy to facilitate the connection to the XIV Remote Support Center.
For more information about the Remote Support Proxy, see the Installation and User’s Guide,
GA32-0795.
The XRSC Internet servers are hardcoded in XIV Storage System Software. Therefore, no
further configuration is required by the client to enable this function, aside from turning this
feature on using the XIV Storage Management GUI or XCLI. This service provides an
expedient means for IBM Support to gather required information from the system in the most
timely fashion and with the least impact to the client.
Modem connectivity
The modem installed in the rack is optionally used for remote support if the preferred choice
of XIV Remote Support Center is not used. It enables the XIV System Storage Support
Center specialists and, if necessary, a higher level of support, to connect to the
XIV Storage System. Problem analysis and repair actions without a remote connection can
be complicated and time-consuming.
Remote Copy links, which connect the direct primary system and secondary system, must
also be planned for before the physical installation. The physical Remote Copy links can be
Fibre Channel links, direct or through a SAN, or iSCSI port connections using Ethernet.
However, iSCSI is not the best option for this use.
2001:DB8::8:800:200C:417A
(One group of consecutive zeros replaced with double colon (:))
Note: IPv6 address support is provided by both the XIV GUI and XCLI. For more details,
see Chapter 7, “Monitoring” on page 325.
IBM XIV Storage System Software v11.1.1 and later offers US Government IPv6 (USGv6)
compliance.
Make sure that the networking equipment providing the management communication is
protected by a UPS.
Management IP configurations
For each of the three management ports, you must provide the following configuration
information to the IBM SSR upon installation (see 3.2.1, “Basic configuration planning” on
page 94):
IP address of the port (all three ports must belong to the same subnet)
Subnet mask
Default IP gateway (if required)
Protocols
The XIV Storage System is managed through dedicated management ports running TCP/IP
over Ethernet. Management is carried out through the following protocols (consider this
design when configuring firewalls, other security protocols, and SMTP relaying):
Proprietary XIV Storage System protocols are used to manage the XIV Storage System
from the XIV Storage Management GUI and the XCLI. This management communication
is performed over TCP port 7778, where the XIV Storage Management GUI/XCLI, as the
client, always initiates the connection, and the XIV Storage System performs as the
server.
XIV Storage System sends and responds to SNMP management packets.
XIV Storage System initiates SNMP packets when sending traps to SNMP managers.
XIV Storage System initiates SMTP traffic when sending emails (for either event
notification through email or for email-to-SMS gateways).
XIV Storage System communicates with remote SSH connections over standard TCP
port 22.
SMTP server
For correct operation of the Call Home function, the SMTP server must function as follows:
Be reachable on port 25 for the XIV Storage System client-specified management
IP addresses.
Allow relaying from the XIV Storage System client-specified management IP addresses.
Allow the XIV Storage System to send emails. The default sender address is
[email protected], but this address can be changed.
Physical installation
It is the responsibility of the client or moving contractor to unpack and move the XIV Storage
System as close as possible to its final destination before an IBM SSR can start the physical
installation. Carefully check and inspect the delivered crate and hardware for any visible
damage. If there is no visible damage and the tilt and shock indicators show no problem, sign
for the delivery.
Before starting the physical installation, ensure that an electrician is available who can fulfill
the power requirements for connecting the XIV Storage System.
Basic configuration
After the completion of the physical installation steps, the IBM SSR establishes a connection
to the XIV Storage System through the patch panel (see 3.1.12, “Patch panel” on page 92)
and completes the initial setup. You must provide the required completed information sheet
that is referenced in 3.2.1, “Basic configuration planning” on page 94.
The installation is complete, and the XIV Storage System is ready to be handed over to the
client to configure and use. See Chapter 4, “IBM XIV Storage Management software” on
page 111 for more information about that topic.
Power on
To power on the system, complete these steps:
1. On each UPS, look for the Test button on the control panel (on the front of the UPS), as
illustrated in Figure 3-34.
Important: Do not confuse the Test button with the power-off button, which is normally
protected by a cover. The Test button is the one circled in red in Figure 3-34.
2. Use both hands, as shown in Figure 3-35, to press each of the three Test buttons
simultaneously.
This action starts applying power to the components in the rack and initiates the boot process
for the interface modules and data modules.
Important: Do not power off the XIV Storage System by using the UPS power button,
because this action can result in the loss of data and system configuration information.
The shutdown takes less than 5 minutes. When it is finished, all fans and front lights on
modules and all UPS lights are off.
Tip: Using the XIV Storage Management GUI is the most convenient and best way to
power off the system.
If you are using the XCLI session, use the shutdown procedure shown in Example 3-1.
The shutdown takes less than 5 minutes. When it is finished, all fans and front lights on
modules and all UPS lights are off.
EPO precaution: Powering off the XIV Storage System using a room EPO switch results
in data loss and possible loss of configuration. An IBM SSR is required to recover an
XIV Storage System that was turned off using a room EPO switch. If the XIV Storage
System loses ac power but is not powered off using an EPO circuit, data and configuration
are preserved.
Local laws: National or local building, electrical, fire prevention, safety, and other laws or
regulations can address or control the manner in which information technology equipment
is installed within certain facilities and environments. The application of those laws or
regulations can depend on considerations of factors beyond the nature or design of the
equipment to be installed. It is a client’s responsibility to interpret and identify any laws or
regulations applicable to the installation of information technology in its environment and to
inform IBM, IBM Business Partners, or their designated installers of any actions not
identified in this document that are necessary to install information technology equipment
in the client’s facilities in accordance with such applicable laws or regulations.
Contact your IBM SSR for more information about connecting to a room EPO switch.
Important: Illustrations in this chapter apply mostly to an IBM XIV Storage System Gen3
fully configured with 2 or 3 TB disk drives.
The IBM Hyper-Scale Manager, which allows an administrator to monitor and configure many
systems simultaneously, is discussed in the IBM Redpaper publication titled IBM Hyper-Scale
in XIV Storage, REDP-5053.
The XIV Storage Management software (also referred to as XIV Management Tools) is used
to communicate with the XIV Storage System Software, which in turn interacts with the
XIV Storage System hardware.
From this website, type 2810 in the Product selector and choose XIV Storage System (2810,
2812). Then, choose the latest version under Installed Version and your operating system
under Platform. Now, click Continue, as shown in Figure 4-1.
The Select fixes page is displayed. Scroll down to the section labeled Management tools and
select IBM_XIV_Management_Tools package.
For more information about XIV Storage Management software compatibility, see the
XIV interoperability matrix or the IBM System Storage Interoperation Center (SSIC):
http://www.ibm.com/systems/support/storage/config/ssic/index.jsp
The motivation behind XIV Storage Management and the resulting GUI design is to eliminate
the complexities of system management. Typical operational challenges, such as setup,
configuration changes, general administration, and more, are achieved with a few clicks.
The XIV Management GUI supports two methods for connecting to IBM XIV systems:
Direct mode to one or more IBM XIV systems, but acting on one XIV system at a time
Manager mode, through the IBM Hyper-Scale Manager
Note: The IBM Hyper-Scale Manager reduces operational complexity and enhances
capacity planning through integrated management of multiple XIV systems. It is ideal
for large and multi-site XIV deployments. For more information about the
IBM Hyper-Scale Manager, see the IBM Redpaper, IBM Hyper-Scale for the XIV
Storage System, REDP-5053.
This chapter contains descriptions and illustrations of tasks that are performed by a storage
administrator when using the XIV Storage Management GUI in direct mode.
Tip: The XIV Storage Management GUI executes XCLI commands during its operation.
Therefore, anything that is available in the XIV Storage Management GUI can also be
achieved through XCLI.
This chapter presents some of the common XCLI commands used by the administrator to
interact with the system.
GUI software: Although the illustrations in this chapter apply to an IBM XIV Storage
System Gen3, the Version 4.4 XIV Storage Management GUI software also can be used
with XIV Storage System second-generation systems.
Users running older versions are strongly encouraged to upgrade to Version 4.4 or later.
The existing IBM XIV systems profile file, which is a list of defined IBM XIV systems and
groups, is not deleted after the older version is uninstalled. This file is then recognized by the
new installed version.
You can save the local IBM XIV systems profile file by exporting it from the XIV Storage
Management GUI, as shown in Figure 4-2. It is saved as an XML file and is then available for
importing into the newly installed XIV Storage Management GUI, which overwrites the
existing systems profile.
Tip: The saved IBM XIV systems profile can be imported on extra systems on which the
XIV Storage Management GUI is installed to ensure an identical systems view across all
installations.
Important: The minimum requirements for installing the XIV Storage Management
software in Windows 7 or Windows Server 2008 are as follows:
Processor: Dual-core processor or equivalent
Memory: 512 MB of RAM (1 GB of RAM and above recommended)
Disk capacity: 150 MB
Screen resolution: 1024 x 768 (1024 x 768 - 1920 x 1200 recommended)
At the time of writing this book, we used an early version of the IBM XIV Storage
Management GUI version 4.4. Later XIV Storage Management GUI releases might differ
slightly in appearance.
Complete the following steps to install the XIV Storage Management software:
1. Locate the XIV Storage Manager installation file. Double-click the installation file and in the
dialog window that is displayed, choose the language for the installation and click OK.
Globalization: The XIV GUI Version 4.4 or later supports the English, Chinese, and
Japanese languages
2. The initial installation window for the XIV Storage Management GUI installation is
displayed. Click Next to continue.
3. The next window prompts you to accept the IBM License Software Agreement. Read the
license, select I accept both the IBM and the non-IBM terms and click Next to proceed.
5. For new installations, or if installing in a new directory and a previous GUI installation
exists, a program shortcut called IBM XIV 4.4 is created in the Start menu folder. In
addition, three optional desktop icons are created, as indicated in Figure 4-5. If you
choose to install into a folder that already contains an installation of the GUI, this dialog is
skipped. Therefore, click Next to proceed.
Beginning with the XIV Storage Management GUI, this section describes the following topics:
Signing into the XIV Storage Management GUI
Connecting to IBM XIV systems
Overview of the management and system views
Review of XIV Storage Management GUI features
Important: Remember to change the default passwords to correctly secure your system.
For more information, see 5.5.5, “Password management and resets” on page 237.
The default admin user comes with the storage administrator (storageadmin) role. The
XIV Storage System offers role-based user access management that consists of the already
mentioned storage administrator, application administrator, security administrator, and
read-only role.
The direct mode access is allowed for stand-alone instances of the GUI on users,
workstations, and desktops, as well as the demo mode.
For more information about user security and roles, and how to manage multiple storage
systems, see Chapter 5, “Security” on page 207.
Tip: The Demo Mode option, which is seen in Figure 4-7, is accessed by selecting the
Demo Mode check box and clicking Login. No credentials are required. This demo mode
is useful for learning how the XIV Storage Management software works without needing an
actual XIV system.
For more information about using Manager mode, see the IBM Redpaper titled
IBM Hyper-Scale in XIV Storage, REDP-5053.
Tip: It is a good idea to verify the connection by pinging the mangement IP addresses
of the XIV Storage System.
When starting the XIV Storage Management GUI on the management workstation for the
first time, the Add System Management window automatically opens.
2. Enter the IP address (or set of IP addresses, for redundancy) of the XIV Storage System
in the IP/Host name fields. Click Add to add the system to the XIV Storage Management
GUI. See Figure 4-8.
Tips: XIV System software 11.1 and later support IPv6 addressing for the XIV Storage
System management ports. For information about configuring IPv6, see 5.3,
“Configuring IPv6 addresses” on page 215.
If the workstation is correctly configured for Domain Name Service (DNS) resolution,
host names can be used.
3. The XIV Storage Management system view window opens, as shown in Figure 4-9.
Further administrative actions can be taken.
Figure 4-9 XIV foreground: Storage Manager main window, System view. XIV background:
All Systems view
4. If multiple IBM XIV systems are configured for management in the GUI, each system is
always visible in the All Systems view, regardless of the credentials provided.
However, only systems that are successfully authenticated with the current credentials are
accessible. Move the cursor over the appropriate XIV Storage System and click it to open
the XIV Storage System Management view of that system. To return to the All Systems
view, click the back arrow in the menu bar, the All Systems link in the hierarchical
navigation or the home icon, as shown in Figure 4-10.
Tip: To create a group, there must be more than one XIV Storage System
configured in the GUI.
b. The Add New Group dialog that is shown in Figure 4-12 is displayed. Enter a name for
the new group and click OK.
c. The new group now is displayed in the All Systems view. See Figure 4-13 on page 122.
You can add a maximum of 12 storage systems to a group and you can have a
maximum of 12 groups.
Systems already configured in the GUI that are not part of a group can be added to a
group by dragging and dropping them onto the wanted group.
To add a system to a group, right-click the Group and select Add System (Figure 4-14
on page 123). In this case, the Add Managed System dialog box is shown as in
Figure 4-8 on page 119. Complete the dialog box as explained in 4.3.1, “XIV Storage
Management GUI used in direct mode” on page 117.
Tip: With the XIV GUI v4.4 in direct mode, you can manage up to 12 groups in the
All Systems view. A group can contain a maximum of 12 IBM XIV systems, and any
particular system can belong to only one group. A single GUI instance can manage
a maximum of 144 systems. To manage more than 144 systems in direct mode,
multiple instances of the GUI can be started, each with a different profile. For more
information, see “Direct mode GUI limitations for managing multiple systems” on
page 240. However, it is suggested to use the IBM Hyper-Scale Management server
when managing more than 40 IBM XIV systems. For more information, see the IBM
Redpaper, IBM Hyper-Scale for the XIV Storage System, REDP-5053.
Note: Deleting a group that contains systems also removes those systems from
the GUI. If you want to delete a group without removing the systems that it
contains, first move the systems out of the group by right-clicking each system
and choosing the Move System to option.
The main window, which is the System view, is divided into the following areas, as shown in
Figure 4-15 on page 123:
Function icons and menus On the left side of the main window in the System view, a
set of vertically stacked icons is used to navigate between
the functions of the XIV Storage Management GUI. Move
the cursor over an icon to preview the function menu for
that icon. A brief description of each of the function icons is
shown in Figure 4-16 on page 125.
Main display This provides a graphical representation of the XIV
Storage System. Move the cursor over a specific hardware
component (module, disk, uninterruptible power supply
[UPS] unit) to open a status callout for that component.
Click the arrow at the lower right to see a view of the
system patch panel. Move the cursor over a port to open a
status callout for that port.
Menu bar This area is used for configuring the system and as an
alternative to the function icons. Also, various user tools
pertaining to XIV Storage System are available here.
Toolbar This area contains a dynamic, contextual set of actions
based on the current view.
User indicator Identifies the current authenticated user. Click the user
indicator to log in with alternate credentials.
System information menu Displays details about the current system. To change the
displayed details, click the small triangle menu at the left of
this menu. The following details can be displayed:
•Hardware details
•System Time: The time on the XIV system
•Local Time: Time on the management workstation
•System software version
Hierarchical navigation Provides a hierarchical view of the current system or
group, with contextual drop-down menus.
Current systems indicator Indicates the currently selected systems or group.
Status bar and Status area These indicators are at the bottom of the main window of
the System view. This area indicates the overall
operational status of the currently selected IBM XIV
Storage System or group of systems. The values displayed
are in the context of the current systems:
The left indicator shows the amount of soft or hard storage
capacity currently allocated to the storage pools and
provides alerts when certain capacity thresholds are
reached. Click the indicator to toggle between soft and
hard values. As the physical, or hard, capacity consumed
by volumes with the storage pool passes thresholds, the
Tip: Depending on the current user role, more or fewer systems administrative actions
might be available in the menu items.
Note: The Manage Certificates menu option is not visible for XIV Systems running
system software older than Version 11.2.
To use this feature, first right-click the system that contains the configuration settings that you
want to copy and choose Copy System Configuration, as shown in Figure 4-24 on
page 130.
Next, right-click a target system and choose to paste the appropriate settings. The following
configuration settings can be pasted to the target system, each in a separate step:
Support Configuration
LDAP Configuration
Pools Alerts Thresholds
After you select which settings to paste, a dialog window is displayed, as shown in
Figure 4-25. This window confirms your selection and allows you to begin copying the
settings to the target system, or to cancel the operation. If you choose to proceed, the dialog
window shows the progress of the operation as it completes.
When activated, the System Selector menu is displayed, as illustrated in Figure 4-27.
Tip: To select multiple systems from the System Selector menu, hold the Ctrl key while
clicking each system.
When viewing all systems or a group of systems, three useful views are available. Use the
Views Selector menu to modify the current view to best suit the management task you are
performing.
The Connectivity view, shown in Figure 4-29 on page 132, provides a three-dimensional view
of the selected systems, with visual indicators for replication relationships between systems
and group membership. For each system, the system name, serial number, system software
version, and hardware version (Gen3 only) are displayed. Click the balloon above a system to
change the balloon value. The following values are available:
System IOPS
System Utilization
System Status
System Number of Hosts
System Number of Volumes
System Hardware Type
Note: When one or more systems are selected in the Connectivity view, the cleared
systems appear grayed out.
The Tiles view, shown in Figure 4-30, displays the selected systems in a grid format. For each
system, the following details are displayed:
Group name (if applicable)
System name and serial number
System software version
Current system IOPS
Note: Only selected systems are visible in the Tiles view. Cleared systems are hidden.
Tip: To show or hide systems in the Tiles view, use the System Selector menu, as shown
in Figure 4-27 on page 131.
The List view, shown in Figure 4-31, displays the details of the selected systems in tabular
format. The listed systems can be sorted by any column. Click a column header to sort by that
column. Click that header again to toggle between ascending and descending order.
Right-click a column header to customize which column header values are shown or hidden.
The Name, Group, and Status columns are required. The following optional columns are
available:
IOPS
Hard Size
Hard Used
Hardware Type
Hosts
Soft Size
Soft Used
Utilization
Version
Volumes
Double-click any system row to navigate to the System view for that system.
Note: When one or more systems are selected in the List view, the selected rows are
highlighted in orange.
Tip: From any of the Systems views, you can select multiple systems by holding the Ctrl
key while clicking each system. While one or more systems are selected, you can perform
an action on those systems together by right-clicking any selected system. This action
brings up a contextual menu, allowing you to perform the wanted action.
Messages
When the Status area alerts the user, messages of real-time problems in the environment are
reported. See Figure 4-32 for an example of a real-time alert that is displayed at the upper-left
side of the GUI panel. These are examples of the types of messages:
Hardware problem (disk, modules, fan, or service)
Utilization problem (pool hard capacity)
System status
Uncleared alerting events
System-to-system connection problem
Enter search text in the field to perform a search across all of the XIV systems that are
managed by the GUI. Results are displayed in a Tree Table view. Clicking an item in the
search results navigates to that item in the GUI.
The search results panel can be resized by clicking and dragging the lower-right corner of the
panel. If the search results exceed the size of the panel, a scroll bar is displayed at the right
side of the panel.
The search function is also available within all table views of objects within the GUI. You can
filter items displayed in the table by typing a text string in the box located above the table.
The example in Figure 4-35 illustrates the Volume and Snapshots view filtered to display all
volumes that contain the “ITSO” string in the name field. The string can be anywhere in the
name, not just at the beginning.
To enable this setting, click the Tools portion of the menu bar, click Management, and select
Hexadecimal in the Volume Serial drop down field.
Tip: XCLI Session is the easiest way to issue XCLI commands against
XIV Storage Systems.
Figure 4-37 on page 137 shows the process of starting XCLI from the Systems menu.
Tip: For convenience and easier access to XCLI commands, add the following value
to the Path system variable:
This allows XCLI commands to be run from a command window in any directory.
For more information about using the XCLI, see the IBM XIV Storage System User
Manual, GC27-3914 and the IBM XIV Storage System documentation in the IBM
Knowledge Center:
http://ibm.co/1rvfciG
As part of the XIV Storage System high-availability features, each system is assigned three IP
addresses. When running a command, the XCLI utility is provided with these three IP
addresses and tries each of them sequentially until communication with one of the IP
addresses is successful. You must pass at least one of the IP addresses (IP1, IP2, and IP3)
with each command. To avoid redundantly typing and recalling IP addresses, use a
predefined configuration name. By default, XCLI uses the system configurations defined
when adding systems to the XIV Storage Management GUI. To list the current configurations,
use the command shown in Example 4-1.
To issue a command against a specific XIV Storage System, you must supply the user name
and the password for that system. The default user is admin and the default password is
adminadmin, which can be used with the following parameters:
-u user or -user user Sets the user name that is used to run the
command.
-p password or -password password The XCLI password that must be specified to run a
command in the system.
-m IP1 [-m IP2 [-m IP3]] Defines the IP addresses of the
XIV Storage System.
Managing the XIV Storage System by using the XCLI always requires that you specify these
same parameters. To aid in using them, define and use specific environment variables. Open
a command prompt window, in this case in Windows 2008 R2, and set values for specific
environment variables, as shown in Example 4-3.
The XCLI requires user and password options. So, if user and passwords are not specified,
the default environment variables XIV_XCLIUSER and XIV_XCLIPASSWORD are used. Also, the
XCLI_CONFIG_FILE variable file must be populated before setting the environment variable.
The configuration in this example is stored in a file under the user’s home directory. A
separate file can be specified by -f or --file (applicable to configuration creation,
configuration deletion, listing configurations, and command execution). Alternatively, the
environment variable XCLI_CONFIG_FILE, if defined, determines the file’s name and path. After
running the setup commands, the shortened command syntax works as shown in
Example 4-4.
Options: In the previous example, the -a option is used to name the XIV Storage System
designated with the -m addresses as XIV2, and referred to accordingly afterward.
The first command prints the use of XCLI. The second prints all of the commands that can be
used in that particular system. The third shows the use of the user_list command with all of
the parameters.
There are various parameters to get the result of a command in a predefined format. The
default is the user readable format. Specify the -s parameter to get it in a comma-separated
format or specify the -x parameter to obtain an XML format.
Fields: The XML format contains all the fields of a particular command. The user and the
comma-separated formats provide just the default fields as a result.
To list the field names for a specific xcli command, use the -t parameter, as shown in
Example 4-7.
Scripts
XIV Storage Management software XCLI commands can be used in scripts or batch
programs if you need to use repetitive or complex operations. The XCLI can be used either in
a shell environment to interactively configure the system or as part of a script to perform
specific tasks, as shown in Example 4-3 on page 139. In general, the XIV Storage
Management GUI or the XCLI Session environment nearly eliminate the need for scripts.
Tip: To determine the maximum pool size, use the system_capacity_list command.
Look at the column titled Max_Pool_Size.
The size of a storage pool can always be decreased, limited only by the space already
consumed by the volumes and snapshots in that storage pool.
Volumes can be moved between storage pools without any limitations, if they are not part
of a consistency group and there is enough free space in the target storage pool. Volumes
that are part of a consistency group can be moved together as a group.
Important: All of these operations are handled by the system at the metadata level,
and they do not cause any data movement (copying) from one disk drive to another.
They are completed almost instantly and can be done at any time without affecting
the applications.
Thin-provisioned pools
Thin provisioning is the practice of allocating storage on a “just-in-time” and “as needed”
basis by defining a logical, or soft, capacity that is larger than the physical, or hard, capacity.
Thin provisioning enables XIV Storage System administrators to manage capacity based on
the total space consumed rather than just the space allocated.
Thin provisioning can be specified at the storage pool level. Each thin-provisioned pool has its
own hard capacity (which limits the actual disk space that can be consumed) and soft
capacity (which limits the total logical size of volumes defined). The difference in the pool size
depends on the type of pool:
For more information about the concept of thin provisioning and a description of hard and soft
size for storage pools and volumes, see 2.7, “Capacity allocation and thin provisioning” on
page 37, and the Redpaper publication titled IBM XIV Storage System Thin Provisioning and
Space Reclamation, REDP-5001.
When using the XIV Storage Management GUI, you specify what type of pool is wanted
(Regular Pool or a Thin Pool) when creating the pool. See “Creating storage pools” on
page 144. When using the XCLI, you create a thinly provisioned pool by setting the soft size
to a value greater than its hard size.
If the requirements for the pool change later on, the pool’s type can be changed
(nondisruptively).
Tip: Thin provisioning management is performed individually for each storage pool, and
running out of space in one pool does not affect other pools.
4.4.2 Managing storage pools with the XIV Storage Management GUI
In this section, we describe how to manage storage pools using the XIV Storage
Management GUI.
Important: Illustrations in this chapter mostly apply to an XIV Storage System fully
configured with 1 TB drives.
Managing pools with the XIV Storage Management GUI is fairly simple and intuitive. The
related tasks can be reached either through the menu bar or the corresponding function icon
on the left (called Pools), as shown in Figure 4-40.
To view overall information about the storage pools, click Storage Pools from the Pools menu
that is shown in Figure 4-40. This opens the Storage Pools view, as shown in Figure 4-41 on
page 143.
The Storage Pools view displays a table of all the pools in the system, with a series of gauges
for each pool. This view gives the administrator a quick grasp and general overview of
essential information about the system pools. The Storage Pools view can be customized,
allowing you to show or hide specific columns. The Name and Usage columns are required.
The following optional column values are available:
Creator
Hard (Free)
Hard (Total)
Lock Behavior
Snapshots (GB)
Snapshots (Total)
Snapshots Used
Soft (Free)
Soft (Total)
System
Volumes Used
The capacity consumption by volumes and snapshots within a particular storage pool is
indicated by various colors. The default threshold values are as follows:
Blue indicates consumed capacity below 80%.
Yellow indicates capacity consumption above 80%.
Orange indicates capacity consumption of over 90%.
Red indicates that a storage pool has depleted hard capacity.
The name, the size, and the separated segments are labeled appropriately.
In Figure 4-42 on page 144, you can see an example of storage pool figures. The figure
depicts the following values for a storage pool:
Used volumes Physical amount of data already written to the storage pool. It is also
the sum of space consumed on each of the volumes in the pool.
Volumes allocated Logical amount of space reserved for all defined volumes in the
storage pool.
Hard pool size Storage pool hard limit. It represents the physical storage capacity
allocated to volumes and snapshots in the storage pool. See 4.4.1,
“Function of storage pools” on page 141 for a description.
Soft pool size Storage pool soft limit. It is the limit for the total soft sizes of all the
volumes in the storage pool. See 4.4.1, “Function of storage pools” on
page 141 for a description.
Figure 4-42 on page 144 provides an example of storage pool and size numbers.
To export the details shown in the Storage Pools view, click the Export icon in the toolbar at
the top of the GUI window. For more information, see “Copy and paste of system
configuration settings” on page 129.
Pool size: The size of the storage pool is specified as an integer multiple of 109 bytes, but
the actual size of the created storage pool is rounded up to the nearest integer multiple of
16x230 bytes. According to this rule, the smallest pool size is 17 GB.
When creating a storage pool, the system initially provides a default snapshot size of 10%.
However, you might want to adjust this value, depending on how snapshots are used, your
workload characteristics, and your requirements for how long snapshots must be kept. This
value can be set at the time of creation or dynamically changed later, depending on
your needs.
Snapshot size: The snapshot size (default or specified) is a subset of the specified pool
size. It does not allocate more space.
Sizing must consider volumes that are to be added to (or exist in) the specific storage pool,
the current allocation of storage in the total system capacity, and future activity within the
storage pool, especially regarding snapshot propagation from creating too many snapshots.
Upon depletion of space in a pool, the system progressively deletes snapshots in the pool to
free up space for additional write requests. For more information, see Chapter 1, “Snapshots,”
in IBM XIV Storage System Business Continuity Functions, SG24-7759.
The system enables the assignment of the entire available capacity to user-created storage
pools. The storage pool is initially empty and does not contain volumes. However, you cannot
create a storage pool with zero capacity.
2. You must choose Regular Pool or Thin Pool according to your needs. Based on the pool
type you choose, the available fields differ. For a Thin Pool, enter values for the following
fields:
– Pool Hard Size: Specify the upper limit of hard capacity.
– Pool Soft Size: Specify the upper limit of soft capacity.
– Lock Behavior: Specify the behavior in case of depleted capacity.
This value specifies whether the storage pool is locked for write or whether it is
disabled for both read and write when running out of storage space. The default value
is Read only.
For a regular pool, enter the Pool Size field, the required size of the storage pool.
3. In the Snapshots Size field, enter the required size of the reserved snapshot area.
4. In the Pool Name field, enter a name (it must be unique across the storage system) for the
storage pool.
5. Click Add to add this storage pool.
This operation is also used to shrink or increase the snapshot capacity inside the storage
pool. This alteration affects only the space within the storage pool. In other words, increasing
snapshot size consumes the free capacity only from the corresponding pool.
To change the size of one storage pool in the system, right-click a pool in the Storage Pools
view (Figure 4-41 on page 143) and select Resize.
The window shown in Figure 4-44 opens. Change the pool hard size, soft size, or the
snapshot size to match your new requirements. Within the storage pool gauge, the vertical
dotted line to the left (with the blue triangles) is the consumed capacity and the vertical dotted
line to the right (with the white circles) is the snapshot size.
The remaining soft capacity is displayed under the Pool Soft Size setting and calculated by
the system in the following manner:
Remaining Soft Capacity = [Current Storage Pool Soft Size + Remaining System Soft Size] -
Current Storage Pool Hard Size
The capacity of the deleted storage pool is reassigned to the system’s free capacity, which
means that the free hard capacity increases by the size of the deleted storage pool.
When moving a master volume from one storage pool to another, all of its snapshots are
moved along with it to the destination storage pool. You cannot move a snapshot alone
(independent of its master volume).
The destination storage pool must have enough free storage capacity to accommodate the
volume and its snapshots. The exact amount of storage capacity allocated from the
destination storage pool is released at the source storage pool.
A volume that belongs to a consistency group cannot be moved without moving the entire
consistency group.
As shown in Figure 4-46, in the Volume by Pools view, right-click the appropriate volume and
initiate a Move to Pool operation to change the location of a volume.
To configure pool thresholds from the XIV Storage Management GUI Storage Pools view,
right-click an empty area in the view and choose Pool Thresholds to open a dialog window,
as shown in Figure 4-48.
Enable a specific class of Volumes Usage or Snapshots Usage threshold alert by checking
the box next to it. To adjust the value of an enabled threshold, click and drag the slider bar or
type in the corresponding numerical value.
Important: When pool-specific thresholds are enabled, they override or take precedence
on the system level thresholds.
The system wide pool thresholds can be copied from one XIV system to another by copying
the system configuration of the source system and then selecting Paste Pool Threshold from
the target system pop-up menu. The specific pool thresholds can be copied from one pool to
another within the same XIV system, but cannot be copied from one XIV system to another
XIV system.
Important: The commands shown in this section are based on the assumption that you
started an XCLI session on the selected system, as described in “XCLI session features”
on page 138.
To list the existing storage pools in a system, run pool_list. A sample output of this
command is shown in Figure 4-49.
The size of the storage pool is specified as an integer multiple of 109 bytes, but the actual size
of the created storage pool is rounded up to the nearest integer multiple of 16x230 bytes. The
snapshot_size parameter specifies the size of the snapshot area within the pool. It is a
mandatory parameter, and you must specify a positive integer value for it.
With this command, you can increase or decrease the pool size. The pool_create and the
pool_resize commands are also used to manage the size of the snapshot area within a
storage pool.
Approve or deny deletion by responding y/n when prompted or use the -y parameter with the
pool_delete command to approve deletion.
Tip: You can use the -y parameter at the end of a command that requires confirmation to
have it auto-approved. This parameter is useful for scripting.
Run the following command to move the volume named Zejn_02 to ITSO Pool 3:
vol_move pool="ITSO Pool 3" vol="Zejn_02"
The command succeeds only if the destination storage pool has enough free storage capacity
to accommodate the volume and its snapshots. The command moves a particular volume and
its snapshots from one storage pool to another one. However, if the volume is part of a
consistency group, the entire group must be moved. In this case, the cg_move command is the
correct solution:
cg_move cg="Mainz01 CG" pool="ITSO Pool 3"
All volumes, volume snapshots, and snapshot groups of the consistency group are moved.
A typical storage pool creation command with thin provisioning parameters can be issued as
shown in the following example:
pool_create pool="ITSO Pool" hard_size=807 soft_size=1013 lock_behavior=read_only
snapshot_size=206
The soft_size parameter is the maximal storage capacity seen by the host and cannot be
smaller than the hard_size parameter, which is the hard physical capacity of the storage pool.
If a storage pool runs out of hard capacity, all of its volumes are locked to all write commands.
Even though write commands that overwrite existing data can be technically serviced, they
are blocked to ensure consistency.
This command specifies whether the storage pool is locked for write or whether it disables
both read and write when running out of storage space.
Lock: The lock_behavior parameter can be specified for non-thin provisioning pools, but it
has no effect.
4.5 Volumes
After defining storage pools, the next logical step in system configuration is volume
management.
The XIV Storage System offers logical volumes as the basic data storage element for
allocating usable storage space to attached hosts. This logical unit concept is known and is
widely used by other storage subsystems and vendors. However, the volume segmentation
and its distribution over the physical disks is not conventional in the XIV Storage System.
Traditionally, logical volumes are defined within various Redundant Array of Independent
Disks (RAID) arrays, where their segmentation and distribution are manually specified. The
result is often a suboptimal distribution within and across modules (expansion units) and is
dependent upon the administrator’s knowledge and expertise.
As explained in 2.3, “Full storage virtualization” on page 24, the XIV Storage System uses
true virtualization as one of the basic principles for its unique design. With the
XIV Storage System, each volume is divided into 1 MB partitions, and these partitions are
distributed pseudo randomly and evenly, and duplicated for protection. The result is optimal
distribution in and across all modules, which means that for any volume, the physical drive
location and data placement are invisible to the user. This method dramatically simplifies
storage provisioning, letting the system automatically lay out the user’s volume in an optimal
way.
This method offers complete virtualization, without requiring preliminary volume layout
planning or detailed and accurate stripe or block size pre-calculation by the administrator. All
disks are equally used to maximize the I/O performance and use all the processing power and
all the bandwidth available in the storage system.
Volumes can also be grouped into larger sets called consistency groups and storage pools.
See 2.6, “Storage pool concepts” on page 35.
Storage Pool
Consistency Group
DbVol1 DbVol2
LogVol1 LogVol2
TestVol
Snapshots from CG
DbVol1 DbVol2
DbVol2_snap2
LogVol1 LogVol2
DbVol2_snap1
Snapshot Reserve
Volumes are listed in a tabular format. If the volume has snapshots, then a + or a - icon
displays on the left. Snapshots are listed under their master volumes, and the list can be
expanded or collapsed at the volume level by clicking the + or - icon.
Snapshots are listed as a subbranch of the volume of which they are a replica, and their row
is indented and slightly shaded.
The Master column of a snapshot shows the name of the volume of which it is a replica. If this
column is empty, the volume is the master.
Tip: To customize the columns in the lists, right-click one of the column headings and
make the required selection of attributes. The default column set does not contain the
Master column. You can also resize the columns to allow for longer names or to make more
columns visible.
Most of the volume-related and snapshot-related actions can be selected by right-clicking any
row in the table to display a drop-down menu of options. The options in the menu differ slightly
for volumes and snapshots.
Creating volumes
When you create a volume in a traditional or regular storage pool, the entire volume storage
capacity is reserved (static allocation). You cannot define more space for volumes in a regular
storage pool than the actual hard capacity of the pool, which guarantees the functions and
integrity of the volume.
When you create a volume in a thin-provisioned pool, the capacity of the volume is not
reserved immediately to the volumes. However, a basic 17.1 GB piece, which is taken out of
the storage pool hard capacity, is allocated at the first I/O operation. In a thin-provisioned
pool, you are able to define more space for volumes than the actual hard capacity of the pool,
up to the soft size of the pool.
The volume size is the actual “net” storage space, as seen by the host applications, not
including any mirroring or other data protection impact. The free space consumed by the
volume is the smallest multiple of 17 GB that is greater than the specified size. For example, if
we request an 18 GB volume to be created, the system rounds this volume size to 34 GB. For
a 16 GB volume size request, it is rounded to 17 GB.
Figure 4-53 on page 157 gives you various basic examples of volume definition and planning
in a thinly provisioned pool.
Volume II
Volume I Volume II Volume I Volume III
17 GB 17 GB 17 GB 17 GB
17 GB
Volume I Volume II
17 GB 34 GB
Figure 4-53 shows the volumes with the minimum amount of capacity, but the principle can be
used for larger volumes as well. Plan carefully the number of volumes or the hard size of the
thinly provisioned pool because of the minimum hard capacity that is consumed by one
volume.
If you create more volumes in a thinly provisioned pool than the hard capacity can cover, the
I/O operations against the volumes fail at the first I/O attempt.
Volumes: Plan the volumes in a thin-provisioned pool in accordance with this formula:
Pool Hard Size >= 17 GB x (number of volumes in the pool)
The size of a volume can be specified either in gigabytes (GB), gibibytes (GiB), or in blocks
(where each block is 512 bytes). If the size is specified in blocks, volumes are created in the
exact size specified, and the size is not rounded up. It means that the volume shows the exact
block size and capacity to the hosts but consumes a 17 GB size in the XIV Storage System.
This capability is relevant and useful in migration scenarios.
If the size is specified in GB, the actual volume size is rounded up to the nearest 17.1 GB
multiple (making the actual size identical to the free space consumed by the volume). This
rounding up prevents a situation where storage space is not fully used because of a gap
between the free space used and the space available to the application.
If the size is specified in GiB, the volume is specified in binary gigabytes (in multiples of 230 )
and is rounded up to the nearest 16 GiB multiple, which is physically the same total size as
the equivalent reported gigabyte size.
The volume is logically formatted at creation time, which means that any read operation
results in returning all zeros as a response.
To create volumes with the XIV Storage Management GUI, complete the following steps:
1. Click the Add Volumes icon in the Volume and Snapshots view (see Figure 4-52 on
page 154) or right-click in the body of the window (not on a volume or snapshot) and click
Add Volumes.
The window that is shown in Figure 4-54 opens.
2. From the Select Pool field, select the pool where this volume should be stored. See 4.4.2,
“Managing storage pools with the XIV Storage Management GUI” on page 142 for a
description of how to define storage pools. The storage size and allocation of the selected
storage pool is shown textually and graphically:
– The blue portion of the bar indicates the space already allocated in this storage pool.
– The shaded portion of the bar, outlined with a rectangular size indicator, indicates the
space that will be allocated to this volume (or volumes) after it is created.
– The remaining gray portion of the bar indicates the space that remains free after this
volume (or volumes) is allocated.
3. In the Number of Volumes field, specify the required number of volumes.
Volume size: When multiple volumes are created in the same step, they all have the
same size as specified in the Volume Size field.
5. In the Volume Name field, specify the name of the volume to define. The name of the
volume must be unique in the system. If you specified that more than one volume is
defined, they are automatically and successively named by appending an incrementing
number to end of the specified name. You can manually input the suffix of the first volume
by typing a different number.
6. Click Create to effectively create and add the volumes to the storage pool (Figure 4-55).
After a volume is successfully added, its state is unlocked, meaning that write, format, and
resize operations are permitted. The creation time of the volume is set to the current time and
is never changed. Notice the volume name sequence in Figure 4-56.
Attention: The size of the volume can be decreased with the XIV Storage Management
GUI. However, to avoid possible data loss, contact your IBM XIV Storage System support
personnel if you need to decrease a volume size. (Mapped volume size cannot be
decreased.)
Not all host operating systems support dynamic volume resizing. Consult with the host
vendor documentation about whether your host OS supports resizing volumes dynamically
and what restrictions and warnings there are.
The volume address space is extended (at the end of the existing volume) to reflect the
increased size, and the additional capacity is logically formatted (that is, zeros are returned
for all read commands).
When resizing a regular volume (not a writable snapshot), all storage space that is required to
support the additional volume capacity is reserved (static allocation). This configuration
guarantees the functions and integrity of the volume, regardless of the resource levels of the
storage pool containing that volume.
Resizing a master volume does not change the size of its associated snapshots. These
snapshots can still be used to restore their individual master volumes at their initial sizes.
To resize volumes using XIV Storage Management GUI, complete the following steps:
1. Right-click the row of the volume to be resized and select Resize.
The total amount of storage is presented both textually and graphically. The amount that is
already allocated by the other existing volumes is shown in blue. The amount that is free is
shown in gray. The current size of the volume is displayed as a dotted outline box, around
the storage pool gauge.
Deleting volumes
Using the XIV Storage Management GUI, deleting a volume is as easy as creating one.
Important: After you delete a volume or a snapshot, all data stored on the volume is lost
and cannot be restored.
All the storage space that was allocated (or reserved) for the volume or snapshot is freed and
returned to its storage pool. The volume or snapshot is then removed from all the logical unit
number (LUN) maps that contain mapping of this volume.
Deleting a volume deletes all the snapshots associated with this volume, even snapshots that
are part of snapshot groups. A volume can be deleted even if the volume is in the lock state,
but a volume cannot be deleted if the volume is mapped to a host or part of a consistency
group.
Maintaining volumes
There are various other operations that can be issued on a volume. See “Menu option
actions” on page 155 for more information.
The use of these operations is obvious, and you can initiate an operation by right-clicking one.
These following operations are available:
Format a volume:
A formatted volume returns zeros as a response to any read command. The formatting of
the volume is done logically, and no data is written to the physical storage space allocated
for the volume. Consequently, the formatting action is performed instantly.
Rename a volume:
A volume can be renamed to a unique name in the system. A locked volume can also be
renamed.
Lock and unlock a volume:
You can lock a volume so that hosts cannot write to it. A volume that is locked is
write-protected, so that hosts can read the data stored on it, but they cannot change it.
The volume displays then as a lock icon. In addition, a locked volume cannot be formatted
or resized. In general, locking a volume prevents any operation (other than deletion) that
changes the volume’s image.
Lock and unlock: Master volumes are set to unlocked when they are created.
Snapshots are set to locked when they are created.
Important: The commands shown in this section assume that you started an XCLI
Session on the selected system, as described in “XCLI session features” on page 138.
Replace the example name values to perform the commands.
The result of this command is similar to the output shown in Figure 4-58.
Name Size(GB) Master Name Consistency Group Pool Creator Used Capacity
(GB)
myvol_10 223 ITSO Pool itso 0
myvol_11 223 ITSO Pool itso 0
myvol_12 223 ITSO Pool itso 0
myvol_13 223 ITSO Pool itso 0
myvol_14 223 ITSO Pool itso 0
myvol_15 344 ITSO Pool itso 0
To find and list a specific volume by its SCSI ID (serial value), run the following command:
vol_by_id id=23
The size can be specified either in gigabytes or in blocks (where each block is 512 bytes). If
the size is specified in blocks, volumes are created in the exact size specified. If the size is
specified in gigabytes, the actual volume size is rounded up to the nearest 17 GB multiple
(making the actual size identical to the free space consumed by the volume). This rounding
up prevents a situation where storage space is not fully used because of a gap between the
free space used and the space available to the application.
The volume is logically formatted at creation time, which means that any read operation
results in returning all zeros as a response. To format a volume, run the following command:
vol_format vol=”myvol_16”
All data stored on the volume is lost and unrecoverable. If you want to bypass the warning
message, put -y directly after the XCLI command.
The following example shows how to resize one of the existing volumes:
vol_resize vol="myvol_16" size=103
Cannot shrink: If you attempt to decrease a volume’s size by using the XCLI, you receive
a CAN_NOT_SHRINK_VOLUME message. Create a volume and migrate the data to the
new volume.
For details on how to manage volume SSD Caching through the XCLI, see 4.9.2, “Managing
flash cache with XIV Command Line Interface” on page 204.
The XIV Storage System is able to manage single hosts or hosts grouped together in clusters.
4.6.1 Assigning LUNs to a host using the XIV Storage Management GUI
There are several steps that are required to define a new host and assign LUNs to it. One of
the prerequisites is that volumes must be created in a storage pool.
Defining a host
To define a host, complete the following steps:
1. In the XIV Storage System main GUI window, hover the cursor over the Hosts and
Clusters icon and select Hosts and Clusters (see Figure 4-59).
2. The Hosts window opens and shows a list of hosts (if any) that are already defined. To add
a host or cluster, click either Add Host or Add Cluster in the menu bar (see Figure 4-60).
In our example, we select Add Host. Add Host is used for a single host that is assigned a
LUN or multiple LUNs. Add Cluster is used for a group of hosts that share a LUN or
multiple LUNs.
3. The Add Host window opens, as shown in Figure 4-61 on page 165. From the System /
Cluster drop-down menu, choose a cluster for the host (choose Standalone Hosts for no
cluster). Enter a Name for the host. Select a Type for the host (choose the default unless
the host type is hpux or zvm).
Important: Do not change the host type of a host that has mapped volumes, because
the volumes will be inaccessible to the host.
If you need to change the host type, remove all mappings first, change the host type,
and remap the volumes afterward.
5. Repeat steps 2 and 3 to create additional hosts. In our scenario, we add another host that
is called ITSO_Win2008_iscsi.
6. Host access to LUNs is granted depending on the host adapter ID. For a Fibre Channel
(FC) connection, the host adapter ID is the FC host bus adapter (HBA) worldwide port
name (WWPN). For an iSCSI connection, the host adapter ID is the host iSCSI qualified
name (IQN). To add a WWPN or IQN to a host definition, right-click the host and select
Add Port from the menu, as shown in Figure 4-62.
Figure 4-63 XIV Storage Management GUI example: Add FC port WWPN
Repeat steps 5 and 6 to add the second HBA WWPN. Ports can be added in any order.
8. To add an iSCSI host, in the Add Port window, specify the port type as iSCSI and enter the
IQN of the HBA as the iSCSI Name. See Figure 4-64.
Figure 4-64 XIV Storage Management GUI example: Add iSCSI port
9. The host is displayed with its ports in the Hosts window, as shown in Figure 4-65 on
page 166.
2. When the LUN Mapping for Host window opens (Figure 4-67), select an available volume
from the left pane.
The XIV Storage Management GUI suggests a LUN ID to which to map the volume, which
can be changed to meet your requirements.
The Host Connectivity window opens. In the example, the ITSO_Win2008 and
ITSO_Win2008_iscsi host definitions, which are shown in Figure 4-69, are shown with their
corresponding FC and iSCSI connections to the XIV Storage System.
Figure 4-69 XIV Storage Management GUI example: Host connectivity matrix
Tip: The Hosts Connectivity view contains icons that indicate the port type (iSCSI or FC)
for each port.
>>host_define host=ITSO_Win2008
>>host_define host=ITSO_Win2008_iscsi
Command executed successfully.
Host access to LUNs is granted depending on the host adapter ID. For an FC connection,
the host adapter ID is the FC HBA WWPN. For an iSCSI connection, the host adapter ID
is the IQN of the host.
2. Add the WWPN of the FC host for HBA1 and HBA2 by running host_add_port with the
fcaddress parameter, as shown in Example 4-11.
3. Add the IQN of the iSCSI host, as shown in Example 4-12 on page 169. This command is
the same host_add_port command, but with the iscsi_name parameter.
Example 4-12 Create iSCSI port and add to the host definition
>> host_add_port host=ITSO_Win2008_iscsi
iscsi_name=iqn.1991-05.com.microsoft:win-gj5e8kr49ee.itso.storage.ibm.com
Command executed successfully
2. To complete the example, start the server and check the host connectivity status from the
XIV Storage System point of view. Example 4-14 shows the output for both hosts.
In Example 4-14, there are two paths per host FC HBA and two paths for the single
Ethernet port that was configured.
See XIV Storage System: Host Attachment and Interoperability, SG24-7904 for details
related to host definitions and volume mapping.
The QoS feature favors performance of critical business applications that run concurrently
with noncritical applications. Because the XIV disk and cache are shared among all
applications and all hosts are attached to the same resources, division of these resources
among both critical and noncritical applications might have an unintended adverse
performance effect on critical applications. QoS can address this by limiting the rate, based
on bandwidth and IOPS, for non-critical applications. Limiting performance resources for
non-critical applications means that the remaining resources are available without limitation
for the business-critical applications.
The QoS feature is managed through the definition of performance classes and then
associating hosts with a performance class. The feature was extended in the XIV Storage
Software Version 11.5 and can also be set by XIV domains and XIV storage pools. Each
performance class is now implicitly one of two types: host type or pool/domain type.
Figure 4-70 QoS, calculation based on active XIV interface modules (9-module XIV Storage System)
Note: If more than one host, domain, or pool is added to a performance class, all hosts,
domains, or pools in this performance class share the limitations defined on that
performance class. For example, if two or more entities are added to a 10,000 IOPS
performance class, the total number of all contained entities IOPS is limited to 10,000.
Therefore, it is a good practice to create one performance class per domain and one
performance class per pool.
2. Enter a suitable performance class name and an IOPS limit, a bandwidth limit, or a
combination of both, based on business needs. There are two choices when entering the
limitation settings: Total or Per Interface.
The Total intended limitation settings depend on the number of interface modules being
used, as previously described.
Figure 4-73 QoS limitation: Performance classes cannot contain hosts along with domains or pools
Conversely, QoS settings can also be specified on a per-interface module level. Taking
into account the information presented earlier about a fully populated system, the
maximum QoS IOPS value at the per interface level is 100,000 IOPS, with a minimum of
1 IOPS. The maximum total QoS bandwidth value at the per interface level is
10,000 MB/s, with a minimum of 1 MB/s. To adapt these to the XIV total limits for a
performance class, multiply by the number of active interface modules. For example, for a
Performance class creation using the XCLI: Using the XCLI enables you to create
an unlimited performance class (which is not possible from the GUI), as shown in
Example 4-15. The unlimited performance class is useful when using the
drag-and-drop function of the GUI for dynamic adjustments based on business needs.
Example 4-15 QoS: Creating a ‘no limit’ performance class with XCLI
XIV_PFE2_1340010>>perf_class_create perf_class=No_limit_pfc
Command executed successfully.
XIV_PFE2_1340010>>perf_class_list
Performance class Max IO rate(IOPS) Max BW rate(MB/s)
No_limit_pfc 0 0
XIV_PFE2_1340010>>
XCLI commands related to performance class handling are self explanatory and listed
below in Example 4-16 on page 173.
Figure 4-74 shows the GUI overview of performance classes, where hosts in the Unlimited
Group (No_limit_pfc) can be dragged to the QoS class. In addition, both IOPS and
bandwidth limits can be adjusted by right-clicking either setting and clicking Edit.
To export all the details shown in the QoS GUI overview, click the Export icon in the toolbar at
the top of the GUI window. This function creates a *.csv file that contains the information
about each defined performance classes.
As you can see, the XIV GUI offers an intuitive method for managing QoS delivery in
IBM XIV systems.
The XCLI also allows you to schedule QoS features through scripts. The business
requirements can be accommodated dynamically by modifying the QoS classes to ensure
that the wanted level of performance is achieved on time.
Important: When using the QoS performance class feature, XIV consistently limits
throughput to the specified QoS limits, regardless of the host, domain, or pool I/O demand.
4.8 Multitenancy
XIV multitenancy brings flexibility and simplicity to management of tenant data and storage
resources across multiple XIV systems. Multitenency provides several advantages:
Secure division and isolation of XIV Storage resources among numerous tenants
Simple, quick delegation of administration tasks and role-based permissions
Simple, rapid deployment without the need for extensive planning and tuning, as well as
field-upgradability
In this section, we cover the details of domain administration using the XIV Storage System
management software.
Managing domains with the XIV Storage Management GUI is fairly simple and intuitive. The
domains page can be reached either through the View → All Systems → Domains option in
the menu bar or from the Domains option in the Systems function icon on the left, as shown
in Figure 4-75.
Figure 4-75 Opening the Domains page from the left menu
The domains page displays some or all of the domains currently defined on the system you
are managing, as shown in Figure 4-76.
Note: The specific domains displayed in the Domains view depend upon the domain
associations of the logged in user. The global storage administrator sees all domains
defined on the XIV system. A user who is associated with one or more domains sees only
those domains. For details on the distinction between global administrators and domain
administrators, see “Global administrator and domain administrator” on page 223.
Tip: To filter the contents of the Domains view or any other view to show only items related
to a specific domain, use the filter field in the menu bar to specify the domain, using the
format domain:domainName, as shown in Figure 4-77
The capacity consumption by volumes and snapshots within the pools assigned to a
particular domain is indicated by various colors. These are the default threshold values:
Blue Capacity consumption below 80%
Yellow Capacity consumption above 80%
Orange Capacity consumption of over 90%
Red Storage pool has depleted hard capacity
The name, the size, and separated segments are labeled appropriately.
Note: As mentioned in “Pool alert thresholds” on page 149, Version 11.5 introduces the
ability to set pool alert thresholds on a per-pool basis, and consequently thresholds can be
controlled on a per domain basis.
Creating domains
The creation of a domain with the XIV GUI is a simple process. To create a domain by using
the GUI, follow these steps:
1. Click Actions → Create Domain from the menu bar, as shown in Figure 4-78.
Figure 4-78 Creating a domain from the Actions menu in the menu bar
Figure 4-79 Creating a domain using the Create Domain label in the menu bar
Note: As shown in Figure 4-78 on page 177 and Figure 4-79, you have the option to
associate existing pools to a domain when creating it. If you choose not to associate
any existing pools to the domain upon creation, you can still associate existing pools to
that domain at a later time.
Figure 4-80 The Capacity tab of the Create Domain window in the XIV GUI
3. On the Capacity tab, select the XIV system on which you want to create the domain,
specify the Domain Hard and Soft Sizes, and enter a unique Domain Name.
4. Then, click the Properties tab to specify the additional properties of the domain, as shown
in Figure 4-81. Note, the GUI automatically displays the available and suggested numbers
for the numerical properties.
Figure 4-81 The Properties tab of the Create Domain screen in the XIV GUI
Note: By default, the LDAP Domain ID field is populated with the value of the Domain
Name when Properties tab loads. Optionally, you can modify this value. If you clear this
field, the LDAP Domain ID value of the domain will automatically be set to the value of
the Domain Name. For more information about configuring multitenancy with LDAP
authentication, see 4.8.4, “Domains and LDAP authentication” on page 195.
5. After completing the fields in the Properties tab, click Create to create the domain.
If you chose Create Domain and Associate Pools in step 1 on page 177, you will see the
Create Domain and Associate Pools screen shown in Figure 4-82.
Figure 4-82 The Create Domain and Associate Pools screen in the XIV GUI
7. You can now verify that the domain was created from the Domains view, as show in
Figure 4-84.
Figure 4-84 A successfully created domain shown in the Domains view in the XIV GUI
To view the properties of a domain using the GUI, right-click the domain in the Domains view,
and click Properties, as shown in Figure 4-85 on page 182.
This opens the Domain Properties pane for the selected domain, which displays the
properties of the domain, as shown in Figure 4-86.
To edit the properties of a domain using the GUI, right-click the domain in the Domains view,
and click Edit, as shown in Figure 4-87 on page 183.
This opens the Edit Domain window for the selected domain, which displays and allows you to
edit the properties of the domain, as shown in Figure 4-88.
In the Edit Domain window, you can modify the properties of the domain as required. For
more information about the properties of a domain, see “The name, the size, and separated
segments are labeled appropriately.” on page 177.
*Note: Domain user associations can only be managed by the Global Storage
Administrator through the XIV GUI when local authentication is in use. When LDAP
authentication is in use (enabled), domain user associations must be managed directly
within the chosen LDAP solution.
Also, with LDAP enabled, a global administrator can associate user groups to a domain,
but cannot disassociate user groups from a domain with LDAP active.
Further, a domain administrator with a Storage Administrator role has the ability to manage
domain user and user group associations. However, such a user has no ability to manage
other domain resource associations.
Note: When local authentication is active, only local users that are not associated with a
local group can be associated with a domain. To associate a local user that is a member of
a local group with a domain, you must associate the user group with the domain.
For more information about domain administrators in XIV, see “Global administrator and
domain administrator” on page 223.
Figure 4-89 Accessing the Manage Domain’s Associations screen Pools tab in the XIV GUI
Important:
Associating a pool with a domain might automatically trigger the adjustment of the
domain size to accommodate the size of the pool.
Associating a pool that has pre-existing resource associations (hosts, clusters or
targets) with a domain automatically associates those resources with the domain.
Associating a pool with a domain when it has a pre-existing association with another
domain removes the association with the other domain.
For more information about storage pools in XIV, see 2.6, “Storage pool concepts” on
page 35.
In the Manage Domain’s Associations screen that appears (Figure 4-92), select the hosts and
use the arrows to associate or remove the hosts from the domain. Click Update to apply the
changes.
For more information about hosts in XIV, see 4.6, “Host definition and mapping” on page 164.
Figure 4-93 Accessing the Manage Domain’s Associations screen Clusters tab in the XIV GUI
In the Manage Domain’s Associations screen that appears (Figure 4-94), select the clusters
and use the arrows to associate or remove the clusters from the domain. Click Update to
apply the changes.
Note: Associating a cluster with a domain automatically associates the hosts contained in
the cluster with the domain.
Figure 4-95 Accessing the Manage Domain’s Associations screen Targets tab in the XIV GUI
In the Manage Domain’s Associations screen that appears (Figure 4-96), select the targets
and use the arrows to associate or remove the targets from the domain. Click Update to apply
the changes.
For more information about remote mirroring and remote mirror targets in XIV, see IBM XIV
Storage System Business Continuity Functions, SG24-7759.
Figure 4-97 Accessing the Manage Domain’s Associations screen User tab in the XIV GUI
In the Manage Domain’s Associations screen that appears (Figure 4-98), select the users and
use the arrows to associate or remove the users from the domain. Click Update to apply the
changes.
Figure 4-98 Managing domain local user associations in the XIV GUI
For more information about XIV user roles, see “User roles” on page 221.
Figure 4-99 Accessing the Manage Domain’s Associations screen User Groups tab in the XIV GUI
In the Manage Domain’s Associations screen that appears (Figure 4-100 on page 191),
select the user groups and use the arrows to associate or remove the user groups from the
domain. Click Update to apply the changes.
For more information about XIV user groups, see “User groups” on page 224.
To view any of these resource associations, right-click the domain in the Domains view and
select the appropriate menu item, as shown in Figure 4-101.
Figure 4-102 Viewing the pool resource associations for a single domain
Deleting a domain
To delete a domain, right-click the domain in the Domains view and select Delete, as shown
in Figure 4-103.
Figure 4-103 Accessing the Delete Domain dialog window in the XIV GUI
To delete the domain, click OK in the dialog window that appears, as shown in Figure 4-104.
Note: You cannot delete a domain that contains pools or users. To delete a domain that
contains pools or users, first remove the associations to those pools or users.
When implementing QoS along with multitenancy, you have the of flexibility for these options:
Associate a domain with an existing performance class
Associate a domain with a new performance class
2. In the dialog window, select the existing performance class from the drop-down menu and
click Limit, as shown in Figure 4-106.
3. The GUI opens the QoS Performance class view, where you can confirm that the domain
is now associated with the chosen performance class, as shown in Figure 4-107 on
page 194.
2. In the dialog window, enter a Name for the new performance class, a value for the I/O Limit
or Bandwidth Limit, and click Add, as shown in Figure 4-109.
3. The GUI opens the QoS Performance class view, where you can confirm that the domain
is now associated with the new performance class, as shown in Figure 4-110 on
page 195.
With LDAP authentication enabled, it is simple to configure LDAP for use in authentication of
users to XIV domains. Figure 4-111 shows the Role Mapping tab of the LDAP parameters
window of an XIV Storage System. Notice the value of the highlighted section of the Storage
Admin Role parameter. In our example, the highlighted value is XIV_PFE2_Admins.
Figure 4-111 The Role Mapping tab in the XIV LDAP parameters window
Without multitenancy, you would create a group in your directory instance name that matches
this value, as shown in Figure 4-112 on page 196.
To configure a directory group for use with an XIV domain, name the group by using this
format:
role_mapping@LDAP_domain_id
Where role_mapping is the value highlighted in Figure 4-111 on page 195 and
LDAP_domain_id is the value of the LDAP domain ID defined in the XIV domain properties,
as described in “The name, the size, and separated segments are labeled appropriately.” on
page 177. Figure 4-113 shows a directory group named using this format.
Figure 4-113 An Active Directory group named for use with a single XIV domain
Members of this group in the directory will be granted storage administrator rights in the
corresponding domain when they authenticate with the XIV system.
Further, you can configure a directory group for use with multiple XIV domains by appending
the additional domains to the end of the name, separating each domain with a / character, as
shown in Figure 4-114.
Figure 4-114 An Active Directory group named for use with multiple XIV domains
Also, remember that domain user associations can be managed only by the Global Storage
Administrator through the XIV GUI when local authentication is in use. When LDAP
authentication is in use (enabled), domain user associations must be managed directly within
the chosen LDAP solution. In addition, with LDAP enabled, a global administrator can
associate user groups to a domain but cannot disassociate user groups from a domain with
LDAP active.
Important: The commands shown in this section are based on the assumption that you
started an XCLI Session on the selected system, as described in “XCLI session features”
on page 138. Replace the example parameter values, as appropriate, to perform the
commands.
Example 4-18 Listing the users associated with a domain with the XCLI
XIV_PFE2_1340010>>domain_list_users domain="ITSO_domain"
Domain User Category
ITSO_domain ITSO storageadmin
For a list of the objects associated with a domain, run the domain_list_objects command,
substituting the appropriate value for the domain parameter, as shown in Example 4-19:
Example 4-19 Listing the objects associated with a domain with the XCLI
XIV_PFE2_1340010>>domain_list_objects domain="ITSO_domain"
Domain Type Object
ITSO_domain host ITSO_x3550-m3-02
ITSO_domain host ITSO_x3550-m3-80
ITSO_domain cluster ITSO_ESX_Cluster
ITSO_domain target XIV_02_1310114
ITSO_domain schedule never
ITSO_domain schedule min_interval
ITSO_domain user_group thilo_app_x3655
To create a domain, use the domain_create command. Substitute the appropriate value for
the domain parameter, as shown in Example 4-20:
Note: When creating a domain from the CLI by using the domain_create command, the
only required parameter is domain, which specifies the name of the domain. Optionally, you
can specify the following parameters:
hard_capacity (If omitted, defaults to 0)
soft_capacity (If omitted, defaults to 0)
max_pools (If omitted, defaults to 0)
max_volumes (If omitted, defaults to 0)
max_cgs (If omitted, defaults to 0)
max_mirrors (If omitted, defaults to 0)
max_dms (If omitted, defaults to 0)
perf_class (If omitted, defaults to undefined)
ldap_id (If omitted, defaults to the value of the domain parameter)
allow_ssd_caching (If omitted, defaults to yes when SSD caching is enabled on the
system, but if omitted when SSD caching is disabled on the XIV system, defaults to no)
To update a domain, use the domain_update command, substituting the appropriate value for
the domain parameter, and specifying the parameter values, as shown in Example 4-21:
The flash cache automatically adjusts to the workload, providing a performance boost for
small I/O random reads. No additional configuration or tuning is necessary by the storage
administrator. However, XIV Storage Manager GUI Version 4 offers enhancements to support
flash cache, allowing the storage administrator to perform several optional actions, for
example:
Check the flash cache status in each module.
Enable or disable flash cache at system level.
Enable or disable flash cache at volume level.
The remainder of this section shows the essential actions that an administrator can perform
through the GUI and the XCLI to manage the flash cache feature. For a complete description
of all actions and commands that relate to the flash cache, see the Redpaper publication titled
Solid-State Drive Caching in the IBM XIV Storage System, REDP-4842.
4.9.1 Managing flash cache with the XIV Storage Management GUI
You can check the health and status of SSDs used for the flash cache in the main system
view. Moving the mouse cursor over a module displays a pop-up panel showing the
temperature and status of major module components. When SSD disks are present, the SSD
status is displayed at the bottom of the pop-up panel. If the SSD is operational, a green OK
status is displayed as illustrated in Figure 4-115.
Clicking a module number opens a full perspective view of the module and its components, as
shown in Figure 4-116 on page 200.
Tip: Flash cache can be dynamically enabled and disabled at any time.
To enable or disable flash cache for the entire XIV system, select Settings from the toolbar in
the main System view, as indicated in Figure 4-117.
The system Settings panel is displayed. Select the Parameters tab. The Global SSD (Flash)
Caching default can be set to Enabled or Disabled, as shown in Figure 4-118.
In the Volumes and Snapshots tabular view, there is a new column labeled SSD. It displays the
flash cache status for all the volumes.
By default, the SSD column shown in Figure 4-119 is not visible. To add it, use the
instructions in 4.5.1, “Managing volumes with the XIV Storage Management GUI” on
page 153.
By default, any newly created volume inherits the current system-level cache setting.
In the Volumes and Snapshots view shown in Figure 4-119, right-click a volume row and
select Change SSD Caching State from the pop-up menu.
The following information applies to the Change SSD Caching State window:
If the Default (Enabled) setting is selected, the volume follows the current system settings.
You can override the Default by selecting Manual. Then, the volume no longer follows the
current default system settings. In that case, you can select one of these options:
– Enable: Flash cache is enabled for the selected volume.
– Disable: Flash cache is disabled for the selected volume.
Tip: The overall System Status Setting for the SSD Caching is shown in parentheses.
You can select more than one volume in the Volumes and Snapshots view if you need to
change the SSD Caching State for a list of volumes.
On GUI 4.0, some new metrics have been added for Read I/O:
Mem Hit: Metrics for read I/O Main cache
SSD Hit: Metrics for read I/O Extended SSD cache
For a description of flash cache performance, see Chapter 6, “Performance” on page 285,
and Solid-State Drive Caching in the IBM XIV Storage System, REDP-4842.
A useful command is help search=ssd, which displays a list of all commands related to
SSDs. This command is illustrated in Example 4-22.
Use the ssd_list command to get a list of SSDs that are used as flash cache in the system.
The output is shown in Example 4-23.
If the default status is enabled, flash cache is enabled on all volumes in the system unless the
status is manually changed. Otherwise, if default status is disabled, flash cache is disabled for
all volumes in the system.
Tip: With the flash cache state enabled, you can explicitly disable any volume that you do
not want to include in the extended caching.
If you want to change the flash cache state globally for the system, you can issue one of the
following commands:
vol_default_ssd_caching_set default=enabled
set the SSD Caching enabled
vol_default_ssd_caching_set default=disabled
set the SSD Caching disabled
You can also use the vol_list command with the -x flag and the vol parameter to display all
of the volume properties, which now include two additional values, ssd_caching and
use_ssd_caching_default. For an illustration, see Example 4-26.
</OUTPUT>
</XCLIRETURN>
The value of the use_ssd_caching_default parameter indicates whether the volume follows
the default system state for flash cache:
If the value is yes, the volume follows the default system state for flash cache.
If the value is no, the volume does not inherit the default setting for flash cache. It means
that if the global system setting for the caching is changed, the volume keeps its current
ssd_caching value.
Chapter 5. Security
This chapter describes the IBM XIV Storage System security features from various
perspectives. It covers the following topics:
Physical access security
x509 certificate validation and management
Configuring IPv6 addresses
Configuring Internet Protocol Security (IPSec) connectivity
Native user authentication
Considerations when using MultiSystem Manager
LDAP-based authentication
Defining LDAP on the XIV Storage System
LDAP-managed user authentication
Securing LDAP communication with Secure Sockets Layer
Important: An important aspect of XIV security is the support for data-at-rest encryption,
which was introduced with XIV Storage Software Version 11.4. The encryption topic is
covered in the IBM Redpaper publication titled, IBM XIV Security with Data-at-Rest
Encryption, REDP-5047.
A common risk with storage systems is the retention of volatile caches. The XIV Storage
System is perfectly safe in regard to external operations and a loss of external power. If there
is a power failure, the internal uninterruptible power supply (UPS) units provide power to the
system. The UPS enables the XIV Storage System to gracefully shut down.
However, if someone gains physical access to the equipment, that person might manually
shut off components by bypassing the preferred process. In this case, the storage system is
likely to lose the contents of its volatile caches, resulting in a data loss and system
unavailability. To eliminate or greatly reduce this risk, the XIV Storage System rack can be
equipped with lockable doors. The XIV Gen3 rack security kit is available by ordering RPQ
8S1190.
Important: Protect your XIV Storage System by locking the rack doors and monitoring
physical access to the equipment.
The use of x509 certificates provides for secure authentication and encryption of all
communication between the XIV software components. Previous versions required the use of
the default, built-in certificate. Beginning with XIV Storage System Software Version 11.2 and
XIV Storage Management software Version 4.1, you have the flexibility to install and use your
own x509 certificates in addition to the built-in certificate.
Important: If you are using certificates supplied by a third party CA, contact the
company’s CA to verify all certificates don't use MD5 signature algorithms.There is
vulnerability in the MD5 signature and hash algorithm, as explained here:
https://www-304.ibm.com/support/docview.wss?uid=ssg1S1005615
IBM XIV Management Tools version 4.8.0.1 and the bundled IBM Hyper-Scale Manager
version 1.9.1 are blocking by default the usage of MD5 signature algorithms.
5.2.1 Managing x509 certificates with the XIV Storage Management GUI
This section shows how to prepare and configure the XIV Storage System to use x509
certificates.
2. Click the Generate CSR icon in this panel to open the Generate CSR panel, as shown in
Figure 5-2.
In the Subject field, enter a value for the subject of the certificate. The subject field
represents the values that uniquely identify this system, and are commonly called,
collectively, the distinguished name (DN). The acceptable format for the subject field is a
string of attribute=value pairs, each preceded by a slash. Spaces are not permitted. In our
example, we use the value /CN=xivhost/O=itso/L=Tucson/ST=AZ/C=US.
Choose a value for the encryption strength in the Bits field. In our example, we choose
2048-bit encryption.
Tip: The subject field in an x509 certificate uniquely identifies the host that the
certificate belongs to. It is recommended that, at a minimum, the following field
attributes be included in the subject or your certificate request:
CN (common name)
O (organization)
L (locality)
ST (state)
C (country)
3. Click Generate to generate the CSR file. A file browser window opens, as shown in
Figure 5-3, prompting you to save the CSR file to your local workstation. Choose the
appropriate location and save the CSR file. You provide this file to your CA to produce a
signed certificate.
After saving the CSR file, the Certificates Management panel shows your pending
certificate request, as illustrated in Figure 5-4.
Tip: Depending on what certificate authority server is used to create your signed
privacy enhanced mail (PEM) file, the contents of the file might differ slightly. For
example, when OpenSSL is used to generate a signed PEM file, the file might contain
plain-text metadata details about the CA server and the certificate.
To import the PEM file into an XIV Storage System, it must conform to the x509
standard PEM file format. That is, it should contain only the actual encrypted certificate
and the enclosing -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----
tags, as shown, below:
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIBJzANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJVUzELMAkGA1UECBMC
QVoxDDAKBgNVBAoTA0lCTTENMAsGA1UECxMESVRTTzESMBAGA1UEAxMJeGl2Q0Fob3N0MB4XDTEz
MDMyMDIzNTk0MVoXDTE0MDMyMDIzNTk0MVowTDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkFaMQ8w
DQYDVQQHEwZUdWNzb24xDTALBgNVBAoTBGl0c28xEDAOBgNVBAMTB3hpdmhvc3QwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4hOTzzsk9W+oMfd9+3qwZchx2ZbUjDmbwhW5jyf+9qbb+
at6UeqavD2mGTX/fceLo7ZwFC5M5PL1LMiD+Scz2FWaMH58srwwBo5vUvM/3/P+Du+H1Xb9FwoyF
uUAyIpNkaoMfjL96ToF9NLZ22PTi048e3Tnk4d/trL1r2kt1fzBf5VChAl79K9aMm+N7PFkjuWJu
vBPSySyCZGhuTLzOER04xN9zwXHrhohSnBw0ZV+kN5NgEVZ6K+s+0tUheksEo/4Mqmhnu3+oOxjH
PYHM7Wu9HrYZU2F+Dm2byrl4ZOL9IcHNd+aCMtraJ6/N6nPiGeFbRS7uUTPmA9VOTf/7AgMBAAGj
ggEBMIH+MAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMCwGCWCGSAGG+EIBDQQfFh1PcGVu
U1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU2imuYrUOFeaVUnsjk9jhajwAMsww
ewYDVR0jBHQwcoAUMs0yREEVImhVvzylyXAUSYsca7ehT6RNMEsxCzAJBgNVBAYTAlVTMQswCQYD
VQQIEwJBWjEMMAoGA1UEChMDSUJNMQ0wCwYDVQQLEwRJVFNPMRIwEAYDVQQDEwl4aXZDQWhvc3SC
CQCq4OFWskg2IDAJBgNVHREEAjAAMAkGA1UdEgQCMAAwDQYJKoZIhvcNAQEFBQADggEBAGqhgptA
I9QB/IuMirBN9QyzUwyigpGcxnwxcSUwRHbC+aqoB4jGSZszd0M3kXctAve1i0hh7t/bJvN5yYHc
/SaojSPjQYyQNHK6FuNVBlDqkLUrRDoX6BtPUBvfQ0asZIVQhY4o0ObUJg1/GscSuzUkt6m9/s0g
YSw57qDRRD7jHwzxXCzBpNjK0nVcSu/Hy8XUa78z871KCkZKxcc+t2HV7InrBbVDzcBuOrerZuuT
mzLrmzuoNluo7isIUqjhAXf3oSwa+9NVvXFQYTJxiyxIA5M0il3tBnqWQ6PJUKwTbntf7Ra32W5g
zTdA7jDMNSItVfqaM/1bXrk5cOy/Eig=
-----END CERTIFICATE-----
If the PEM file that you receive contains any other details, open the file with a text editor,
remove the additional details, and save the PEM file before you import it via the XIV
GUI.
6. After the Import Certificate window opens shown in Figure 5-6 opens, click Browse to
open a file browser window and select the signed certificate file. In our example, the
signed certificate file is named itsoCertificate.pem.
Click the corresponding check boxes to select the services that you would like to use this
certificate for. The following options are available:
All Use this certificate to secure all communications.
XCLI Use this certificate to secure XCLI communication only.
IPSec Use this certificate to secure IPSec traffic (for more information
about IPSec, see 5.4, “Configuring Internet Protocol Security
connectivity” on page 217).
CIM Use this certificate to secure Common Information Model (CIM)
agent communications only.
7. Optionally, repeat steps 1 - 6 for any additional IBM XIV systems that you want to secure
with your own certificate.
2. The GUI displays the details of the new certificate, as shown in Figure 5-10. Click Trust
Always to trust this certificate for all future connections.
The certificate error is resolved and you are now able to securely connect to this system
from the GUI using your own x509 certificate.
In the drop-down box for Use IPv6, select Yes and click Update.
Enter the corresponding three IPv6 addresses in the fields shown in Figure 5-14, and click
Update.
Enter the corresponding two IPv6 addresses in the fields shown in Figure 5-16, and click
Update.
2. Click the green plus (+) icon on the right to open the Add IPSec Connection panel, which
is shown in Figure 5-18.
In the Remote IP field, enter the IP address of the remote workstation you will use to
connect over IPSec.
Choose which XIV Storage System interface type on which you want to establish the
IPSec connections. The available choices are Management and VPN.
Select the radio button for the authentication method that you want to use:
– For Certificate authentication, click Browse to select and upload your certificate file.
For more information about obtaining certificates, see 5.2.1, “Managing x509
certificates with the XIV Storage Management GUI” on page 209, and “Certificate
authority setup” on page 443.
3. Click Create to create the IPSec connection on the XIV System. The completed
connection is shown in Figure 5-20.
4. When an IPSec connection is established from the remote IP address, connection details
can be viewed by right-clicking the connection entry and choosing Show tunnels, as
shown in Figure 5-20.
User name
A user name is a string of 1 - 63 characters that can contain only a - z, A - Z, 0 - 9, .-_~,
and space symbols. User names are case-sensitive. The XIV Storage System is configured
with a set of predefined user accounts. Predefined user names and corresponding default
passwords exist to provide initial access to the XIV Storage System at the time of installation,
for system maintenance, and for integration with applications such as the IBM Tivoli Storage
Productivity Center.
The following user accounts are predefined on the XIV Storage System:
Technician
This account is used by the IBM Service Support Representative (SSR) to install the XIV
Storage System.
Admin
This account provides the highest level of client access to the system. It can be used for
creating new users and changing passwords for existing users in native authentication
mode.
Important: Use of the admin account should be limited to the initial configuration when
no other user accounts are available. Access to the admin account needs to be
restricted and securely protected.
Predefined user accounts cannot be deleted from the system and are always authenticated
natively by the XIV Storage System even if the system operates under Lightweight Directory
Access Protocol (LDAP) authentication mode.
User accounts can initially be created by the admin user only. After the admin user creates a
user account and assigns it to the storageadmin (Storage Administrator) role, then other user
accounts can be created by this storageadmin user.
In native authentication mode, the system is limited to creating up to 128 user accounts. This
number includes the predefined users.
The passwords must not have spaces between characters. In native authentication mode, the
XIV Storage System verifies the validity of a password when the password is assigned.
Predefined users have the default passwords shown in Table 5-1 assigned at the time of XIV
Storage System installation.
admin adminadmin
Important: The default admin password must be changed at the time of installation to
prevent unauthorized access to the system. For instructions, see “Adding users with the
XIV Storage Management GUI” on page 225.
The following restrictions apply when working with passwords in native authentication mode:
For security purposes, passwords are not shown in user lists.
Passwords are user changeable. Users can change only their own passwords.
Only the predefined user admin can change the passwords of other users.
Passwords are changeable from both the XCLI and the XIV Storage Management GUI.
Passwords are case-sensitive.
User password assignment is mandatory at the time a new user account is created.
Creating user accounts with an empty password or removing a password from an existing
user account is not permitted.
User roles
There are nine predefined user roles (in the XIV Storage Management GUI and the XCLI).
Roles are referred to as categories and are used for day-to-day operation of the XIV Storage
System. The first four categories listed (storageadmin, applicationadmin, securityadmin, and
read only) are allowed to have multiple users created with these roles; the other four are
preassigned by the system and do not allow additional users to be created with these roles.
The following section describes predefined roles, their level of access, and applicable use:
storageadmin
The storageadmin (Storage Administrator) role is the user role with highest level of access
available on the system. A user assigned to this role can perform changes on any system
resource except for maintenance of physical components, changing the status of physical
components, or effecting changes related to encryption.
User roles: There is no capability to add new user roles or to modify predefined roles. In
native authentication mode, after a user is assigned a role, the only way to assign a new
role is to first delete the user account and then re-create it.
admin storageadmin
technician technician
xiv_development xiv_development
xiv_maintenance xiv_maintenance
xiv_hostprofiler xiv_hostprofiler
xiv_msms storageadmin
Native authentication mode implements user role mechanism as a form of role-based access
control (RBAC). Each predefined user role determines the level of system access and
associated functions that a user is allowed to use.
RBAC: The XIV Storage System implements role-based access control (RBAC) based
authentication and authorization mechanisms.
All user accounts must be assigned to a single user role. Assignment to multiple roles is not
permitted. Deleting or modifying role assignment of natively authenticated users is also not
permitted.
When you add a user, the user can be assigned to zero (no domain), one, or all domains
defined on that XIV system, as shown in Figure 5-21.
If a particular user needs to be assigned to multiple domains, the additional association must
be made from the Domains view, as explained under “Managing domain user associations”
on page 189.
For more information about managing domains, see 4.8, “Multitenancy” on page 174.
User groups
A user group is a group of application administrators who share a set of snapshot creation
permissions. The permissions are enforced by associating the user groups with hosts or
clusters. User groups have the following characteristics:
Only users assigned to the applicationadmin role can be members of a user group.
A user can be a member of a single user group.
A maximum of eight user groups can be created.
Group names are case-sensitive.
In native authentication mode, a user group can contain up to eight members.
If a user group is defined with access_all=”yes”, users assigned to the applicationadmin
role who are members of that group can manage all snapshots on the system.
A user must be assigned to the storageadmin role to be permitted to create and manage
user groups.
Important: A user group membership can be defined only for users assigned to the
applicationadmin role.
5.5.2 Managing user accounts with the XIV Storage Management GUI
This section illustrates the use of the XIV Storage Management GUI in native authentication
mode for creating and managing user accounts, as well as for creating user groups and
defining group membership.
2. Users are defined per system. If you manage multiple systems and they have been added
to the XIV Storage Management GUI, select the system that you want to work with.
4. By default, the Ungrouped group is displayed, and is shown in a collapsed state. Click the
plus symbol (+) to expand its state.
If the storage system is being accessed for the first time, the window shows the predefined
users only, as shown in Figure 5-24. The default columns are Name, Category, Phone,
Email, and Group.
5. Change the default password for the admin user, which can be accomplished by
right-clicking the user name and selecting Change Password from the menu, as shown in
Figure 5-25. You must be logged in as admin to change the admin password.
Figure 5-25 XIV Storage Management GUI admin user change password
7. The Add User window opens, as shown in Figure 5-27. A user is defined by a unique
name and a password. The default role (denoted as Category in the window) is Storage
Administrator. A category must be assigned. Optionally, enter the email address and
phone number for the user. Click Add to create the user and return to the Users window.
Note: Additional field called Domain is presented only if domain is already defined to
the XIV system (see Figure 5-27) otherwise this field is hidden. A user not associated
with any domain is a global user. See 4.8.2, “Managing domains with the XIV Storage
Management GUI” on page 175.
Groups: User groups apply only to users that are assigned to the applicationadmin role.
A user group can also be associated with one or multiple hosts or clusters.
The following steps illustrate how to create user groups, add users (with application
administrator role) to the group, and how to define host associations for the group:
1. Ensure that you are logged in as admin (or another user with storage administrator rights)
and in the Users window. In our scenario, we create a user group called
Application01_Group.
2. To add a user group, either click the Add User Group icon (shown in Figure 5-29), or
right-click in an empty area of the User Group table and select Add User Group from the
menu, as shown in Figure 5-29.
3. From the Add User Group window that opens, enter a meaningful group name and then
click Add.
Note: Additional field called Domain is presented only if domain is already defined to
the XIV system (see Figure 5-30) otherwise this field is hidden.
LDAP role: The LDAP Role field is not applicable to user group definition in native
authentication mode and has no effect, even if a value is entered.
If a user group has the Full Access flag turned on, all members of that group have
unrestricted access to all snapshots on the system.
At this stage, the user group Application01_Group still has no members and no
associations defined. Next, we create an association between a host and the user group.
4. Right-click the name of the user group that you created to open a menu, and select
Update Access Control, as shown in Figure 5-31.
The User Group Access Control window shown in Figure 5-32 on page 230 opens. The
window contains the names of all the hosts and clusters defined to the XIV Storage
System. The left pane shows the list of unauthorized hosts and clusters for this user
group, and the right pane shows the list of hosts that have already been associated with
the user group.
5. Add or remove hosts from either list by selecting a host and clicking the appropriate arrow.
Finally, click Update to save the changes.
You can verify which group that hosts have been associated with by viewing it in the Hosts
and Clusters window. See Figure 5-33.
After a host (or multiple hosts) has been associated with a user group, you can define user
membership for the user group (a user must have the application administrator role to be
added to a user group).
7. From the Select User Group window that opens, select the group that you want from the
drop-down list and click OK (see Figure 5-35).
The lab_admin user has been added as a member to the Application01_Group user group
in this example.
8. Verify this group membership under the Application01_Group section of the Users
window, as shown in Figure 5-36.
Note: This section is meant as information only. For more assistance and directions, see
the IBM Hyper-Scale Manager User Guide, GC27-5984-05.
Server operations
Installing the Hyper-Scale Manager must be done with te root user. The installation creates a
new user, named msms,
The menu that is shown in Figure 5-37 on page 232 list various configuration options for the
Hyper-Scale Manager tool, which is available for the root or msms user.
-------------------------------------------------------------------
------------- IBM Hyper-Scale Manager v1.5.0.21 ---------------
-------------------------------------------------------------------
-------------------------26/06/2014 15:22--------------------------
-------------------------------------------------------------------
------------- IBM Hyper-Scale Manager v1.5.0.21 ---------------
-------------------------------------------------------------------
-------------------------26/06/2013 15:46--------------------------
Table 5-3 on page 234 shows the various commands and a brief description for each
command. The table also indicates the user role that is required to issue specific commands.
New access control commands come with XIV code release 11.5 for domain-based
multitenancy users.
Important: With XIV Storage Software v11.4, a new secadmin role is introduced and
required to execute specific commands related to encryption management. Details are
covered in the IBM Redpaper titled XIV Security with Data-at-Rest Encryption,
REDP-5047.
2. If this system is a new system, change the default password for the admin user by running
update_user, as shown in Example 5-2.
3. Add a user, as shown in Example 5-3. Define a user using a unique name, password, and
role (designated here as category).
2. Add the same user to another domain, as shown in Example 5-5 on page 236.The
example assumes that another domain is already defined. Specify the domain and user
name. A user can have a domain administrator role in more than one domain.
Spaces: Avoid spaces in user group names. If spaces are required, the group name
must be placed between quotation marks, such as “name with spaces.”
The Application03_Mainz user group is empty and has no associated host. The next step
is to associate a host or cluster.
2. Associate the application_Mainz user group to the Application_host01 host, as shown
in Example 5-7.
A host has been assigned to the user group. The user group does not have any
users included.
The user lab_user has been assigned to the Application03_Mainz user group. This user is an
applicationadmin with the Full Access right set to no.
In native authentication mode, if users can log in, they can change their own passwords.
The predefined admin user is the only user that is authorized to change other users’
passwords. Direct access to a user credential repository is not permitted. System security is
enforced by allowing password changes only through the XIV Storage Management GUI and
XCLI.
Figure 5-39 shows how to change a password. Right-click the selected user in the Users
window and click Change Password from the menu.
The Change Password window that is shown in Figure 5-40 opens. Enter the New Password
and then retype it for verification in the appropriate field (only alphanumeric characters are
allowed). Click Update.
Figure 5-41 shows the XIV Storage Management GUI view of multiple systems when using
non-synchronized passwords. For this example, the systems named “XIV 1310133” and
“XIV-02-131-114” have a user account named lab_admin that provides the storage admin
level of access. Because the user ID is not configured for all XIV systems, only the two
systems are currently shown as accessible.
The user can see the other system, but is unable to access it with the lab_admin user (the
unauthorized system appears disabled). It also states that the user is unknown. If the system
has the lab_admin defined with another password, the systems are shown in the same state.
Figure 5-42 Manual user password synchronization among multiple XIV systems
Important: You are advised to use Hyper-Scale Manager when managing more than 40
XIV systems. For more information, see the IBM Redpaper titled IBM Hyper-Scale for the
XIV Storage System, REDP-5053.
It is possible to control more than 144 XIV Systems on a single workstation by creating
another user profile, and starting another instance of the GUI:
Using multiple profiles for accessing a different set of systems from the same workstation:
– Access each profile by a command-line switch, where <user_dir> is the profile name:
xivgui.exe -h <user_dir>
– Multiple instances of the GUI can be opened, each with a different profile (Figure 5-43
on page 240), which can be useful for the following purposes:
• Managing more than 144 XIV Systems
• Managing different XIV systems using different credentials
– Each profile has its own list of managed systems
The following security enhancements required by PCI-DSS standard are now enabled in XIV
software Version 11.5, and enable clients to comply with PCI-DSS regulation and security
requirements:
Auditing via syslog
Session Idle Timeout
These two features are in addition to other already available XIV features that all contribute to
make XIV compliant with PCI-DSS, as summarized in Figure 5-44 on page 241.
3.1.1 Implement a data retention and disposal policy that Encryption disable/host level overwrite - out of
includes ...Processes for secure deletion of data XIV scope – disable encryption or change key –
when no longer needed data is no longer available/readable
3.4.1, 3.5, 3.6 Disk encryption and key management requirements SED feature of 11.4 supports these – key splitting
– 2 key managers
8.5.9 Change user passwords at least every 90 days Enforce password expiration – xiv outsources to
LDAP server
8.5.10-.14 Minimum password length … passwords containing LDAP server is a workaround for 8.5.9~8.5.14
both numeric and alphabetic characters … Limit except storage admin
repeated access attempts … Set the lockout
duration to a minimum of 30 minutes
8.5.15 If a session has been idle for more than 15 minutes, Including GUI and XCLI
require the user to re-authenticate
Syslog is commonly used for computer system management and security auditing, as well as
generalized informational, analysis, and debugging messages. XIV now has the capability of
auditing all user-entered commands.
Currently, the feature supports the definition of up to two audit servers. The configuration is
done by issuing the audit_config_set XCLI command, as shown in Example 5-9. This
command configures a primary and an optional secondary auditing server for command
logging.
The command will not check whether the specified server can be pinged or is listening on the
specified port.
Note: This feature is domain-unaware, it is not possible to define auditing at the domain
level.
Next, to effectively enable auditing, you must issue an audit_enable command. At least the
primary_server must be configured for audit_enable to succeed.
The following new XCLI commands were introduced with XIV release 11.5:
audit_enable
To effectively enable auditing. For this command to complete successfully, at least one
syslog server must be configured
audit_disable
A prerequisite for this is that auditing is currently enabled (displayed as “yes” in
audit_show)
audit_show
Results of this command indicate whether auditing is currently enabled or disabled.
audit_config_set
This command is used to configure the parameters required for enabling audits. Currently,
the only supported protocol is SYSLOG (over UDP).
audit_config_get
This command displays the current audit-related configuration.
Example 5-10 shows a single-server configuration.
Example 5-10
XIV_PFE2_1340010>>audit_config_get
Primary Server Primary Port Secondary Server Secondary Port Protocol
10.0.0.222 514 0 syslog
The XCLI and GUI will be locked after the specified period of idle time, and require
reauthentication. By default, the inactivity time interval is set to 15 minutes.
To change the idle timeout parameter, navigate to menu bar on upper left of the main window
then select Management from the Tools drop down menu as shown in Figure 5-45 on
page 243.
When LDAP authentication is enabled, the XIV Storage System accesses a specified LDAP
directory to authenticate users whose credentials are maintained in the LDAP directory
(except for the admin, technician, maintenance, and development users, which remain locally
administered and maintained).
In this section, we review various benefits of this approach. Although the benefits from using
LDAP are significant, you must also evaluate the considerable planning effort and complexity
of deploying LDAP infrastructure, if it is not already in place.
A directory is a listing of information about objects arranged in an order that gives details
about each object. Common examples are a city telephone directory and a library card
catalog. In computer terms, a directory is a specialized database, also called a data
repository, that stores typed and ordered information about objects. A particular directory
might list information about users (the objects) consisting of typed information, such as user
names, passwords, and email addresses. Directories allow users or applications to find
resources that have the characteristics needed for a particular task.
As shown in Figure 5-46, the object with the DN cn=mbarlen, ou=Marketing, o=IBM belongs to
object class objectClass=ePerson.
In this example, the object represents a single employee record. If a record for a new
employee in organizational unit (ou), Marketing, of organization (o), IBM, needs to be created,
the same location in DIT is the same, ou=Marketing, o=IBM. Additionally, the same set of
attributes defined by objectClass ePerson are also used. The new object is defined using its
own set of attribute values because the new employee will have their own name, email
address, phone number, and so on.
For more information about the directory components, see Understanding LDAP - Design and
Implementation, SG24-4986.
All the objects and attributes with their characteristics are defined in a schema. The schema
specifies what can be stored in the directory.
The current skill set of your IT staff is always an important consideration when choosing any
products for centralized user authentication. If you have skills in running a particular directory
server, it might be a wise choice to standardize on this server because your skilled people will
best be able to customize and tune the server. Your experts will be able to provide the most
reliable and highly available implementation for the LDAP infrastructure.
Microsoft Active Directory might be a better choice for an enterprise with most of its
infrastructure components deployed using Microsoft Windows operating system. Oracle Java
Systems Directory and Oracle Directory Server Enterprise Edition provide support for
UNIX-like operating systems (including Linux), and Microsoft Windows. OpenLDAP is simple,
small, and easy to set up.
All LDAP servers share many basic characteristics because they are based on the industry
standards Request for Comments (RFC). However, because of implementation differences,
they are not always entirely compatible with each other. For more information about RFCs,
particularly regarding LDAP RFC 4510-4533, see the following website:
http://www.ietf.org/rfc.html
Current implementation of LDAP-based user authentication for XIV Storage System does not
support connectivity to multiple LDAP servers of various types. However, it is possible to
configure an XIV Storage System to use multiple LDAP servers of the same type to eliminate
a single point of failure. The XIV Storage System supports communication with only one
LDAP server at a time. The LDAP authentication configuration allows specification of multiple
LDAP servers that the XIV Storage System can connect to if a specified LDAP server is
inaccessible.
Important: An LDAP user cannot be a member of more than one LDAP group, so it cannot
be associated with more than one XIV Storage System role mapping.
In native mode, a role is explicitly assigned to a user at the time of user account creation. In
LDAP mode, the role of a specific user is determined at the time the user logs in to an
XIV Storage System.
Planning considerations
When initially planning to use LDAP-based authentication with XIV Storage System, the
LDAP server administrator must decide on which LDAP attribute can be used for role
mapping. As described in 5.7.2, “LDAP directory components” on page 244, each LDAP
object has several associated attributes. The type of LDAP object classes used to create a
user account for XIV Storage System authentication depends on the type of LDAP server
being used. The Oracle Directory server and OpenLDAP use the inetOrgPerson LDAP object
class, and Active Directory uses the organizationalPerson LDAP object class for definition of
user accounts for XIV Storage System authentication.
For a definition of the inetOrgPerson LDAP object class and list of attributes, see the Internet
FAQ archive website:
http://www.faqs.org/rfcs/rfc2798.html
For a definition of the organizationalPerson LDAP object class and list of attributes, see the
Microsoft website:
http://msdn.microsoft.com/en-us/library/ms683883(VS.85).aspx
In our illustration, we use both the Active Directory memberOf attribute and the OpenLDAP
description attribute for role mapping.
The mapping is done by assigning the appropriate attribute value to the xiv_group_attrib
configuration parameter with the ldap_config_set XCLI command:
ldap_config_set xiv_group_attrib=memberOf
It can also be defined in the XIV Storage Management GUI, as described in the next section,
“LDAP role mapping for the storageadmin and readonly roles”.
In our example, the XIV Storage System administrator uses the “XIVAdmins” and
“XIVReadonly” LDAP group names for mapping to storageadmin and readonly roles. This
The XIV Storage System administrator sets corresponding parameters in the XIV Storage
System:
ldap_config_set
storage_admin_role=“CN=XIVAdmins,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com”
ldap_config_set
read_only_role=“CN=XIVReadonly,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com”
Case sensitivity: The LDAP server does not use case-sensitive string matching for the
memberOf attribute value. For example, XIVAdmins, xivadmins, or XIVADMINS are recognized
as equal strings. To simplify XIV Storage System administration, however, treat both the
XIV Storage System configuration parameter and LDAP attribute value as though they
were case-sensitive and assign the XIVAdmins value to both.
The XIVAdmins and XIVReadonly names are used because both strings can be easily
associated with their corresponding XIV Storage System roles: storageadmin and readonly. It
is not necessary to use the same names in your XIV Storage System configuration.
However, if you were to change these parameters, consider using names that are
self-descriptive and easy to remember, to simplify the LDAP server administration tasks.
Every time the LDAP server administrator creates a new XIV System Storage account, one of
the names must be entered as a description attribute value (except for the applicationadmin
role, as we explain in “LDAP role mapping for the applicationadmin role” on page 249). After
being configured in both XIV and LDAP, changing these parameters, although possible, can
potentially be time consuming because each existing LDAP account must be changed
individually to reflect the new attribute value.
The configuration tasks can also be done from the XIV Storage Management GUI. On the
main XIV Storage Management window, click Systems → System Settings, select the
LDAP option, and select the Role Mapping tab. Enter the following variables, as shown in
Figure 5-47 on page 248:
In the XIV Group Attribute field:
memberOf
In the Storage Admin Role field:
CN=XIVAdmins, CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
In the Read Only Role field:
CN=XIVReadonly,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
There is also an XIV Storage Management GUI wizard available to help you with configuring
LDAP and role mappings. See 5.8, “Defining LDAP on the XIV Storage System” on page 250.
The XIV Storage System administrator informs the LDAP administrator that the XIVAdmin and
XIVReadonly groups must be used for role mapping.
Tip: When using role mapping using group memberships (such as using the memberOf
attribute with Active Directory), you must specify the full DN string of the LDAP
group name.
The LDAP server returns the full DN string back to the XIV Storage System during the
authentication response and it must match the same path.
The LDAP administrator creates a user account in LDAP and assigns the user to the
memberOf attribute. When the newly created user logs in to the system, XIV systems perform
the role mapping, as shown in Figure 5-48 on page 249.
compare strings
St ri n gs m a tc h
The XIV Storage System assigns a user to the applicationadmin role if it can match the value
of the MemberOf attribute with the ldap_role parameter of any user groups defined in the
XIV Storage System. If an account is assigned the applicationadmin role, it also becomes a
member of the user group whose ldap_role parameter matches the value of the user’s
MemberOf attribute.
The user group must be created before the user logs in to the system or the login fails. The
XIV Storage System administrator creates a user group, using the user_group_create XCLI
command as follows:
user_group_create user_group=app01_group ldap_role=”cn=app01_admins
,cn=Users,dc=itso,dc=storage,dn=ibm,dc=com”
compare strings
St ri n gs m a t ch
If the XIV Storage System cannot find a match for the value assigned to the MemberOf attribute
of a user, the user is denied system access.
Important: When upgrading the XIV Storage System Software (firmware), any previous
LDAP configuration on the XIV Storage System might be reset. Ensure that you have
saved the LDAP configuration information if you need to reload it.
All users (but not the predefined users) that you eventually created for native authentication
are deactivated (not deleted) when you activate the LDAP mode in the XIV Storage System.
Defined users no longer appear in the XIV Storage System user settings. However, they are
not deleted and are shown and activated again if you eventually disable the LDAP
authentication.
You can see examples for all methods in the following sections.
The first step for the XIV Storage System administrator to do is to verify domain name server
(DNS) name resolution, as shown in Example 5-11.
If the dns_test command returns an unexpected result, do not proceed further with the
configuration steps until the DNS name resolution issue is resolved.
Important: As a preferred practice, the LDAP server and XIV Storage System must have
their clocks synchronized to the same time source, be registered, and be configured to use
the same DNS servers.
5.8.1 Using the XIV Storage Management GUI LDAP wizard to configure LDAP
To configure LDAP by using the XIV Storage Management GUI LDAP wizard, complete the
following steps:
1. Right-click the Access icon and click Users, as shown in Figure 5-50.
2. Click the LDAP Wizard icon on the toolbar, as shown in Figure 5-51.
The LDAP wizard opens the LDAP Configuration Welcome window. Click Next to start the
configuration.
In the Server Type tab, as shown in Figure 5-52 on page 252, you can choose the Server
Type from the corresponding drop-down menu. You can use either a Microsoft Active
Directory or an Oracle Directory Server.
4. From the LDAP Servers tab, click the plus sign (+) icon at the right to add an LDAP server
to the configuration, as shown in Figure 5-53.
9. Add more LDAP servers, if necessary, or click Next to continue with the configuration
process.
10.From the XIV User tab, as shown in Figure 5-56, define one user (this user must be an
already defined LDAP user) that will be used by XIV to validate the LDAP settings. That
user does not need any special permissions.
11.As shown in Figure 5-56, enter the complete user DN for LDAP, which in our example is
CN=XIV,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com. Enter the password for this
user as well. The password is not saved; it is only used for this wizard process. Click Next.
13.Ask your LDAP admin for the value of those parameters in your environment. Click Next to
save the settings and proceed.
14.In the Groups tab that is shown in Figure 5-58 on page 256, you must define the group
attributes that the XIV Storage System considers for the permissions. These groups must
be defined in LDAP.
Our example has an LDAP group named XIVAdmins and another one named XIVReadonly.
15.Define the role with the complete DN path. In our example, the Admin role is
CN=XIVAdmins,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com and the Read Only
role is CN=XIVReadonly,CN=Users,DC=ibm,DC=storage,DC=ibm,DC=com, as shown in
Figure 5-58. Click Next until you reach the Test and Activation tab.
16.From the Test and Activation tab that is shown in Figure 5-59, enable LDAP by setting
Use LDAP to Yes. You can also test your LDAP with a user already defined in LDAP.
18.Check the summary and click Finish. You might be asked if you are sure that you want to
enable LDAP now because it will log you off the system afterward. See Figure 5-61.
19.Click OK.
5.8.2 Using the XIV Storage Management GUI directly to configure LDAP
Configuring LDAP in an XIV Storage System can also be done directly through the XIV
Storage Management GUI, rather than using the LDAP wizard. Complete the following steps:
1. Hover the cursor over the Access icon and click Users, as shown in Figure 5-63.
2. Click the Configure LDAP icon on the toolbar, as shown in Figure 5-64.
3. In the LDAP configuration menu that is shown in Figure 5-65 on page 259, set the value of
Use LDAP to Yes and choose the LDAP Server Type that you want to use. In our example,
we selected Microsoft Active Directory.
Then, click the LDAP Servers tab to go to the next step.
4. In the LDAP Servers window in the LDAP configuration, click the green plus (+) icon, as
shown in Figure 5-66.
5. In the window that opens, enter the FQDN, which is the DNS name of the LDAP server
(such as itso.storage.ibm.com in our example).
Also, enter the LDAP server IP address and the Search DN, which in our Active Directory
implementation is CN=Users,DC=itso,DC=storage,DC=ibm,DC=com, as shown
in Figure 5-67 on page 260.
If your LDAP server uses nonstandard port numbers, enter those accordingly. Leave these
fields blank to use the standard ports (server port 389, secure server port 636).
In a default Active Directory implementation, for example, a server with the Domain Name
ldap.domain.de maps to CN=Users,DC=ldap,DC=domain,DC=de.
6. Click Create to save these settings.
7. Click User Credentials to define the Service User DN, which is used to verify your
LDAP settings.
In Figure 5-68, you can see that a service user named XIV is defined using a complete
Service User DN, which in this example is
CN=XIV,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com.
Enter and confirm the user password.
LDAP mode: When you activate the LDAP mode, it deactivates all defined users on
the XIV Storage System and only LDAP users with the appropriate group role have
access to the system. You will also be logged out from the XIV Storage Management
GUI.
You must define your LDAP Server in the XIV Storage System, as shown in Example 5-12.
XIV-02-1310114>>ldap_list_servers
FQDN Address Base DN ...
itso.storage.ibm.com 9.155.113.143 CN=Users,DC=itso,DC=storage,DC=ibm,DC=com.
For a description of the LDAP role mapping, see 5.7.4, “LDAP role mapping” on page 246.
The XIV Storage System storage_admin_role, read_only_role and xiv_group_attrib
configuration parameters must have values assigned for LDAP role mapping
to work.
After the configuration is submitted successfully, you can check your values by running
ldap_config_get.
Now that all the configuration and verification steps are completed, the LDAP mode can be
activated by running ldap_mode_set, as shown in Example 5-14.
LDAP mode: When you activate the LDAP mode, it deactivates all defined users on the
XIV Storage System, and only LDAP users with the appropriate group role have access to
the system.
The LDAP authentication mode is now configured, activated, and ready to be tested. A simple
test that can validate the authentication result is to open an XCLI session using the
credentials of a newly created Active Directory account xivtestuser1 and run
ldap_user_test. This command can be successfully executed only by a user authenticated
through LDAP.
Special consideration must be given to using the “space” character in user names. Although
this feature is supported by LDAP, it has a potential for making certain administrative tasks
more difficult because the user names in this case must be enclosed in quotation marks to be
interpreted correctly.
The same set of locally stored predefined user names exists on the XIV Storage System
regardless of the authentication mode. Users technician and admin are always authenticated
locally even on a system with activated LDAP authentication mode. Avoid creating LDAP user
accounts with the same names.
If a user account with the same user name is registered in both local and LDAP repositories,
and LDAP authentication mode is in effect, LDAP authentication takes precedence, and the
XIV Storage System performs authentication using LDAP account credentials. The only
exception to this rule is the predefined user names listed in the previous paragraph. To reduce
complexity and simplify maintenance, it is generally not desirable to have the same user
names registered in local and LDAP repositories.
If a user account was registered in the local repository on the XIV Storage System before the
LDAP authentication mode was activated, this account is accessible while LDAP
authentication is in effect. The account becomes accessible again upon deactivation of the
LDAP authentication mode.
If there is a user’s password expiration or account lockout, the user receives the message that
is shown in Example 5-15 when attempting to log in to XCLI.
The XIV Storage Management GUI in this situation also fails with the error message shown in
Figure 5-71.
Figure 5-71 XIV Storage Management GUI authentication failure because of account lockout
Although password policy implementation greatly enhances overall security of the system, all
advantages and disadvantages of such implementation must be carefully considered. One of
the possible disadvantages is increased management impact for account management as a
result of implementing complex password management policies.
Roles: There is no capability to add new user roles or to modify predefined roles. In
LDAP authentication mode, role assignment can be changed by modifying the LDAP
attribute (memberOf in our example).
All user accounts must be assigned to a single user role. Any LDAP user that is assigned to
multiple roles will not be authenticated by the XIV Storage System. Deleting role assignment
(by removing the description attribute value in the LDAP object) of LDAP users also leads to
the inability of the XIV Storage System to authenticate that user.
Important: A user group membership can be defined only for users assigned to the
applicationadmin role.
compare strings
String matching is done by XIV system
Strings
match
Volumes
volume mapped volume
app 01_ vol 01 to host app 01_ vol 02
The queries generating LDAP account lists are provided as a demonstration of LDAP tools
capabilities to perform a search of information stored in the LDAP directory and generate
simple reports. Both queries are issued on behalf of the LDAP administrator account
cn=Manager (OpenLDAP), cn=”Directory Manager” (Oracle Java Directory), and
cn=”Administrator” (Active Directory). A privileged account, such as LDAP administrator, has
the authority level that allows that person to list, create, modify, and remove other user
accounts.
The Active Directory management interface allows you to build custom views based on LDAP
search queries. Figure 5-73 shows the building of a query that generates the list of
XIV Storage System accounts whose names start with XIV, and whose description is one of
the following three: “Storage Administrator“, “Read Only“, or starts with “app”.
Example 5-18 LDAP query for generating a list of XIV user accounts
(&(&(objectCategory=user)(cn=xiv*)(|(description=Read Only)(description=Storage
Administrator)(description=app*))))
To create this query, click Saved Queries → New → Query → XIV Storage Accounts and
select the query name in this example. Click Define Query. Click Find → Custom Search →
Advanced and paste the LDAP query from Example 5-18 into the Enter LDAP Query field.
When a new user account is created and its name and attributes satisfy the search criterion,
this user account automatically appears in the XIV Storage Accounts view. Any LDAP XIV
Storage Management GUI front end supporting the LDAP Version 3 protocol can be used for
creating views and managing LDAP entries (XIV user accounts).
Table 5-4 provides a list of commands that cannot be used for user account management
when LDAP authentication mode is active.
user_define
user_update
user_rename
user_group_add_user
user_group_remove_user
Authentication: When the XIV Storage System operates in LDAP authentication mode,
user account creation, listing, modification, and removal functions are provided by the
LDAP server.
The user_list command can still operate when LDAP authentication mode is active.
However, this command shows only locally defined XIV user accounts and not LDAP
accounts, as shown in Example 5-19.
A user group can also be associated with one or multiple hosts or clusters.
To create user groups, add users (with application administrator role) to the group, and define
host associations for the group, complete the following steps:
1. Be sure to log in as admin (or another user with storage administrator rights). From the
Access menu, click Users, as shown in Figure 5-74. In our scenario, we create a user
group called itso_app01_group. The user groups can be selected from the Access menu
(padlock icon).
2. In the User Groups window, to add a user group, either click the Add User Group icon
(shown in Figure 5-75) in the menu bar, or right-click in an empty area of the User Groups
table and select Add User Group from the menu.
Figure 5-76 Enter new user group name and role for LDAP role mapping
The Full Access flag has the same significance as in native authentication mode. If a user
group has the Full Access flag turned on, all members of that group have unrestricted
access to all snapshots on the system.
At this stage, the user group itso_app01_group is still empty.
4. Next, add a host to the user group by right-clicking the name of the user group that you
have created to open a menu and select Update Access Control, as shown
in Figure 5-77.
The left pane shows the list of unauthorized hosts and clusters for this particular user
group, and the right pane shows the list of hosts that have already been associated with
the user group.
5. Add or remove hosts from either list by selecting a host and clicking the appropriate arrow.
6. Finally, click Update to save the changes.
Unlike in native authentication mode, in LDAP authentication mode, user group membership
cannot be defined using the XIV Storage Management GUI or XCLI. The group membership
is determined at the time the LDAP authenticated user logs in to the XIV Storage System,
based on the information stored in the LDAP directory. A description of the process of
determining user group membership can be found in 5.7.4, “LDAP role mapping” on
page 246.
Starting with XIV Storage System Software v10.2.2, it is possible to delete user groups when
LDAP authentication is enabled.
To use the XIV Storage Management GUI to define user groups, complete the
following steps:
1. Run user_group_create, as shown in Example 5-20, to create a user group called
itso_app02_group with the corresponding LDAP role itso_app01_admin.
Spaces: Avoid spaces in user group names. If spaces are required, the group name
must be placed between single quotation marks, such as “name with spaces.”
The itso_app02_group user group is empty and has no associated hosts or clusters. The
next step is to associate a host or cluster with the group.
2. Associate the itso_app02_group user group to host itso_app02, as shown in
Example 5-21.
Groups defined in the Active Directory can be used for XIV Storage System role mapping.
When a user becomes a member of a group in the Active Directory, it gets a new attribute
assigned. The value of the new attribute points to the DN of the group. MemberOf is the name
of that attribute. The MemberOf attribute value determines the Active Directory
group membership.
To assign an existing user to the new group, complete the following steps:
1. Start Active Directory Users and Computers by selecting Start → Administrative
Tools → Active Directory Users and Computers.
2. Expand the Users container, right-click the user name that you want to make a member of
the new group, and select Add to a group.
3. In the Select Groups window, click Add → Advanced → Find Now. From the presented
list of existing user groups, click XIVReadonly, and then click OK.
4. You can now see a group selection window, as shown in Figure 5-80. Confirm your choice
by clicking OK.
To illustrate the new memberOf attribute in the existing LDAP user object and the new LDAP
object representing the “XIVReadOnly” group, we run ldapsearch queries against the Active
Directory LDAP server, as shown in Example 5-22 on page 275.
In the first ldapsearch query, we intentionally limited our search to the memberOf attribute (at
the end of the ldapsearch command) so that the output is not obscured with unrelated
attributes and values. The value of the memberOf attribute contains the DN of the group.
The second ldapsearch query illustrates the CN=XIVReadonly LDAP object content. Among
other attributes, it contains the member attribute that points at the DN of the user defined as a
member. The attribute member is a multivalued attribute; there can be more than one user
assigned to the group as a member. MemberOf is also a multivalued attribute, and a user can
be a member of multiple groups.
The XIV Storage System can now be configured to use the memberOf attribute for role
mapping. In Example 5-23 on page 276, we map the Active Directory group XIVReadonly to
the XIV read_only_role, XIVStorageadmin to the storage_admin_role, and XIV user group
app01_group to Active Directory group XIVapp01_group. You must be logged on as admin.
Alternatively, the same configuration steps can be accomplished by using the XIV Storage
Management GUI. To change the LDAP configuration settings using the XIV Storage
Management GUI, open the Tools menu at the top of the main XIV Storage Manager window,
click Configure → LDAP → Role Mapping, and change the configuration parameter
settings.
Now, by assigning Active Directory group membership, you can grant access to the
XIV Storage System.
A user in Active Directory can be a member of multiple groups. If this user is a member of
more than one group with corresponding role mapping, XIV fails authentication for this user
because the role cannot be uniquely identified. In Example 5-24 on page 277, the
xivtestuser1 user can be mapped to Storage Admin and Read Only roles, which is why the
authentication failure followed by the USER_HAS_MORE_THAN_ONE_RECOGNIZED_ROLE error
message occurs.
dn: CN=xivtestuser1,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
memberOf: CN=XIVReadonly,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
memberOf: CN=XIVAdmins,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
An LDAP user can be a member of multiple Active Directory groups and successfully
authenticate to an XIV Storage System if only one of those groups is mapped to an
XIV Storage System role. As illustrated in Example 5-25, the xivtestuser2 user is a member of
two Active Directory groups: XIVAdmins and NonXIVgroup. Only XIVAdmins is mapped to an
XIV role.
dn: CN=xivtestuser2,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
memberOf: CN=NonXIVgroup,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
memberOf: CN=XIVAdmins,CN=Users,DC=itso,DC=storage,DC=ibm,DC=com
After all Active Directory groups are created and mapped to corresponding XIV Storage
System roles, the complexity of managing LDAP user accounts is reduced because the role
mapping can now be done through Active Directory group membership management. The
easy to use point-and-click interface leaves less room for error when it comes to assigning
group membership, as opposed to entering text into the description field.
The role mapping mechanism is not restricted to using group membership to identify
association to a suitable XIV Storage System role. It can use a text-based attribute directly
identifying the XIV Storage System role the user has been associated with.
The XIV administrator must specify that the LDAP server type is “Open Ldap”, using the
ldap_config_set XCLI command as follows:
ldap_config_set server_type=”Open Ldap”
This command also automatically sets both the user_id_attrib and user_name_attrib
values to “uid”.
The role names must be set to reflect the storageadmin and readonly roles. Because there
are no group mappings, they do not need to have the full DN path as when using group
membership. Instead, we need to use only “XIVAdmins” and “XIVReadonly” values for
each role:
ldap_config_set storage_admin_role=”XIVAdmins”
ldap_config_set read_only_role=”XIVReadonly
The LDAP service user and password must be defined. This user is a user that needs no
specific permissions, within the directory, and is only used to view the directory schema. Run
the following command:
ldap_config_set xiv_user=“UID=XIV,OU=Users,DC=itso,DC=storage,DC=ibm,DC=com”
xiv_password=Passw0rd
Then, the LDAP server instance must be defined using the ldap_add_server command
as follows:
ldap_add_server fqdn=itso.storage.ibm.com port=389 address=9.155.113.137
base_dn="OU=Users,DC=itso,DC=storage,DC=ibm,DC=com"
In Example 5-27 on page 279, we apply these changes to allow the OpenLDAP connection
using the XCLI. You must be logged in to the XCLI as the admin user.
>>ldap_config_get
Name Value
current_server
version 3
xiv_group_attrib description
storage_admin_role XIVAdmins
read_only_role XIVReadonly
session_cache_period 20
bind_time_limit 20
user_id_attrib uid
first_expiration_event 30
second_expiration_event 14
third_expiration_event 7
use_ssl no
xiv_user UID=XIV,OU=Users,DC=itso,DC=storage,DC=ibm,DC=com
server_type Open Ldap
user_name_attrib uid
group_search_depth 0
group_search_max_queries 39
group_search_stop_when_found yes
>>ldap_list_servers
FQDN Address Base DN ...
itso.storage.ibm.com 9.155.113.137 OU=Users,DC=itso,DC=storage,DC=ibm,DC=com
Alternatively, the same configuration steps can be accomplished by using the XIV Storage
Management GUI. To change the LDAP configuration settings in the XIV Storage
Management GUI, open the Tools menu at the top of the main XIV Storage Manager window,
click Configure → LDAP → Role Mapping, and change the configuration parameter
settings.
In Example 5-28, we add the “XIVAdmins” role association to the itso user. Because we are
using a command-line utility, a text file is used to feed in the relevant commands into the
ldapmodify command.
# ldapmodify -x -r -f user_mod_xivadmins.itso -D
cn=Manager,dc=itso,dc=storage,dc=ibm,dc=com -w PASSW0rd -v
ldap_initialize( <DEFAULT> )
replace description:
XIVAdmins
modifying entry "uid=itso,ou=Users,dc=itso,dc=storage,dc=ibm,dc=com"
modify complete
We can assign the “XIVReadonly” value to the description attribute (or any other defined
application admin LDAP role in the XIV).
We can now test (with XCLI) if that user can authenticate with the LDAP server and has the
correct XIV role mapping, as shown in Example 5-29.
Example 5-29 Testing if an LDAP user has the correct XIV role mapping permission
>>ldap_test user=itso password=Passw0rd fqdn=itso.storage.ibm.com
Command executed successfully.
If a user does not have a value (or an incorrect value) in the description attribute, then an
appropriate error is displayed, as shown in Example 5-30.
Example 5-30 Testing an LDAP user without correct XIV role mapping permission
>>ldap_test user=PHB password=n01dea fqdn=itso.storage.ibm.com
Error: LOGIN_FAILURE_USER_MISSING_GROUP_ATTRIBUTE
Details: User PHB is missing the group attribute 'description'.
>>ldap_test user=Wally password=K0ffee fqdn=itso.storage.ibm.com
Error: LOGIN_FAILURE_USER_HAS_NO_RECOGNIZED_ROLE
Details: User Wally has no recognized LDAP role.
To disable access, repeat the same command with the mode=Inactive option.
Because the user’s password is stored in the LDAP directory, all connected XIV systems
authenticate the user with this password. If the password is changed, all XIV systems
automatically accept the new password. This mode of operation is often referred to as single
sign-on (SSO) (Figure 5-81). This mode allows for quick transitions between systems in the
XIV Storage Management GUI because the password is entered only once. This approach is
especially useful in Remote Mirror configurations, where the storage administrator is required
to frequently switch from source to target system.
LDAP
authentication
service
External Server
LDAP
protocol
LDAP Server
XCLI and GUI users
LDAP
protocol
XIVLDAP
Storage System 2
SSL provides methods for establishing identity using X.509 certificates and ensuring
message privacy and integrity using encryption. To create an SSL connection, the LDAP
server must have a digital certificate signed by a trusted certificate authority (CA). Companies
have the choice of using a trusted CA from another vendor or creating their own certificate
authority. In this scenario, the itso.storage.ibm.com CA is used for demonstration purposes.
When a new LDAP server is added to the XIV Storage System configuration, a security
certificate can be entered in the optional certificate field. If the LDAP server was originally
added without a certificate, you must remove that definition first and add a definition with the
certificate.
LDAP server: When defining the LDAP server with a security certificate in XIV Storage
System, the fully qualified name of the LDAP server must match the “issued to name” in
the client’s certificate.
For registering the LDAP server with a security certificate, it might be easier to use the
XIV Storage Management GUI, because it has a file upload capability (see Figure 5-82 on
page 283). XCLI can also be used, but in this case you need to cut and paste a long string
containing the certificate into the XCLI session. To define the LDAP server in the XIV Storage
Management GUI, from the menu bar, click Systems → Settings → LDAP, click the LDAP
Servers tab, and then click the green plus sign (+) on the right panel.
In Figure 5-82, the server type selected must correspond to your specific LDAP directory,
either Microsoft Active Directory, as shown, or an Oracle directory.
To view the expiration date of the installed certificate in the XIV Storage Management GUI,
open the Tools drop-down menu at the top of the main XIV Storage Manager GUI window.
Click Settings → LDAP, click the Servers tab, right-click the name of the LDAP server, and
click Properties, as shown in Figure 5-83.
Figure 5-83 Viewing the Active Directory server certificate expiration date
Chapter 6. Performance
This chapter describes how the IBM XIV Storage System software and hardware work
together to provide high performance characteristics. These characteristics, which are
inherent in the XIV Storage System design, deliver optimized and consistent performance.
There is little that clients need to do within an XIV Storage System that can contribute to
performance gains beyond what the XIV Storage System automatically provides, and that
includes the optional flash caching (solid-state drive (SSD) caching) feature. However, there
are several practices from a host perspective that can have a positive impact on XIV Storage
System performance.
In addition, this chapter describes XIV Storage System performance monitoring techniques
using the IBM XIV Storage Management graphical user interface (GUI) and XIV Top.
Performance problem-solving techniques are also described. We provide guidance about
how to interpret XIV Storage System performance information to determine objective levels of
XIV Storage System performance characteristics such as response times, I/O rates, and
throughput.
Performance is one of the primary strengths of the XIV Storage System. This chapter covers
the following topics as they pertain to XIV performance:
6.1, “XIV Storage System Software and hardware architecture” on page 286
6.2, “Practices for optimum performance” on page 292
6.3, “Performance monitoring” on page 302
6.4, “Performance evaluation” on page 318
A popular topic that this chapter does not cover is the actual performance feeds and speeds
of the XIV Storage System. That information is available in the IBM System Storage XIV
Performance white paper:
http://public.dhe.ibm.com/common/ssi/ecm/en/tsw03123wwen/TSW03123WWEN.PDF
More white papers about XIV performance with application-specific workloads are available in
the White Papers section of the IBM Techdocs Library:
http://www.ibm.com/support/techdocs/atsmastr.nsf/Web/WhitePapers
The XIV Storage System stripes and mirrors data in 1 MB partitions across all of the disks in
the system. It disperses the 1 MB partitions in a pseudo-random distribution. For more details
about the architecture of the system, see Chapter 2, “IBM XIV Storage System logical
architecture and concepts” on page 17.
For disk systems, one of the most important contributors to performance is the number of disk
drives that can simultaneously work together to handle an application’s I/O requirements.
Traditionally, this situation has been limited by the number of disk drives that can be
connected to Redundant Array of Independent Disks (RAID) controller pairs. As we know, XIV
Storage System does not follow this traditional approach. Instead, XIV Storage System evenly
distributes every logical unit number (LUN) assigned to an application across every disk drive
in every module of the XIV Storage System. This situation is true for every XIV Storage
System LUN size and every XIV Storage System module configuration. This situation means
that, on average, an application server is using every XIV Storage System disk drive equally.
To emphasize this point, see Figure 6-1, which shows a LUN striped across a traditional RAID
5 array that consists of eight disk drives.
Figure 6-2 XIV Storage System full rack with 180 drives
With XIV Storage System, there is no need to resort to these multiple techniques. Each XIV
Storage System LUN has only one disk performance limitation and that is the full
performance potential of the entire XIV Storage System, which includes all disks and modules
in the XIV Storage System configuration. The consequence of this massive parallel approach
and the way data is effectively laid out within the XIV Storage System grid is that LUNs can be
easily resized without physical disk layout concerns. It is unlikely that an XIV Storage System
LUN will ever be reconfigured for performance reasons.
For the XIV Storage System, there are no special considerations for multiple applications on
multiple application servers. If there is adequate spare performance capacity in the XIV
Storage System to handle the performance requirements of the new application, all that is
required is to create new LUNs and assign them to the host. However, if the XIV system is to
be used to the maximum of the performance that it can deliver, you can use the quality of
service (QoS) feature to ensure that your business-critical applications are served in priority
with adequate performance, from an input/output operations per second (IOPS) and
bandwidth standpoints (for details, see 4.7, “QoS feature” on page 170).
Because of the grid architecture, the XIV Storage System actually works more efficiently as
multiple application servers are attached. The XIV evenly distributes the production workload
over the performance resources of the multiple XIV Storage System interface modules and,
therefore, the entire grid architecture.
Each XIV Storage System module is carefully designed and has the appropriate processing
mechanisms to handle the I/O workload of the 12 disk drives. There are several aspects to
this module I/O architecture.
A cache communicates to each of two serial-attached SCSI (SAS) disk controllers over
multiple lanes of the module PCI Express (PCIe) bus. The SAS controllers themselves have
the appropriate number of processing capabilities to handle the I/O requirements of the disk
drives that they control. These controllers, in turn, communicate to the disk drives over
multiple lanes of the PCIe bus. All of this communication is handled by the correctly sized
processor. The cache is also correctly sized so that it can handle the total amount of I/O that
each module can sustain at peak performance. Furthermore, the XIV Gen3 with the XIV
System software Version 11.1.0 or later, also offers the option of an extended SSD cache.
The SSD cache can boost performance to up to three times for typical online transaction
processing (OLTP) workloads, with no additional configuration or tuning needed.
Note: SSD performance has been further enhanced in Version 11.2 of the XIV Storage
System Software through optimization of SSD data integrity checking.
As an example, consider the new 6-core CPUs introduced in XIV Gen3 Model 214. There was
a need to upgrade the CPU with more processing capacity to support the 10 Gb IP network
Small Computer System Interface (iSCSI) available with XIV v11.2 software.
When a partial XIV Storage System configuration needs more performance capacity, it is a
simple matter of adding more modules to the XIV Storage System configuration. When
modules are added, the XIV Storage System Software automatically redistributes the
existing data. The XIV system has a maximum of 15 modules.
This data redistribution has many interesting aspects with positive performance implications:
Only actual data is redistributed. XIV Storage System is data-aware, which means that the
work of redistribution is necessary only on partitions that contain actual data. Partitions
that do not contain data do not take up any XIV Storage System performance resources
during redistribution.
All disk drives in the original configuration contribute equally to the redistribution activity.
This situation results in the fastest redistribution times possible and minimizes stress on
the drives.
One of the most impressive and unique aspects of the XIV Storage System grid architecture
is that, as more modules are added to the system, performance basically scales up linearly.
Again, this situation is because each module contains a balanced amount of additional
processors, cache, disk performance, and bandwidth capacity.
This section describes how the XIV Storage System global caching mechanisms work. For
details about the flash (SSD) caching, see the Redpaper publication, Solid-State Drive
Caching in the IBM XIV Storage System, REDP-4842.
The XIV Storage System distributes cache into each module. This distributed cache enables
each module to concurrently service host I/Os and cache-to-disk access. Each module’s
cache just handles the movement of data into and out of that particular module. The
processing work that one module does to move data into and out of cache has absolutely no
adverse effect on any other module. Because of the XIV Storage System grid architecture,
To improve memory management, each data module uses a PCIe bus between the cache
and the disk controllers to provide a sizable connection between the disk and the cache. This
design aspect allows the bus to transfer large amounts of data quickly between the disks.
Having a large bus bandwidth allows the XIV Storage System to use small cache pages. This
large bus bandwidth between the disk and the cache also allows the system to perform many
small requests in parallel, again improving the performance.
A least recently used (LRU) algorithm is the basis for the cache management algorithm. This
feature allows the system to generate a high hit ratio for frequently used data. The efficiency
of the cache use for small transfers is high when the host is accessing the same data set.
The cache algorithm starts with a single 4 KB page and gradually increases the number of
pages prefetched until an entire partition, 1 MB, is read into cache. If the access results in a
cache hit, the algorithm doubles the amount of data prefetched into the system.
The prefetching algorithm continues to double the prefetch size until a cache miss occurs or
the prefetch size maximum of 1 MB is obtained. Because the modules are managed
independently, if a prefetch crosses a module boundary, the logically adjacent module (for
that volume) is notified to begin pre-staging the data into its local cache.
When, for instance, an XIV Storage System disk fails, the storage system takes that drive
offline, identifies the actual data partitions that the drive contained, and locates the copy of
those data partitions within the rest of the XIV drives. The XIV Storage System then makes a
copy of only that actual data and moves that data evenly across each of the remaining disk
drives. The performance impact during this data redistribution is negligible to the I/O
characteristics that an XIV can provide to application servers.
A redistribution will not take place for a flash drive failure because the optional flash drives are
not involved in data retention or redundancy. They are merely used as read cache.
Consider a fully populated XIV Storage System that experiences this drive failure. In this
example, the XIV reads data from 168 drives. Each drive contains an equal portion of the
mirror data copies of the data from the failed drive. The XIV reads data from 168 drives
because there is no data from the failed drive in the same XIV module that contains the failed
drive. The amount of data from the failed drive on each of the remaining 168 drives
represents a small percentage of the total data on each drive. The XIV makes a copy of this
data and redistributes it on reserved space on the remaining 179 drives. So this operation
reads a small amount of data from 168 drives and, in turn, writes the same small amount of
data to 179 drives. This operation represents many spindles doing little work to recover from a
drive failure.
It is easy to extend this to a failed XIV module because the same redistribution scenario takes
place. The only difference is that now the data redistribution involves 12 drives rather than just
one. All the concepts and considerations and advantages still apply. The rebuild and
redistribution take longer because more data is involved.
The IOPS and megabytes per second (MBps) experience basically no change in the
performance supplied to the applications.
Compare XIV Storage System redistribution to a RAID 5 array failure and rebuild:
The entire data storage capacity must be rebuilt using parity recalculation, not just actual
user data.
The rebuild process imposes a significant stress on the drives, which can lead to
additional drive failures.
The rebuild has a significant impact on the performance capabilities of the array.
Rebuild times are typically much longer when compared to XIV Storage System
redistribution.
XIV Storage System redistribution is the same mechanism that redistributes data when a
module is added to an XIV Storage System, with the same considerations. And it is worth
noting that, although it has nothing to do with performance, XIV Storage System data
redistribution is carried out automatically. No user intervention is necessary or even possible.
6.1.5 Snapshots
The performance penalty during an XIV Storage System snapshot is nearly invisible to the I/O
characteristics of production application workload. Snapshots complete near instantly within
the XIV Storage System. When a snapshot is issued, no data is copied. The snapshot creates
system pointers to the original data. As the host writes modified data in the master volume,
the XIV Storage System redirects the write data to a new partition. Only the data that was
modified by the host is copied to the new partition. This prevents moving the data multiple
times and simplifies the internal management of the data. See IBM XIV Storage System
Business Continuity Functions, SG24-7759 for details about how the snapshot function is
implemented.
When clients decide to purchase the XIV Storage System, they have the reasonable
expectation that they will migrate existing applications or install new applications to the
XIV Storage System and experience great performance.
6.2.1 Sizing
By far the most important aspect of XIV Storage System performance is to properly size the
system based on performance requirements. Each XIV Storage System configuration, from
six modules to 15 modules, has different performance capabilities. We call this
performance capacity.
Performance capacity is different from the data storage capacity associated with each
XIV Storage System configuration. If the data storage requirement indicates that a 12-module
XIV Storage System is needed to store all the data and that a 15-module system is required
to satisfy the performance requirements of the applications, then a 15-module system is
required.
In addition to the number of modules, another way to properly balance the needs of both
capacity and performance in tandem is to appropriately select the hard disk drive (HDD)
capacity of the XIV Storage System configuration. However, for purposes of planning for
future storage needs, it is also important to remember that the IBM XIV systems support
homogeneous drive configurations only. Therefore, ensure that the initial selection of drive
capacity is viable in terms of forecasting capacity growth requirements.
With an XIV Storage System, there is no need to create many LUNs. As a matter of fact,
when planning to deploy applications on an XIV Storage System, the primary design principle
should be fewer LUNs and larger LUNs.
Every XIV Storage System LUN, regardless of size, is already, architecturally, automatically
configured within the XIV Storage System for optimum performance. A planning item to any
application migration to the XIV Storage System is the significant consolidation of the number
of LUNs. Small quantities of volumes and LUNs are simpler to manage. Using fewer LUNs
compared to a traditional storage subsystem improves read cache hit rates and space use
because there are fewer “orphaned” physical capacity allocations.
However, if you must separate logs from data, or need to separate LUNs to create a disaster
recovery strategy that includes snapshots, consistency groups, and volume replication, you
might need to use more volumes. In addition, certain host platforms still require multiple
volumes. The best approach is to examine the applications first and make a layout strategy
that meets the application needs.
One of the most important considerations for the number of LUNs required for optimum
performance in an XIV Storage System environment is application I/O threads. As a rule of
thumb, if the application must use multiple LUNs to allocate or create multiple threads to
handle the I/O, then use multiple LUNs. However, most modern enterprise applications are
sophisticated enough to define multiple I/O threads independent of the number of LUNs, or
the number of LUNs has no effect on application threads. In this case, there is no compelling
reason to have multiple LUNs.
Another important consideration for the number of LUNs in an XIV environment has to do with
parallelism of I/Os across the XIV interface modules. Using the multipathing design illustrated
in Figure 6-3 as an example, consider one application server with one LUN:
Each host is equipped with dual HBAs. Each HBA (or HBA port) is connected to one of
two FC switches.
Each of the FC switches has a connection to three separate interface modules.
Each LUN has six paths.
PatchPanel
Hosts
91
92
93 HBA1WWPN
94 Host 1
HBA2WWPN
IBM XIV Storage System
81
82
83 SAN
84 Fabric1 HBA1WWPN
Host 2
HBA2WWPN
71
72
73
74
HBA1WWPN
61 Host 3
HBA2WWPN
62
63
64
SAN
51 Fabric2
HBA1WWPN
52 Host 4
HBA2WWPN
53
54
41
42
HBA1WWPN
43 Host n
HBA2WWPN
44
Figure 6-3 Six paths per LUN is the best overall multipathing configuration
This application server uses six paths in a round-robin fashion to perform I/O to this LUN.
Each XIV Storage System interface module is used, one at a time, to handle this I/O. The net
effect is a good balance between the interface modules. But in this example, the interface
modules are being used only one at a time. For optimum performance, it is best to use all of
the interface modules all of the time.
This task can be accomplished by using six host servers with one XIV Storage System LUN
or by one host server with six LUNs. Because most computing environments use multiple
This consideration of the number of hosts and LUNs is closely linked to queue depth, as
described in “Host bus adapter and disk queue depth” on page 297.
Compared to other storage systems, the XIV Storage System configuration typically ends up
with a lower overall LUN count because the XIV Storage System architecture removes the
limitations of traditional RAID arrays.
Older storage architectures often require small volumes (such as meta-volumes) to use more
drive spindles. Older architectures also require many LUNs to employ striping techniques to
engage enough disk spindles to handle high I/O requirements. XIV Storage System is
optimized to use all drive spindles and eliminates the inconvenience of managing many
volumes.
For a description of multipathing, see Chapter 1, “Host connectivity,” in XIV Storage System:
Host Attachment and Interoperability, SG24-7904. For the purposes of this book, we describe
only Fibre Channel (FC) connectivity, although the concepts are the same for both the 1 Gbps
or the 10 Gbps iSCSI host connectivity.
The main multipathing goal, from a performance perspective, is for the host connectivity to
create a balance of the I/O workload across all of the resources in the XIV Storage System.
The best way to achieve this balance is by distributing the host physical connections evenly
across all of the interface modules. Providing host I/O access to every interface module from
every host HBA has the following advantages:
Uses the most XIV Storage System cache
Uses the most XIV Storage System processor capability to handle I/O
Fully uses the XIV Storage System grid architecture
Minimizes the impact of a host interface hardware failure
There are two main multipathing techniques. The important point about both multipathing
configurations is that each host engages the I/O services of each XIV Storage System
interface module.
Experience has shown that the first multipathing configuration in Figure 6-3 on page 294 is
the best overall general-purpose configuration. Host multipathing reliability during path error
recovery in certain operating systems is complicated by increasing numbers of paths per
LUN. Certainly, for host systems with two HBAs, the six paths per LUN method is the best
way to go.
The second multipathing configuration, shown in Figure 6-4 on page 296, is more appropriate
for benchmarking and higher-performance host systems with the highest I/O requirements.
The primary difference is the host’s ability to handle the higher number of paths per LUN. It is
not a good practice to use this configuration for most production applications, primarily
PatchPanel
Hosts
91
92
93 HBA1WWPN
94 Host 1
HBA2WWPN
IBM XIV Storage System
81
82
83 SAN
84 Fabric1 HBA1WWPN
Host 2
HBA2WWPN
71
72
73
74
HBA1WWPN
61 Host 3
HBA2WWPN
62
63
64
SAN
51 Fabric2
HBA1WWPN
52 Host 4
HBA2WWPN
53
54
41
42
HBA1WWPN
43 Host n
HBA2WWPN
44
For XIV Storage System, each interface module has two 2-port Fibre Channel adapters. It is a
good practice that each zone is physically connected to one port on each XIV Storage
System Fibre Channel adapter. For example, switch A’s zone can be connected to port 1 on
the interface modules and switch B’s zone can be connected to port 3 on the
Interface Modules.
The following considerations can significantly affect XIV Storage System performance:
Application threads
HBA and disk queue depth
Logical Volume Manager (LVM) striping
Operating system tunables
Application threads
The XIV Storage System grid architecture excels at and experiences peak performance when
applications employ multiple threads to handle the parallel execution of I/Os. All modern
commercial applications employ multiple I/O threads. The number of threads are often
tunable. From an XIV Storage System performance perspective, it is best to use the
maximum number of threads possible without having a negative impact performance impact
on the application within the host server.
Queue depth is an important host HBA setting because it essentially controls how much data
is allowed to be “in flight” onto the SAN from the host HBA. A queue depth of one requires
that each I/O request is completed before another is started. A queue depth greater than one
indicates that multiple host I/O requests can be waiting for responses from the storage
system. So, the higher the queue depth, the more parallel I/O goes to the XIV Storage
System.
The disk queue depth is an important OS setting as well that controls how much data is
allowed to be “in flight” for a certain XIV Storage System volume to the HBA. The disk queue
depth depends on the number of XIV Storage System volumes attached to this host from one
XIV Storage System and the HBA queue depth. For example, if you have a host with just one
XIV Storage System volume attached and two HBAs with an HBA queue depth of 64, you
must configure a disk queue depth of 128 for this XIV Storage System volume to be able to
fully use the queue of the HBAs.
The XIV Storage System architecture eliminates the common storage concept of a large
central cache. Instead, each component (module) in the XIV Storage System grid has its own
dedicated cache. The XIV Storage System algorithms that stage data between disk and
cache work most efficiently when multiple I/O requests are coming in parallel, which is when
the host queue depth becomes an important factor in maximizing XIV Storage System I/O
performance. It is usually best to configure large host queue depths to ensure that you use
the parallelism of the XIV Storage System architecture. A good practice is starting with a
queue depth of 64 per HBA to ensure use of the XIV Storage System parallel architecture.
Tip: A queue depth of 64 is the best host HBA queue depth to start with for planning
purposes.
Disclaimer: Performance numbers in this example are valid only for this special test
conducted at an IBM lab. The numbers do not describe the general capabilities of an
XIV Storage System as you might observe them in your environment.
The green line in the graph is the performance of a host with a queue depth set to 10. Where
this line changes slope near 35,000 IOPS, you can see the red line at around 44,000 IOPS.
The red line represents the same host configured with HBA queue depth settings of 64. The
difference here at the widest margin is around a 25% boost in IOPS just by changing the host
queue depth setting from 10 to 64.
The blue line shows the queue depth, which is set to 256. Having the queue depth this high
does not provide much of an advantage or disadvantage.
Higher queue depth in general yields better performance with XIV Storage System. It is also
important to consider the limitations per port on the XIV Storage System side.
For example, each HBA port on an XIV Storage System interface module sustains up to 1400
concurrent I/Os (except for model A14 on port 3 when port 4 is defined as an initiator, in which
case port 3 is set to sustain up to 1000 concurrent I/Os). With a queue depth of 64
per-host-port, one XIV Storage System port is limited to 21 concurrent host ports, assuming
that each host fills up the entire 64 depth queue for each request. The point here is that for
larger configurations (more than 20), it is important to include queue depth in your production
planning.
Normally, operating system striping techniques have a small negative impact on XIV Storage
System performance. For example, LVM striping might adversely affect XIV Storage System
caching algorithms.
Consider a large sequential read. Normally, an XIV Storage System aggressively prefetches
this data into cache. But if this data exists on multiple LUNs because of LVM striping, as soon
as the operating system calls for data from a different LUN, the sequential nature of the read
is interrupted and must be detected again by XIV Storage System on the different LUN. XIV
Storage System is not unique in this regard, because all caching storage systems experience
this situation.
As mentioned earlier, there are reasons why LVM striping has performance benefits from a
host perspective. An interesting example is with certain applications that are better able to
use the performance capabilities of the host operating system by using LVM striping. These
efficiencies are realized on the host kernel buffer use. This application was fully tested without
LVM striping and with LVM striping using different stripe sizes. The net result was a 25%
overall performance improvement using host LVM striping.
The QoS feature is intended to enhance performance of critical business applications that run
concurrently with noncritical applications. As the XIV Storage System disk and cache are
shared among all applications, and all hosts are attached to the same resources, division of
these resources among both critical and noncritical applications might have an unintended
adverse performance on critical applications. In response to this issue, limiting the rate of
noncritical IOPS and bandwidth by specifying and then enforcing limits on the maximum
amount of low priority IOPS and bandwidth on a host basis is ideal.
As a result, the QoS feature in the XIV Storage System enables better performance for the
critical host applications that run concurrently with the noncritical host applications on the
same XIV Storage System.
We explained in 4.7, “QoS feature” on page 170 how to set QoS, by defining performance
classes in terms of IOPS and bandwidth limitation and then assigning specific hosts to a
particular performance class. Each host can be assigned only a single performance class at a
time. However, there is no limit in the number of hosts within a specified class.
If the intent is to set the limitation at 10,000 IOPS for a specified host in a six-interface module
configuration, the IOPS limit must be set to 10,000 and the enforcement is 1,666 (10,000/6)
for each interface module.
If the host is attached to just two interface modules in a full six-interface module system, the
host IOPS limitation would be only 3332 with this performance class setting
(1666 IOPS x 2 interface modules = 3332 IOPS).
If the intent is to have a 10 K IOPS limitation for a host connected to only two interface
modules in a full six-interface module system, “IOPS Limit Per Interface” must be set to 5000
or “IOPS Limit” for the performance class needs to be set to 30,000. Users must consider
these interface module multiplication factors to properly meet expected limitations.
The average I/O response time in both shows similar behavior. The largest response time
(RT) was at the 1 K IOPS limit, as shown in Figure 6-7.
By selecting specific filters, the requested data is mined and displayed. This section
describes the functions of the XVI Storage Management GUI and how to retrieve the required
data.
The first item to note is that the current IOPS for the system is always displayed in the bottom
center of the window. This feature provides simple access to the current load on the system.
Figure 6-8 illustrates the XIV Storage Management GUI and the IOPS display. It also shows
how to start the statistics monitor.
In Figure 6-9, the X-axis of the graph represents the time and can vary from minutes to
months. The Y-axis of the graph is the measurement that is selected. The default
measurement is IOPS.
The statistics monitor can also illustrate latency and bandwidth in the same graph or in the
multigraph view.
The other options in the statistics monitor act as filters for separating data. These filters are
separated by the type of transaction (reads or writes), cache properties (hits compared to
misses) and cache memory hits or flash (SSD) cache hits, or the transfer size of I/O as seen
by the XIV Storage System. The filter pane has been updated to reflect support for SSD
Caching and to filter between read I/Os from the main cache (Mem Hit) and read I/Os from
the extended SSD cache.
As shown in Figure 6-11, one of the lines represents the read IOPS and the other line
represents the write IOPS. On the GUI, these lines are drawn in separate colors to
differentiate the metrics. The other most popular speed metric is bandwidth (BW),
measured in MBps.
This selection process can be performed on the other filter items as well.
Latency (and all the other metrics, for that matter) can also be shown for individual or multiple
Fibre Channel or iSCSI interfaces, volumes, or hosts. For more information about latency,
see “Performance analysis” on page 319.
Another popular view of performance is the percentage of read hits as shown in Figure 6-13
on page 306. Read hits are the total read requests that are satisfied by reading the data from
the XIV system cache. Also shown are the cache hits satisfied from the DRAM memory cache
and the SSD cache. The read cache misses shown are the read requests that were satisfied
by retrieving the data from the disk drives. Again, there is more information about latency in
“Performance analysis” on page 319.
In certain cases, the user needs to see multiple graphs at one time. On the right side of the
filter pane, there is a selection to add graphs (see Figure 6-10 on page 303). Up to four
graphs are managed by the GUI. Each graph is independent and can have separate filters.
Each of the multiple graphs can be unlocked to show a different time duration than the others.
Figure 6-14 on page 307 shows this multigraph concept. The top graph is the IOPS for the
day with separated reads and writes. The second graph shows the bandwidth for a few
minutes with separated reads and writes, which provides quick and easy access to multiple
views of the performance metrics.
There are various additional filters available, such as filtering by host, volumes, interfaces, or
targets. These items are defined on the left side of the filter pane. When clicking one of these
filters, a window opens. Highlight the item, or select a maximum of four by using the Ctrl key,
to be filtered, and then select click to select. This action moves the highlighted item to the
lower half of the window. To generate the graph, you must click the green check mark on the
lower right side of the window. Your new graph is generated with the name of the filter at the
top of the graph. See Figure 6-15 for an example of this filter.
On the left side of the chart in the blue bar, there are various tools to assist you in managing
the data.
The top two tools (magnifying glasses) zoom in and out for the chart, and the second set of
two tools adjusts the X-axis and the Y-axis for the chart. Finally, the bottom two tools allow you
to export the data to a comma-separated file or print the chart to a printer.
On the right end of the filter pane is a time duration selector. These selections are helpful to
quickly navigate to different times. In Figure 6-17, if “Hour” is selected, the time scale is reset
to the last hour from the current time. Similarly, Day, Week, Month, and Year can be selected
to easily see the performance statistics for these different time durations. Also, notice the
refresh button to the right, which updates the graph with the latest information.
Also, you can select Custom and a window opens where you can specify a certain date and
time (Figure 6-18). After you specify the date and time, you can select the white box at the
bottom of the window and a one-hour view of performance data ending at the selected date
and time is displayed. To change the view from this specific date and time, you must use the
chart toolbars in the upper left corner of the Statistics view.
This disk performance view shows a bar chart of every disk drive in the XIV Storage System
configuration. There are several different performance metrics from which to choose. Here is
an explanation of what each one means:
ios_kbytes_ave Average I/O size per disk.
read_kbytes_ave Average I/O read size per disk.
destage_icp_queue_size Queue size of the pending Instant Copies (ICPs) we have for a
disk. This metric is related to snapshot and write workload.
destage_queue_size Number of write commands that are waiting in the queue for
the disk. This metric increases as writes increase from cache
to disk.
ios_sec Number of IOPS for each disk, including IOPS in buffer
queues. 100 is normal. 300 is considered high.
reads_sec Number of read IOPS.
writes_sec Number of write IOPS.
latency_prev_avg Average latency.
write_kbytes_avg Average I/O write size.
fetch_icp_queue_size Queue size of the pending read ICP.
latency_prev_max Max latency.
fetch_queue_size Number of read commands that are waiting in the disk queue.
Figure 6-20 Starting XIV Top from the main GUI desktop
Start XIV Top from the XIV Storage Management GUI desktop (Figure 6-21).
Figure 6-21 Start XIV Top from the XIV Storage Management GUI Desktop
XIV Top can also be started within the statistic view from the lower left corner of the XIV
Storage Management GUI Statistics Monitor Filter pane (see Figure 6-10 on page 303).
Each column of the Volumes and Hosts section can be sorted in ascending or descending
order by clicking the column and toggling the direction of the sort indicator (Figure 6-24 on
page 313).
The IOPS, latency, or bandwidth for up to four volumes or four hosts can be viewed in the
Performance Chart section. The controls to select the volumes, hosts, and options operate in
much the same way as the Statistics tool from within the GUI (Figure 6-25).
Figure 6-25 Display performance information for up to four volumes or hosts with XIV Top
First, you must retrieve the system’s time. To retrieve the system’s time, issue time_list, and
the system retrieves the current time. See Example 6-1 for an example of retrieving the XIV
Storage System time.
After the system time is obtained, the statistics_get command can be formatted and
issued.
To further explain this command, assume that you want to collect 10 intervals, and each
interval is for 1 minute. The point of interest occurred on 16 June 2009 roughly 15 minutes
after 11:45:00. It is important to note that the statistics_get command allows you to gather
the performance data from any time period.
Extending this example, assume that you want to filter out a specific host defined in the XIV
Storage System. By using the host filter in the command, you can specify for which host you
want to see performance metrics, which allows you to refine the data that you are analyzing.
See Example 6-4 for an example of how to perform this operation. See Figure 6-27 for a
sample of the output for the command.
Figure 6-27 Output from the statistics_get command using the host filter
In addition to the filter just shown, the statistics_get command can filter iSCSI names, host
worldwide port names (WWPNs), volume names, modules, and many more fields. As an
additional example, assume that you want to see the workload on the system for a specific
module. The module filter breaks out the performance on the specified module. Example 6-5
pulls the performance statistics for module 5 during the same time period of the previous
examples. Figure 6-28 on page 316 shows the output.
On the IBM Redbooks main page, search for “Tivoli Storage Productivity Center” to find
several Redbooks publications about how to use the product:
http://ibm.com/redbooks
For more information that relates to the XIV Storage System, see 7.7, “Using Tivoli Storage
Productivity Center” on page 388.
It is possible to see comprehensive XIV Storage System I/O performance characteristics from
Tivoli Storage Productivity Center. The most effective use of this data is to extract this data
from the Tivoli Storage Productivity Center database into comma-separated values (CSV)
files and then import them into a spreadsheet. This data is useful for performance reporting,
analysis, and archiving.
Tivoli Storage Productivity Center is a good way to evaluate XIV Storage System
performance. The Tivoli Storage Productivity Center data that is most useful for XIV Storage
System performance is contained in the following reports:
By Storage Subsystem (overall statistics on the entire XIV Storage System)
By Module/Node
By Volume
By Port
The data filters can be used to easily find maximum values. The spreadsheet can also be
used to generate graphs. In our Tivoli Storage Productivity Center data example in
Figure 6-30, the following graphs are frequently helpful:
Total IOPS and total bandwidth.
Read IOPS and read response times. If ports only, a read is a Port send.
Write IOPS and write response times. If ports only, a write is a Port receive.
Problem definition
A good problem definition includes the following types of information:
Which application is having performance problems? What is a description of the problem
from the application perspective?
What operating system performance characteristics indicate that the problem is
XIV Storage System performance?
What LUNs are dedicated to this application?
There can always be more than one performance problem. It is best to define these
performance issues separately but to note if they are related.
Data collection
The next thing to do is to collect good data. The data collected typically begins slightly before
the problem begins and ends slightly after the performance problem duration. In this way,
ideally, it is possible to see the abnormalities in the performance data (elevated response
times, for example) begin and end. This task is fairly easy to do with the XIV Storage
Management GUI performance statistics.
Performance analysis
The first thing to consider when evaluating performance is the overall nature of the I/O
characteristics. These characteristics typically include the IOPS, throughput measured in
MBps, and latency measured in milliseconds (ms). Our sample XIV Storage System workload
is shown in Figure 6-31.
It is important during initial application testing and early production to document IOPS and
response times when the application is running well. In this way, if an XIV Storage System
performance issue is suspected, you can compare these known good performance
characteristics to the new ones and see if there is a difference. If there is no difference,
chances are that whatever is causing the problem, it is not the XIV Storage System.
Figure 6-32 is an example of a typical IOPS versus response time curve. It is based on
theoretical I/O workload characteristics. Typical I/O characteristics include the following:
IOPS
I/O size for both reads and writes
Cache hits for both reads and writes
Percentage of reads versus writes
Percentage of both reads and writes that are sequential
The main point that we want to make here is that the goal is to run production workloads in
the horizontal section of the curve. As you monitor performance, if you begin to notice that
response times are increasing significantly over their normal levels, it is time to determine the
cause before the application owners begin to complain. There are many things that can cause
response times to increase in this way, such as the following reasons:
Fibre Channel or iSCSI SAN network issues
Host performance issues causing the I/Os to be delivered slowly
Pushing the XIV configuration to its performance limits (“operating in the knee”)
Prolonged periods of high response times associated with high IOPS or bandwidth use is
typically an indication of a performance problem. This can occur because of failure to adhere
to preferred practices at the logical configuration level at any or all stages of the I/O path and
as a result of an insufficient storage hardware configuration to meet the peak I/O workload
demands. It is critical to consider both avenues, and not just one in isolation. The former issue
can be investigated by using the XIV Storage System GUI in conjunction with host
configuration and monitoring tools to identify potential bottlenecks or non-ideal
implementation practices based on the concepts presented in this chapter.
The other possible action is to evaluate the potential performance impact of upgrading and
adding XIV Storage System hardware to meet the specific aggregate I/O workload
requirements. This can be investigated, in part, by engaging IBM or an IBM Business Partner
to perform a Disk Magic study. However, keep in mind that Disk Magic assumes that
end-to-end logical configuration preferred practices have been implemented from the
application layer to the storage subsystem layer. Therefore, attempting to use Disk Magic as
the sole basis for diagnosing or isolating a performance issue might result in drawing an
invalid conclusion and could prolong the duration of the problem.
Response times are a good measure of how well the XIV Storage System is performing. The
XIV System GUI uses the term latency. They are both the same thing. The best way to
determine whether response times are good or bad is to compare them to the values
recorded when the application was known to be performing well. If the response times
compare closely, it is likely that the XIV Storage System is still providing good performance.
There are several things to consider when evaluating XIV Storage System response times:
Do not be alarmed at sudden spikes in IOPS or response times. Most production
applications are not sensitive enough to experience performance issues associated with
spikes that last for only one reporting interval, which in the case of XIV Storage System is
1 minute.
It is the prolonged elevated response times that most transaction-based workloads notice
as poor performance. Prolonged can be 10 minutes or an hour or more because this
measurement is dependent upon the application.
Response times can be different depending on the type of workload the XIV Storage
System is servicing. During batch processing, when throughput MBps is the primary
performance objective, it is normal and common for batch response times to be higher for
prolonged periods.
Be careful about lumping response times into one number. Response times must be
associated with either reads or writes. Notice the read and write response times in
Figure 6-31 on page 319.
When read data is prestaged in flash or DRAM cache, the read request can be satisfied at
cache I/O speeds. This is called a read hit. But invariably certain data, typically random in
nature, must be retrieved from disk. This is called a read miss. Read response times are
the weighted average of these fast read cache hits and the slow reads from disk.
The amount of cache also has a significant impact on read cache hits. The more cache
that you have, the more data you can put in there that can result in a read hit. XIV cache
sizes can be described only as huge. A full rack has 720 GB of DRAM cache and 12 TB of
flash cache.
High read cache hit percentages are the most significant factor in good read performance
and low read response times. The nature of the application read I/O is what defines the
read cache hit percentage. If the XIV algorithms do a good job of prestaging data into flash
or DRAM cache, the read cache hit percentage is high.
XIV plays a large part in read cache hit percentages as well. XIV has exceptionally
aggressive read data prestaging algorithms to get this read data into the huge XIV System
cache. And XIV has a fixed number of spinning disks. But all these factors are fixed. When
you see variations in the read hit percentage in the XIV statistics GUI, it is the application
that is causing these variations.
Read response times are highly dependent upon the size of the average read I/O
operation. Very large read I/Os take longer for disk storage systems to process. For
transaction workloads with read I/O sizes of 32 KB or less, it is common to observe read
response times in the low double-digit millisecond range. Again, the best way to evaluate
read response times is to compare them to the read response times recorded during good
performance periods.
There are certain older operating systems, such as VMware ESX 3.5, that do not use more
than one path to a volume. On these operating systems, ensure that you use more than one
volume and that the paths for the volumes are balanced across all interface modules. You can
accomplish this task by changing the preferred path for these volumes so that these operating
systems cannot harm the performance of other operating systems or applications.
Chapter 7. Monitoring
In this chapter, we describe the various methods and functions that are available to monitor
the IBM XIV Storage System. We also show how you can gather information from the system
in real time, in addition to the self-monitoring, self-healing, and automatic alert functions
implemented within the XIV Storage System Software.
The secure remote support feature allows remote monitoring and repair by IBM Suppot
personnel. We describe the Call Home function, secure remote support, and repair
procedures. Finally, the Host Attachment Kit now offers a data collection feature that can be
used for problem analysis. It is described at the end of this chapter.
Possible metrics include IOPS, systems use (use of hard space as a percentage), systems
status (the IBM XIV systems are fully redundant, redistributing, or rebuilding), number of
defined hosts or number of defined volumes (with the number of snapshots shown in
brackets), and system hardware type (XIV generation, disk type, and hardware configuration).
7.1.2 Monitoring alerts for all defined IBM XIV systems with the GUI
The XIV Storage Management GUI allows users to work with alerts across multiple systems,
regardless of which XIV Storage System is selected. In Figure 7-6, the cursor is hovering over
the All Systems Alerts indicator in the lower right corner of the GUI. Three alerts across the
three systems that are currently defined to the GUI are shown. You can access the alert
information regardless of which system you are working with, or which window is displayed.
In Figure 7-7, the cursor is hovering the alerts indicator for a single system, allowing the
quantity of alerts to be displayed for just that system.
The System view shows a graphical representation of the XIV Storage System rack with its
components. You can click the curved arrow at the lower right of the picture of the rack to
show a view of the patch panel. Figure 7-10 shows the patch panel for an XIV Storage
System Gen3 Model 214.
You get a quick overview in real time about the system’s overall condition and the status of its
individual components. The display changes dynamically to provide details about a specific
component when you hover the cursor over that component.
Status bar indicators at the bottom of the window, which are shown in Figure 7-11, indicate
the overall operational levels of the XIV Storage System.
Monitoring events
To get to the Events window, select Events from the Monitor menu, as shown in Figure 7-12.
Extensive information and many events are logged by the XIV Storage System. The system
captures entries about problems with various levels of severity, including warnings and other
informational messages. These messages include information about logins, configuration
changes, and the status of attached hosts and paths. All of the collected data can be
reviewed in the Events window that is shown in Figure 7-12.
Because many events are logged, the number of entries is typically huge.
An option to filter the events logged can display a more useful and workable view. Without
filtering the events, it might be difficult to find the entries for a specific incident or information.
Figure 7-13 shows the possible filter options for the events.
Figure 7-14 shows details for a major event where an internal network link is down. For this
type of event, contact XIV Storage System Support immediately. Notification happens
automatically if Call Home and remote support are enabled, as described in 7.5, “Call Home
and remote support” on page 369. A problem record is generated with XIV Storage System
Support, and an IBM Service Support Representative (SSR) contacts the client to report the
problem and follow up with repair actions.
Event severity
The events are classified into a level of severity depending on their effect on the system.
Figure 7-15 gives an overview of the criteria and meaning of the various severity levels.
= Critical “Critical“ an event have occured where one ore more parts have failed
and the redundancy and machine operation can be affected.
= Major “Major“ an event have occured where a part have failed and the
redundancy is temporary affected. (ex: failing disk)
= Minor “Minor“ an event occured where a part have failed but system is still fully
redundant and have no operational impact
= Warning “Warning“ information for the user that something in the system have
changed but no impact for the system
= Informational “Informational“ event is for information only without any impact or
danger for system operation
Clicking the Setup icon starts the Events Configuration wizard, which guides you through the
process to create gateways, add destinations, and define rules for event notification.
For more information about event notification rules, see “Setup notification and rules with the
GUI” on page 357.
Monitoring statistics
The statistics monitor provides information about the performance and workload of the
XIV Storage System.
There is flexibility in how you can visualize the statistics. Options are selectable from a control
pane at the bottom of the window, as shown in Figure 7-17.
For information about performance monitoring, see Chapter 6, “Performance” on page 285.
Hover over a component to show the actual status of the single component in the module.
The example in Figure 7-22 shows the status of PSU:1. The status and temperature of the
module can be inspected also in this view. Click the thermometer to toggle between
Celsius (C) and Fahrenheit (F).
If you hover your cursor over a disk, the status and temperature of the disk are shown
(Figure 7-24).
Figure 7-25 XIV Storage System Gen3 disk in a deferred replacement state
System monitoring
Various XCLI commands are available for system monitoring. For more information about
these commands, see the XCLI Utility User Manual and Commands Reference books, which
are available at the following website:
http://publib.boulder.ibm.com/infocenter/ibmxiv/r2/index.jsp
The state_list command, which is shown in Example 7-2, gives an overview of the general
status of the system. In the example, the system is operational, data is fully redundant, no
shutdown is pending, ssd_caching is enabled on the system level, and encryption is not
supported.
>>state_list
Category Value
system_state on
target_state on
safe_mode no
shutdown_reason No Shutdown
off_type off
redundancy_status Full Redundancy
ssd_caching disabled
encryption Not Supported
In Example 7-4, the version_get command shows the current version of the XIV Storage
System code installed on the system. Knowing the current version of your software assists
you in determining when upgrades are required.
In Example 7-5, the time_list command is used to retrieve the current time from the XIV
Storage System. This time is normally set at the time of installation. Knowing the current
system time is required when reading statistics or events. In certain cases, the system time
might differ from the current time (at the user’s location). Therefore, knowing when something
occurred according to the system time assists with debugging issues.
The component_list command, which is shown in Example 7-6, gives the status of all
hardware components in the system. The filter option filter=<FAILED | NOTOK> is used to
return information only about failing components. The first example shows a failed disk in
module 4 slot 9, and the second example shows that all components are in an OK status.
As shown in Example 7-7 on page 339, the disk_list command provides more in-depth
information for any individual disk in the XIV Storage System, which might be helpful in
determining the root cause of a disk failure. If the command is issued without the disk
parameter, all the disks in the system are displayed.
Example 7-8 shows a disk that is failed but in a deferred replacement state. For more details
about this state, see “Deferred disk replacement” on page 337.
In Example 7-9, the module_list command shows details about the modules themselves. If
the module parameter is not provided, all the modules are displayed. In addition to the status
of the module, the output describes the number of disks, number of Fibre Channel (FC) ports,
and number of IP network Small Computer System Interface (iSCSI) ports.
It is possible to use the -x XCLI parameter with commands to provide even more information
about a component. The -x parameter shows the output of a command in XML format. You
can see the additional information as displayed in Example 7-10.
</OUTPUT>
</XCLIRETURN>
In Example 7-11, the ups_list command describes the status of the uninterruptible power
supply (UPS) component. It provides details about when the last test was performed and the
results. Equally important is the current battery charge level. A battery that is not fully charged
can be a cause of problems in case of power failure.
The output of the ups_list command is broken into two lines for easier reading.
Example 7-12 shows the switch_list command that is used to show the status of the
switches. An XIV Storage System second-generation Model A14 has Ethernet switches. An
XIV Storage System Gen3 Model 114 reports an InfiniBand switch.
By using the -x parameter, more information about the actual values can be displayed. See
Example 7-14.
</OUTPUT>
</XCLIRETURN>
Events
Events can also be managed with XCLI commands. Various commands are available to list,
filter, close, and send notifications for the events. There are many commands and parameters
available.
We illustrate just a few of the options of the event_list command. Various parameters can
be used to sort and filter the output of the event_list command. See Table 7-1 on page 342
for a list of the most commonly used parameters.
before Lists events before the specified <event_list before 2008-08-11 14:43:47>
date and time.
These parameters can be combined for better filtering. In Example 7-15, two filters were
combined to limit the amount of information displayed. The first parameter, max_events, allows
only five events to be displayed. The second parameter is the date and time that the events
must not exceed. In this case, the event occurred approximately 1.5 minutes before the cutoff
time.
The event list can also be filtered for severity. Example 7-16 shows all the events in the
system that contain a severity level of Major and all higher levels, such as Critical.
Certain events generate an alert message and do not stop until the event has been cleared.
These events are called alerting events and can be viewed by the XIV Storage Management
GUI or XCLI using a separate command. After the alerting event is cleared, it is removed from
this list, but it is still visible with the event_list command. See Example 7-17.
The usage_get command is a useful tool to provide details about the current use of pools and
volumes. The system saves the usage every hour for later retrieval. This command works the
same as the statistics_get command. You specify the time stamp to begin and end the
collection and the number of entries to collect. In addition, you need to specify the pool name
or the volume name. See Example 7-19.
The use is displayed in MB. Example 7-20 shows that the volume is using 1920 GB of space.
The event log is implemented as a circular log and is able to hold a set number of entries.
When the log is full, the system wraps back to the beginning. If you need to save the log
entries beyond what the system normally holds, you can issue the event_list XCLI
command and save the output to a file.
The system progressively loads the events into the table. A progress indicator is visible at the
lower right of the table, as shown in Figure 7-27.
Severity levels
You can select one of six possible severity levels as the minimal level to be displayed:
Event codes
For a list of event codes, see the IBM XIV Storage System User Manual, GC27-3914.
Event types
The following event types can be used as filters (specified with the object_type parameter in
the XCLI command):
cons_group Consistency group
destgroup Event destination group
dest Event notification group
dm Data migration
domain Domain
host Host
map Volume mapping
mirror Mirroring
pool Pool
rule Rule
smsgw SMS gateway
smtpgw SMTP gateway
target Fibre Channel or iSCSI connection
volume Volume mapping
cluster Cluster
ip_interface IP interface
ldap_conf LDAP configuration
meta_data_object Metadata events
sync_schedule Schedules
user User
user_group User group
ldap_server LDAP server
modules_status Modules status
xmirror 3-way mirror
Domain event
Client can select the appropriate domain name, if any defined, from the Domain pull-down
menu and can get events list related to that corresponding domain as shown in Figure 7-26
on page 344
smsgw_prioritize Sets the priorities of the SMS gateways for sending SMS messages.
smtpgw_prioritize Sets the priority of which SMTP gateway to use to send emails.
A simpler example is setting up a rule notification for when a user account is modified.
Example 7-24 creates a rule on the XIV Storage System called ESP that sends a notification
whenever a user account is modified on the system. The notification is transmitted through
the relay destination.
The same rule can be created in the XIV Storage Management GUI. For more details about
configuring the system to provide notifications and setting up rules, see Chapter 7,
“Monitoring” on page 325.
To log on to an actual XIV Storage System, use a valid user, password, and IP address, as
shown in Figure 7-30.
Figure 7-30 Logging on to an XIV Storage System from the IBM XIV Mobile Dashboard
After you are connected to the XIV Storage System, you can view volume performance or
host performance.
Each window also shows the health and redundancy state of the XIV Storage System. The
iOS device has a screen rotation capability; therefore, the output can be shown in either
landscape or portrait mode.
The IBM XIV Mobile Dashboard behaves differently depending on which mode you use to
show the output.
If you are having issues with screen rotation, consult the following website:
http://support.apple.com/kb/HT4085
If the Mobile Dashboard is displayed in portrait mode (by rotating your iOS device), a list of up
to 27 volumes is displayed instead.
If the IBM XIV Mobile Dashboard is operated in portrait mode (by rotating your iPad), a list of
up to 27 hosts is displayed instead.
From either the Volume view or the Host window, you can log off from the IBM XIV Mobile
Dashboard by using the icon in the upper-right corner of the display. When you restart the
application, it recalls the IP address and user that were last used, but not the password. The
password must be entered again.
There is a performance monitoring summary window for monitoring overall IBM XIV System
performance (see Figure 7-33) and the ability to view specific performance measurements.
You can monitor IOPS, bandwidth, and latency by host and by volume (see Figure 7-34).
At the welcome screen, either enter Demo Mode or add an XIV system. In Figure 7-35, the
login screen and Demo Mode are shown.
Figure 7-35 XIV mobile dashboard for Android login and Demo Mode
There are performance monitoring windows for overall IBM XIV System performance, host
performance, and volume performance. You can also view specific performance
measurements. In Figure 7-36 on page 355, the system performance and volume
performance are depicted.
• IBM FlashSystem™
You need an Apple iOS device (either iPad or iPhone) and a valid Apple ID to download the
IBM Storage Mobile Dashboard application from the App Store. It is a no-charge application.
https://itunes.apple.com/se/app/ibm-storage-mobile-dashboard/id677826483?mt=8
2. From the toolbar, click Setup to start the Events Configuration wizard. The wizard guides
you through the configuration of gateways, destinations, and rules. From the initial
Welcome panel, click Next or Gateway to open the Events Configuration - Gateway
window, as shown in Figure 7-39.
3. Click Define Gateway. The Gateway Create Welcome window that is shown in
Figure 7-40 opens. Click Next. The Gateway Create - Select gateway type window opens,
as shown in Figure 7-40.
4. When the wizard prompts for the type of the gateway, either SMTP for email notification or
SMS if an alert or information will initiate an SMS, click either SMTP or SMS.
Gateways: An SMTP gateway must be defined before you can define an SMS gateway
because SMS messages are sent from the XIV Storage System in the form of an email.
The next steps differ for SMTP and SMS. Our illustration from this point forward is for
SMTP. However, the steps to go through for SMS are self-explanatory and are described
in “Setting up notifications and rules using the XCLI” on page 364.
To proceed with SMTP, click Next.
6. Set the sender email address. You can use the default, or enter a new address. If there are
email problems, such as the wrong email address, a response email is sent to this
address. Depending on how your email server is configured, you might need to use an
authorized address to ensure correct delivery of notifications. Click Finish.
The Create the Gateway summary window opens, as shown in Figure 7-42.
8. Click Create Destination to open the Welcome window. Then, click Next to proceed. The
Select Destination type window opens, as shown in Figure 7-44. On this window, you
configure the following settings:
– Type: Event notification destination type can be either a destination group (containing
other destinations), SNMP manager for sending SNMP traps, email address for
sending email notification, or mobile phone number for SMS notification:
• SNMP
• EMAIL
• SMS
• Group of Destinations
10.On the Welcome window, click Next. The Rule Create - Rule name window opens, as
shown in Figure 7-46.
– Rule snooze: Defines whether the system repeatedly alerts the defined destination
until the event is cleared. If so, a snooze time must be selected. Check Use snooze
timer and enter a snooze time in minutes.
– Rule escalation: Allows the system to send alerts by other rules if the event is not
cleared within a certain time. If so, an escalation time and rule must be specified:
i. Check Use escalation rule.
ii. Click Escalation Rule.
iii. Enter an escalation time in minutes.
iv. Click Create Escalation Rule.
12.On the summary window shown in Figure 7-48, review the information that you entered.
Go back if you need to make changes. If everything is correct, click Create.
The gateway definition is used for SMTP and SMS messages. There are various commands
that are used to create and manage the gateways for the XIV Storage System. Example 7-25
shows an SMTP gateway being defined. The gateway is named test and the messages from
the XIV Storage System are addressed to [email protected].
When added, the existing gateways are listed for confirmation. In addition to gateway address
and sender address, the port and reply-to address can also be specified. There are various
other commands that are available for managing a gateway.
>> smtpgw_list
Name Address Priority
ITSO Mail Gateway us.ibm.com 1
test test.ibm.com 2
The SMS gateway is defined in a similar method. The difference is that the fields can use
tokens to create variable text instead of static text. When specifying the address to send the
SMS message, tokens can be used instead of hardcoded values. In addition, the message
body also uses a token to have the error message sent instead of a hardcoded text.
Gateways: An SMTP gateway must be defined before you can define an SMS gateway
because SMS messages are sent from the XIV Storage System in the form of an email.
Example 7-26 provides an example of defining an SMS gateway. The following tokens are
available to be used for the SMS gateway definition:
{areacode}: This escape sequence is replaced by the destination’s mobile or cellular
phone number area code.
{number}: This escape sequence is replaced by the destination’s cellular local number.
{message}: This escape sequence is replaced by the text to be shown to the user.
\{, \}, \\: These symbols are replaced by the {, } (for \{, \}) or \ (for \\).
Example 7-27 provides an example of creating a destination for all three types of notifications.
For the email notification, the destination receives a test message every Monday at 12:00.
Each destination can be set to receive notifications on multiple days of the week at multiple
times.
>> dest_list
Name Type Email Address Area Code Phone Number SNMP Manager User
ITSO_Catcher SNMP itsocatcher.us.ibm.com
smstest SMS 555 5555555
snmptest SNMP 9.9.9.9
emailtest EMAIL [email protected]
Finally, the rules can be set for which messages can be sent. Example 7-28 provides two
examples of setting up rules. The first rule is for SNMP and email messages, and all
messages, even informational messages, are sent to the processing servers. The second
example creates a rule for SMS messages. Only critical messages are sent to the SMS
server, and they are sent every 15 minutes until the error condition is cleared.
>> rule_list
Name Minimum Severity Event Codes Except Codes Destinations Active Escalation Only
ITSO_Major Major all ITSO_Catcher yes no
emailtest Informational all emailtest,snmptest yes no
smstest Critical all smstest yes no
Example 7-29 shows how to delete rules, destinations, and gateways. It is not possible to
delete a destination if a rule is using that destination. And, it is not possible to delete a
gateway if a destination is pointing to that gateway.
The prerequisite is to have Call Home enabled on the XIV system (see 7.5.1, “Call Home
feature” on page 370). The IBM XIV Mobile Dashboard application must be to be installed on
a mobile device. The Mobile Dashboard application can be downloaded from the following
mobile device applications store:
Android device store:
https://play.google.com/store/apps/details?id=com.ibm.xiv.mobile.android&hl=en
iOS device store
http://itunes.apple.com/us/app/ibm-xiv-mobile-dashboard/id465595012?mt=8
The subscription to the push service is on a user-system basis. On an iOS platform, after
installing and signing on to the mobile application for the first time, you must confirm to accept
push notifications. On an Android platform, users are automatically enabled for notifications.
A new Notifications setting in the mobile user controls panel lets you specify whether or not to
receive notifications from the XIV system; See Figure 7-49.
An auto-login feature allows users to tap on the notification event and automatically log in to
the system. These system settings can be edited at any time.
After you are logged in to the system, the Events view shows all relevant notifications as set
by the demand minimum severity filter. Note that this events view is a new element (the
Events icon is at the bottom) in Version 1.4 of the IBM XIV mobile dashboard, as illustrated in
Figure 7-51. (This screen capture is based on an early version of the code, so the rendering
might be somewhat different in the final version.)
A storage administrator can control how much information and configure which notifications
are sent to a mobile device. Navigate to Access → Mobile Notifications from the XIV
Storage Management GUI as shown in Figure 7-52.
Notifications can entail informative event descriptions and are configurable (see Figure 7-53).
By default, major and critical issues are sent in preview-only mode.
User permissions and status are managed from the same panel in the IBM XIV Storage
Management GUI:
Active user
An active user receives notifications based on the defined preferences.
Dormant user
If a user has not used the service for over a week, the service is considered to be
dormant. In this case, the user receives push notifications, but with no content, regardless
of the defined preferences.
Non-active user
If a user has not logged in for more than 30 days, the user subscription is considered
inactive. Logging out from the XIV Mobile application disables push notifications.
Notifications can also be disabled from the settings window.
If a mobile user unsubscribes from receiving push notifications, the user registration remains
on the XIV system. To completely remove the user privileges, the user must be removed from
the system via the GUI.
Important: The configuration of Call Home and the configuration of remote support
facilities are recommended to assist with failure detection, diagnosis, and resolution.
If an event is received by the XRSC that requires service or investigation, the event typically
triggers a new IBM problem management record (PMR).
Because Call Home uses the client’s network and SMTP service, IBM cannot guarantee the
delivery of events. Therefore, events must be monitored by the client as described in 7.3, “XIV
Storage System event notification” on page 357.
When the Call Home feature is configured and events are received by the XRSC, periodic
heartbeat events are also received. The heartbeats are monitored by IBM and the client is
notified if the heartbeats are not received or are no longer received.
There is an IBM service, called Electronic Service Call (ESC+), where you can monitor
service calls that are specific to a customer account ID. The ESC+ gives you the ability to
verify that a service ticket has been raised following an appropriate event, and to open a new
service call. The ESC+ website is shown:
http://www.ibm.com/support/esc
Contact your local IBM SSR to have your user ID associated with a specific customer ID
in ESC+.
The SMTP address for Call Home is configured separately from the general XIV Storage
System SMTP setting. If the client’s mail server gateway changes, a service call must be
logged to have the internal Call Home SMTP setting changed.
Tip: Email relaying on the SMTP gateway server might need to be enabled to allow
Call Home events to be sent to IBM.
Remote support has three ways to connect the system. Depending on the client’s choice, the
support specialist can connect by one of the following methods:
Using a modem dial-up connection through an analog phone line provided by the client
Using a secure, high-speed direct connection through the Internet to the XIV Storage
System
Using the XRSC, which allows the client to initiate a secure connection from the
XIV Storage System to IBM. Using XRSC, the XIV Storage System makes a connection to
an external XRSC server. Using an internal XRSC server, the XRSC can connect to the
XIV Storage System through the connection made to the external server. For more details,
see Figure 7-54.
IBM DMZ
External
XRSC server Internal
Client IBM XRSC
Firewall Firewall
Internet - server
Direct
Dial up connection
Modem
PHONE LINE Modem
XRSC: We encourage all clients to use the secure, high-speed remote support solution
enabled by the XRSC.
These possibilities are shown in Figure 7-54. If there are problems, the remote specialist is
able to analyze problems and also assist an IBM SSR dispatched onsite in repairing the
system or in replacing field-replaceable units (FRUs).
To enable remote support, you must allow an external connection, such as either one of the
following methods:
A telephone line
An Internet connection through your firewall that allows IBM to use a Secure Shell (SSH)
connection to your XIV Storage System
XRSC connection
The XRSC uses a high-speed Internet connection, but it gives the client the ability to initiate
an outbound SSH call to a secure IBM server.
Firewall rules might need to be configured at the client firewall to allow the XIV Storage
System VPN/Management ports to connect to the XRSC.
Tip: The type of access required for a remote support connection is “outbound port 22/ssh”
from the XIV Storage System network ports.
The XRSC consists of the XIV Storage System’s internal functions with a set of globally
deployed supporting servers. Together, they provide secure IBM support access to the XIV
Storage System when necessary and when authorized by the client’s personnel.
Underlying architecture
The XIV remote support mechanism has four major components:
Remote Support Client (machine internal)
The Remote Support Client is a software component inside the XIV Storage System that
handles remote support connectivity. It relies only on a single outgoing Transmission
Control Protocol (TCP) connection, and has no capability to receive inbound connections
of any kind. The Client is controlled by using XCLI and is charged with starting a
connection, terminating a connection (because of timeout or client request), and trying the
connection again in case it terminates unexpectedly.
Optional Remote Support Proxy
The Remote Support Client can access the Remote Support Center Front Server directly,
or through an optional proxy server. The optional Remote Support Proxy can be used
when one or more IBM XIV systems do not have direct access to the Internet (for
example, because of firewall restrictions). You can use the Remote Support Proxy to
facilitate the connection to the XRSC. More information about the Remote Support Proxy
can be found in the IBM XIV Remote Support Proxy Installation and User’s Guide,
GA32-0795.
Remote Support Center Front Server (Internet)
Front Servers are on an IBM DMZ of the Internet and receive connections from the
Remote Support Client and the IBM XIV Remote Support Back Server. Front Servers are
security-hardened machines that provide a minimal set of services, namely, maintaining
connectivity to connected Clients and to the Back Server. They are strictly inbound, and
never initiate anything on their own accord. No sensitive information is ever stored on the
Front Server, and all data passing through the Front Server from the Client to the Back
Server is encrypted so that the Front Server cannot access this data.
Remote Support Center Back Server (IBM intranet)
The Back Server manages most of the logic of the system. It is located within the IBM
intranet. The Back Server is access controlled. Only IBM employees authorized to perform
remote support of the XIV Storage System are allowed to use it, and only through specific
Figure 7-55 provides a representation of the data flow of the XIV Storage System to
IBM Support.
To initiate the remote connection process, the following steps are performed:
1. The client initiates an Internet-based SSH connection to XRSC either through the
XIV Storage Management GUI or XCLI.
2. XRSC identifies the XIV Storage System and marks it as “connected”.
3. Support personnel connect to XRSC using SSH over the IBM intranet.
4. XRSC authenticates the support person against the IBM intranet.
5. XRSC then shows the connected client system available to the support personnel.
6. The IBM Support person then chooses which system to support and to which system to
connect:
– Only permitted IBM XIV systems are shown.
– IBM Support personnel log their intended activity.
7. A fully recorded support session commences.
8. When complete, the support person terminates the session and the XRSC disconnects
the XIV Storage System from the remote support system.
The initiation or loss of connection to the XRSC causes the system to generate events that
can be seen on the machine's event log. These events can be forwarded to any destination of
the client’s choice (like any other event using the XIV Storage System event-rules
mechanism). Connection loss events, whether because of a transport error, timeout, or due to
specific client action, specify whether the connection was idle or in-use at the time of
disconnection. A warning event is issued 15 minutes before the timeout parameter
disconnects a busy support session. If the connection is lost because of a network error
before the timeout for the session has expired, the system automatically tries to reconnect to
any of the configured XRSC servers.
While a support session is in progress, the XIV Storage System generates events and shows
the machine’s status on the GUI window as usual. Therefore, for example, the client can see
the process of phasing out a module or the restart of client-visible machine services as they
happen.
Figure 7-57 Select the wanted support center and click the Connect Support Center icon
The window shown in Figure 7-58 prompts you for the Session Timeout, Idle Timeout, and
Connection Password values. The timeout values are specified in minutes and disconnect the
session when they expire. The password, if set, must be given to the IBM Support
representative for them to establish a connection. Use of a password is not required and can
be left blank.
Using Never for the timeout values results in the connection remaining open until explicitly
disconnected.
After the connection to the XRSC has been established, you can disconnect the session by
clicking the Disconnect Support Center icon, as shown in Figure 7-59 on page 376.
To start an XRSC connection using GUI, open a list of the available support centers that were
configured during system installation by issuing the support_center_list XCLI command, as
shown in Example 7-30.
Next, you can see what the status of the connection is by running the support_center_status
command (Example 7-31).
>> support_center_status
State Connected sessions Timeout (min) Module Connected since
------- -------------------- --------------- ------------ ---------------------
idle 0 no timeout 1:Module:4 2010-10-08 10:45:35
>> support_center_status
State Connected sessions Timeout (min) Module Connected since
------- -------------------- --------------- ------------ ---------------------
idle 0 27.6 1:Module:4 2010-10-08 10:49:40
The status shows an idle state until an XRSC representative establishes a connection, at
which time it shows a state of busy, as shown in Example 7-34.
>> support_center_status
State Connected sessions Timeout (min) Module Connected since
--------------- -------------------- --------------- -------- -----------------
no connection ? ? ? ?
After the XIV Remote Support Proxy agent is configured, the connection to the XRSC is
performed normally from the XIV Storage System, as described in “XRSC connection” on
page 371.
The agent is a small program that runs on the following Linux versions:
Red Hat Enterprise Linux, Version 6.0 or later, for x86 and x86-64 systems
Red Hat Enterprise Linux, Version 5.1 or later, for x86 and x86-64 systems
Red Hat Enterprise Linux, Version 4.6 or later, for x86 and x86-64 systems
SUSE Linux Enterprise Server 11 or later, for x86 and x86-64 systems
The host running the agent must have TCP/443 outbound access to XRSC addresses
(information supplied by IBM Support) and listens for inbound connections from the
IBM XIV systems.
7.5.4 Installation
The installation files and documentation are at the storage portal website for XIV:
http://ibm.co/1xltw1V
On this website, expand the list by clicking the More Results link.
After you download the correct package to the Linux host, you can run the file as root and it
starts the installation wizard.
Press Enter to continue viewing the license agreement, or, Enter "1" to accept the
agreement, "2" to decline it or "99" to go back to the previous screen, "3" Print.
1
xivproxy 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Installation completed successfully.
You can edit the proxy.conf file, which is in the /etc/xiv/ folder, to add the relevant
connectivity settings, as shown in Example 7-37.
The parameters referenced in the proxy.conf file include the following parameters:
ListenInterface The network interface name on the host running the Remote Proxy
agent that the XIV Storage System contacts when initiating a
Remote support connection (for example, eth0).
ListenPort The TCP port on which ListenIinterface listens (for example, 8988).
Important: The XIV Storage System must be able to contact the host running the
XIV Remote Support Proxy agent on the specified ListenInterface and ListenPort to run
a remote support connection.
TargetAddress The network address of the XRSC server to which the XIV Remote
Support Proxy agent initiates a connection. IBM supplies the address.
TargetPort The TCP port of the XRSC server. This port is normally set to 443, but
confirm this port when you get the TargetAddress information from
IBM Support.
StatusInterface The network interface name where you can query the status of the
XIV Remote Support Proxy agent and show any active remote support
connections.
StatusPort The TCP port on which StatusIinterface listens (for example, 8989).
HTTPProxyHost The network address of an external web proxy. This parameter is an
optional parameter if there is an existing web proxy service and it is
not possible to open the firewall for the host running the proxy.
HTTPProxyPort The TCP port on which HTTPProxyHost listens.
After you configure the proxy.conf file, you can start the proxy service by running service
xivproxy start and then run service xivproxy status to confirm that the XIV Remote
Support Proxy agent is running, as shown in Example 7-38.
Example 7-38 Starting the Remote Proxy and check its status
bc-h-15-b6:/ # service xivproxy start
Starting IBM XIV remote support proxy:
done
bc-h-15-b6:/ # service xivproxy status
IBM XIV remote support proxy running
Listen address : 9.155.113.137:8988
Target address : 195.110.41.141:443
Running since : Sep-27 15:40:56
Open connections : 0
Failed connections: 0
Total connections : 0
Example 7-39 on page 381 shows a query of the XIV Remote Support Proxy agent to check
its status from a remote location by using Telnet. In this example, there are two active remote
support connections, from separate IBM XIV systems, using the proxy.
After the XIV Remote Support Proxy agent has been configured and started successfully,
new support_center definitions must be entered on the XIV Storage System. These
definitions are done by your XIV Storage System support personnel. An example of a
configuration is shown in Example 7-40.
XIV PFE-GEN3-1310133>>support_center_status
State Connected sessions Timeout (min) Module Connected since Destination
idle 0 no timeout 1:Module:2 2011-09-27 15:55:48 xivproxy(9.155.113.137:8988)
More information about the Remote Support Proxy is in the IBM XIV Remote Support Proxy
Installation and User’s Guide, GA32-0795.
The SNMP protocol defines two terms, agent and manager, instead of the client and server
terms that are used in many other TCP/IP protocols. An SNMP agent is implemented in the
XIV Storage System, which sends SNMP traps to an SNMP manager (such as IBM Systems
Director) to indicate that an event has occurred. By default, the trap is sent to UDP port 162.
The SNMP manager can also request certain information from the XIV Storage System using
SNMP get or walk commands. These commands are sent to the XIV Storage System on
UDP port 161.
Most hardware and software vendors provide you with extended MIB objects to support their
own requirements. The SNMP standards allow this extension by using the private subtree,
which is called an enterprise-specific MIB. Because each vendor has a unique MIB subtree
under the private subtree, there is no conflict among vendors’ original MIB extensions.
For an SNMP trap sent by an XIV Storage System, the MIB defines the following object IDs:
1.3.6.1.4.1.2021.77.1.3.1.1.1 xivEventIndex A unique value for each event
1.3.6.1.4.1.2021.77.1.3.1.1.2 xivEventCode The code of the event
1.3.6.1.4.1.2021.77.1.3.1.1.3 xivEventTime The time of the event
1.3.6.1.4.1.2021.77.1.3.1.1.4 xivEventDescription A description of the event
1.3.6.1.4.1.2021.77.1.3.1.1.5 xivEventSeverity The severity of the event
1.3.6.1.4.1.2021.77.1.3.1.1.6 xivEventTroubleshooting Troubleshooting information
3. From the Define Destination window, which is now open, enter a Domain name if any
specified (default is no domain), a Destination Name (a unique name of your choice) and
4. Click Define to effectively add the SNMP Manager as a destination for SNMP traps.
In addition, set up the rules for the defined SNMP destination, as described in “Setup
notification and rules with the GUI” on page 357. Afterward, the XIV Storage System is set up
to send SNMP traps to the defined SNMP manager. The SNMP Manager software processes
the received information (SNMP traps) according to the MIB file.
7.6.2 Using SNMP commands to confirm the XIV Storage System status
Although SNMP traps can be received from the XIV Storage System, you can also send
SNMP get or walk commands to collect status information from the XIV Storage System. To
accomplish this task, you must use an SNMP manager that supports this task and you need
to import the XIV Storage System MIB into that manager.
To send SNMP get commands, you must know the SNMP community name. By default, the
community name is set to XIV (not public). To confirm or change the SNMP community name,
click System → Settings, and then open the SNMP window that is shown in Figure 7-64.
Figure 7-64 Set or show the XIV Storage System SNMP community name
You can also set or show SNMP information, including the community name, by running
config_get and config_set, as shown in Example 7-42 on page 385.
XIV_1312611>>config_get name=snmp_location
Name Value
snmp_location IBM_Mainz
7.6.3 Using SNMP get or walk commands with open source software
You can test SNMP get and walk commands to an XIV Storage System using the open
source software package net-snmp on a Windows workstation. This package provides a tool
to compile the MIB and issue SNMP commands. You can download net-snmp from the
Source Forge web page:
http://sourceforge.net/projects/net-snmp/files/net-snmp/
Force a compilation of all MIBs to compile the XIV Storage System MIB by running the
following command:
C:\usr\bin>snmptranslate -Dparse-mibs
In the output that you get, look for messages such as the ones shown in Example 7-43. The
module numbers might be different, depending on how many MIBs exist in that folder.
Now you are ready to use an SNMP walk command starting with the xiv OID. The only thing
that you need to change in this line is the management IP address of the XIV Storage
System:
C:\usr\bin> snmpwalk -v 2c -c XIV -m XIV-MIB 10.10.1.10 xiv
In Example 7-44, you see some typical output. If your XIV Storage System is using Version
10.2.2 or earlier, you also get a list of XIV Storage System events. If that is the case, do not
leave the snmpwalk command running; press Ctrl-c to stop it. XIV Storage System code
Versions 10.2.4 and higher do not list XIV Storage System events through the snmpwalk
command.
Tip: In the output shown in Example 7-44, you can see the xivFreeSpaceSoft output and
xivFreeSpaceHard output. This information is only useful if you want to confirm how much
space is not allocated to a pool. If you have already allocated all usable hard and soft
space to your pools, this command confirms that there is no free space available outside
your existing pools. There might be significant free space within your pools.
If you want to cut the output back to a single field (OID), use the syntax shown in
Example 7-45. You can also run the snmpget command to get the same output.
If you start the SNMP walk without a start point, you get a more interesting output. You see
the Linux version being run by the XIV Storage System modules and the uptime of the
module you are probing, as shown in Example 7-46.
Tivoli Storage Productivity Center is an integrated suite for managing storage systems,
capacity, storage networks, and replication. For information about Tivoli Storage Productivity
Center, see IIBM Tivoli Storage Productivity Center V5.2 Release Guide, SG24-8204.
To add an XIV Storage System to your Tivoli Storage Productivity Center configuration,
complete the following steps:
1. Create an XIV Storage System user and password that will be used by Tivoli Storage
Productivity Center.
2. Note the IBM XIV Storage System management IP address.
3. Start the Tivoli Storage Productivity Center configure devices wizard to discover and
probe the XIV Storage System.
4. Create a performance monitor.
Discovery phase
To add the XIV Storage System to Tivoli Storage Productivity Center, start the Configure
Devices wizard. Click IBM Tivoli Storage Productivity Center → Configure Devices, as
shown in Figure 7-67. Proceed with the steps to add, discover, and probe an XIV Storage
System in Tivoli Storage Productivity Center.
The discovery usually takes a few minutes and can be run on a schedule. How often you run
a discovery depends on the dynamic of your environment. It must be run to detect a new
subsystem and to perform basic health checks of all CIMOMs and other storage subsystems.
6. After all three IP addresses are added, click Next and the wizard automatically performs
a discovery.
Figure 7-69 New XIV Storage System discovered in Tivoli Storage Productivity Center
Probing phase
The newly added XIV Storage System must be probed for Tivoli Storage Productivity Center
to collect information. Probes use agents to collect statistics, including data about drives,
pools, and volumes. The results of the probe jobs are stored in the repository and are used in
Tivoli Storage Productivity Center to supply the data necessary for generating several
reports, including Asset, Capacity, and Storage Subsystem reports.
To configure the probe for XIV Storage System, continue the following steps in the wizard:
1. Select the XIV Storage System and click Next. Now you have various options to specify
the probe details, as shown in Figure 7-70 on page 391.
Tip: Configure individual probes for every XIV Storage System system, but set them
to run at various times.
Performance monitoring
XIV Storage System Software v10.2.2 or later can use the performance monitoring feature in
Tivoli Storage Productivity Center v4.2. You can set up this feature with the Disk Manager.
Tivoli Storage Productivity Center probes collect the following information from the IBM XIV
systems:
Storage pools
Volumes
Disks
Ports
Host definitions, LUN mapping, and masking information
These different definitions are why capacity information might appear to differ (and seem
wrong) when comparing the XIV Storage Management GUI with the Tivoli Storage
Productivity Center GUI, when in fact it is the same size.
Because the XIV Storage System also provides thin provisioning, additional columns for the
thin provisioning storage pools were introduced to the Tivoli Storage Productivity Center GUI.
The Tivoli Storage Productivity Center configured space is equivalent to the XIV Storage
System soft capacity, and Tivoli Storage Productivity Center real space is equivalent to the
XIV Storage System hard space.
Additional Configured Capacity Limit and Remaining Configured Capacity columns were
introduced to report on the hard capacity of a subsystem. The pre-existing Consumed Space
and Available Space columns now report on the soft capacity of a subsystem in the
following reports:
Storage Subsystem list (Click Disk Manager → Storage Subsystems to view this report.)
Storage Subsystem Details (Click Disk Manager → Storage Subsystems and select a
storage subsystem to view this report.)
Storage Subsystem Details (Click Data Manager → Reporting → Asset → By Storage
Subsystem to view storage subsystem details.)
Storage Subsystem Reports can be created with user-specified columns. See the
following Tivoli Storage Productivity Center GUI menu items:
– Data Manager → Reporting → Asset → System-wide → Storage Subsystems
– Data Manager → Reporting → TPC-wide Storage Space → Disk Space → By
Storage Subsystem
In Figure 7-77, the properties of an XIV Storage System are shown in the
Tivoli Storage Productivity Center GUI Storage Subsystem Details report.
Figure 7-78 on page 396 shows the details for an XIV Storage System as shown in Tivoli
Storage Productivity Center. Do not use the fields that show the Disk Space, Available Disk
Space, Physical Disk Space, Formatted Space, and Formatted Space with No Volumes.
Although values are shown for some of these fields, the methods used to calculate them do
not apply well to the XIV Storage System. They are used for other storage products.
Figure 7-78 XIV Storage System details shown in Tivoli Storage Productivity Center
Tip: In Figure 7-78 on page 396, you can see the Last Probe Time, showing when Tivoli
Storage Productivity Center last communicated with the XIV Storage System. Suppose
that the information showing in Tivoli Storage Productivity Center differs from the
information shown in the XIV Storage Management GUI or XCLI, even after converting
from binary GiB (or TiB) to decimal GB (or TB). If this situation occurs, you might need to
run a fresh probe in Tivoli Storage Productivity Center to update the information being
shown in Tivoli Storage Productivity Center.
Determining the available and total hard space using Tivoli Storage
Productivity Center
A common task is to analyze how much space is available for configuration. Focusing on hard
space, there are three useful measures shown in Figure 7-78:
Unformatted Disk Space shows how much hard space is available to create new pools.
If you are planning to convert your pools to thin provisioning pools, you can use
Remaining Configured Capacity to determine how much hard space remains in the
existing pools.
To determine total hard space in your XIV Storage System, you can sum together
Unformatted Disk Space and Configured Capacity Limit.
Because these two values are in binary TB (TiB), the resulting value does not match the
decimal GB value shown for hard space in the XIV Storage Management GUI. A simple
conversion is to multiply the TiB value shown in Tivoli Storage Productivity Center by
1.0995 to generate a decimal TB value close to the one shown in the XIV Storage
Management GUI (variations occur because Tivoli Storage Productivity Center rounds the
values down).
Table 7-3 shows the usable hard space in binary TiB that is reported by Tivoli Storage
Productivity Center. The value varies based on the model of XIV Storage System, the size of
the drives being used, and the number of modules that are physically installed. Variation by
0.01 TB might occur due to rounding.
Table 7-3 XIV total hard space in binary TiB as reported by Tivoli Storage Productivity Center
Modules XIV Gen3 with 2 TB XIV Gen3 with 3 TB
6 50.66 76.53
9 80.03 120.83
10 93.34 140.88
11 101.44 153.11
12 114.56 172.87
13 122.73 185.19
14 135.83 204.94
15 146.72 221.36
Storage pools
Tivoli Storage Productivity Center can report on XIV Storage System storage pools. To assist
with this action, new Configured Real Space and Available Real Space columns, reporting on
the hard capacity of a storage pool, were added to the Storage Pool Details report. This
report can be accessed by clicking Data Manager → Reporting → Asset → By Storage
Subsystem → <Subsystem Name> → Storage Pools.
To demonstrate how to interpret the values shown in Tivoli Storage Productivity Center, see
Figure 7-79, where an XIV Storage System pool called ITSO was created. The hard size of
the pool is 5016 GB and the soft size of the pool is 10015 GB (shown in the XIV Storage
Management GUI as 10 TB). There is one volume in the pool, sized at 1099 GB. In that
volume is 533 GB of actual data.
In Figure 7-80 on page 398, the details of the ITSO pool are shown in the Tivoli Storage
Productivity Center GUI.
Figure 7-80 XIV Storage System ITSO storage pool details in Tivoli Storage Productivity Center GUI
The values shown in Figure 7-79 on page 398 and Figure 7-80 correspond in the following
way:
Storage Pool Space The soft size of the pool (10015 GB equals 9.11 TiB)
Available Storage Pool Space The unused soft space in the pool (in binary TiB)
Configured Capacity Limit The hard size of the pool (5016 GB equals 4.56 TiB)
Remaining Configured Capacity The unused hard size in the pool (in binary TiB)
Figure 7-81 XIV Storage System storage pools as seen by Tivoli Storage Productivity Center
Volumes
A Volume Real Space column was added to report on the hard capacity of a volume. The
pre-existing Volume Space columns report on the soft capacity of a volume in these reports:
Volume Details window under Disk Manager → Storage Subsystems → Volumes
Disk Manager → Reporting → Storage Subsystems → Volumes
Disk Manager → Reporting → Storage Subsystems → Volume to HBA Assignment
Added Backend Volume Real Space for XIV Storage System volumes as back-end
volumes under Disk Manager → Reporting → Storage Subsystems → Volume to
Backend Volume Assignment
Volume Details window under Data Manager → Reporting → Asset → By Storage
Subsystem → <Subsystem Name> → Volumes
Data Manager → Reporting → Asset → System-wide → Volumes
In Figure 7-82, a volume is shown in the ITSO pool. It is 1015 GB in size and contains
1015 GB of actual data.
Figure 7-82 Volume properties shown in the XIV Storage Management GUI
In Figure 7-80 on page 398, the same volume is shown in the Tivoli Storage Productivity
Center GUI. The volume space shows as 945.56 GB in Tivoli Storage Productivity Center
because 1015 GB equals 945.56 GiB. The XIV Storage Management GUI rounds down the
volume size. See Figure 7-83.
Because of the nature of the XIV Storage System architecture and the fact that each volume
is on all disks, various reports in the Tivoli Storage Productivity Center GUI do not necessarily
provide meaningful information for IBM XIV systems. Correlation of disks and volumes, for
example, under the Data Manager → Reporting → Asset → By Storage Subsystem →
Select a Storage Subsystem → Disks branch, is not possible. Tivoli Storage Productivity
Center does not report any volumes under the branch of a particular disk.
Also, because the XIV Storage System storage pools are used to group volumes but not
disks, no disks are reported for a particular storage pool under that same reporting branch.
Finally, the following reports do not contain any information for XIV Storage System
subsystems:
Disk Manager → Reporting → Storage Subsystems → Computer Views →
By Computer (Relate Computers to Disks)
Disk Manager → Reporting → Storage Subsystems → Computer Views →
By Computer Group (Relate Computers to Disks)
Disk Manager → Reporting → Storage Subsystems → Computer Views →
By Filesystem/Logical Volume (Relate Filesystems/Logical Volumes to Disks)
Disk Manager → Reporting → Storage Subsystems → Computer Views →
By Filesystem Group (Relate Filesystems/Logical Volumes to Disks)
Disk Manager → Reporting → Storage Subsystems → Storage Subsystem Views →
Disks (Relate Disks to Computers)
These queries, when combined with the Small Computer System Interface (SCSI) inquiry
data that Tivoli Storage Productivity Center collects from the hosts, allow Tivoli Storage
Productivity Center to correlate LUNs reported by the XIV Storage System to LUNs seen by
the host systems.
Also, when the XIV Storage System is providing storage to the IBM System Storage SAN
Volume Controller, Tivoli Storage Productivity Center can correlate LUNs reported by the
XIV Storage System to SAN Volume Controller managed disks (MDisks).
Afterward, you can drill down into the details of any storage subsystem or even deeper into
the single volume view and create Tivoli Storage Productivity Center reports or graphs, as
shown in Figure 7-85 on page 401.
The Tivoli Storage Productivity Center XIV user ID must have the storageadmin authority to
create volumes.
This new GUI interface, available with Tivoli Storage Productivity Center 5.1, offers the now
common look and feel already available with other IBM Storage System interfaces.
Convenient links to related information make navigation quick and easy. The following details
give you an overview of the features that are available in the new web-based GUI as it relates
to the XIV Storage System.
The Home - Dashboard window gives a general view of the current configured resources and
their status. From this window, you can select various options for displaying more information,
as depicted in Figure 7-86.
The icons on the left side of the display provide links to groups of related resources. The XIV
Storage System details are under the Storage Resources icon. See Figure 7-87. The
overview window can be easily customized to show the information that is most relevant to
your requirements.
Selecting Storage Systems displays a list of the available storage systems. Double-click the
name of a storage system and the Overview window is displayed. See Figure 7-88.
From the Overview window, you can also navigate to information about the
XIV Storage System. The following links are provided:
Volumes: Volume status and capacity
Pools: Pool status and capacity
Disks: Status of the XIV disks by module
Modules: XIV module status
Ports: Port status and worldwide port name (WWPN)
Host connections: Defined host connections and volume mappings
The Overview window is also available from the Alerts display. If an alert is related to an
XIV Storage System, the name of the resource associated with the event is a link to the
Overview window. In this way, details about the resource are easily available for investigation
into the cause of a specific alert.
Combining the power of XCLI with the flexibility of scripting languages creates endless
possibilities and ways to monitor the system. For example, you can create a script to monitor
a specific component and alert you when it exceeds a custom threshold that you define.
var xclicmd = "xcli -m " + IPAddr + " -u " + Username + " -p " + Password + "
";
var Command = "vol_list vol=" + Volume + " -t used_capacity";
oExec.StdIn.WriteLine("prompt $_");
oExec.StdIn.WriteLine("cd \\");
oExec.StdIn.WriteLine(CmdString);
oExec.StdIn.WriteLine("exit");
while (!oExec.StdOut.AtEndOfStream)
{
WshShell = WScript.CreateObject("WScript.Shell");
oExec = WshShell.Exec("%comspec% /d/q");
oExec.StdIn.WriteLine("prompt $_");
oExec.StdIn.WriteLine("cd \\");
oExec.StdIn.WriteLine(CmdString);
oExec.StdIn.WriteLine("exit");
}
while (oExec.Status == 0)
WScript.Sleep(100);
</script>
</job>
The script in Example 7-47 on page 405 begins with defining variables that are used
throughout the process. It then builds an XCLI command that is based on these variables and
runs the command in a shell.
The output from XCLI commands can be customized using the -t option to limit the display to
only the specific fields in which we are interested. In this case, we need only the used
capacity value of the volume. Therefore, the -t option is used to limit the output to only the
used_capacity field, as shown in Example 7-48. This option makes the output of the XCLI
command easy to parse.
You can get a complete list of the field options available for any command by using the XCLI
help option with the format=full parameter, as shown in Example 7-49.
Example 7-49 Using the XCLI help command to list available output fields
>> help command=vol_list format=full
The output from the XCLI command is parsed and compared with the predefined custom
threshold. If the threshold is exceeded, an XCLI command is used to create a custom event
with a custom description and severity level, as shown in Example 7-50. An event rule can be
used on the XIV Storage System to notify a user of the condition.
After the script is created, use the Windows Task Scheduler to schedule the script to run
automatically on a daily basis by clicking Start → Programs → Accessories → System
Tools → Scheduled Tasks, as shown in Figure 7-90.
Figure 7-90 Using Windows Task Scheduler to run custom monitoring scripts
After running this script, a custom event is generated if the used capacity threshold is
exceeded. You can see the custom event in the XIV Storage System event log, as shown in
Figure 7-91. An event notification rule can be defined based on severity or the
CUSTOM_EVENT event code to send an email or SNMP message, as described in 7.2,
“Monitoring using the IBM XIV Mobile Dashboard” on page 349.
Figure 7-91 A custom event generated by the WSH script using XCLI
var xclicmd = "xcli -m " + IPAddr + " -u " + Username + " -p " + Password + "
";
oExec.StdIn.WriteLine("prompt $_");
oExec.StdIn.WriteLine("cd \\");
oExec.StdIn.WriteLine(CmdString);
oExec.StdIn.WriteLine("exit");
while (!oExec.StdOut.AtEndOfStream)
{
String1 = oExec.StdOut.ReadLine() + "\n";
String1 = String1.replace(/^\s+|=|\s+$/g,"");
if (String1.length == 0) continue;
strChar = String1.charAt(0);
if (strValidChars.indexOf(strChar) == -1) continue;
if (String1 >= Threshold) Exceeded = 1;
while (oExec.Status == 0)
WScript.Sleep(100);
</script>
</job>
The script in Example 7-51 on page 408 also begins with defining variables that are used
throughout the process. It then builds an XCLI command that is based on these variables and
runs the command in a shell.
The output from XCLI is again customized by using the -t option to limit the display to only
the specific fields in which we are interested. In this case, we need only the write hit medium
latency field. This option makes the output of the XCLI command easy to parse.
The XCLI command is structured in a way to provide output during a custom window of time.
In Example 7-52, we gather data from every minute during a 24-hour period on the previous
day that the script is run.
Example 7-52 Limiting the output of XCLI commands using the -t option
var Command = "statistics_get count=1440 interval=1 resolution_unit=minute -t
write_hit_medium_latency end=" + EndDate;
In Example 7-53 on page 409, each resulting value is compared to the threshold. If any one
of them exceeds the value, it sets a flag to be used to generate a custom event.
strChar = String1.charAt(0);
if (strValidChars.indexOf(strChar) == -1) continue;
if (String1 >= Threshold) Exceeded = 1;
}
After running this script, you can see the custom event in the XIV Storage System event log,
as shown in Figure 7-92.
After running this script, a custom event is generated if the write hit medium latency threshold
is exceeded. You can see the custom event in the XIV Storage System event log, as shown in
Figure 7-92. An event notification rule can be defined based on severity or the
CUSTOM_EVENT event code to send an email or SNMP message, as described in 7.2,
“Monitoring using the IBM XIV Mobile Dashboard” on page 349.
7.8.3 Summary
These simple examples are just a small subset of what can be accomplished by combining
the power of XCLI commands with the flexibility of scripting.
By using the output from multiple commands or multiple fields, it is possible to monitor any
combination of components or parameters of the system and act upon them based on criteria
that you define.
Similar results can be accomplished on UNIX-based platforms by using shell scripting and
crontab for scheduling custom monitoring processes.
A key feature of SCOM is its use of management packs, which contain application or
product-specific rules and filters. Vendors can create their own management packs relevant
to their own products. The IBM Storage Management Pack for SCOM is actually a set of
management packs that allow you to access and monitor the following IBM storage systems
using Microsoft SCOM:
IBM System Storage DS8000
IBM Storwize V3500 (since Version 2.1)
IBM Storwize V3700 (since Version 2.1)
BM Storwize V5000 (since Version 2.2)
IBM Storwize V7000
IBM Flex System V7000 (since Version 1.3)
IBM System Storage SAN Volume Controller
IBM XIV Storage System
The rules provided by the management packs remove a significant amount of work when
implementing a monitoring solution. SCOM offers methods to monitor four areas of focus:
Availability
Configuration
Performance
Security
7.9.1 Prerequisites
To monitor your XIV Storage System with SCOM, you must meet the following prerequisites:
Microsoft System Center Operations Manager 2007 R2, Microsoft System Center
Operations Manager 2012, Microsoft System Center Operations Manager 2012 SP1 or
Microsoft System Center Operations Manager 2012 R2
IBM Storage Management Pack v1.1, v1.2, v1.3, V2.1, or V2.2 for SCOM
XIV Storage System Software v10.2.2 or later
The XIV Storage Management GUI or XCLI does not need to be installed on the SCOM
server. The IBM Storage Management Pack installs all the software that is required for
SCOM to access the XIV Storage System.
You can also see the Microsoft System Center Operations Manager website:
http://www.microsoft.com/en-us/server-cloud/system-center/operations-manager.aspx
To install the IBM Storage Management Pack for SCOM, complete the following steps:
1. Download the relevant IBM Management Pack to the SCOM server (x86 or x64). After it is
downloaded, double-click IBM_Storage_MP_for_SCOM-windows to start the
installation.
2. If the IBM Storage Solutions External Runtime Components are not installed, you are
prompted to install them. This package installs a version of Python called xPYV, which is
used by the IBM Storage Management Pack for scripting. It does not interfere with any
versions of Python you already have installed.
3. After the Runtime Components have been installed, the Storage Management Pack
InstallationShield wizard now opens. Click Next and you are prompted to accept the IBM
license.
4. You are now prompted to either do a complete installation or a custom installation.
Because the IBM Storage Management Pack consists of nine management packs, you
can choose which packs to install. The list of packs is shown in Figure 7-93 on page 412.
The size of each pack is trivial (less than 200 KB each).
7.9.3 Importing the management packs and Adding IBM XIV systems
The installation of the IBM Storage Management Pack does not import the management
packs themselves into SCOM. You must import each specific management pack (for each
storage system type). Complete the following steps:
1. In the SCOM Administration window, right-click Management Packs and select Import
Management Packs (see Figure 7-94) to open the Import Management Packs window.
2. Click Add, and then click Add from disk. An online catalog connection message is
displayed. Click No to locate the management pack locally.
When the Select Management Packs to Import window opens, select the
C:\ProgramFiles\IBM\Storage\Host\IBMStorageSCOM\mps directory, and then select the
following two files:
– IBM.Storage.Common.mp
– IBM.Storage.XIV.mp
3. When the files are selected, click Open. The Import Management Packs window now lists
the Management Packs to be added.
4. Click Install to start the import, as shown in Figure 7-95. When the Management Packs
are successfully imported, click Close.
Tip: Pay close attention to the syntax. You must use the double dash where required or
the command fails. So, for example, --servername works, but -servername does not.
An example of the syntax you use and the expected responses is shown in Example 7-55
on page 414. In this example, the management server is the machine running the SCOM
platform and not another server running the SCOM agent.
6. From the IBM Storage SCOM-control Utility Command prompt you now need to add your
IBM XIV systems to the monitoring list. Use the following syntax for this command:
scomu --add -t xiv --ip <ip address> --username <username> --password
<password>
An example of the syntax you use and the expected responses is shown in Example 7-56.
The device ID is the serial number of the XIV Storage System. In Example 7-56, the
device ID is 10114 because the XIV Storage System serial number is 1310114. The user
name and password combination must be for an existing user name defined to the
XIV Storage System. If a read-only user is used, mirroring is not monitored.
Example 7-56 Adding an XIV Storage System to the SCOM monitoring list
scomu --add -t xiv --ip 10.0.20.102 --username itso --password password
Connecting to the device ...
1 IBM XIV Storage System is found.
device ID: 10114, code level: 11.5.0-esp3-p20140623_181834
7. The scomu --add command allows you to only define one XIV Storage System IP address
at a time. Repeat the --add command for each XIV Storage System management IP
address. You must run the add command three times for each XIV Storage System.
Tip: If you have clustered SCOM servers, you must configure each XIV Storage
System and each XIV Storage System management IP address on each server, as well
as the Root Management Server in the Management Group. This action ensures that
monitoring continues to work after a failover.
8. Because you defined your IBM XIV systems, you can list them and confirm that they are
all defined by running scomu --list, as shown in Example 7-57.
The default output format is HTML, and the list is displayed in the default web browser, as
shown in Figure 7-96 on page 415.
Adding IBM XIV systems to the monitoring list is complete. You now need to configure the
SCOM Management Pack.
3. From the Override Properties window, select the Override check box in the Frequency in
seconds row. You can now change the Override Value in seconds from 14400 to a
different value. After having selected the Default Management Pack as destination
Management Pack, you can click OK to apply the change.
One method to determine how quickly SCOM is able to complete a scan of your devices. The
default log folder for SCOM is C:\Program Files\IBM\Storage\Host\IBMStorageSCOM\log. In
that folder, you see two files for each device type. The XIV Storage System uses the following
log files:
scom_xiv.log This log file is updated when SCOM checks the state of each
monitored XIV Storage System component.
scom_xiv_event.log This log file is updated when SCOM collects new events from the
XIV Storage System event logs.
In Example 7-58, the event log for an XIV Storage System is examined in about 3 seconds. In
this example, one new event is identified.
In Example 7-59, the discovery process for monitoring is run against the same
XIV Storage System in about 16 seconds.
As you add additional devices, the total time to complete a scan increases because the scans
are performed serially. Allow a significant buffer of time between the completion of one scan
and the start of the next scan.
Tip: If a component fails and is then repaired (for example, when a disk fails and is then
replaced with a new disk), the resolution state of the Critical alert is automatically changed
by SCOM from New to Closed. However, new alerts might be created with a severity of
Warning, which indicates that the status is now Ready.
Each alert appears in IBM XIV Systems Alerts tab with the Resolution State New. Change it
manually to Closed, if necessary, as shown in Figure 7-98.
Events
The Events window shows events for each monitored XIV Storage System. SCOM places
XIV Storage System events into three categories:
Information
Error
Warning
The list of events is refreshed every 10 minutes. Events do not have nor need a resolution
status. The initial event collection that SCOM runs does not collect events that are more than
two days old. There is no way to change this setting. After the initial collection of events,
SCOM collects only events created since the last event collection, up to a maximum of 300
events per collection. SCOM then examines the new events to see if alerts need to be raised.
A short delay might occur between the collection of the events and the creation of the alert.
Monitors
The following XIV Storage System components are monitored by SCOM. Each monitor is
refreshed every 300 seconds.
Logical components: These components are user-defined constructs:
– Host Mappings
– Mirrorings (This component is not monitored if the XIV Storage System user that was
used to define the XIV Storage System to SCOM has only read-only privileges.)
– Storage Pools
– Volumes
Physical components: These components represent XIV Storage System hardware or
XIV Storage System definitions that relate to hardware. Hosts and clusters appear in this
list because they represent physical hardware:
– Clusters
– Disks
– Fibre Channel Ports
– Hosts
– IP Interfaces
– iSCSI Ports
– Modules
3. Reinstall the IBM Storage Management Pack by using the same process that you used to
install it. See 7.9.2, “Installing SCOM and the IBM Storage Management Pack” on
page 412. The upgrade wizard is automatically started.
5. Since Version 2.1, you need to define the SCOM management server with the scomu
command. This the syntax of the if you run it on the management server:
scomu.cmd --sc-set --servername localhost
6. Now, add the XIV systems again, as shown in Example 7-56 on page 415, with the
following scomu command:
scomu --add -t xiv --ip <ip address> --username <username> --password
<password>.
When a regular storage pool is defined, only one capacity is specified, and this amount is
allocated to the storage pool from both the hard and soft global capacity within the system.
When a thinly provisioned storage pool is defined, both the soft and hard capacity limits for
the storage pool must be specified. These amounts are deducted from the system’s global
available soft and hard capacity.
Thin Provisioning – System Hard and Soft Size with Storage Pools
For a Thin Storage Pool, the system
The system allocates the amount of space allocates the amount of soft space
requested by the administrator in increments requested by the administrator
of 17GB. independently from the hard space.
...
...
For a Thin Storage Pool, the system allocates only the amount
of hard space requested by the administrator. This space is
For a Regular Storage Pool, the
consumed as hosts issue writes to new areas of the constituent
system allocates an amount of
volumes, and may require dynamic expansion to achieve the
hard space that is equivalent to
soft space allocated to one or more of the volumes
the size defined for the pool by
the administrator.
Volume 1 The block definition allows Even for block defined volumes, For a Regular Storage Pool,
Allocated Soft hosts to see a precise the system allocates logical the soft size and hard size are
Space number of blocks. capacity in increments of 17GB. equal.
17GB
17GB
17GB
34GB
34GB
Pool Hard Size = 102GB
Physical View
Volume 1 Volume 2
Allocated Hard Allocated Hard In a Regular Storage Pool, the maximum
Space Space The consumed hard space grows as hard space available to be consumed by a
host writes accumulate to new areas volume is guaranteed to be equal to the
of the volume. soft size that was allocated.
Figure A-2 Volumes and snapshot reserve space within a regular storage pool
Consider Volume 1. Although Volume 1 is defined as 19,737,900 blocks (10 GB), the soft
capacity allocated is nevertheless composed of the minimum number of 17 GB increments
needed to meet or exceed the requested size in blocks, which is in this case only a single
17 GB increment of capacity. The host, however, sees exactly 19,737,900 blocks. When
Volume 1 is created, the system does not initially allocate any hard capacity. At the moment
that a host writes to Volume 1, even if it is just to initialize the volume, the system allocates
17 GB of hard capacity. The hard capacity allocation of 17 GB for Volume 1 is shown in
Figure A-2, although clearly this allocation is never fully used if the host-defined capacity
remains only 10 GB.
Unlike Volume 1, Volume 2 has been defined in terms of gigabytes and has a soft capacity
allocation of 34 GB, which is the amount that is reported to any hosts that are mapped to the
volume. In addition, the hard capacity consumed by host writes has not yet exceeded the
17 GB threshold. Therefore, the system has so far only allocated one increment of 17 GB
hard capacity. The hard capacity and the soft capacity allocated to a regular storage pool are
equal by definition. Therefore, the remaining 17 GB of soft capacity assigned to Volume 2 is
effectively preserved and remains available within the pool’s hard space until it is needed by
Volume 2. Because the pool’s soft capacity does not exceed its hard capacity, there is no way
to allocate soft capacity to effectively “overcommit” the available hard capacity.
The remaining 17 GB within the regular storage pool has not been allocated to either volumes
or snapshots. All soft capacity remaining in the pool is “backed” by hard capacity. The
remaining unused soft capacity is always less than or equal to the remaining unused
hard capacity.
Snapshot Reserve
This is the volume size defined during
volume creation/resizing.
Snapshots
Volume 3 Soft Size Volume 4 Soft Size Consumed
= 34GB = 51GB Soft Space Unused
Logical View
34GB
34GB
51GB
34GB
17GB
Pool Hard Size = 85GB For a Thin Storage Pool,
the pool soft size is
Physical View
The consumed hard space grows as host writes In a Thin Storage Pool, the maximum hard space consumed by a volume
accumulate to new areas of the volume. The is not guaranteed to be equal to the size that was allocated, because it is
system must allocate new 17GB increments to possible for the volumes in the pool to collectively exhaust all hard space
the volume as space is consumed. allocated to the pool. This will cause the pool to be locked.
Figure A-3 Volumes and snapshot reserve space within a thinly provisioned storage pool
Finally, consider the 34 GB of snapshot reserve space shown in Figure A-3 on page 426. If a
new volume is defined in the unused 17 GB of soft space in the pool, or if either Volume 3 or
Volume 4 requires additional capacity, the system sacrifices the snapshot reserve space to
give priority to the volume requirements. Normally, this scenario does not occur because
additional hard space must be allocated to the storage pool as the hard capacity use crosses
certain thresholds.
The value entered in “Full name” is what the XIV Storage System uses as the user name.
The only other mandatory field in this form is “User logon name”. The same xivtestuser1
value is entered into both fields. The other fields can also be populated but are not
required.
By default, the password is set to “User must change password at next login”. After the
account is created, the user must log on to a server that is part of the Active Directory
managed domain to change the password. After the password is changed, all the security
rules and policies related to password management are in effect, such as password
expiration, maintaining password change history, verifying password complexity, and
so on.
Password: If the password initially assigned to an Active Directory user is not changed,
XIV Storage System does not authenticate that user.
After the user account is created in Active Directory, its accessibility can be verified from any
of the available LDAP clients. In our case, we used the OpenLDAP client, as shown in
Example B-1.
dn: CN=xivtestuser1,CN=Users,DC=xivhost1ldap,DC=storage,DC=tucson,DC=ibm,DC=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: xivtestuser1
description: Storage Administrator
distinguishedName: CN=xivtestuser1,CN=Users,DC=xivhost1ldap,DC=storage,DC=tucs
on,DC=ibm,DC=com
instanceType: 4
whenCreated: 20090622172440.0Z
whenChanged: 20090622180134.0Z
The ldapsearch command syntax might appear overly complex and its output seems difficult
to interpret. However, this output might be the easiest way to verify that the account was
created as expected. The ldapsearch command can also be useful for troubleshooting
purposes when you are unable to communicate with an Active Directory LDAP server.
The output of the ldapsearch command shows the structure of the LDAP object retrieved from
the LDAP repository. We do not need to describe every attribute of the retrieved object, but at
least two attributes must be checked to validate the response:
name: xivtestuser1
description: Storage Administrator
The fact that ldapsearch returns the expected results in our example indicates the following:
The account is indeed registered in Active Directory.
The distinguished name (DN) of the LDAP object is known and valid.
When the Active Directory account verification is completed, we can proceed with configuring
the XIV Storage System for LDAP authentication mode. We still have a few unassigned
LDAP-related configuration parameters in our XIV Storage System, as shown in
Example B-2.
Now that all configuration and verification steps are completed, the XIV Storage System is
ready for the LDAP mode to be activated.
SSL provides methods for establishing identity using X.509 certificates and ensuring
message privacy and integrity using encryption. To create an SSL connection, the LDAP
server must have a digital certificate signed by a trusted certificate authority (CA). Companies
have the choice of using a trusted CA from a vendor or creating their own certificate authority.
In this scenario, the xivauth.org CA is used.
To be operational, SSL must be configured on both the client and the server. Server
configuration includes generating a certificate request, obtaining a server certificate from a
CA, and installing the server and CA certificates.
Signature="$Windows NT$
[NewRequest]
Subject = "CN=xivhost1.xivhost1ldap.storage.tucson.ibm.com"
KeySpec = 1
KeyLength = 1024
; Can be 1024, 2048, 4096, 8192, or 16384.
; Larger key sizes are more secure, but have
; a greater impact on performance.
Exportable = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
Example B-5 shows how to import the signed certificate by running the certreq command.
Confirm that the certificate is imported correctly by running certutil.
Example: B-5 Accepting the signed certificate into the local certificate keystore
C:\>certreq -accept xivhost1_cert.pem
C:\SSL>certutil -store my
================ Certificate 0 ================
Serial Number: 01
Issuer: [email protected], CN=xivstorage, O=xivstorage, L=Tucson, S=Arizona,
C=US
Subject: CN=xivhost1.xivhost1ldap.storage.tucson.ibm.com
Non-root Certificate
Cert Hash(sha1): e2 8a dd cc 84 47 bc 49 85 e2 31 cc e3 23 32 c0 ec d2 65 3a
Key Container =
227151f702e7d7b2105f4d2ce0f6f38e_8aa08b0a-e9a6-4a73-9dce-c84e45aec165
Provider = Microsoft RSA SChannel Cryptographic Provider
Encryption test passed
CertUtil: -store command completed successfully.
To start the local certificate management tool, click Start → Administrative tools →
Certificates (Local Computer) and complete the following steps:
1. After the certificate tool opens, select the /Console Root/Certificates (Local
Computer)/Trusted Certification Authorities folder.
2. Start the certificate import wizard by clicking Action → All Tasks → Import. Click Next to
continue.
3. Select the file that you want to import. The xivstorage.org CA certificate is in the
cacert.pem file. Click Next to continue.
4. Select the Place all certificates in the following store option and ensure that the
certificate store field is set to Trusted Root Certification Authorities. Click Next
to continue.
5. The CA certificate is now imported. Click Finish to close the wizard.
Example B-6 shows the output of the openssl s_client command connecting a Linux server
(xivstorage.org) to the Active Directory server
(xivhost1.xivhost1ldap.storage.tucson.ibm.com). This command connects to the Active
Directory server using the secure LDAP port (636).
Attention: To complete the configuration of SSL for the Active Directory, you must reboot
the Windows server.
In our example, we use the OpenLDAP client for SSL connection validation. A CA certificate
needs to be added to the key ring file used by the OpenLDAP client. The TLS_CERTS option
in the OpenLDAP configuration file (typically, /etc/openldap/ldap.conf) specifies the file that
contains certificates for all of the certificate authorities the client recognizes. See
Example B-7.
Example: B-7 Testing LDAP over SSL by using the ldapsearch command
# /usr/bin/ldapsearch -x -H
“ldaps://xivhost1.xivhost1ldap.storage.tucson.ibm.com:636” -D
'CN=xivtestuser1,CN=Users,DC=xivhost1ldap,DC=storage,DC=tucson,DC=ibm,DC=com' -w
pass2remember -b 'CN=Users,DC=xivhost1ldap,DC=storage,DC=tucson,DC=ibm,DC=com'
dn: CN=xivtestuser1,CN=Users,DC=xivhost1ldap,DC=storage,DC=tucson,DC=ibm,DC=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: xivtestuser1
description: Storage Administrator
distinguishedName: CN=xivtestuser1,CN=Users,DC=xivhost1ldap,DC=storage,DC=tucs
on,DC=ibm,DC=com
...
# search result
search: 2
result: 0 Success
The Uniform Resource Identifier (URI) format used with the -H option specifies that LDAPS
must be used on port 636 (the LDAP secure port).
OpenSSL comes with most Linux distributions by default. Information about OpenSSL can be
found at the OpenSSL website:
http://www.openssl.org
The directories to store the certificates and keys must be created by running the following
command:
mkdir /root/xivstorage.orgCA /root/xivstorage.orgCA/certs
/root/xivstorage.orgCA/crl /root/xivstorage.orgCA/newcerts
/root/xivstorage.orgCA/private
OpenSSL uses a couple of files to maintain the CA. These files must be created by running
the following commands:
touch /root/xivstorage.orgCA/index.txt
echo "01" >> /root/xivstorage.orgCA/serial
The access rights on the directories and files need to be reviewed to restrict access to the CA
and, most importantly, to the private key as far as possible.
To certify the CA certificate for 365 days, run the OpenSSL command directly, as shown in
Example B-9.
During the creation of the certificate, any missing information must be provided. Also, the
information that has been defined by using the defaults in the openssl.cnf file must be
confirmed. The password for the CA private key must be entered during the creation process.
This password is needed whenever the CA’s private key is used. The following command can
be used to view the CA certificate:
Signing a certificate
The client or server that needs to obtain a certificate must create a certificate signing request
and send this request to the CA.
DirName:/C=US/ST=Arizona/L=Tucson/O=xivstorage/CN=xivstorage/emailAddress=ca@xivst
orage.org
serial:00
Other publications
These publications are also relevant for further information:
IBM XIV Storage System Planning Guide, SC27-5412
IBM XIV Storage System: Product Overview, GC27-3912
IBM XIV Storage System User Manual, GC27-3914
IBM XIV Remote Support Proxy Installation and User’s Guide, GA32-0795
IBM XIV Storage System Application Programming Interface, GC27-3916
IBM XIV Storage System Management Tools Operations Guide, SC27-5986
IBM XIV Storage System XCLI Utility User Manual, GC27-3915
IBM Hyper-Scale Manager 1.5 Installation as application, GC27-5984
IBM Hyper-Scale Manager 1.5 Installation as a virtual appliance, GC27-5985
Online resources
These sources are also useful for more information:
IBM XIV Storage System documentation, IBM Knowledge Center
http://ibm.co/1rvfciG
IBM XIV Storage System web page
http://www.ibm.com/systems/storage/disk/xiv/index.html
IBM System Storage Interoperation Center (SSIC)
http://www.ibm.com/systems/support/storage/ssic/interoperability.wss
Storage Networking Industry Association (SNIA) website
http://www.snia.org/
Multi-tenancy gives This IBM Redbooks publication describes the concepts, architecture,
and implementation of the IBM XIV Storage System. The XIV is a INTERNATIONAL
more flexibility for XIV
scalable enterprise storage system that is based on a grid array of TECHNICAL
in Cloud environments
hardware components. It can attach to both Fibre Channel Protocol SUPPORT
(FCP) and IP network Small Computer System Interface (iSCSI) capable ORGANIZATION
Enhanced performance hosts. This system is a good fit for clients who want to be able to grow
classes allow virtual capacity without managing multiple tiers of storage. The XIV is suited
tiers of storage for mixed or random access workloads, including online transaction
processing, video streaming, images, email, and emerging workload
6 TB drives offer lower areas, such as Web 2.0 and cloud storage. BUILDING TECHNICAL
cost per TB The focus of this edition is on the XIV Gen3 running Version 11.5 of the INFORMATION BASED ON
XIV system software, which brings enhanced value for the XIV Storage PRACTICAL EXPERIENCE
and lower power
System in cloud environments. It offers multitenancy support, VMware
consumption IBM Redbooks are developed
vCloud Suite integration, more discrete performance classes, and
RESTful API enhancements that expand cloud automation integration. by the IBM International
Version 11.5 introduces support for three-site mirroring to provide high
Technical Support
Organization. Experts from
availability and disaster recovery. It also enables capacity planning IBM, Customers and Partners
through the Hyper-Scale Manager, mobile push notifications for from around the world create
real-time alerts, and enhanced security. timely technical information
We describe many of the unique and powerful concepts that form the based on realistic scenarios.
basis of the XIV Storage System logical and physical architecture and Specific recommendations
the planning and preparation tasks for deploying the system by using
are provided to help you
implement IT solutions more
the XIV Storage Manager GUI or the XIV command-line interface. We effectively in your
also describe the performance characteristics options for alerting and environment.
monitoring, including enhanced secure remote support.
This book is for IT professionals who want an understanding of the XIV
Storage System. It is also for readers who need detailed advice on how
to configure and use the system. For more information:
ibm.com/redbooks