JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle VM Server for SPARC 3.1 Reference Manual
Oracle Technology Network
Library
PDF
Print View
Feedback
search filter icon
search icon

Document Information

System Administration

ldm(1M)

ldmconfig(1M)

ldmd(1M)

ldmp2v(1M)

ldmpower(1M)

ldm (1M)

Name

ldm - command-line interface for the Logical Domains Manager

Synopsis

ldm or ldm --help [subcommand] 
ldm -V 
ldm add-domain -i file
ldm add-domain [cpu-arch=generic|native|migration-class1|sparc64-class1] [mac-addr=num]
  [hostid=num] [failure-policy=ignore|panic|reset|stop] [extended-mapin-space=off]
  [master=master-ldom1,...,master-ldom4] [max-cores=[num|unlimited]]
  [uuid=uuid] [threading=max-ipc] [shutdown-group=num] [rc-add-policy=[iov]] ldom
ldm add-domain ldom...
ldm set-domain -i file
ldm set-domain [cpu-arch=generic|native|migration-class1|sparc64-class1] [mac-addr=num] 
  [hostid=num] [failure-policy=ignore|panic|reset|stop] [extended-mapin-space=[on|off]]
  [master=[master-ldom1,...,master-ldom4]] [max-cores=[num|unlimited]]
  [threading=[max-ipc|max-throughput]] [shutdown-group=num] [rc-add-policy=[iov]] ldom 
ldm remove-domain -a
ldm remove-domain ldom...
ldm list-domain [-e] [-l] [-o format] [-p] [-S] [ldom...] 
ldm migrate-domain [-f] [-n] [-p filename] source-ldom [user@]target-host[:target-ldom] 
ldm add-vcpu [-c] number ldom
ldm set-vcpu [-c] number ldom
ldm remove-vcpu [-c] number ldom
ldm add-core num ldom
ldm add-core cid=core-ID[,core-ID[,...]] ldom
ldm set-core num ldom
ldm set-core cid=[core-ID[,core-ID[,...]]] ldom
ldm remove-core [-f] num ldom
ldm remove-core cid=core-ID[,core-ID[,...]] ldom
ldm add-crypto number ldom
ldm set-crypto [-f] number ldom
ldm remove-crypto [-f] number ldom 
ldm add-memory [--auto-adj] size[unit] ldom 
ldm add-memory mblock=PA-start:size[,PA-start:size[,...]] ldom 
ldm set-memory [--auto-adj] size[unit] ldom 
ldm set-memory mblock=[PA-start:size[,PA-start:size[,...]]] ldom 
ldm remove-memory [--auto-adj] size[unit] ldom 
ldm remove-memory mblock=PA-start:size[,PA-start:size[,...]] ldom 
ldm start-reconf ldom
ldm cancel-reconf ldom
ldm cancel-operation (migration | reconf | memdr) ldom 
ldm add-io (device | vf-name) ldom 
ldm add-io [iov=on|off] bus ldom 
ldm set-io name=value [name=value...] pf-name
ldm set-io iov=on|off bus
ldm set-io [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]]
  [pvid=[pvid]] [vid=[vid1,vid2,...]] [mtu=size]
  [name=value...] net-vf-name
ldm set-io name=[value...] ib-pf-name
ldm set-io [bw-percent=[value]] [port-wwn=value node-wwn=value] fc-vf-name
ldm remove-io [-n] (bus | device | vf-name) ldom 
ldm list-io [-l] [-p] [bus | device | pf-name]
ldm list-io -d pf-name
ldm add-vsw [-q] [default-vlan-id=VLAN-ID] [pvid=port-VLAN-ID] [vid=VLAN-ID1,VLAN-ID2,...]
  [linkprop=phys-state] [mac-addr=num] [net-dev=device] [mode=sc] [mtu=size]
  [id=switch-ID] [inter-vnet-link=on|off] vswitch-name ldom 
ldm set-vsw [-q] [pvid=port-VLAN-ID] [vid=VLAN-ID1,VLAN-ID2,...] [mac-addr=num]
  [net-dev=device] [linkprop=[phys-state]] [mode=[sc]] [mtu=size]
  [inter-vnet-link=[on|off]] vswitch-name 
ldm remove-vsw [-f] vswitch-name 
ldm add-vnet [mac-addr=num] [mode=hybrid] [pvid=port-VLAN-ID] 
  [alt-mac-addrs=auto|num1[,auto|num2,...]] [vid=VLAN-ID1,VLAN-ID2,...]
  [linkprop=phys-state] [id=network-ID] [mtu=size]
  [maxbw=value] if-name vswitch-name ldom 
ldm set-vnet [mac-addr=num] [vswitch=vswitch-name] [mode=[hybrid]]
  [alt-mac-addrs=auto|num1[,auto|num2,...]] [vid=VLAN-ID1,VLAN-ID2,...]
  [pvid=port-VLAN-ID] [linkprop=[phys-state]] [mtu=size]
  [maxbw=[value]] if-name ldom 
ldm remove-vnet [-f] if-name ldom 
ldm add-vds service-name ldom 
ldm remove-vds [-f] service-name 
ldm add-vdsdev [-f] [-q] [options={ro,slice,excl}] [mpgroup=mpgroup] backend
  volume-name@service-name
ldm set-vdsdev [-f] options=[{ro,slice,excl}] [mpgroup=mpgroup]
  volume-name@service-name
ldm remove-vdsdev [-f] volume-name@service-name 
ldm add-vdisk [timeout=seconds] [id=disk-ID] disk-name volume-name@service-name ldom 
ldm set-vdisk [timeout=seconds] [volume=volume-name@service-name] disk-name ldom 
ldm remove-vdisk [-f] disk-name ldom 
ldm add-vdpcs vdpcs-service-name ldom 
ldm remove-vdpcs [-f] vdpcs-service-name 
ldm add-vdpcc vdpcc-name vdpcs-service-name ldom 
ldm remove-vdpcc [-f] vdpcc-name ldom 
ldm add-vcc port-range=x-y vcc-name ldom 
ldm set-vcc port-range=x-y vcc-name 
ldm remove-vcc [-f] vcc-name 
ldm set-vcons [port=[port-num]] [group=group] [service=vcc-server] 
  [log=[on|off]] ldom
ldm create-vf -n number | max pf-name
ldm create-vf [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]]
  [pvid=pvid] [vid=vid1,vid2,...] [mtu=size] 
  [name=value...] net-pf-name
ldm create-vf [name=value...] ib-pf-name
ldm create-vf [port-wwn=value node-wwn=value] [bw-percent=[value]] fc-pf-name
ldm destroy-vf vf-name 
ldm destroy-vf -n number | max pf-name
ldm add-variable var-name=[value]... ldom
ldm set-variable var-name=[value]... ldom
ldm remove-variable var-name... ldom 
ldm list-variable [var-name...] ldom 
ldm start-domain (-a | -i file | ldom...) 
ldm stop-domain [[-f | -q] | [[-h | -r | -t sec] [-m msg]]] (-a | ldom...)
ldm panic-domain ldom 
ldm bind-domain [-f] [-q] (-i file | ldom) 
ldm unbind-domain ldom 
ldm list-bindings [-e] [-p] [ldom...] 
ldm add-spconfig config-name
ldm add-spconfig -r autosave-name [new-config-name]
ldm set-spconfig config-name 
ldm set-spconfig factory-default 
ldm remove-spconfig [-r] config-name 
ldm list-spconfig [-r [autosave-name]]
ldm list-constraints ([-x] | [-e] [-p]) [ldom...] 
ldm list-devices [-a] [-p] [-S] [core] [cpu] [crypto] [memory] [io] 
ldm list-hvdump
ldm list-permits
ldm list-services [-e] [-p] [ldom...]
ldm set-hvdump [hvdump=on|off] [hvdump-reboot=on|off]
ldm start-hvdump
ldm add-policy [enable=yes|no] [priority=value] [attack=value] [decay=value]
  [elastic-margin=value] [sample-rate=value] [tod-begin=hh:mm[:ss]]
  [tod-end=hh:mm[:ss]] [util-lower=percent] [util-upper=percent] [vcpu-min=value]
  [vcpu-max=value] name=policy-name ldom...
ldm set-policy [enable=[yes|no]] [priority=[value]] [attack=[value]] [decay=[value]]
  [elastic-margin=[value]] [sample-rate=[value]] [tod-begin=[hh:mm:ss]]
  [tod-end=[hh:mm:ss]] [util-lower=[percent]] [util-upper=[percent]] [vcpu-min=[value]]
  [vcpu-max=[value]] name=policy-name ldom...
ldm remove-policy [name=]policy-name... ldom
ldm init-system [-frs] -i file

Description

The ldm command interacts with the Logical Domains Manager and is used to create and manage logical domains. The Logical Domains Manager runs on the control domain, which is the initial domain created by the service processor. For those platforms that have physical domains, the Logical Domains Manager runs only in the control domain of each physical domain. The control domain is named primary.

A logical domain is a discrete logical grouping with its own operating system, resources, and identity within a single computer system. Each logical domain can be created, destroyed, reconfigured, and rebooted independently, without requiring a power cycle of the server. You can use logical domains to run a variety of applications in different domains and keep them independent for security purposes.

All logical domains are the same and can be distinguished from one another based on the roles that you specify for them. The following are the roles that logical domains can perform:

Control domain

Creates and manages other logical domains and services by communicating with the hypervisor.

Service domain

Provides services to other logical domains, such as a virtual network switch or a virtual disk service.

I/O domain

Has direct access to a physical I/O device, such as a network card in a PCI EXPRESS (PCIe) controller or a single-root I/O virtualization (SR-IOV) virtual function. An I/O domain can own a PCIe root complex, or it can own a PCIe slot or on-board PCIe device by using the direct I/O feature and an SR-IOV virtual function by using the SR-IOV feature.

An I/O domain can share physical I/O devices with other domains in the form of virtual devices when the I/O domain is also used as a service domain.

Root domain

Has a PCIe root complex assigned to it. This domain owns the PCIe fabric and all connected devices, and provides all fabric-related services, such as fabric error handling. A root domain owns all of the SR-IOV physical functions from which you can create virtual functions and assign them to I/O domains. A root domain is also an I/O domain, as it owns and has direct access to physical I/O devices.

