A virtual machine with more vCPUs does not have more computing power issue
Problem
The customer deploys a virtual machine with 2 vCPUs, 4 vCPUs or 8 vCPUs. From IBM® Cloud Infrastructure Center's perspective, they are the same because the SHARE is the same.
Explanation
From the z/VM document, the SHARE is relative value of virtual machine and if you set SHARE to 100 while virtual CPUs are 4, then each vCPU gets a 25 entitlement. If the virtual CPUs are 2, then each vCPU gets a 50 entitlement.
The mechanism currently is:
- If a SHARE is given, set the SHARE value to the VM
- If no SHARE is given during creation, check
user_default_share_unit - If
user_default_share_unitis 0 (current default), do nothing - If the
user_default_share_unitis not 0, then insert statementSHARE RELATIVE user_default_share_unit*vCPUinto the user direct, for example, withuser_default_share_unit=100, 4 vCPUs will create theSHARE RELATIVE 400.
Resolution
In the IBM Cloud Infrastructure Center, the
user_default_share_unit=100
is
configured in
zvmsdk.conf
by default.
Therefore, when the customer deploys a virtual machine with 2
vCPUs, the virtual machine gets a
SHARE RELATIVE
200
, while for 4 vCPUs, gets a
SHARE
RELATIVE 400
.
For existing virtual machines created before IBM Cloud Infrastructure Center version 1.1.6, you can apply the upgrade tool for the SHARE on the management node during a maintenance window:
-
Run the following command for all z/VM hypervisor compute nodes.
/usr/bin/python /usr/lib/python3.9/site-packages/powervc_oslo/patch/update_zvm_share.py -
Run the following command for given z/VM hypervisor compute nodes.
/usr/bin/python /usr/lib/python3.9/site-packages/powervc_oslo/patch/update_zvm_share.py <hostname1>,<hostname2>,<hostnameN>
You can get the hostname information by running
icic-services remote list
command.
For example:
[root@sample-server ~]# icic-services remote list
Running on remote nodes.
Name Display Name
==== ============
BOET4601 117zvmcmp
BOET4602 118zvmcmp
In the previous example, you can run
/usr/bin/python
/usr/lib/python3.9/site-packages/powervc_oslo/patch/update_zvm_share.py
BOET4601,BOET4602
to update all the SHARE for
existing virtual machines managed by compute node BOET4601 and
BOET4602.