IBM Z Development and Test Environment - Create, initalize and share disks

Attachments:
Download this file (JOB_INIT_NO-SMS.txt)JOB_INIT_NO-SMS.txt[INIT NO-SMS VOLUME]0.5 kB
Download this file (JOB_INIT_SMS.txt)JOB_INIT_SMS.txt[INIT SMS VOLUME]0.5 kB

In any system we must have user disks to be able to save our data. We will see how to create disks in ZD&T (3390 model 1, 2, 3, 9, 27, 54 and EAV), start them in z/OS (SMS and NO-SMS) and share them with another system (ZD&T and z/OS).

As a reference we will use the zPDT Redbook

 

To create emulated disks, we will use the alcckd command.

alcckd file_name -ddevice_type

 

Predefined models can be created using the device_type option.

The models can be: 3390-1 (cyl: 1.113), 3390-2 (cyl: 2.226), 3390-3 (cyl: 3.339), 3390-9 (cyl: 10.017), 3390-A (EAV - Extended Address Volumes - cyl: 65.667)

For example:

Mod 3390-3 (cyl: 3.339)

alcckd /home/ibmsys1/volumes/PRD000 –d3390-3

Mod 3390-9 (cyl: 10.017)

alcckd /home/ibmsys1/volumes/PRD000 –d3390-9

Mod 3390-A EAV (cyl: 65.667)

alcckd /home/ibmsys1/volumes/PRD000 –d3390-A

 001 watermark

 

Size of 3390-3.

002 watermark

 

003 watermark

 

Size of 3390-9.

004 watermark

 

005 watermark

 

We can also create other models that are not "pre-defined", such as the 3390-27, 3390-54 and EAV (more than 65,520 cylinders). We will use the command:

alcckd file_name -d3390 -snumber_of_cylinders

For example:

Mod 3390-27 (cyl: 32.760)

alcckd /home/ibmsys1/volumes/PRD000 –d3390 -s32760

Mod 3390-54 (cyl: 65.520)

alcckd /home/ibmsys1/volumes/PRD000 –d3390 -s65520

Mod 3390-A EAV (over cyl: 65.667. It must always be a multiple of 1.113 cyl, for example, 72.345 cyl)

alcckd /home/ibmsys1/volumes/PRD000 –d3390 –s72345

006 watermark

 

007 watermark

 

Size of EAV – 72.345 cyl.

008 watermark

 

To be able to access these disks from z/OS, we must add them to the configuration file (in the same way as the volumes we already have).

009 watermark

 

If we have already started a system, we can add them to the file and then assign them to the system dynamically with the command:

awsmount  device -m volumen_path

For example:

awsmount 0AA5 -m /home/ibmsys1/volumes/PRD001

We can check the disk we have mounted in a device with the command:

awsmount  device -q

For example:

awsmount 0AA5 -q

010 watermark

 

Once we have the disks mounted in the z/Os system, we are going to initialize them so we can start using them.

Before initializing a disk we must decide if this disk will be SMS (if we will include it in a Storage Group) or if it will be NO-SMS. Let's see both examples:

 

Initialize NO-SMS disk

 

To initialize a NO-SMS disk, we have to:

Put the drive offline. Command:

VARY xxxx,OFFLINE

For example:

V 0AA2,OFFLINE

011 watermark

 

Run the job to initialize the disk.

The job can be downloaded at the beginning of the post.

 

UNITADDRESS. Unit we put offline.

VOLID. Name we will give to the volume. Must be unique.

VTOC. Volume Table Of Contents. This number can be variable because it depends on the number of files that we will have in the disk. The three parameters we will use are: cylinder, head and extent. Cylinder and head is the "position" on the disk and extent, which will occupy.

INDEX. It is the VTOC index. The three parameters we will use are: cylinder, head and extent. Cylinder and head is the "position" on the disk and extent, which will occupy. The index can be put after the VTOC inside the disk (if our VTOC is 149 tracks, the next cylinder would be the 10 (150 tracks divided by 15)), but if we want to extend this VTOC because it has been filled, I think it is easier to move any other file to another disk, than moving the index, so I do not put it often. 

012 watermark

 

Answer "U" to the reply.

013 watermark

 

It will end OK.

014 watermark

 

Put the unit online. Command:

VARY xxxx,ONLINE

For example:

V 0AA2,ONLINE

015 watermark

 

Now we can check the unit.

016 watermark

 

When we have an EAV disk we will see the information of the VTOC in the following way.

017 watermark

 

If we have a disk up to model 54, we will see it like this.

018 watermark

 

Now we are going to mount one unit. In my case, I use the command:

m /0AA5,vol=(sl,PRD001),use=STORAGE

NOTE: If the command is used from SDSF, it will be: "/m /0AA5,vol=(sl,PRD001),use=STORAGE"

The "use" attribute can be one of the following:

PRIVATE. New libraries will only be created in that disk, if when creating them we specify that it is done in that volume (VOL=SER=xxxxxx).

PUBLIC. Temporary libraries will be saved, if you do not specify a volume when creating them.

Also, the libraries that, when creating them, we specify to be done in that volume (as it happens in private) will be saved.

STORAGE. Permanent and temporary libraries will be saved if you do not specify a volume when creating them. Also those that we specify to be saved in that volume.

019 watermark

 

020 watermark

 

In addition, we can add the NO-SMS disk to the PARMLIB VATLSTxx member so that it is automatically mounted after an IPL.

The following link explains it:

The parameters for each input follow the structure below:

Column 1 to 6. This is the name of the volume. We can use the wildcards: * o %.

Column 8. 0 for "resident volumes" and 1 for "reserved volumes".