The number of root domains that you can have depends on your platform architecture. For example, if you are using a Sun SPARC Enterprise T5440 server from Oracle, you can have up to four root domains.

The default root domain is the primary domain. Starting with the Oracle VM Server for SPARC 3.1 release, you can use non-primary domains to act as root domains.

Guest domain

Uses services from the I/O and service domains and is managed by the control domain.

You can use the Logical Domains Manager to establish dependency relationships between domains.

Master domain

A domain that has one or more domains that depend on it. A slave domain enacts a failure policy when the master domain fails. For instance, a slave can be left as-is, panicked, rebooted, or stopped when the master domain fails.

Slave domain

A domain that depends on another domain. A domain can specify up to four master domains. When one or more of the master domains fail, the failure policy dictates the slave domain's behavior.

Subcommand Summaries

Subcommand Summaries

Following are the supported subcommands along with a description and required authorization for each. For information about setting up authorization for user accounts, see Using Rights Profiles and Roles in Oracle VM Server for SPARC 3.1 Administration Guide .

Subcommand
Description
Authorization
add-resource
Adds a resource to an existing logical domain. See RESOURCES for resource definitions.
solaris.ldoms.write
add-domain
Creates a logical domain.
solaris.ldoms.write
add-policy
Adds a resource management policy to an existing logical domain.
solaris.ldoms.write
add-spconfig
Adds a logical domain configuration to the service processor (SP).
solaris.ldoms.write
add-variable
Adds one or more variables to a logical domain.
solaris.ldoms.write
bind-domain
Binds resources to a created logical domain.
solaris.ldoms.write
cancel-operation
Cancels an operation, such as a delayed reconfiguration (reconf), memory dynamic reconfiguration removal (memdr), or domain migration (migration).
solaris.ldoms.write
cancel-reconf
Cancels a delayed reconfiguration operation on the primary domain.
solaris.ldoms.write
create-vf
Creates one or more virtual functions.
solaris.ldoms.write
destroy-vf
Destroys one or more virtual functions.
solaris.ldoms.write
init-system
Configures one or more guest domains, the control domain, or both, by using an existing configuration.
solaris.ldoms.write
list-bindings
Lists server bindings for logical domains.
solaris.ldoms.read
list-constraints
Lists resource constraints for logical domains.
solaris.ldoms.read
list-devices
Lists devices for logical domains.
solaris.ldoms.read
list-domain
Lists logical domains and their states.
solaris.ldoms.read
list-hvdump
Lists hypervisor data collection property values.
solaris.ldoms.read
list-io
Lists I/O devices for logical domains.
solaris.ldoms.read
list-permits
Lists CPU core activation information.
solaris.ldoms.read
list-services
Lists services for logical domains.
solaris.ldoms.read
list-spconfig
Lists configurations for logical domains.
solaris.ldoms.read
list-variable
Lists variables for logical domains.
solaris.ldoms.read
migrate-domain
Migrates a logical domain from one machine to another.
solaris.ldoms.write
panic-domain
Panics the Oracle Solaris OS on a specified logical domain.
solaris.ldoms.write
remove-resource
Removes a resource from an existing logical domain. See RESOURCES for resource definitions.
solaris.ldoms.write
remove-domain
Deletes a logical domain.
solaris.ldoms.write
remove-policy
Removes a resource management policy from an existing logical domain.
solaris.ldoms.write
remove-spconfig
Removes a logical domain configuration from the service processor.
solaris.ldoms.write
remove-variable
Removes one or more variables from an existing logical domain.
solaris.ldoms.write
set-resource
Specifies a resource for an existing logical domain. This can be either a property change or a quantity change. This represents a quantity change when applied to the resources core, vcpu, memory, or crypto. For a quantity change, the subcommand becomes a dynamic or a delayed reconfiguration operation, where the quantity of the specified resource is assigned to the specified logical domain. If there are more resources assigned to the logical domain than are specified in this subcommand, some are removed. If there are fewer resources assigned to the logical domain than are specified in this subcommand, some are added. See RESOURCES for resource definitions.
solaris.ldoms.write
set-domain
Sets properties on a logical domain.
solaris.ldoms.write
set-hvdump
Sets property values for the hypervisor data collection process.
solaris.ldoms.write
set-io
Modifies a physical function or a virtual function.
solaris.ldoms.write
set-policy
Sets properties for a resource management policy to an existing logical domain.
solaris.ldoms.write
set-spconfig
Specifies a logical domain configuration to use.
solaris.ldoms.write
set-variable
Sets one or more variables for an existing logical domain.
solaris.ldoms.write
start-domain
Starts one or more logical domains.
solaris.ldoms.write
start-hvdump
Manually starts the hypervisor data collection process.
solaris.ldoms.write
start-reconf
Enters delayed reconfiguration mode on a root domain.
solaris.ldoms.write
stop-domain
Stops one or more running domains.
solaris.ldoms.write
unbind-domain
Unbinds or releases resources from a logical domain.
solaris.ldoms.write

Note - Not all subcommands are supported on all resources types.

Aliases

The following table shows the three kinds of aliases for ldm subcommands.

Alias Type
Short Form
Long Form
Action alias (verb)
ls
list
Action alias (verb)
rm
remove
Resource alias (noun)
config
spconfig
Resource alias (noun)
crypto
mau
Resource alias (noun)
dom
domain
Resource alias (noun)
mem
memory
Resource alias (noun)
var
variable
Resource alias (noun)
vcc
vconscon
Resource alias (noun)
vcons
vconsole
Resource alias (noun)
vdpcc
ndpsldcc
Resource alias (noun)
vdpcs
ndpsldcs
Resource alias (noun)
vds
vdiskserver
Resource alias (noun)
vdsdev
vdiskserverdevice
Resource alias (noun)
vsw
vswitch
Subcommand shortcut
bind
bind-domain
Subcommand shortcut
cancel-op
cancel-operation
Subcommand shortcut
create
add-domain
Subcommand shortcut
destroy
remove-domain
Subcommand shortcut
list
list-domain
Subcommand shortcut
migrate
migrate-domain
Subcommand shortcut
modify
set-domain
Subcommand shortcut
panic
panic-domain
Subcommand shortcut
start
start-domain
Subcommand shortcut
stop
stop-domain
Subcommand shortcut
unbind
unbind-domain

Note - In the syntax and examples in the remainder of this man page, the short forms of the action and resource aliases are used.

Resources

The following resources are supported:

core

CPU cores.

crypto

Any supported cryptographic unit on a supported server. Currently, the two cryptographic units supported are the Modular Arithmetic Unit (MAU) and the Control Word Queue (CWQ).

io

I/O devices, such as PCIe root complexes and their attached adapters and devices. Also direct I/O-assignable devices and PCIe SR-IOV virtual functions.

mem, memory

Default memory size in bytes. Or specify gigabytes (G), kilobytes (K), or megabytes (M). Virtualized memory of the server that can be allocated to guest domains.

vcc, vconscon

Virtual console concentrator service with a specific range of TCP ports to assign to each guest domain at the time it is created.

vcons, vconsole

Virtual console for accessing system-level messages. A connection is achieved by connecting to the vconscon service in the control domain at a specific port.

vcpu

Each virtual CPU represents one CPU thread of a server. For example, an 8-core Sun SPARC Enterprise T5120 server has 64 CPU threads (virtual CPUs) that can be allocated among the logical domains.

vdisk

Virtual disks are generic block devices backed by different types of physical devices, volumes, or files. A virtual disk is not synonymous with a SCSI disk and, therefore, excludes the target ID (tN) in the disk name. Virtual disks in a logical domain have the following format: cNdNsN, where cN is the virtual controller, dN is the virtual disk number, and sN is the slice.

vds, vdiskserver

Virtual disk server that allows you to export virtual disks to other logical domains.

vdsdev, vdiskserverdevice

Device exported by the virtual disk server. The device can be an entire disk, a slice on a disk, a file, or a disk volume.

vdpcc

Virtual data plane channel client. Only of interest in a Netra Data Plane Software (NDPS) environment.

vdpcs

Virtual data plane channel service. Only of interest in a Netra Data Plane Software (NDPS) environment.

vnet

Virtual network device that implements a virtual Ethernet device and communicates with other vnet devices in the system using the virtual network switch (vsw).

vsw, vswitch

Virtual network switch that connects the virtual network devices to the external network and also switches packets between them.

Options

The following table describes the ldm command options. The short form of the option is followed by the long form, if applicable.

–a
–-all
Operates on all of the operand types.
 
–-auto-adj

    Specifies that the add-memory, set-memory, and remove-memory subcommands align memory changes on a 256-Mbyte boundary. The behavior of the –-auto-adj option depends on the state of the affected domain.

  • Active domain. For dynamic reconfigurations, this option aligns the amount of memory to be added or removed to a 256-Mbyte boundary. The amount is rounded up for an add-memory operation and rounded down for a remove-memory operation. A set-memory operation is treated as either an add-memory or remove-memory operation. For any of these subcommands, the –-auto-adj option ensures that the resulting size of the domain's memory is greater than or equal to the requested size.

    For delayed reconfigurations, this option has the same behavior as a bound or inactive domain. A delayed reconfiguration can occur under the following conditions:

    • The domain initiates a delayed reconfiguration.

    • A delayed reconfiguration is outstanding in the domain.

  • Bound domain or inactive domain. This option aligns the resulting size of the domain by rounding up to the next 256-Mbyte boundary. This alignment occurs in add-memory, set-memory, and remove-memory operations.

–c number
–-core number
Deprecated option that performs the following discrete CPU operations:
  • Sets the allocation unit for the domain from threads to cores, if not already set, and sets the allocation to the specified number of cores.

  • If the domain is inactive, sets a cap on the number of cores that can be allocated to the domain when it is bound or active. A cap is set on the primary domain only if the domain is in a delayed reconfiguration mode.

