solaris.pro / Field manuals / Logical Domains

Build a guest LDom from scratch

A guided SPARC guest build: services, disk backend, networking, CPU, memory, bind, boot and console.

Scope: Oracle Solaris 11.4 and, for LDoms, compatible SPARC hardware with Oracle VM Server for SPARC. Examples are educational: verify release, privileges, target names and backups before running changes.

How it works

Before the first command

Verify compatible SPARC hardware, Solaris/Logical Domains Manager versions, sufficient unallocated resources, storage capacity and service-domain networking. Examples use illustrative names and must be adapted.

Creation is staged

Create and assign resources, then bind to validate allocations, then start. OS installation and networking configuration occur inside the guest.

Virtual disk storage

A ZFS volume can be exported as a virtual disk backend. Reserve capacity for snapshots, updates and guest growth; the backing volume is not itself a guest filesystem.

Worked examples

Each example explains the question it answers, a reproducible starting point, what to look for, and operational precautions.

1. Inspect existing virtual services

Do not blindly create duplicate services.

ldm list-services
ldm list-devices -a
ldm list

Interpretation: Confirm `primary-vds0`, `primary-vsw0` and `primary-vcc0` exist or create services using the appropriate physical link.

Operational note: Run commands in a test environment first; confirm device names, privileges and release-specific options.

2. Create basic services

Illustrative initial service setup when missing.

ldm add-vcc port-range=5000-5100 primary-vcc0 primary
ldm add-vds primary-vds0 primary
ldm add-vsw net-dev=net0 primary-vsw0 primary

Interpretation: The switch physical link name varies; validate `dladm show-phys` and your topology first.

Operational note: Changes to primary services may affect existing guests; perform in a maintenance window.

3. Prepare a ZFS disk backend

Create a 40 GiB illustrative guest boot disk.

zfs create -V 40G rpool/ldoms/app01-root
ldm add-vdsdev /dev/zvol/dsk/rpool/ldoms/app01-root app01-root@primary-vds0

Interpretation: The `vdsdev` name identifies a backend exported by the service domain.

Operational note: A zvol is not a backup. Check pool free space and quota/reservation policy.

4. Create and resource the guest

Allocate two virtual CPUs and 8 GiB RAM.

ldm add-domain app01
ldm add-vcpu 2 app01
ldm add-memory 8G app01
ldm add-vnet vnet0 primary-vsw0 app01
ldm add-vdisk rootdisk app01-root@primary-vds0 app01

Interpretation: A successful configuration has CPU, memory, a virtual NIC and a disk. Verify binding details before boot.

Operational note: Run commands in a test environment first; confirm device names, privileges and release-specific options.

5. Bind, start, and connect

Move from defined to running.

ldm bind-domain app01
ldm start-domain app01
ldm list -l app01
ldm list-bindings app01

Interpretation: Use the assigned console port with `telnet localhost PORT` from the control domain as documented for `vntsd`, or your approved console method.

Operational note: Console access and installation media must be prepared; an empty disk will not boot Solaris.

6. Persist the stable layout

Protect against losing a working layout after a power cycle.

ldm add-spconfig production-2026
ldm list-spconfig
ldm list-constraints -x > /var/tmp/production-2026.xml

Interpretation: SP configuration and exported XML solve different recovery needs.

Operational note: Run commands in a test environment first; confirm device names, privileges and release-specific options.

Before you finish

  • Confirm a guest install source is available.
  • Record `ldm list-bindings` output and guest network identity.

Primary documentation

Read the relevant Oracle documentation for exact version-specific flags, supported platforms and limitations: Oracle primary reference ↗.

This field manual is independent, not affiliated with or endorsed by Oracle. Command examples should be adapted to your environment.