Novalink DLPAR using pvmctl

Novalink provide command line pvmctl to perform multiple set of operation. Will be explaining dlpar of Network and Storage adapters and Processor and Memory.
DLPAR of Network and Storage adapters, list down the adapters with its drc name and lpar list. Then perform the dlpar using below script to attach the network adapter or detach the network adapter. After attaching the network adapter run cfgmgr or cfgdev on VIOS partition or AIX partition. To detach the network adapter or storage adapter run rmdev -dl entX/hdiskX on VIOS/AIX partition then detach the adapter using pvmctl command line.

List the network and storage physical adapters connected to vios or logical partitions.


$ pvmctl io list
I/O Slots
+----------------------------+-----------+--------------------------------+
|    Loc Code (DRC Name)     |    LPAR   | Description                    |
+----------------------------+-----------+--------------------------------+
| U78D5.ND1.CSS10A4-P1-C1-C1 |           | Empty slot                     |
|  U78D5.ND1.CSS10A4-P1-C13  |           | Empty slot                     |
| U78D5.ND1.CSS10A4-P1-C2-C1 | viov1     | 8 Gigabit PCI Express Dual Po> |
| U78D5.ND1.CSS10A4-P1-C3-C1 |           | PCIe2 4-port(10Gb FCoE & 1GbE> |
| U78D5.ND1.CSS10A4-P1-C4-C1 | vios1     | 1 Gigabit Ethernet (UTP) 4 Po> |
| U78D5.ND1.CSS10A4-P1-C5-C1 | vios2     | 8 Gigabit PCI Express Dual Po> |
| U78D5.ND1.CSS10A4-P1-C6-C1 | vios2     | PCIe2 4-port (10Gb FCoE & 1Gb> |
| U78D5.ND1.CSS10A4-P1-C7-C1 |           | Empty slot                     |
| U78D5.ND1.CSS10A4-P1-C8-C1 |           | 1 Gigabit Ethernet (UTP) 4 Po> |
|  U78D5.ND1.CSS10A4-P2-C1   |           | Empty slot                     |
|  U78D5.ND1.CSS10A4-P2-C2   |           | Empty slot                     |
|  U78D5.ND1.CSS10A4-P2-C3   |           | Empty slot                     |
|  U78D5.ND1.CSS10A4-P2-C4   |           | Empty slot                     |
+----------------------------+-----------+--------------------------------+
$

Below is the script to perform dlpar the adapter named U78D5.ND1.CSS10A4-P1-C8-C1 continously from vios1 to vios2.

#!/bin/bash
while :
do
    pvmctl io attach --drc-names U78D5.ND1.CSS10A4-P1-C8-C1 --parent-id  name=vios1
    echo $?
    sleep 5
    pvmctl io detach --drc-names U78D5.ND1.CSS10A4-P1-C8-C1 --parent-id  name=vios1
    echo $?
    sleep 5
    pvmctl io attach --drc-names U78D5.ND1.CSS10A4-P1-C8-C1 --parent-id  name=vios2
    echo $?
    sleep 5
    pvmctl io detach --drc-names U78D5.ND1.CSS10A4-P1-C8-C1 --parent-id  name=vios2
    echo $?
    sleep 5
done


DLPAR of processor

Dynamic Partitioning of Processor can be performed using Novalink management. Find out the min and maximum processor capability applicable to the partition depending upon the values set or change the values of processor.

$ pvmctl lpar list --display-fields SharedProcessorConfiguration.max_units --object-id name=partition1
0.8
$ pvmctl lpar list --display-fields SharedProcessorConfiguration.min_units --object-id name=partition1
0.2
$ pvmctl lpar list --display-fields SharedProcessorConfiguration.desired_units --object-id name=partition1
desired_units=0.6
$ pvmctl lpar update --set-fields SharedProcessorConfiguration.desired_units=0.3 --object-id name=partition1
$ pvmctl lpar list --display-fields SharedProcessorConfiguration.desired_units --object-id name=partition1
desired_units=0.3
$

List out the values and DLPAR of shared processor


$ pvmctl lpar list --display-fields  SharedProcessorConfiguration.max_virtual --object-id name=partition1
8
$ pvmctl lpar list --display-fields  SharedProcessorConfiguration.min_virtual --object-id name=partition1
2
$ pvmctl lpar update --set-fields SharedProcessorConfiguration.desired_virtual=3 --object-id name=partition1
$ pvmctl lpar list --display-fields  SharedProcessorConfiguration.desired_virtual --object-id name=partition1
desired_virtual=3
$

DLPAR of memory


Memory allocated to partition can be modified using pvmctl command dynamically using the below examples. List out the memory and set the memory values.

$ pvmctl lpar list --display-fields PartitionMemoryConfiguration.min --object-id name=partition1
min=2048
$ pvmctl lpar list --display-fields PartitionMemoryConfiguration.max --object-id name=partition1
max=8192
$ pvmctl lpar list --display-fields PartitionMemoryConfiguration.desired --object-id name=partition1
desired=4096
$ pvmctl lpar update --set-fields PartitionMemoryConfiguration.desired=6144 --object-id name=partition1
$ echo $?
0
$ pvmctl lpar list --display-fields PartitionMemoryConfiguration.desired --object-id name=partition1
desired=6144


We require either partition should be shut down to change desired, min and max values. When partition is running and RMC is up we will only be able to change only desired values.