If any allocation request results in more cores being assigned to a domain than is permitted by the cap, the command fails.
This option configures hard partitioning on your Oracle VM Server for SPARC system. See Configuring the System With Hard Partitions in Oracle VM Server for SPARC 3.1 Administration Guide .
You can change the allocation unit from cores to threads and remove the cap. Make these changes by issuing an add-vcpu, set-vcpu, or rm-vcpu command without the –c option on an inactive domain or on the primary domain that is in delayed reconfiguration mode.
Starting with the Oracle VM Server for SPARC 2.2 release, the CPU cap and the allocation of CPU cores is handled by separate commands. By using these commands you can independently allocate CPU cores, set a cap, or both. The allocation unit can be set to cores even when no cap is in place. However, running the system when no cap is in place is not acceptable for configuring hard partitioning on your Oracle VM Server for SPARC system.
  • Allocate the specified number of CPU cores to a domain by using the add-core, set-core, and rm-core subcommands.

  • Set the cap by using the create-domain or set-domain subcommand to specify the max-cores property value.

–e
–-extended
Generates an extended listing containing services and devices that are automatically set up, that is, not under your control.
–f
–-force
Attempts to force an operation.
–i file
–-input file
Specifies the XML configuration file to use in creating a logical domain.
–l
–-long
Generates a long listing.
–n
–-dry-run
For the migrate-domain subcommand: Makes a dry run of a migration to check to see if the migration will succeed. Does not actually migrate the domain.
–n number | max
 
For the create-vf and destroy-vf subcommands: Creates or destroys number virtual functions. If you specify max instead of number, the maximum number of virtual functions are created or destroyed for the specified physical function.
–o format
–-output format
Specifies one or more of the following formats for an ldm list command, depending on what you want to see: console, core, cpu, crypto, disk, domain, memory, network, physio, resmgmt, serial, and status. If you specify more than one format, delimit each format by a comma with no spaces.
–p
–-parseable
Generates a machine-readable version of the output.
–q
 
Disables the validation of network or disk back-end devices so that the command runs more quickly.
–r
 
For the add-spconfig, list-spconfig, and remove-spconfig subcommands: Performs a manual configuration recovery.
–r
–-reboot
For the init-system subcommand: Reboots the system after configuration.
–s
–-services-only
Restores only the virtual services configuration (vds, vcc, and vsw).
–S
 
Generates status information about CPU-related and memory-related resources. Status values are ok to indicate that the resource is operating normally and fail to indicate that the resource is faulty.
This status is only determined for CPU and memory resources on the Fujitsu M10 system. On all other platforms, the status field is only shown in parseable output when the –p option is used. The status on these platforms is always shown as status=NA.
–x file
–-xml file
Specifies that an XML file containing the constraints for the logical domain be written to standard output (stdout). Can be used as backup file.
–V
–-version
Displays version information.
 
–-help
Displays usage statements.

Properties


Note - You can use various ldm set-* commands to reset any property to its default value by specifying an empty value. For example, the following ldm set-policy command resets the attack property to its default value:
primary# ldm set-policy attack= name=high-policy ldom1

The following properties are supported:

alt-mac-addrs=auto|num1,[auto|num2,...]

Specifies a comma-separated list of alternate MAC addresses. Valid values are numeric MAC addresses and the auto keyword, which can be used one or more times to request that the system generate an alternate MAC address. The auto keyword can be mixed with numeric MAC addresses. The numeric MAC address must be in standard octet notation, for example, 80:00:33:55:22:66.

You can assign one or more alternate MAC addresses to create one or more virtual NIC (VNICs) on this device. Each VNIC uses one alternate MAC address, so the number of MAC addresses assigned determines the number of VNICs that can be created on this device. If no alternate MAC addresses are specified, attempts to create VNICs on this device fail. For more information, see the Oracle Solaris 11 networking documentation and Chapter 8, Using Virtual Networks, in Oracle VM Server for SPARC 3.1 Administration Guide .

attack=value

Specifies the maximum number of resources to be added during any one resource control cycle. If the number of available resources is less than the specified value, all of the available resources are added. By default, the attack is unlimited so that you can add as many CPU threads as are available. Valid values are from 1 to the number of free CPU threads on the system.

bw-percent=[value]

Specifies the percentage of the bandwidth to be allocated to the Fibre Channel virtual function. Valid values are from 0 to 100. The total bandwidth value assigned to a Fibre Channel physical function's virtual functions cannot exceed 100. The default value is 0 so that the virtual function gets a fair share of the bandwidth that is not already reserved by other virtual functions that share the same physical function.

cid=core-ID

Specifies the physical core IDs to assign to or remove from a domain. To remove all named cores, omit core-ID values for the cid property by running the ldm set-core cid= command.

The cid property should only be used by an administrator who is knowledgeable about the topology of the system to be configured. This advanced configuration feature enforces specific allocation rules and might affect the overall performance of the system.

cpu-arch=generic|native|migration-class1|sparc64-class1

Specifies one of the following values:

  • generic uses common CPU hardware features to enable a guest domain to perform a CPU-type-independent migration.

  • native uses CPU-specific hardware features to enable a guest domain to migrate only between platforms that have the same CPU type. native is the default value.

  • migration-class1 is a cross-CPU migration family for SPARC T4, SPARC T5, SPARC M5, and SPARC M6 platforms. The migration-class1 value has a greater number of instructions than the generic value, which is based on SPARC T4 instructions. Therefore, the migration-class1 value does not have a performance impact compared to the generic value.

    This value is not compatible with UltraSPARC T2, UltraSPARC T2 Plus, or SPARC T3 platforms, or Fujitsu M10 systems.

  • sparc64-class1 is a cross-CPU migration family for SPARC64 platforms. The sparc64-class1 value is based on SPARC64 instructions, so it has a greater number of instructions than the generic value. Therefore, the sparc64-class1 value does not have a performance impact compared to the generic value.

    This value is not compatible with UltraSPARC T2, UltraSPARC T2 Plus, SPARC T3, SPARC T4, SPARC T5, SPARC M5, or SPARC M6 platforms.

When setting the cpu-arch property, one consideration is performance versus flexibility.

Although the native value maximizes performance, the domain can be migrated only to another platform that has the same CPU type.

The generic value enables the domain to be migrated to any CPU type, but it might result in reduced performance compared to the native value because it can use only features or instructions that are available to all platforms. Also, some of the newer CPU types have the performance-improving features or instructions that are not used by the generic value.

The migration-class1 value balances performance and flexibility when migrating between newer platforms starting with the SPARC T4 platform. It has more CPU features, such as hardware cryptography instructions, and can be migrated to other CPU types as long as they are at least a SPARC T4. For more information, see Domain Migration Requirements for CPUs in Oracle VM Server for SPARC 3.1 Administration Guide .

Using the generic value might result in reduced performance compared to the native value. This occurs because the guest domain does not use some features that are only present in newer CPU types. By not using these features, the generic setting enables the flexibility of migrating the domain between systems that use newer and older CPU types.

decay=value

Specifies the maximum number of resources to be removed during any one resource control cycle. Only the number of currently bound CPU threads minus the value of vcpu-min can be removed even if the value specified by this property is larger. By default, the value is 1. Valid values are from 1 to the total number of CPU threads minus 1.

default-vlan-id=

Specifies the default virtual local area network (VLAN) to which a virtual network device or virtual switch needs to be a member, in tagged mode. The first VLAN ID (vid1) is reserved for the default-vlan-id.

elastic-margin=value

Specifies the amount of buffer space between util-lower and the number of free CPU threads to avoid oscillations at low CPU thread counts. Valid values are from 0 to 100. The default value is 5.

enable=yes|no

Enables or disables resource management for an individual domain. By default, enable=yes.

extended-mapin-space=on|off

Enables or disables extended mapin space for a domain. By default, extended-mapin-space=on.

The extended mapin space refers to the additional LDC shared memory space. This memory space is required to support a large number of virtual I/O devices that use direct-mapped shared memory. This extended mapin space is also used by virtual network devices to improve performance and scalability.

failure-policy=

Specifies the failure policy, which controls how a slave domain behaves when the master domain fails. This property is set on a master domain. The default value is ignore. Following are the valid property values:

  • ignore ignores failures of the master domain (slave domains are unaffected).

  • panic panics any slave domains when the master domain fails.

  • reset resets any slave domains when the master domain fails.

  • stop stops any slave domains when the master domain fails.

group=

Specifies a group to which to attach a console. The group argument allows multiple consoles to be multiplexed onto the same TCP connection.

hostid=

Specifies the host ID for a particular domain. If you do not specify a host ID, the Logical Domains Manager assigns a unique host ID to each domain.

hvdump=on|off

Enables or disables the hypervisor data collection process. The default value is on. This property only pertains to the Fujitsu M10 system.

hvdump-reboot=on|off

Enables or disables an automatic reboot after the hypervisor data collection process completes. The default value is off. This property only pertains to the Fujitsu M10 system.

id=

Specifies an ID for a new virtual disk device, virtual network device, and virtual switch device, respectively.

inter-vnet-link=on|off

Specifies whether to assign a channel between each virtual network device. The default value is on.

When inter-vnet-link=on, the Logical Domains Manager assigns a channel between each pair of virtual network devices that are connected to the same virtual switch for better guest-to-guest performance.

When inter-vnet-link=off, the Logical Domains Manager only assigns channels for communications between virtual network devices and virtual switches. In this case, guest-to-guest communications traffic goes through the virtual switch. This setting reduces the number of channels that are used for virtual network devices. Thus, the maximum number of virtual devices that you can add to the system is increased.

iov=on|off

Enables or disables I/O virtualization (direct I/O and SR-IOV) operations on the specified PCIe bus (root complex). When enabled, I/O virtualization is supported for devices in that bus. The default value is off.

linkprop=phys-state

Specifies whether the virtual device reports its link status based on the underlying physical network device. When linkprop=phys-state is specified on the command line, the virtual device link status reflects the physical link state. By default, the virtual device link status does not reflect the physical link state.

log=[on|off]

Enables or disables virtual console logging. Valid values are on to enable logging, off to disable logging, and a null value (log=) to reset to the default value. The default value is on.

Log data is saved to a file called /var/log/vntsd/domain-name/console-log on the service domain that provides the virtual console concentrator service. Console log files are rotated by using the logadm command. See the logadm(1M) and logadm.conf(4) man pages.

You can enable virtual console logging for any guest domain that runs the Oracle Solaris 10 OS or Oracle Solaris 11 OS. The service domain must run the Oracle Solaris 11.1 OS.

mac-addr=

Defines a MAC address. The number must be in standard octet notation, for example, 80:00:33:55:22:66.

master=

