Migrating an entire z/VM system


In addition to migrating guest operating systems running in virtual machines, FDRPASVM supports migrating CP-Owned volumes, such that an entire running z/VM system can be migrated to new DASD non-disruptively. The two main considerations are:

  • The number of real device addresses (rdevs) used
  • The number of page and spool volumes

The number of real device addresses used

When a system is migrated, new rdevs will be used, but volume serial (volsers) of volumes will remain the same. For planning, consider where real device addresses may exist on your system:

  • Examine the user directory for any DEDICATE statements.
  • Examine the user directory for any MDISK statements using the DEVNO keyword.
  • Determine if DASD devices are attached to virtual machines
  • Examine the HMC for real device address of the IPL volume.
  • For z/VM 6.2 and later systems, examine the IPL parameters for the PDVOL= clause and in the SALIPL settings.

If you do not have DEDICATE or MDISK statements with the DEVNO keyword in the user directory, nor are any DASD devices attached to other virtual machines, the changes required to a migrated z/VM system are minimal: set the new IPL volume on the HMC, and for z/VM 6.2 or later, set the PDVOL value with the SET IPLPARMS command for the running system and with the SALIPL command for the Stand Alone Program Loader. For details, see Prepare for the Next IPL.

The number of page and spool volumes

In order to migrate a running z/VM system, there must be at least two spool and two page volumes. z/VM is installed with as a default with a single spool and a single page volume, so this requires the addition of one volume of each, in most cases.

Example of migrating a system

Following is an example of migrating a running z/VM 6.3 (non-SSI) system. Notes are included when there are differences needed for an SSI system. The overall steps are as follows.

CHECK

STEP

DESCRIPTION


1

Install and configure FDRPASVM.


2


3


4


5

Add additional page and spool volumes

Following is an example of adding one spool and one page volume to a non-SSI z/VM 6.3 system. If the source volumes for the SWAP are going to be retired on the old disk controller, then you should create the additional page and spool volumes on the new disk controller so you will not have to SWAP the new volumes.

Tip

IBM recommends that page volumes are all the same size, so when adding new page and spool volumes, be sure that they are the same size.