Column 10. To define the use attribute. 0 - STORAGE, 1 - PUBLIC, 2 - PRIVATE.

Column 12 to 19. It is the disk type. It is necessary to put the type well, because when we start the system, it will disassemble it if it is not correct.

Column 21. (Y or N) It indicates if the volume is necessary to start the system. If we put "Y" a reply will appear requesting that the disk be mounted.

Column 23 to 71. Used for comments.

021 watermark

 

Initialize SMS disk

 

To initialize an SMS disk, we have to:

Put the drive offline. Command:

VARY xxxx,OFFLINE

For example:

V 0AA4,OFFLINE

Run the job to initialize the disk.

The job can be downloaded at the beginning of the post.

 

UNITADDRESS. Unit we put offline.

VOLID. Name we will give to the volume. Must be unique.

VTOC. Volume Table Of Contents. This number can be variable because it depends on the number of files that we will have in the disk. The three parameters we will use are: cylinder, head and extent. Cylinder and head is the "position" on the disk and extent, which will occupy.

INDEX. It is the VTOC index. The three parameters we will use are: cylinder, head and extent. Cylinder and head is the "position" on the disk and extent, which will occupy. The index can be put after the VTOC inside the disk (if our VTOC is 149 tracks, the next cylinder would be the 10 (150 tracks divided by 15)), but if we want to extend this VTOC because it has been filled, I think it is easier to move any other file to another disk, than moving the index, so I do not put it often.

STORAGEGROUP. Required to initialize the disk as SMS and be able to add it to a Storage Group

022 watermark

 

Answer the reply. The job should end OK.

023 watermark

 

Put the unit online. Command:

VARY xxxx,ONLINE

For example:

V 0AA4,ONLINE

 

Add the disk to a STORAGE GROUP.

Let's see an example of adding a disk to a storage group.

We enter in ISMF. If it is the first time we enter, it is possible that we do not see all the options. We enter in the option 0 - ISMF Profile.

024 watermark

 

Option 0 – User Mode Selection.

025 watermark

 

Select the option 2 – For a Storage Administrator (SA). Press enter key and exit / enter ISMF again.

026 watermark

 

We will see the option 6 – Storage Group.

027 watermark

 

If we want to consult the active SMS configuration, we must put 'ACTIVE' in the "CDS Name" field. Put "*" in "Storage Group Name".

Press enter to see the list of all Storage Groups.

028 watermark

 

If we want to see the disks that contain an SG, we use the "LISTV" command.

029 watermark

 

In my case, there are many disks defined, but only the A4USR1 disk is online in the system.

030 watermark

 

To add a disk to the storage group "SGBASE", first we must know the name of the CSD file. In SDSF, we use the command:

D SMS

031 watermark

 

In "CDS Name", put the name we have seen with the command "D SMS".

In "Storage Group Name", put the storage group in which we will add it.

Choose option 5 - Volume.

032 watermark

 

Select  2 – Define and put the name of the disk. Press enter.

033 watermark

 

In the option "SMS Vol Status", we can put one of the options on the right. In my case, I will put "ENABLE".

034 watermark

 

035 watermark

 

Press F3 and you will see the message "ALL VOLUME DEFINED".

036 watermark

 

We activate the new configuration, so that the new volume is used. We enter in the option 8 - Control Data Set of the main panel.

037 watermark

 

In "CDS Name", put the dataset name. Choose option 5 - Activate.

038 watermark

 

Mark the option "Perform Activation".

039 watermark

 

A confirmation message will appear.

040 watermark

 

If we check the storage group disks in the active configuration (ACTIVE), we will see the new disk.

041 watermark

 

We will already have the SMS disk initialized and added to a Storage Group.

 

Share disks between two z/OS systems 

 

The first thing we need is to have an NFS (Network File System) server installed in the Ubuntu system that will share the disks (SERVER).

We can install it with the command:

apt-get install nfs-kernel-server

042 watermark

 

The next step is to add to the file /etc/exports the directory we want to share and the IP that will have access. For example:

/home/ibmsys1/volumes 192.168.1.0/24(rw,sync,no_subtree_check)

043 watermark

 

We will use the following command to load the permissions we have set in the /etc/exports file:

exportfs -a

Restart the NFS server service:

systemctl restart nfs-kernel-server

044 watermark

 

In the emulator configuration file we must add the parameter "--shared" in the definition of the disks. This way, the emulator will know that these files are shared and will be able to manage their use (read, write...).

045 watermark

 

When we start the z/OS system emulator, we will see the following:

046 watermark

 

Now in the Ubuntu client system (the system that will use the shared disks), we installed the NFS client.

Command:

apt-get install nfs-common

047 watermark

 

Once installed, create a directory to mount the share:

mkdir -p /mnt/zdt-volumes

We mount the share (in my case, the server IP is 192.168.1.34) and the directory we just created. For example:

mount 192.168.1.34:/home/ibmsys1/volumes /mnt/zdt-volumes

NOTE: If we are going to use these shared disks on a regular basis, it is advisable to add them so that they are mounted when the Ubuntu system is started.

048 watermark

 

Now we will have them available:

049 watermark

 

Add them to the configuration file:

050 watermark

 

When we start the second z/OS system, we should be able to access the disk.

051 watermark

 

Now I will create a dataset from the first z/OS system.

052 watermark

 

From the second system z/OS, when accessing by disk (since catalogs are not shared), we will see the dataset created.

053 watermark

 

 

I hope you liked this post!

 

 

 

 

View Javier Fernández García's profile on LinkedIn

LINKEDIN

 

View Javier Fernández García's profile on Acclaim

ACCLAIM

 

dinoland site logo

DINOLAND

Search

© 2015-2020 EMUFRAME