Specifies the name of up to four master domains for a slave domain. This property is set on a slave domain. By default, there are no masters for the domain. The domain must already exist prior to an ldm add-domain operation.


Note - The Logical Domains Manager does not permit you to create domain relationships that result in a dependency cycle.
maxbw=value

Specifies the maximum bandwidth limit for the specified port in megabits per second. This limit ensures that the bandwidth from the external network (specifically the traffic that is directed through the virtual switch) does not exceed the specified value. This bandwidth limit does not apply to the traffic on the inter-vnet links. You can set the bandwidth limit to any high value. The value is ignored when it is higher than the bandwidth supported by the network back-end device.

max-cores=num|unlimited

Specifies the maximum number of cores that are permitted to be assigned to a domain. If the value is unlimited, there is no constraint on the number of CPU cores that can be allocated.

mblock=PA-start:size

Specifies one or more physical memory blocks to assign to or remove from a domain. PA-start specifies the starting physical address of the memory block in hexadecimal format. size is the size of the memory block, including a unit, to be assigned to or removed from the domain. To remove all named memory blocks, omit PA-start:size values from the mblock property by running the ldm set-memory mblock= command.

The mblock property should only be used by an administrator who is knowledgeable about the topology of the system to be configured. This advanced configuration feature enforces specific allocation rules and might affect the overall performance of the system.

mode=

For add-vsw and set-vsw subcommands:

Omit this option when you are not running Oracle Solaris Cluster software in guest domains because you could impact virtual network performance.

    Otherwise, specify one of the following:

  • Set mode=sc to enable virtual networking support for prioritized processing of Oracle Solaris Cluster heartbeat packets in a Logical Domains environment.

  • Leave the mode= argument blank in the set-vsw subcommand to stop special processing of heartbeat packets.

For add-vnet and set-vnet subcommands:

Omit this option when you do not want to use NIU Hybrid I/O.

mpgroup=

Defines the multipath group name for several virtual disk server devices (vdsdev). So, when a virtual disk cannot communicate with a virtual disk server device, a failover is initiated to another virtual disk server device in the multipath group.

mtu=

Specifies the maximum transmission unit (MTU) of a virtual switch, virtual network devices that are bound to the virtual switch, or both. Valid values are in the range of 1500-16000. The ldm command issues an error if an invalid value is specified.

name=policy-name

Specifies the resource management policy name.

net-dev=

Defines the path name of the actual network device.

node-wwn=value

Specifies the node world-wide name for the Fibre Channel virtual function. Valid values are non-zero. By default, this value is allocated automatically. If you manually specify this value, you must also specify a value for the port-wwn property.

The IEEE format is a two-byte header followed by an embedded MAC-48 or EUI-48 address that contains the OUI. The first two bytes are either hexadecimal 10:00 or 2x:xx where x is vendor-specified) followed by the three-byte OUI and three-byte vendor-specified serial number.

options=

Specifies all or a subset of the following options for a specific virtual disk server device. Separate two or more options with commas and no spaces, such as ro,slice,excl.

  • ro – Specifies read-only access

  • slice – Exports a back end as a single slice disk

  • excl – Specifies exclusive disk access

Omit the options= argument or leave it blank in an add-vdsdev subcommand to have the default values of disk, not exclusive, and read/write. Leave the options= argument blank in the set-vdsdev subcommand to turn off any previous options specified.

port=

Specifies a specific port number or, left blank, lets the Logical Domains Manager set the port number.

port-range=

Defines a range of TCP ports.

port-wwn=value

Specifies the port world-wide name for the Fibre Channel virtual function. Valid values are non-zero. By default, this value is allocated automatically. If you manually specify this value, you must also specify a value for the node-wwn property.

The IEEE format is a two-byte header followed by an embedded MAC-48 or EUI-48 address that contains the OUI. The first two bytes are either hexadecimal 10:00 or 2x:xx where x is vendor-specified) followed by the three-byte OUI and three-byte vendor-specified serial number.

priority=value

Specifies a priority for dynamic resource management (DRM) policies. Priority values are used to determine the relationship between DRM policies in a single domain and between DRM-enabled domains in a single system. Lower numerical values represent higher (better) priorities. Valid values are between 1 and 9999. The default value is 99.

    The behavior of the priority property depends on whether a pool of free CPU resources is available, as follows:

  • Free CPU resources are available in the pool. In this case, the priority property determines which DRM policy will be in effect when more than one overlapping policy is defined for a single domain.

  • No free CPU resources are available in the pool. In this case, the priority property specifies whether a resource can be dynamically moved from a lower-priority domain to a higher-priority domain in the same system. The priority of a domain is the priority specified by the DRM policy that is in effect for that domain.

    For example, a higher-priority domain can acquire CPU resources from another domain that has a DRM policy with a lower priority. This resource-acquisition capability pertains only to domains that have DRM policies enabled. Domains that have equal priority values are unaffected by this capability. So, if the default priority is used for all policies, domains cannot obtain resources from lower-priority domains. To take advantage of this capability, adjust the priority property values so that they have unequal values.

pvid=

Specifies the VLAN to which the virtual network device needs to be a member, in untagged mode.

rc-add-policy=[iov]]

Specifies whether to enable or disable the direct I/O and SR-IOV I/O virtualization operations on any root complex that might be added to the specified domain. Valid values are iov and no value (rc-add-policy=). When rc-add-policy=iov, the direct I/O and SR-IOV features are enabled for a root complex that is being added. When rc-add-policy=, the iov property value is cleared to disable the I/O virtualization features for the root complex (unless you explicitly set iov=on by using the add-io command). The default value is no value.

sample-rate=value

Specifies the cycle time, in seconds, which is the sample rate for DRM. Valid values are from 1 to 9999. The default and recommended value is 10.

service=

Specifies the name of the existing virtual console concentrator that you want to handle the console connection.

shutdown-group=num

Specifies the shutdown group number for a domain. This value is used by the SP on a Fujitsu M10 system when an ordered shutdown is performed.

When the SP initiates an ordered shutdown, domains are shut down in descending order of their shutdown group number. That is, the domain with the highest number is shut down first, and the domain with the lowest number is shut down last. When more than one domain shares a shutdown group number, the domains shut down concurrently. If a master domain and a slave domain share a shutdown group number, the domains shut down concurrently even though a master-slave relationship exists. Therefore, when establishing a dependency relationship between a master domain and a slave domain, assign a different shutdown group number for each domain.

Valid values are from 1 to 15. The control domain's shutdown group number is zero (0) and cannot be changed. The default value for any other domain is 15.

For the new shutdown-group property values to take effect, you must use the ldm add-spconfig command to save the configuration to the SP.

This property pertains only to the Fujitsu M10 system.

threading=max-ipc|max-throughput

The threading property specifies the workflow throughput of the domain. However, using this property is deprecated in favor of relying on the Critical Threads API, which is automatically enabled. See Complete Power.

    The following are valid values for the threading property:

  • max-ipc. Only one thread is active for each CPU core that is assigned to the domain, which maximizes the number of instructions per cycle. Selecting this mode requires that the domain is also configured with the whole-core constraint. See the add-core, set-core, add-domain, and set-domain subcommand descriptions.

  • max-throughput. Activates all threads that are assigned to the domain, which maximizes throughput. This mode is used by default and is also selected if you do not specify any mode (threading=).

timeout=

Defines the number of seconds for establishing a connection between a virtual disk client (vdc) and a virtual disk server (vds). If there are multiple virtual disk (vdisk) paths, then the vdc can try to connect to a different vds, and the timeout ensures that a connection to any vds is established within the specified amount of time. Specify 0 to disable the timeout in the set-vdisk subcommand.

tod-begin=hh:mm[:ss]

Specifies the effective start time of a policy in terms of hour, minute, and optional second. This time must be earlier than the time specified by tod-end in a period that begins at midnight and ends at 23:59:59. The default value is 00:00:00.

tod-end=hh:mm[:ss]

Specifies the effective stop time of a policy in terms of hour, minute, and optional second. This time must be later than the time specified by tod-begin in a period that begins at midnight and ends at 23:59:59. The default value is 23:59:59.

util-lower=percent

Specifies the lower utilization level at which policy analysis is triggered. Valid values are from 1 to util-upper minus 1. The default value is 60.

util-upper=percent

Specifies the upper utilization level at which policy analysis is triggered. Valid values are from util-lower plus 1 to 99. The default value is 85.

uuid=uuid

Specifies the universally unique identifier (UUID) for the domain. uuid is a hexadecimal string, such as 12345678-1234-abcd-1234-123456789abc, which consists of five hexadecimal numbers separated by dashes. Each number must have the specified number of hexadecimal digits: 8, 4, 4, 4, and 12, as follows:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
vcpu-max=value

Specifies the maximum number of CPU thread resources for a domain. By default, the maximum number of CPU threads is unlimited. Valid values are from vcpu-min plus 1 to the total number of free CPU threads on the system.

vcpu-min=value

Specifies the minimum number of CPU thread resources for a domain. Valid values are from 1 to vcpu-max minus 1. The default value is 1.

vid=

Specifies the VLAN to which a virtual network device or virtual switch needs to be a member, in tagged mode.

volume=

Changes a volume name for a virtual disk.

vswitch=

Changes a virtual switch name for a virtual network.

Flags in list Subcommand Output

The following flags can be shown in the output for a domain (ldm list). If you use the long, parseable options (–l –p) for the command, the flags are spelled out; for example, flags=normal,control,vio-service. If not, you see the letter abbreviation; for example -n-cv-. The list flag values are position dependent. Following are the values that can appear in each of the six columns from left to right.

Subcommand Usage

Subcommand Usage

This section contains descriptions of every supported command-line interface (CLI) operation, that is, every subcommand and resource combination.

Add, Set, Remove, and Migrate Domains

Add Domains

This subcommand adds one or more logical domains by specifying one or more logical domain names or by using an XML configuration file. You can also specify property values to customize the domain, such as the MAC address, the host ID, a list of master domains, and a failure policy. If you do not specify these property values, the Logical Domains Manager automatically assigns default values.

ldm add-dom -i file
ldm add-dom [cpu-arch=generic|native|migration-class1|sparc64-class1] [mac-addr=num] 
  [hostid=num] [failure-policy=ignore|panic|reset|stop] [extended-mapin-space=off]
  [master=master-ldom1,...,master-ldom4] [max-cores=[num|unlimited]]
  [uuid=uuid] [threading=max-ipc] [shutdown-group=num] [rc-add-policy=[iov]]
  ldom