To add a page and spool volume, perform the following steps:

  1.  Log on to MAINT or to another virtual machine with sufficient privileges.
  2.  Use the QUERY ALLOC MAP command to show how many spool and page volumes are defined.

    ==> q alloc map
    EXTENT EXTENT % ALLOCATION
    VOLID RDEV START    END TOTAL IN USE HIGH USED TYPE
    ------ ---- ---------- ---------- ------ ------ ------ ---- -------------
    63BRES 1880 1 20    20  2    7 10%   DRCT ACTIVE
    63BSP1 1883 1  10016  1761K  10050 38890  1%   SPOOL
    63BPG1 1884 1  10016  1761K  34723 38322  1%   PAGE

    This example shows that there is one spool and one page volume.

  3. Attach two DASD volumes that will be used for the new page and spool volumes to your virtual machine. In this example, 463D and 463E are used.

    ==> att 463d 463e *
    463D 463E ATTACHED TO MAINT
  4. Format the volume using the CPFMTXA command and allocate all cylinders as spool or page. This example shows creating a spool volume of 463D and giving it a volser of 63BSP2.

    ==> cpfmtxa
    ENTER FORMAT, ALLOCATE, LABEL, OWNER OR QUIT:
    format
    ENTER THE VDEV TO BE PROCESSED OR QUIT:
    463d
    ENTER THE CYLINDER RANGE TO BE FORMATTED ON DISK 463D OR QUIT:
    0 end
    ENTER THE VOLUME LABEL FOR DISK 463D:
    63bsp2
    CPFMTXA:
    FORMAT WILL ERASE CYLINDERS 000000000-000010016 ON DISK 463D
    DO YOU WANT TO CONTINUE? (YES | NO)
    yes

    ICK00002I ICKDSF PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
    ENTER ALLOCATION DATA
    TYPE CYLINDERS
    .................
    spol 1 end
    end

    ICK00002I ICKDSF PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
  5. Repeat the CPFMTXA command to create a second page volume, and as many other volumes as are desired.
  6. Detach the volumes.

    ==> det 463d 463e
  7. Find a reserved slot number in the CP-owned list with the QUERY CPOWNED command. The convention used by z/VM since version 6.2 is to put SPOOL volumes in slots with low numbers and moving up, while page volumes start at the highest slot, 255, and move back.

    ==> q cpowned
     Slot Vol-ID Rdev Type Status SSIOwner SysOwner
    1 63BRES 1880 Own Online and attached-------- --------
    2 ------ ---- ----- Reserved -------- --------
    3 ------ ---- ----- Reserved -------- --------
    4 ------ ---- ----- Reserved -------- --------
    5 63BCOM 1881 Own Online and attached-------- --------
    6 ------ ---- ----- Reserved -------- --------
    7 ------ ---- ----- Reserved -------- --------
    8 ------ ---- ----- Reserved -------- --------
    9 ------ ---- ----- Reserved -------- --------
    10 63BSP1 1883 Own Online and attached -------- VMLAB63B
    11 ------ ---- ----- Reserved -------- --------
      
      254 ------ ---- ----- Reserved -------- --------
      255 63BPG1 1884 Own Online and attached-------- VMLAB63B
  8. This example is in a non-SSI environment, but if you are in an SSI, there is an additional step of assigning ownership to the volumes. This can be accomplished with the ‘CPFMTXA rdev volser OWNER * *’ command, assuming it is being formatted on the SSI member that owns the volumes.
  9. Define the new volume(s) on the free slot number(s) with the DEFINE CPOWNED command. In this example the spool volume is put in slot 11 and the page volume in slot 254.

    ==> define cpowned slot 11 63bsp2
    ==> define cpowned slot 254 63bpg2
  10. Attach the volumes to SYSTEM.

    ==> att 463d 463e system
  11. The previous set of steps add the volumes to a running z/VM system non-disruptively. To configure the system to utilize the volumes at IPL-time, add them to the SYSTEM CONFIG file.

    ==> link pmaint cf0 cf0 mr
    ==> acc cf0 f
    ==> copy system config f = co082114 = ==> x system config f

    CP_Owned Slot 10 63BSP1
    CP_Owned Slot 11 63BSP2

    CP_Owned Slot 254 63BPG2
    CP_Owned Slot 255 63BPG1
  12. Verify the syntax of the changes with the CPSYNTAX command.

    ==> acc 193 g
    ==> cpsyntax system config f
    CONFIGURATION FILE PROCESSING COMPLETE -- NO ERRORS ENCOUNTERED.
  13. The volumes should now be online and attached. Verify with the QUERY CPOWNED command.

    ==> q cpowned
    Slot Vol-ID Rdev Type Status SSIOwner SysOwner
      1 63BRES 1880 Own Online and attached -------- --------
      2 ------ ---- ----- Reserved -------- --------
      3 ------ ---- ----- Reserved -------- --------
      4 ------ ---- ----- Reserved -------- --------
      5 63BCOM 1881 Own Online and attached-------- --------
      6 ------ ---- ----- Reserved -------- --------
      7 ------ ---- ----- Reserved -------- --------
      8 ------ ---- ----- Reserved -------- --------
      9 ------ ---- ----- Reserved -------- --------
     10 63BSP1 1883 Own Online and attached -------- VMLAB63B
     11 63BSP2 463D Own Online and attached -------- --------
     12 ------ ---- ----- Reserved -------- --------
     
    253 ------ ---- ----- Reserved -------- --------
    254 63BPG2 463E Own Online and attached -------- --------
    255 63BPG1 1884 Own Online and attached -------- VMLAB63B

Determine target volumes

To migrate a running z/VM system, target volumes of the same size or larger are needed. In this example, z/VM was installed onto six 3390-9s so six 3390-9s are needed for target volumes. The following target volumes are used in this example:

source volser target
1880 63BRES => 4607
1881 63BCOM => 460F
1882 63BREL => 4634
1883 63BSP1 => 463A
1884 63BPG1 => 463B
1885 63BW01 => 463C

Migrate the CP-owned volumes

To migrate the volumes, an FDRPAS monitor task is started on the z/VM system, and on any other z/VM or z/OS systems that have access to the disks. Then a JCL job is submitted to z/OS.

