This scenario describes how to configure new count key data (CKD) storage within your storage image for a zSeries host system.
To configure new count key data storage, perform the following steps:
You can make more than the minimum number of extent pools. For example, unique extent pools can be defined for each RAID type (5 or 10) that is configured in a DS6000. Or extent pools can be defined and named according to the host system attachments that access the volumes created from extent pool extents. There can be as many extent pools as rank groups.
Extent pools that are defined for rank group 0 or 1 are assigned an even- or odd-numbered extent pool ID, respectively. Even-numbered extent pools are managed by storage server ID 0. Odd-numbered extent pools are managed by storage server ID 1. Each rank group is assigned to one extent pool, therefore storage server workload is directly affected by the rank assignments to even- and odd-numbered extent pool IDs. It is best to evenly distribute rank and extent pool allocations in order to keep the storage server workloads balanced.
Extent pools can be defined before or after the arrays and rank groups are defined. If extent pools are defined before the arrays and rank groups are defined, then the new ranks can be directly assigned to existing extent pools. Otherwise, you must modify each rank to complete the extent pool ID assignment after extent pools have been defined.
Determine if the minimum set of extent pool objects exist. Identify the rank group (0 or 1) assignments for each extent pool object. Determine if additional extent pool object definitions are required. Create a list of the existing CKD extent pools with the following command.
dscli> lsextpool -dev storage_image_ID -stgtype ckd
Make two extent pools with the following commands. Assign a unique nickname to each extent pool.
dscli> mkextpool –dev storage_image_ID –rankgrp 0 -stgtype ckd extent_pool_name
dscli> mkextpool –dev storage_image_ID –rankgrp 1 -stgtype ckd extent_pool_name
Identify the assigned extent pool ID for each new extent pool. Keep this list for the next steps in this scenario. Use the following command to create a list of extent pool IDs.
dscli> lsextpool –dev storage_image_ID -stgtype ckd
A DS8000 contains at least one storage enclosure pair, with a minimum of 16 DDMs. A DS6000 contains at least one storage enclosure pair, with a minimum of eight DDMs. All of the DDMs that are installed in a storage enclosure pair have identical capacity, RPM, and interface characteristics.
The DDMs in a storage enclosure pair interface to a device adapter (DA) pair. A DS contains at least one DA pair. A DA pair interfaces with one to four storage enclosure pairs.
The DDMs of a storage enclosure pair are partitioned into array sites. A DS8000 array site consists of eight DDMs, four from each storage enclosure of a storage enclosure pair, two or four (eight DDM) array sites per storage enclosure pair. A DS6000 array site consists of four DDMs located in one storage enclosure of a storage enclosure pair, two to eight (four DDM) array sites per storage enclosure pair. All array sites of a storage enclosure pair have identical capacity, RPM, and interface characteristics, and interface to a common DA pair.
To begin, create a list of array site IDs and identify all of the array sites with the status "unassigned". Use the following command.
Use the following command to make an array.
dscli>mkarray –dev storage_image_ID –raidtype 5 | 10 –arsite arraysite_ID
Identify the new array IDs and identify the arrays with status “unassigned” and a common RAID type (5 or 10). Use the following command.
dscli>lsarray –dev storage_image_ID –state unassigned –raidtype 5 | 10
Make one rank for each array and assign the rank to an extent pool ID. A rank is assigned to rank group 0 or 1 according to the rank group number of the assigned extent pool ID. If a rank is not assigned to an extent pool, then the rank group and configuration state attributes are “unassigned”. Assign each “unassigned” array to a rank using the following command.
dscli>mkrank –dev storage_image_ID -array array_ID -stgype ckd -extpool extentpool_ID
there are two volume data types, fixed block and count key data (CKD). An address group contains only one volume data type, either up to 4K fixed block volumes or 4K CKD volumes. When an address group contains CKD volumes, the address group LSSs are defined as logical control units (LCU).
Typically, LCUs are created in groups of 16, beginning at LSS address X’x0’. The LCU logical subsystem objects must be defined before CKD logical volumes can be defined.
To begin, create a list of the unassigned and available address groups using the following command.
>lsaddressgrp –dev storage_image_ID
You also can create a list of the undefined LCUs in an existing CKD address group. Select the lowest numbered logical subsystem object that is not defined. Use the following command.
dscli>lslcu –dev storage_image_ID–addrgrp address_group
Make one or more LCUs (logical subsystems) using the following command.
A logical volume consists of one or more data extents that are allocated from a single extent pool. Volume data type is inherited from the extent pool extent storage type (fixed block or CKD) characteristic. When a CKD volume is created, volume attributes are further defined as a base or alias volume type, 3390 or 3380 volume cylinder type, and volume capacity in cylinders. These volume attributes characterize the volume to the host system that will eventually access the volume. Each volume is assigned a volume ID, which is the volume address within the DS6000 or DS8000 64K address space. Host access to a volume is enabled when the volume ID is assigned to a volume group, however CKD volumes are automatically assigned to the volume group CKD FICON/ESCON All (ID 0).
To begin, create a list of CKD extent pool IDs. Determine the extent pool IDs that you will use as the source for the CKD logical volumes you will create.
Extent pool attributes determine the size and quantity of volumes that can be created. The extent pool ID (even or odd) indicates the storage server (0 or 1) affinity, which dictates that the LCU ID component of the volume ID must be even- or odd-numbered.
Use the following command to create a list of CKD extent pool IDs.
dscli> lsextpool –dev storage_image_ID -stgtype ckd
For each LCU, make 128 base CKD volume using the following command.
For each LCU, make 128 alias volumes using the following command.
For DS8000, I/O adapter cards are installed in I/O enclosures, each containing up to four I/O adapter cards. For DS6000, one or two I/O adapter cards are installed in each of the two CEC assemblies.
Each ESCON I/O adapter card contains two I/O ports. Each fibre-channel I/O adapter card contains four I/O ports.
The system automatically creates one I/O port object to represent each I/O adapter card I/O port. The default fibre-channel I/O port object settings enable SCSI-FCP "identified" access to fixed block volumes. No user action is necessary for ESCON I/O port setup.
A minimum of four I/O ports should be configured for FICON I/O operations. Select ports with physical locations on different I/O adapter cards. If possible, the I/O adapter cards should be located in different I/O enclosures.
Identify the port ID values that are to be configured for CKD volume access. Create a list of the existing fibre-channel I/O ports with the following command.
dscli>lsioport -dev storage_image_ID -type fc
Configure the I/O ports to enable the FICON topology using the following command.
dscli>setioport –dev storage_image_ID –topology ficon port_ID1 ID2…IDn
The I/O ports will be automatically set offline and returned to the online state after configuration changes are applied.