ldm add-dom ldom...
Set Options for Domains

This subcommand enables you to modify only the mac-addr, hostid, failure-policy, extended-mapin-space, master, max-cores, and threading properties of each domain. You cannot use this command to update resource properties.


Note - If the slave domain is bound, all of its specified master domains must also be bound prior to invoking the ldm set-domain command.
ldm set-dom -i file
ldm set-dom [cpu-arch=generic|native|migration-class1|sparc64-class1] [mac-addr=num] 
  [hostid=num] [failure-policy=ignore|panic|reset|stop] [extended-mapin-space=[on|off]]
  [master=[master-ldom1,...,master-ldom4]] [max-cores=[num|unlimited]] 
  [threading=[max-throughput|max-ipc]] [shutdown-group=num] [rc-add-policy=[iov]]
  ldom
Remove Domains

This subcommand removes one or more logical domains.

ldm rm-dom -a
ldm rm-dom ldom...
Migrate Logical Domains

This subcommand migrates a domain from one location to another.

ldm migrate-domain [-f] [-n] [-p filename] source-ldom [user@]target-host[:target-ldom]

Reconfiguration Operations

See Resource Reconfiguration in Oracle VM Server for SPARC 3.1 Administration Guide for more information about dynamic reconfiguration and delayed reconfiguration.

CPU Operations

You can allocate either CPU threads or CPU cores to a domain. To allocate CPU threads, use the add-vcpu, set-vcpu, and remove-vcpu subcommands. To allocate CPU cores, use the add-core, set-core, and remove-core subcommands.

Add CPU Threads

This subcommand adds the specified number of CPU threads or CPU cores to a logical domain. Note that a domain cannot be configured simultaneously with CPU cores and CPU threads. CPU core configurations and CPU thread configurations are mutually exclusive.

ldm add-vcpu [-c] number ldom
Set CPU Threads

This subcommand specifies the number of CPU threads or CPU cores to be set in a logical domain. Note that a domain cannot be configured simultaneously with CPU cores and CPU threads. CPU core configurations and CPU thread configurations are mutually exclusive.

ldm set-vcpu [-c] number ldom
Remove CPU Threads

This subcommand removes the specified number of CPU threads or CPU cores from a logical domain. Note that a domain cannot be configured simultaneously with CPU cores and CPU threads. CPU core configurations and CPU thread configurations are mutually exclusive.

ldm rm-vcpu [-c] number ldom
Add CPU Cores

This subcommand adds the specified number of CPU cores to a domain. When you specify the number of CPU cores, the cores to be assigned are automatically selected. However, when you specify a core-ID value to the cid property, the specified cores are explicitly assigned.

The cid property should only be used by an administrator who is knowledgeable about the topology of the system to be configured. This advanced configuration feature enforces specific allocation rules and might affect the overall performance of the system.

ldm add-core num ldom
ldm add-core cid=core-ID[,core-ID[,...]] ldom
Set CPU Cores

This subcommand specifies the number of CPU cores to assign to a domain. When you specify the number of CPU cores, the cores to be assigned are automatically selected. However, when you specify a core-ID value to the cid property, the specified cores are explicitly assigned.

ldm set-core num ldom
ldm set-core cid=[core-ID[,core-ID[,...]]] ldom
Remove CPU Cores

This subcommand specifies the number of CPU cores to remove from a domain. When you specify the number of CPU cores, the cores to be removed are automatically selected. However, when you specify a core-ID value to the cid property, the specified cores are explicitly removed.

ldm remove-core [-f] num ldom
ldm remove-core cid=[core-ID[,core-ID[,...]]] ldom

Cryptographic Unit Operations

The cryptographic unit subcommands only pertain to SPARC platforms that have discrete cryptographic units. Newer platforms, starting with the SPARC T4 platform, have integrated cryptographic instructions and do not use discrete cryptographic units.

Add Cryptographic Units

This subcommand specifies the number of cryptographic units to be added to a logical domain. Currently, the supported cryptographic units on supported servers are the Modular Arithmetic Unit (MAU) and the Control Word Queue (CWQ).

ldm add-crypto number ldom
Set Cryptographic Units

This subcommand specifies the number of cryptographic units to be set in a logical domain. If you want to remove all cryptographic units from an active domain, you must specify the –f option.

ldm set-crypto [-f] number ldom
Remove Cryptographic Units

This subcommand removes the specified number of cryptographic units from a logical domain. If you want to remove all cryptographic units from an active domain, you must specify the –f option.

ldm rm-crypto [-f] number ldom

Memory Operations

Add Memory

This subcommand adds the specified amount of memory to a domain. When you specify a memory block size, the memory block to be assigned is automatically selected. However, when you specify a PA-start:size value to the mblock property, the specified memory blocks are explicitly assigned.

The mblock property should only be used by an administrator who is knowledgeable about the topology of the system to be configured. This advanced configuration feature enforces specific allocation rules and might affect the overall performance of the system.

ldm add-mem [--auto-adj] size[unit] ldom
ldm add-mem mblock=PA-start:size[,PA-start:size[,...]] ldom
Set Memory

This subcommand sets a specific amount of memory in a domain. Depending on the amount of memory specified, this subcommand is treated as an add-memory or remove-memory operation.

When you specify a memory block size, the memory block to be assigned is automatically selected. However, when you specify a PA-start:size value to the mblock property, the specified memory blocks are explicitly assigned.

ldm set-mem [--auto-adj] size[unit] ldom
ldm set-mem mblock=PA-start:size[,PA-start:size[,...]] ldom
Remove Memory

This subcommand removes the specified amount of memory from a logical domain. When you specify a memory block size, the memory block to be removed is automatically selected. However, when you specify a PA-start:size value to the mblock property, the specified memory blocks are explicitly removed.

ldm rm-mem [--auto-adj] size[unit] ldom
ldm rm-mem mblock=PA-start:size[,PA-start:size[,...]] ldom

Enter Delayed Reconfiguration Mode

This subcommand enables the domain to enter delayed reconfiguration mode. Only root domains support delayed reconfiguration.


Note - When a non-primary root domain is in a delayed reconfiguration, you can perform only the add-io, set-io, rm-io, create-vf, and destroy-vf operations.
ldm start-reconf ldom

Cancel a Delayed Reconfiguration Operation

This subcommand cancels a delayed reconfiguration. Only root domains support delayed reconfiguration.

ldm cancel-reconf ldom

Cancel Operations

This subcommand cancels a delayed reconfiguration (reconf), memory dynamic reconfiguration removal (memdr), or domain migration (migration) for a logical domain. Only root domains support the reconf operation.

ldm cancel-op migration ldom
ldm cancel-op reconf ldom
ldm cancel-op memdr ldom

Input/Output Devices

Add Input/Output Device

This subcommand attempts to dynamically add a PCIe bus, device, or virtual function to the specified logical domain. If the domain does not support dynamic configuration, the command fails, and you must initiate a delayed reconfiguration or stop the domain before you can add the device.

If you add a root complex to the root domain when iov=off, you cannot successfully use the create-vf, destroy-vf, add-io, or rm-io subcommand to assign direct I/O and SR-IOV devices.

ldm add-io [iov=on|off] bus ldom
ldm add-io (device | vf-name) ldom
Set a Property for a Virtual Function

This subcommand modifies the current configuration of a virtual function by changing the property values or by passing new properties. This command can modify both the class-specific properties and the device-specific properties.

ldm set-io name=value [name=value...] pf-name
ldm set-io iov=on|off bus
ldm set-io [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]] 
  [pvid=[pvid]] [vid=[vid1,vid2,...]] [mtu=size] [name=value...] net-vf-name
ldm set-io name=[value...] ib-pf-name
ldm set-io [bw-percent=[value]] [port-wwn=value node-wwn=value] fc-vf-name
Set a Property for a Physical Function

This subcommand modifies the physical function configuration. Only the physical function device-specific properties are supported. Any change to the properties causes a delayed reconfiguration because the properties are applied during the attach operation of the physical function device driver.

The property values must be an integer or a string. Run the ldm list-io -d command to determine the property value type and whether a particular property can be set.

Note that the ldm set-io command succeeds only when the physical function driver successfully validates the resulting configuration.

ldm set-io name=value [name=value...] pf-name
Remove Input/Output Device

This subcommand removes a PCIe bus, device, or virtual function from a specified domain.

ldm rm-io [-n] (bus | device | vf-name) ldom

Virtual Network Server

Add a Virtual Switch

This subcommand adds a virtual switch to a specified logical domain.

ldm add-vsw [-q] [default-vlan-id=VLAN-ID] [pvid=port-VLAN-ID] [vid=VLAN-ID1,VLAN-ID2,...] 
  [linkprop=phys-state] [mac-addr=num] [net-dev=device] [mode=sc] [mtu=size]
  [id=switch-ID] [inter-vnet-link=on|off] vswitch-name ldom
Set Options for a Virtual Switch

This subcommand modifies the properties of a virtual switch that has already been added.

ldm set-vsw [-q] [pvid=port-VLAN-ID] [vid=VLAN-ID1,VLAN-ID2,...] [mac-addr=num]
  [net-dev=device] [linkprop=[phys-state]] [mode=[sc]] [mtu=size]
  [inter-vnet-link=[on|off]] vswitch-name
Remove a Virtual Switch

This subcommand removes a virtual switch.

ldm rm-vsw [-f] vswitch-name

Virtual Network – Client

Add a Virtual Network Device

This subcommand adds a virtual network device to the specified logical domain.

ldm add-vnet [mac-addr=num] [mode=hybrid] [alt-mac-addrs=auto|num1[,auto|num2,...]]
  [pvid=port-VLAN-ID] [vid=VLAN-ID1,VLAN-ID2,...] [linkprop=phys-state] [id=network-ID] [mtu=size]
  [maxbw=value] if-name vswitch-name ldom
Set Options for a Virtual Network Device

This subcommand sets options for a virtual network device in the specified logical domain.

ldm set-vnet [mac-addr=num] [vswitch=vswitch-name] [mode=[hybrid]] 
  [alt-mac-addrs=auto|num1[,auto|num2,...]] [vid=VLAN-ID1,VLAN-ID2,...] [pvid=port-VLAN-ID]
  [linkprop=[phys-state]] [mtu=size] [maxbw=[value]] if-name ldom
