mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-30 01:26:38 +00:00
Merge pull request #548 from immarvin/onissue470_new
fix issue Need to support detach operation for PowerKVM PCI pass-through #470 #524
This commit is contained in:
commit
63e17f87e7
@ -49,12 +49,19 @@ PPC (using Direct FSP Management) specific:
|
||||
[\ **del_physlots=drc_index1,drc_index2...**\ ]
|
||||
[\ **del_vadapter=slotid**\ ]
|
||||
|
||||
|
||||
KVM specific:
|
||||
=============
|
||||
|
||||
|
||||
\ **chvm**\ \ *noderange*\ [\ **--cpupin**\ \ *hostcpuset*\ ]
|
||||
|
||||
\ **chvm**\ \ *noderange*\ [\ **--membind**\ \ *numanodeset*\ ]
|
||||
|
||||
\ **chvm**\ \ *noderange*\ [\ **--devpassthru**\ \ *pcidevice*\ ...]
|
||||
|
||||
\ **chvm**\ \ *noderange*\ [\ **--devdetach**\ \ *pcidevice*\ ...]
|
||||
|
||||
|
||||
VMware/KVM specific:
|
||||
====================
|
||||
@ -160,13 +167,6 @@ For normal power machine:
|
||||
chvm could be used to modify the resources assigned to partitions. The admin shall specify the attributes with options \ *vmcpus*\ , \ *vmmemory*\ , \ *add_physlots*\ , \ *vmothersetting*\ , \ *add_vmnics*\ and/or \ *add_vmstorage*\ . If nothing specified, nothing will be returned.
|
||||
|
||||
|
||||
VMware/KVM specific:
|
||||
====================
|
||||
|
||||
|
||||
The chvm command modifes the vm specified in noderange. Calling with deregister or purge options at the same time as the resize option is not recommended.
|
||||
|
||||
|
||||
zVM specific:
|
||||
=============
|
||||
|
||||
@ -303,34 +303,6 @@ PPC (using Direct FSP Management) specific:
|
||||
|
||||
|
||||
|
||||
\ **--cpupin hostcpuset**\
|
||||
|
||||
To pin guest domain virtual CPUs to physical host CPUs specified with \ *hostcpuset*\ .
|
||||
\ *hostcpuset*\ is a list of physical CPU numbers. Its syntax is a comma separated list and a special
|
||||
markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed. The '-' denotes the range and
|
||||
the '^' denotes exclusive.
|
||||
|
||||
Note: The expression is sequentially evaluated, so "0-15,^8" is identical to "9-14,0-7,15" but not
|
||||
identical to "^8,0-15".
|
||||
|
||||
|
||||
|
||||
\ **--membind numanodeset**\
|
||||
|
||||
It is possible to restrict a guest to allocate memory from the specified set of NUMA nodes \ *numanodeset*\ .
|
||||
If the guest vCPUs are also pinned to a set of cores located on that same set of NUMA nodes, memory
|
||||
access is local and improves memory access performance.
|
||||
|
||||
|
||||
|
||||
\ **--devpassthru pcidevice1,pcidevice2...**\
|
||||
|
||||
The PCI passthrough gives a guest VM direct access to I/O devices \ *pcidevice1,pcidevice2...*\ .
|
||||
The PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively.
|
||||
The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host.
|
||||
|
||||
|
||||
|
||||
|
||||
VMware/KVM specific:
|
||||
====================
|
||||
@ -374,6 +346,46 @@ VMware/KVM specific:
|
||||
|
||||
|
||||
|
||||
KVM specific:
|
||||
=============
|
||||
|
||||
|
||||
|
||||
\ **--cpupin hostcpuset**\
|
||||
|
||||
To pin guest domain virtual CPUs to physical host CPUs specified with \ *hostcpuset*\ .
|
||||
\ *hostcpuset*\ is a list of physical CPU numbers. Its syntax is a comma separated list and a special
|
||||
markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed. The '-' denotes the range and
|
||||
the '^' denotes exclusive.
|
||||
|
||||
Note: The expression is sequentially evaluated, so "0-15,^8" is identical to "9-14,0-7,15" but not
|
||||
identical to "^8,0-15".
|
||||
|
||||
|
||||
|
||||
\ **--membind numanodeset**\
|
||||
|
||||
It is possible to restrict a guest to allocate memory from the specified set of NUMA nodes \ *numanodeset*\ .
|
||||
If the guest vCPUs are also pinned to a set of cores located on that same set of NUMA nodes, memory
|
||||
access is local and improves memory access performance.
|
||||
|
||||
|
||||
|
||||
\ **--devpassthru pcidevice1,pcidevice2...**\
|
||||
|
||||
The PCI passthrough gives a guest VM direct access to I/O devices \ *pcidevice1,pcidevice2...*\ .
|
||||
The PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively.
|
||||
The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host.
|
||||
|
||||
|
||||
|
||||
\ **--devdetach pcidevice1,pcidevice2...**\
|
||||
|
||||
To detaching the PCI devices which are attached to VM guest via PCI passthrough from the VM guest. The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host.
|
||||
|
||||
|
||||
|
||||
|
||||
zVM specific:
|
||||
=============
|
||||
|
||||
|
@ -222,7 +222,7 @@ vm => {
|
||||
'vncport' => 'Tracks the current VNC display port (currently not meant to be set',
|
||||
'textconsole' => 'Tracks the Psuedo-TTY that maps to the serial port or console of a VM',
|
||||
'powerstate' => "This flag is used by xCAT to track the last known power state of the VM.",
|
||||
'othersettings' => "This allows specifying a semicolon delimited list of key->value pairs to include in a vmx file of VMware or KVM. For partitioning on normal power machines, this option is used to specify the hugepage and/or bsr information, the value is like:'hugepage:1,bsr=2'. For KVM cpu pinning, this option is used to specify the physical cpu set on the host, the value is like:'vcpupin:'0-15,^8' ',Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed, the '-' denotes the range and the '^' denotes exclusive. For KVM memory binding, the value is like:'membind:0', restrict a guest to allocate memory from the specified set of NUMA nodes. For PCI passthrough, the value is like:'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0',the PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively,the devices list are a list of PCI device names delimited with comma, the PCI device names can be obtained by running B<virsh nodedev-list> on the host.",
|
||||
'othersettings' => "This allows specifying a semicolon delimited list of key->value pairs to include in a vmx file of VMware or KVM. For partitioning on normal power machines, this option is used to specify the hugepage and/or bsr information, the value is like:'hugepage:1,bsr=2'. For KVM cpu pinning, this option is used to specify the physical cpu set on the host, the value is like:\"vcpupin:'0-15,^8'\",Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed, the '-' denotes the range and the '^' denotes exclusive. For KVM memory binding, the value is like:'membind:0', restrict a guest to allocate memory from the specified set of NUMA nodes. For PCI passthrough, the value is like:'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0',the PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively,the devices list are a list of PCI device names delimited with comma, the PCI device names can be obtained by running B<virsh nodedev-list> on the host.",
|
||||
'guestostype' => "This allows administrator to specify an identifier for OS to pass through to virtualization stack. Normally this should be ignored as xCAT will translate from nodetype.os rather than requiring this field be used\n",
|
||||
'beacon' => "This flag is used by xCAT to track the state of the identify LED with respect to the VM.",
|
||||
'datacenter' => "Optionally specify a datacenter for the VM to exist in (only applicable to VMWare)",
|
||||
|
@ -250,9 +250,11 @@ my %usage = (
|
||||
[add_vmnics=vlan1,vlan2] [add_vmstorage=<N|viosnode:slotid>] [--vios]
|
||||
chvm <noderange> [del_physlots=drc_index1,drc_index2...]
|
||||
chvm <noderange> [del_vadapter=slotid]
|
||||
KVM specific:
|
||||
chvm <noderange> [--cpupin hostcpuset]
|
||||
chvm <noderange> [--membind numanodeset]
|
||||
chvm <noderange> [--devpassthru pcidevice1,pcidevice2... ]
|
||||
chvm <noderange> [--devdetach pcidevice1,pcidevice2... ]
|
||||
VMware specific:
|
||||
chvm <noderange> [-a size][-d disk][-p disk][--resize disk=size][--cpus count][--mem memory]
|
||||
zVM specific:
|
||||
|
@ -29,12 +29,16 @@ B<chvm> I<noderange> [B<vmcpus=min/req/max>] [B<vmmemory=min/req/max>]
|
||||
[B<del_physlots=drc_index1,drc_index2...>]
|
||||
[B<del_vadapter=slotid>]
|
||||
|
||||
|
||||
=head2 KVM specific:
|
||||
|
||||
B<chvm> I<noderange> [B<--cpupin> I<hostcpuset>]
|
||||
|
||||
B<chvm> I<noderange> [B<--membind> I<numanodeset>]
|
||||
|
||||
B<chvm> I<noderange> [B<--devpassthru> I<pcidevice>...]
|
||||
|
||||
B<chvm> I<noderange> [B<--devdetach> I<pcidevice>...]
|
||||
|
||||
|
||||
=head2 VMware/KVM specific:
|
||||
@ -125,9 +129,6 @@ For normal power machine:
|
||||
|
||||
chvm could be used to modify the resources assigned to partitions. The admin shall specify the attributes with options I<vmcpus>, I<vmmemory>, I<add_physlots>, I<vmothersetting>, I<add_vmnics> and/or I<add_vmstorage>. If nothing specified, nothing will be returned.
|
||||
|
||||
=head2 VMware/KVM specific:
|
||||
|
||||
The chvm command modifes the vm specified in noderange. Calling with deregister or purge options at the same time as the resize option is not recommended.
|
||||
|
||||
=head2 zVM specific:
|
||||
|
||||
@ -223,28 +224,6 @@ To delete physical slots which are specified by the I<drc_index1,drc_index2...>.
|
||||
|
||||
To delete a virtual adapter specified by the I<slotid>.
|
||||
|
||||
=item B<--cpupin hostcpuset>
|
||||
|
||||
To pin guest domain virtual CPUs to physical host CPUs specified with I<hostcpuset>.
|
||||
I<hostcpuset> is a list of physical CPU numbers. Its syntax is a comma separated list and a special
|
||||
markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed. The '-' denotes the range and
|
||||
the '^' denotes exclusive.
|
||||
|
||||
Note: The expression is sequentially evaluated, so "0-15,^8" is identical to "9-14,0-7,15" but not
|
||||
identical to "^8,0-15".
|
||||
|
||||
=item B<--membind numanodeset>
|
||||
|
||||
It is possible to restrict a guest to allocate memory from the specified set of NUMA nodes I<numanodeset>.
|
||||
If the guest vCPUs are also pinned to a set of cores located on that same set of NUMA nodes, memory
|
||||
access is local and improves memory access performance.
|
||||
|
||||
=item B<--devpassthru pcidevice1,pcidevice2...>
|
||||
|
||||
The PCI passthrough gives a guest VM direct access to I/O devices I<pcidevice1,pcidevice2...>.
|
||||
The PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively.
|
||||
The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running B<virsh nodedev-list> on the host.
|
||||
|
||||
|
||||
=back
|
||||
|
||||
@ -276,6 +255,40 @@ Purge the Hard disk. Deregisters and deletes the files. Multiple can be done w
|
||||
|
||||
Change the size of the Hard disk. The disk can never be set to less than it's current size. Multiple disks can be resized to I<size> by using comma separated values on the left side of B<=>. The disks are specified by SCSI id. Size defaults to GB.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head2 KVM specific:
|
||||
|
||||
=over 10
|
||||
|
||||
=item B<--cpupin hostcpuset>
|
||||
|
||||
To pin guest domain virtual CPUs to physical host CPUs specified with I<hostcpuset>.
|
||||
I<hostcpuset> is a list of physical CPU numbers. Its syntax is a comma separated list and a special
|
||||
markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed. The '-' denotes the range and
|
||||
the '^' denotes exclusive.
|
||||
|
||||
Note: The expression is sequentially evaluated, so "0-15,^8" is identical to "9-14,0-7,15" but not
|
||||
identical to "^8,0-15".
|
||||
|
||||
=item B<--membind numanodeset>
|
||||
|
||||
It is possible to restrict a guest to allocate memory from the specified set of NUMA nodes I<numanodeset>.
|
||||
If the guest vCPUs are also pinned to a set of cores located on that same set of NUMA nodes, memory
|
||||
access is local and improves memory access performance.
|
||||
|
||||
=item B<--devpassthru pcidevice1,pcidevice2...>
|
||||
|
||||
The PCI passthrough gives a guest VM direct access to I/O devices I<pcidevice1,pcidevice2...>.
|
||||
The PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively.
|
||||
The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running B<virsh nodedev-list> on the host.
|
||||
|
||||
=item B<--devdetach pcidevice1,pcidevice2...>
|
||||
|
||||
To detaching the PCI devices which are attached to VM guest via PCI passthrough from the VM guest. The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running B<virsh nodedev-list> on the host.
|
||||
|
||||
|
||||
=back
|
||||
|
||||
=head2 zVM specific:
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user