To migrate the z/VM system, perform the following steps:

  1. Verify the target volumes are online and free to z/VM with the ‘QUERY rdev’ command.

    ==> q 4607 460F 4634 463A 463B 463C
    DASD 4607 VM4607 , DASD 460F VM460F , DASD 4634 VM4634 , DASD 463A VM463A
    DASD 463B VM463B , DASD 463C VM463C
  2. Verify the FDRPASVM service virtual machine is running on z/VM. It is recommended that you do not have an interactive 3270 session with FDRPASVM to watch the console. If the console goes to a HOLDING status, it freezes the operations of FDRPASVM and the jobs fail.

    ==> q fdrpasvm
    FDRPASVM - DSC
  3. Verify that the source volumes are online to z/OS and that the target volumes are offline. This can be accomplished with the ‘/d u,,,ucb’ command.
  4. Start the monitor on z/VM with the FDRPAS MONITOR TYPE SWAP command, the rdevs of the target volumes and the DRAIN operand. Be sure that for every target volume specified, it is recognized as an eligible device.

    ==> fdrpas monitor type swap 4607 460F 4634 463A 463B 463C (drain 60
    CONNECTING TO FDRPAS SERVICE MACHINE USERID=FDRPASVM
    THE FDRPAS SERVICE MACHINE SENT THE FOLLOWING REPLY TO YOUR REQUEST
    12:48:00 * MSG FROM FDRPASVM: PASIUCSM009I 6 ELIGIBLE DEVICE(S) FOUND REQUEST ACCEPTED
  5. If you are in a z/VM SSI environment, repeat the previous step on each member of the SSI, so that a monitor is running on all members.
  6. Create a JCL job to be submitted to z/OS. Following is an example that uses the MAXTASKS=1 option to serialize the migration of all system volumes. It is very important that spool and page volumes are migrated serially. The JCL is created as the file SWAPJOB1 JCL on the MAINT 191 disk.

    ==> type swapjob1 jcl
    //MDMA JOB ('PR=YES'),'user',CLASS=M,MSGCLASS=X
    //SWAP EXEC PGM=FDRPAS,REGION=0M
    //STEPLIB DD DSN=your.dataset.name,DISP=SHR
    //SYSPRINT DD SYSOUT=*
    //FDRSUMM DD SYSOUT=*
    //SYSUDUMP DD SYSOUT=*
    //SYSIN DD *
    SWAP TYPE=FULL,LARGERSIZE=OK,MAXTASKS=1,NONRESPONDING=FAIL
    MOUNT VOL=63BRES,SWAPUNIT=4607
    MOUNT VOL=63BCOM,SWAPUNIT=460F
    MOUNT VOL=63BREL,SWAPUNIT=4634
    MOUNT VOL=63BSP1,SWAPUNIT=463A
    MOUNT VOL=63BPG1,SWAPUNIT=463B
    MOUNT VOL=63BW01,SWAPUNIT=463C
  7. Submit the JCL job. In this example, the job was submitted from z/VM to z/OS utilizing the z/OS FTP server.

    ==> vmftp ftpjob (parm swapjob1

For details on how to submit JCL jobs from z/VM, see Automating JCL job submission from z/VM.

Your z/VM system should now be migrated.

The JCL job in the previous example utilizes the MAXTASKS=1 operand on the SWAP statement that effectively serializes the swapping of the volumes (no volumes are swapped in parallel). If you would like to increase the performance, you can use larger numbers for the MAXTASKS operand, but must consider this rule:

When you are swapping a page or spool volume, you should not swap any other volumes on the same z/VM system at that time.

To accomplish this, it may be convenient to define your JCL jobs as follows:

  1. One job for CP-owned non-page and spool volumes with MAXTASKS=nn where nn is the number of MOUNT statements
  2. One job for all page and spool volumes with MAXTASKS=1. Contact BMC Support if your installation has more than four (4) PAGE/SPOOL volumes and you would like to migrate them concurrently.

Prepare for the next IPL

To prepare for the next IPL, perform the following steps:

  1. Set the new IPL volume on the HMC for this z/VM LPAR.
  2. If you are on z/VM 6.2 or later, set the PDVOL value in the IPL parameters. You can copy the majority of the parameters from the output of the QUERY IPLPARMS command.

    ==> q iplparms
    Current IPL parameters:
    FN=SYSTEM FT=CONFIG PDNUM=1 PDVOL=1881
  3. Set the new PDVOL volume real device address with the SET IPLPARMS command. In this example, it is changed from 1881 to 460F.

    ==> set iplparms
    ENTER UP TO 3 LINES. ENTER A NULL LINE TO END.
    FN=SYSTEM FT=CONFIG PDNUM=1 PDVOL=460F
    <Press Enter for a blank line>
  4. Use the SALIPL command to update the Stand Alone Program Loader. For example, if your z/VM system has not been modified from the default values (SYSTEM CONFIG file on the first minidisk extent), the following command is issued. In this example, the new PDVOL has real device address 460F.

    ==> salipl 123 (extent 1 iplparms fn=SYSTEM ft=CONFIG pdnum=1 pdvol=460f
    HCPSAL6798I VOLUME ID IS volser
    HCPSAL6797I MINIDISK VOLID AT OFFSET 39 IS MNTCF1
  5. Modify any DEDICATEs, MDISKs with DEVNO keyword, or ATTACHes of volumes that may be in the user directory or other configuration processes.

Your z/VM system should now be configured for a SHUTDOWN REIPL.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*