Remove a Virtual Network Device

This subcommand removes a virtual network device from the specified logical domain.

ldm rm-vnet [-f] if-name ldom

Virtual Disk – Service

Add a Virtual Disk Server

This subcommand adds a virtual disk server to the specified logical domain.

ldm add-vds service-name ldom
Remove a Virtual Disk Server

This subcommand removes a virtual disk server.

ldm rm-vds [-f] service-name

Caution - The –f option attempts to unbind all clients before removal, which might cause loss of disk data if writes are in progress.


Add a Device to a Virtual Disk Server

This subcommand adds a device to a virtual disk server. The device can be an entire disk, a slice on a disk, a file, or a disk volume. See Chapter 7, Using Virtual Disks, in Oracle VM Server for SPARC 3.1 Administration Guide .

ldm add-vdsdev [-f] [-q] [options={ro,slice,excl}] [mpgroup=mpgroup] backend
  volume-name@service-name
Set Options for a Virtual Disk Server Device

This subcommand sets options for a virtual disk server. See the Oracle VM Server for SPARC 3.1 Administration Guide .

ldm set-vdsdev [-f] options=[{ro,slice,excl}] [mpgroup=mpgroup]
  volume-name@service-name
Remove a Device From a Virtual Disk Server

This subcommand removes a device from a virtual disk server.

ldm rm-vdsdev [-f] volume-name@service-name

Caution - Without the –f option, the rm-vdsdev subcommand does not allow a virtual disk server device to be removed if the device is busy. Using the –f option can cause data loss for open files.


Virtual Disk – Client

Add a Virtual Disk

This subcommand adds a virtual disk to the specified logical domain. An optional timeout property allows you to specify a timeout for a virtual disk if it cannot establish a connection with the virtual disk server.

ldm add-vdisk [timeout=seconds] [id=disk-ID] disk-name volume-name@service-name ldom
Set Options for a Virtual Disk

This subcommand sets options for a virtual disk in the specified logical domain. An optional timeout property allows you to specify a timeout for a virtual disk if it cannot establish a connection with the virtual disk server.

ldm set-vdisk [timeout=seconds] [volume=volume-name@service-name] disk-name ldom
Set Options for a Virtual Disk

This subcommand removes a virtual disk from the specified logical domain.

ldm rm-vdisk [-f] disk-name ldom

Virtual Data Plane Channel – Service

Add a Virtual Data Plane Channel Service

This subcommand adds a virtual data plane channel service to the specified logical domain. This subcommand should only be used in a Netra Data Plane Software (NDPS) environment.

ldm add-vdpcs vdpcs-service-name ldom
Remove a Virtual Data Plane Channel Service

This subcommand removes a virtual data plane channel service. This subcommand should only be used in a Netra Data Plane Software (NDPS) environment.

ldm rm-vdpcs [-f] vdpcs-service-name

Virtual Data Plane Channel – Client

Add a Virtual Data Plane Channel Client

This subcommand adds a virtual data plane channel client to the specified logical domain. This subcommand should only be used in a Netra Data Plane Software (NDPS) environment.

ldm add-vdpcc vdpcc-name vdpcs-service-name ldom
Remove a Virtual Data Plane Channel Client

This subcommand removes a virtual data plane channel client from the specified logical domain. This subcommand should only be used in a Netra Data Plane Software (NDPS) environment.

ldm rm-vdpcc [-f] vdpcc-name ldom

Virtual Console

Add a Virtual Console Concentrator

This subcommand adds a virtual console concentrator to the specified logical domain.

ldm add-vcc port-range=x-y vcc-name ldom
Set Options for a Virtual Console Concentrator

This subcommand sets options for a specific virtual console concentrator.

ldm set-vcc port-range=x-y vcc-name
Remove a Virtual Console Concentrator

This subcommand removes a virtual console concentrator from the specified logical domain.

ldm rm-vcc [-f] vcc-name

Caution - The –f option attempts to unbind all clients before removal, which might cause loss of data if writes are in progress.


Set Options for a Virtual Console

This subcommand sets a specific port number and group in the specified logical domain. You can also set the attached console's service. This subcommand can be used only when a domain is inactive.

ldm set-vcons [port=[port-num]] [group=group] [service=vcc-server] 
  [log=[on|off]] ldom

Physical Functions and Virtual Functions

Virtual Functions

The PCIe single-root I/O virtualization (SR-IOV) standard enables the efficient sharing of PCIe devices among I/O domains. This standard is implemented in the hardware to achieve near-native I/O performance. SR-IOV creates a number of virtual functions that are virtualized instances of the physical device or function. The virtual functions are directly assigned to I/O domains so that they can share the associated physical device and perform I/O without CPU and hypervisor overhead.

PCIe physical functions have complete access to the hardware and provide the SR-IOV capability to create, configure, and manage virtual functions. A PCIe component on the system board or a PCIe plug-in card can provide one or more physical functions. An Oracle Solaris driver interacts with the physical functions that provide access to the SR-IOV features.

PCIe virtual functions contain the resources that are necessary for data movement. An I/O domain that has a virtual function can access hardware and perform I/O directly by means of an Oracle Solaris virtual function driver. This behavior avoids the overhead and latency that is involved in the virtual I/O feature by removing any bottlenecks in the communication path between the applications that run in the I/O domain and the physical I/O device in the root domain.

Some of these commands require that you specify an identifier for a physical function or virtual function as follows:

pf-name ::= pf-pseudonym | pf-path
vf-name ::= vf-pseudonym | vf-path

Use the pseudonym form when referring to a corresponding device. This is the form of the name that is shown in the NAME column of the ldm list-io output. When you run the ldm list-io -l command, the path form of the name appears in the output. The ldm list-io -p output shows the pseudonym form as the value of the alias= token and the path form as the value of the dev= token.

Create a Virtual Function

This subcommand creates a virtual function from a specified physical function by incrementing the number of virtual functions in the specified physical function by one. The new virtual function is assigned the highest number in the sequence of virtual function numbers.

To dynamically create virtual functions, ensure that you set the iov property for the parent root complex.

Network class virtual functions must have a MAC address assigned, which is assigned by default. To override the default MAC address value, specify another value for the mac-addr property.

You can also set class-specific properties and device-specific properties when you create a virtual function. This command succeeds only when the physical function driver successfully validates the resulting configuration. By default, a new virtual function is not assigned to any domain. The virtual function can only be assigned (bound) to an I/O domain after the root domain is rebooted and the virtual function is instantiated in the hardware. Plan ahead by determining whether you want to create multiple virtual functions. If you do, create them one after the other to avoid performing multiple reboots.

The device-specific properties depend on the properties that are exported by the physical function driver. For more information, use the ldm list-io -d command. When the command is successful, you see a message about a delayed reconfiguration.

ldm create-vf -n number | max pf-name
ldm create-vf [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]] [pvid=pvid]
  [vid=vid1,vid2,...] [mtu=size] [name=value...] net-pf-name
ldm create-vf [name=value...] ib-pf-name
ldm create-vf [port-wwn=value node-wwn=value] [bw-percent=[value]] fc-pf-name
Destroy a Virtual Function
ldm destroy-vf vf-name
ldm destroy-vf -n number | max pf-name

Variables

Add Variable

This subcommand adds one or more variables for a logical domain.

ldm add-var var-name=[value]... ldom
Set Variable

This subcommand sets variables for a logical domain.

ldm set-var var-name=[value]... ldom

Note - Leaving value blank, sets var-name to no value.
Remove Variable

This subcommand removes a variable for a logical domain.

ldm rm-var var-name... ldom

Other Operations

Start Domains

This subcommand starts one or more logical domains.

ldm start -a
ldm start -i file
ldm start ldom...
Stop Domains

By default, the command first attempts to use shutdown to stop the domain. However, if the appropriate Logical Domains agent is not available, the command uses uadmin to stop the domain. See the shutdown(1M) and uadmin(1M) man pages.

You can change this default behavior by setting the ldmd/default_quick_stop SMF property. See the ldmd(1M) man page.

ldm stop-domain [[-f | -q] | [[-h | -r | -t sec] [-m msg]]] (-a | ldom...)

To perform a graceful Oracle Solaris shutdown on a domain that is not running the supporting Logical Domains agent version, perform a shutdown or init operation in the domain itself. See the init(1M) man page. To determine whether a domain is running a version of the Logical Domains agent that supports graceful shutdown, run the ldm stop -h command, which only executes a graceful shutdown.

Panic Oracle Solaris OS

This subcommand panics the Oracle Solaris OS on a specified logical domain, which provides a back trace and crash dump if you configure the Oracle Solaris OS to do that. The dumpadm(1M) command provides the means to configure the crash dump.

ldm panic ldom

ldom specifies the logical domain to panic.

Provide Help Information

This subcommand provides usage for all subcommands or the subcommand that you specify. You can also use the ldm command alone to provide usage for all subcommands.

ldm --help [subcommand]

subcommand specifies the ldm subcommand about which you want usage information.

Provide Version Information

This subcommand provides version information.

ldm --version
ldm -V
Bind Resources to a Domain

This subcommand binds, or attaches, configured resources to a logical domain.

ldm bind-dom [-f] [-q] -i file
ldm bind-dom [-f] [-q] ldom
Unbind Resources From a Domain

This subcommand releases resources bound to configured logical domains.

ldm unbind-dom ldom

ldom specifies the logical domain from which to unbind resources.

Configure Operations

Add a Logical Domain Configuration

This subcommand adds a logical domain configuration, either based on the currently active configuration or on a previously autosaved configuration. The configuration is stored on the SP.

ldm add-spconfig config-name
ldm add-spconfig -r autosave-name [new-config-name]
Set a Logical Domain Configuration

This subcommand enables you to specify the logical domain configuration to use at the next system power cycle. The configuration is stored on the SP.

ldm set-spconfig config-name

config-name is the name of the logical domain configuration to use.

The default configuration name is factory-default. To specify the default configuration, use the following:

ldm set-spconfig factory-default
Remove a Logical Domain Configuration

This subcommand removes a logical domain configuration that is stored on the SP, as well as any corresponding autosave configuration from the control domain.

ldm rm-spconfig [-r] config-name

List Operations

List Domains and States

This subcommand lists logical domains and their states. If you do not specify a logical domain, all logical domains are listed.

ldm ls-dom [-e] [-l] [-o format] [-p] [-S] [ldom...]
List Bindings for Domains

This subcommand lists bindings for logical domains. If no logical domains are specified, all logical domains are listed.

If you specify the name of a domain, any alternate MAC addresses for a virtual network device are shown after the MAC address of the control domain. The following command shows the three alternate MAC addresses for vnet1 on the ldg1 domain:

primary# ldm ls-bindings ldg1
...
NETWORK
NAME  SERVICE              ID DEVICE    MAC               MODE PVID VID MTU LINKPROP
vnet1 primary-vsw0@primary 0  network@0 00:14:4f:f8:0c:80      1        1500
                                        00:14:4f:fa:3a:f9
                                        00:14:4f:f9:06:ab
                                        00:14:4f:fb:3d:af

PEER                 MAC               MODE PVID VID MTU LINKPROP
primary-vsw0@primary 00:14:4f:fa:94:60      1        1500
vnet2@ldg2           00:14:4f:f9:38:d1      1        1500
vnet3@ldg3           00:14:4f:fa:60:27      1        1500
vnet4@ldg4           00:14:4f:f8:0f:41      1        1500
...

The following command shows the three alternate MAC addresses for vnet1 on the ldg1 domain in parseable output:

primary# ldm ls-bindings -p ldg1
...
VNET|name=vnet1|dev=network@0|service=primary-vsw0@primary|mac-addr=00:14:4f:f8:0c:80
  |mode=|pvid=1|vid=|mtu=1500|linkprop=|id=0
|alt-mac-addr=00:14:4f:fa:3a:f9,00:14:4f:f9:06:ab,00:14:4f:fb:3d:af
|peer=primary-vsw0@primary|mac-addr=00:14:4f:fa:94:60|mode=|pvid=1|vid=|mtu=1500
|peer=vnet2@ldg2|mac-addr=00:14:4f:f9:38:d1|mode=|pvid=1|vid=|mtu=1500|linkprop=
|peer=vnet3@ldg3|mac-addr=00:14:4f:fa:60:27|mode=|pvid=1|vid=|mtu=1500|linkprop=
|peer=vnet4@ldg4|mac-addr=00:14:4f:f8:0f:41|mode=|pvid=1|vid=|mtu=1500|linkprop=
...
ldm ls-bindings [-e] [-p] [ldom...]
List Services for Domains

This subcommand lists all the services exported by logical domains. If no logical domains are specified, all logical domains are listed.

ldm ls-services [-e] [-p] [ldom...]
List Constraints for Domains

This subcommand lists the constraints for the creation of one or more logical domains. If no logical domains are specified, all logical domains are listed.

Any resource that has been evacuated from the physical domain by a recovery mode operation has an asterisk (*) in front of its resource identifier.

ldm ls-constraints [-x] [ldom...]
ldm ls-constraints [-e] [-p] [ldom...]
List CPU Core Activation Information

This subcommand lists CPU core activation information on the Fujitsu M10 system. The PERMITS column shows the total number of CPU core activations that have been issued. This total includes all permanent CPU core activations and pay-per-use CPU core activations. A permanent CPU core activation is a permit for a resource that can be used for an unlimited amount of time. A pay-per-use CPU core activation is a permit for a resource that can be used for a limited amount of time. The number of issued permanent CPU core activations is shown in the PERMANENT column. The IN USE column shows the number of issued CPU core activations that are in use. The REST column shows the number of CPU core activations that are available for use.

ldm ls-permits
List Devices

This subcommand lists either free (unbound) resources or all server resources. The default is to list all free resources.

ldm ls-devices [-a] [-p] [-S] [core] [cpu] [crypto] [memory] [io]

Note that resource IDs might have gaps in their numbering. The following example indicates that core 2 is unavailable or might have been disabled:

# ldm ls-devices -a core
CORE
     ID      %FREE   CPUSET
     0       0      (0, 1, 2, 3, 4, 5, 6, 7)
     1       100    (8, 9, 10, 11, 12, 13, 14, 15)
     3       100    (24, 25, 26, 27, 28, 29, 30, 31)
     4       100    (32, 33, 34, 35, 36, 37, 38, 39)
     5       100    (40, 41, 42, 43, 44, 45, 46, 47)
     6       100    (48, 49, 50, 51, 52, 53, 54, 55)
List I/O Devices

This subcommand lists the I/O devices that are configured on the system. The list of devices includes I/O buses (including NIUs) and direct I/O-assignable devices.

ldm list-io [-l] [-p] [bus | device | pf-name]
ldm list-io -d pf-name

Any resource that has been evacuated from the physical domain by a recovery mode operation has an asterisk (*) in front of its resource identifier.

List Logical Domain Configurations

This subcommand lists the logical domain configurations stored on the SP.

ldm ls-spconfig [-r [autosave-name]]

–r [autosave-name] lists those configurations for which autosave files exist on the control domain. If autosave-name is specified, it only reports on autosave-name. The output also notes whether an autosave file is newer than the corresponding SP configuration.


Note - When a delayed reconfiguration is pending, the configuration changes are immediately autosaved. As a result, if you run the ldm ls-spconfig -r command, the autosave configuration is shown as being newer than the current configuration.
List Variables

This subcommand lists one or more variables for a logical domain. To list all variables for a domain, leave the var-name blank.

ldm ls-var [var-name...] ldom

Add, Set, and Remove Resource Management Policies

Add a Resource Management Policy

This subcommand enables you to add a resource management policy for one or more logical domains. A resource management policy consists of optional properties and their values.

ldm add-policy [enable=yes|no] [priority=value] [attack=value] [decay=value]
  [elastic-margin=value] [sample-rate=value] [tod-begin=hh:mm[:ss]]
  [tod-end=hh:mm[:ss]] [util-lower=percent] [util-upper=percent] [vcpu-min=value]
  [vcpu-max=value] name=policy-name ldom...
Modify a Resource Management Policy

This subcommand enables you to modify a resource management policy for one or more logical domains by specifying values for optional properties.

ldm set-policy [enable=[yes|no]] [priority=[value]] [attack=[value]] [decay=[value]]
  [elastic-margin=[value]] [sample-rate=[value]] [tod-begin=[hh:mm:ss]]
  [tod-end=[hh:mm:ss]] [util-lower=[percent]] [util-upper=[percent]] [vcpu-min=[value]]
  [vcpu-max=[value]] name=policy-name ldom...
Remove a Resource Management Policy

This subcommand enables you to remove a resource management policy from a logical domain by specifying one or more policy names.

ldm remove-policy [name=]policy-name... ldom

Configure or Reconfigure a Domain From an XML File

This subcommand enables you to use an existing configuration to configure one or more guest domains, the control domain, or both types of domains. The ldm init-system command takes an XML file (such as the output of ldm ls-constraints -x) as input, configures the specified domains, and reboots the control domain. Run this command with the factory default configuration.

ldm init-system [-frs] -i file

Collect Hypervisor Dump Data

When a hypervisor abort event occurs, the contents of the hypervisor memory are preserved by the firmware, and the system is rebooted with the factory-default configuration. The ldmd daemon copies the preserved contents of hypervisor memory to a file on the control domain that is called /var/opt/SUNWldm/hvdump.N.gz. N is a number in the range 0-7, inclusive. This file is a binary dump of the contents of hypervisor memory at the time the hypervisor abort occurred.

The following subcommands apply to the process that collects data from a hypervisor dump on the Fujitsu M10 system.

List Hypervisor Dump Data

This subcommand shows the values of the hvdump and hvdump-reboot properties that govern the hypervisor data collection process that can be used on the Fujitsu M10 system.

ldm list-hvdump
Set Property Values for the Hypervisor Data Collection Process

This subcommand modifies the Fujitsu M10 hypervisor data collection properties. You can set properties that enable or disable the automatic hypervisor data collection process. You can also set properties that enable or disable an automatic reboot to restore the original configuration after collecting the data.

ldm set-hvdump [hvdump=on|off] [hvdump-reboot=on|off]
Manually Start the Hypervisor Data Collection Process

This subcommand manually starts the Fujitsu M10 hypervisor data collection process if the automatic collection fails.

ldm start-hvdump

Examples

Example 1 Create Default Services

Set up the three default services, virtual disk server, virtual switch, and virtual console concentrator so that you can export those services to the guest domains.

primary# ldm add-vds primary-vds0 primary
primary# ldm add-vsw net-dev=nxge0 primary-vsw0 primary
primary# ldm add-vcc port-range=5000-5100 primary-vcc0 primary
Example 2 List Services

You can list services to ensure they have been created correctly or to see what services you have available.

primary# ldm ls-services primary
VCC
    NAME         LDOM    PORT-RANGE
    primary-vcc0 primary 5000-5100
VSW
    NAME         LDOM    MAC             NET-DEV   DEVICE     DEFAULT-VLAN-ID PVID VID MODE
    primary-vsw0 primary 00:14:4f:f9:68:d0 nxge0 switch@0 1               1
VDS
    NAME         LDOM    VOLUME         OPTIONS      MPGROUP   DEVICE
    primary-vds0 primary
Example 3 Set Up the Control Domain Initially

The control domain, named primary, is the initial domain that is present when you install the Logical Domains Manager. The control domain has a full complement of resources, and those resources depend on what server you have. Set only those resources you want the control domain to keep so that you can allocate the remaining resources to the guest domains. Then save the configuration on the service processor. You must reboot so the changes take effect.

If you want to enable networking between the control domain and the other domains, you must plumb the virtual switch on the control domain. You must enable the virtual network terminal server daemon, vntsd(1M), to use consoles on the guest domains.

primary# ldm start-reconf primary
primary# ldm set-vcpu 8 primary
primary# ldm set-mem 8G primary
primary# ldm add-spconfig initial
primary# shutdown -y -g0 -i6
primary# ifconfig -a
primary# ifconfig vsw0 plumb
primary# ifconfig nxge0 down unplumb
primary# ifconfig vsw0 IP-of-nxge0 netmask netmask-of-nxge0 broadcast + up
primary# svcadm enable vntsd
Example 4 List Bindings

You can list bindings to see if the control domain has the resources you specified, or what resources are bound to any domain.

primary# ldm ls-bindings primary
NAME     STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM UPTIME
primary  active     -n-cv-  UART    8     16G      0.2%  0.2% 1d 18h 5m

UUID
    d8d2db22-21b9-e5e6-d635-92036c711e65

MAC
    00:21:28:c1:3f:3c

HOSTID
    0x8

CONTROL
    failure-policy=ignore
    extended-mapin-space=on
    cpu-arch=native
    rc-add-policy=
    shutdown-group=0

DEPENDENCY
    master=

CORE
    CID    CPUSET
    0      (0, 1, 2, 3, 4, 5, 6, 7)

VCPU
    VID    PID    CID    UTIL NORM STRAND
    0      0      0      0.4% 0.4%   100%
    1      1      0      0.2% 0.2%   100%
    2      2      0      0.1% 0.1%   100%
    3      3      0      0.1% 0.1%   100%
    4      4      0      0.2% 0.2%   100%
    5      5      0      0.5% 0.5%   100%
    6      6      0      0.2% 0.2%   100%
    7      7      0      1.2% 1.2%   100%

MEMORY
    RA               PA               SIZE
    0x20000000       0x20000000       8G
    0x400000000      0x400000000      8G

CONSTRAINT
    threading=max-throughput

VARIABLES
    pm_boot_policy=disabled=1;ttfc=0;ttmr=0;

IO
    DEVICE                           PSEUDONYM        OPTIONS
    pci@400                          pci_0
    niu@480                          niu_0
    pci@400/pci@1/pci@0/pci@8        /SYS/MB/RISER0/PCIE0
    pci@400/pci@2/pci@0/pci@8        /SYS/MB/RISER1/PCIE1
    pci@400/pci@1/pci@0/pci@6        /SYS/MB/RISER2/PCIE2
    pci@400/pci@2/pci@0/pci@c        /SYS/MB/RISER0/PCIE3
    pci@400/pci@1/pci@0/pci@0        /SYS/MB/RISER1/PCIE4
    pci@400/pci@2/pci@0/pci@a        /SYS/MB/RISER2/PCIE5
    pci@400/pci@1/pci@0/pci@4        /SYS/MB/SASHBA0
    pci@400/pci@2/pci@0/pci@4        /SYS/MB/SASHBA1
    pci@400/pci@2/pci@0/pci@6        /SYS/MB/NET0
    pci@400/pci@2/pci@0/pci@7        /SYS/MB/NET2

VCC
    NAME             PORT-RANGE
    primary-vcc0     5000-5100

VSW
    NAME             MAC               NET-DEV   ID   DEVICE   LINKPROP   
    primary-vsw0     00:14:4f:fa:0b:57 net0      0    switch@0

    DEFAULT-VLAN-ID PVID VID                  MTU   MODE INTER-VNET-LINK
    1               1                         1500       on

VDS
    NAME             VOLUME         OPTIONS          MPGROUP        DEVICE
    primary-vds0

VCONS
    NAME             SERVICE                     PORT   LOGGING
    UART
Example 5 Create a Logical Domain

Ensure that you have the resources to create the desired guest domain configuration, add the guest domain, add the resources and devices that you want the domain to have, set boot parameters to tell the system how to behave on startup, bind the resources to the domain, and save the guest domain configuration in an XML file for backup. You also might want to save the primary and guest domain configurations on the SC. Then you can start the domain, find the TCP port of the domain, and connect to it through the default virtual console service.

primary# ldm ls-devices
primary# ldm add-dom ldg1
primary# ldm add-vcpu 8 ldg1
primary# ldm add-mem 8g ldg1
primary# ldm add-vnet vnet1 primary-vsw0 ldg1
primary# ldm add-vdsdev /dev/dsk/c0t1d0s2 vol1@primary-vds0
primary# ldm add-vdisk vdisk1 vol1@primary-vds0 ldg1
primary# ldm set-var auto-boot\?=false ldg1
primary# ldm set-var boot-device=vdisk1 ldg1
primary# ldm bind-dom ldg1
primary# ldm ls-constraints -x ldg1 > ldg1.xml
primary# ldm add-spconfig ldg1_8cpu_1G
primary# ldm start ldg1
primary# ldm ls -l ldg1
primary# telnet localhost 5000
Example 6 Use One Terminal for Many Guest Domains

Normally, each guest domain you create has its own TCP port and console. Once you have created the first guest domain (ldg1 in this example), you can use the ldm set-vcons command to attach all the other domains (second domain is ldg2 in this example) to the same console port. Note that the set-vcons subcommand works only on an inactive domain.

primary# ldm set-vcons group=ldg1 service=primary-vcc0 ldg2

If you use the ldm ls -l command after performing the set-vcons commands on all guest domains except the first, you can see that all domains are connected to the same port. See the vntsd(1M) man page for more information about using consoles.

Example 7 Add a Virtual PCI Bus to a Logical Domain

I/O domains are a type of service domain that have direct ownership of and direct access to physical I/O devices. The I/O domain then provides the service to the guest domain in the form of a virtual I/O device. This example shows how to add a virtual PCI bus to a logical domain.

primary# ldm add-io pci@7c0 ldg1
Example 8 Add Virtual Data Plane Channel Functionality for Netra Only

If your server has a Netra Data Plane Software (NDPS) environment, you might want to add virtual data plane channel functionality. First, you would add a virtual data plane channel service (primary-vdpcs0, for example) to the service domain, in this case, the primary domain.

primary# ldm add-vdpcs primary-vdpcs0 primary

Now that you have added the service to the service domain (primary), you can add the virtual data plane channel client (vdpcc1) to a guest domain (ldg1).

primary# add-vdpcc vdpcc1 primary-vdpcs0 ldg1
Example 9 Cancel Delayed Reconfiguration Operations for a Control Domain

A delayed reconfiguration operation blocks configuration operations on all other domains. There might be times when you want to cancel delayed configuration operations for a control domain. For example, you might do this so that you can perform other configuration commands on that domain or other domains. With this command, you can undo the delayed reconfiguration operation and do other configuration operations on this or other domains.

primary# ldm cancel-op reconf primary
Example 10 Migrate a Domain

You can migrate a logical domain to another machine. This example shows a successful migration.

primary# ldm migrate ldg1 root@dt90-187:ldg
Target password:
Example 11 List Configurations

The following examples show how to view the configurations. The first command shows the configurations that are stored on the SP. The second command shows the configurations on the SP as well as information about the autosave configurations on the control domain.

primary# ldm ls-spconfig
factory-default
3guests [current]
data1
reconfig_primary
split1
primary# ldm ls-spconfig -r
3guests [newer]
data1 [newer]
reconfig_primary
split1
unit

Both the current 3guests configuration and the data1 configuration have autosaved changes that have not been saved to the SP. If the system performed a power cycle while in this state, the Logical Domains Manager would perform the 3guests autosave recovery based on the specified policy. The autosave recovery action is taken for 3guests because it is marked as current.

The reconfig_primary and split1 autosave configurations are identical to the versions on the SP, not newer versions.

The unit configuration only exists as an autosave configuration on the control domain. There is no corresponding configuration for unit on the SP. This situation might occur if the configuration was lost from the SP. A configuration can be lost if the SP is replaced or if a problem occurred with the persistent version of the configuration on the SP. Note that using the rm-spconfig command to explicitly remove a configuration also removes the autosave version on the control domain. As a result, no remnants of the configuration remain on either the control domain or on the SP.

Example 12 List I/O Devices

The following example lists the I/O devices on the system.

primary# ldm ls-io
NAME                                      TYPE   BUS      DOMAIN   STATUS
----                                      ----   ---      ------   ------
pci_0                                     BUS    pci_0    primary  IOV
niu_0                                     NIU    niu_0    primary
/SYS/MB/RISER0/PCIE0                      PCIE   pci_0    primary  EMP
/SYS/MB/RISER1/PCIE1                      PCIE   pci_0    primary  EMP
/SYS/MB/RISER2/PCIE2                      PCIE   pci_0    primary  EMP
/SYS/MB/RISER0/PCIE3                      PCIE   pci_0    primary  OCC
/SYS/MB/RISER1/PCIE4                      PCIE   pci_0    primary  OCC
/SYS/MB/RISER2/PCIE5                      PCIE   pci_0    primary  EMP
/SYS/MB/SASHBA0                           PCIE   pci_0    primary  OCC
/SYS/MB/SASHBA1                           PCIE   pci_0    primary  OCC
/SYS/MB/NET0                              PCIE   pci_0    primary  OCC
/SYS/MB/NET2                              PCIE   pci_0    primary  OCC
/SYS/MB/RISER0/PCIE3/IOVIB.PF0            PF     pci_0    primary
/SYS/MB/RISER1/PCIE4/IOVIB.PF0            PF     pci_0    primary
/SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary
/SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary
/SYS/MB/NET2/IOVNET.PF0                   PF     pci_0    primary
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_0    primary
/SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF0        VF     pci_0    primary
/SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF1        VF     pci_0    primary
/SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF2        VF     pci_0    iodom1
/SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF3        VF     pci_0    iodom1
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0        VF     pci_0    primary
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1        VF     pci_0    primary
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2        VF     pci_0    iodom1
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3        VF     pci_0    iodom1
Example 13 List CPU Core Activation Information

The following example shows information about the CPU core activations on a Fujitsu M10 system. The PERMITS column shows that 10 CPU core activations have been issued. This total includes all permanent and pay-per-use CPU core activations. The PERMANENT column shows that there are 10 permanent CPU core activations, which means that there are no issued pay-per-use CPU core activations. The IN USE column shows that only two of the CPU core activations are currently in use. The REST column shows that eight CPU core activations are available for use.

primary# ldm ls-permits
CPU CORE
PERMITS (PERMANENT)   IN USE      REST
10      (10)          2           8

Exit Status

The following exit values are returned:

0

Successful completion.

>0

An error occurred.

Attributes

See the attributes(5) man page for a description of the following attributes.

Attribute Type
Attribute Value
Availability
SUNWldm
Interface Stability
Uncommitted

See Also

dumpadm(1M), ifconfig(1M), shutdown(1M), vntsd(1M), attributes(5)

Oracle VM Server for SPARC 3.1 Administration Guide