Pages

Solaris LDM (Logical Domains Manager)

Solaris LDOM (also called Oracle VM for SPARC) is a virtualization solution for SPARC servers. It allows a single physical server to be partitioned into multiple independent virtual machines, called logical domains (LDoms). Each LDom has its own OS instance, CPUs, memory, and virtual or physical I/O resources.

The LDOM environment is built around a hypervisor embedded in SPARC firmware, providing hardware-assisted virtualization.

Key Features
  • Hardware Partitioning: Divide CPUs, memory, and PCIe devices among multiple LDoms.
  • Virtual I/O: Share storage and network devices using virtual switches, vdisks, and consoles.
  • Dynamic Resource Management: Add or remove CPUs, memory, and virtual devices while domains are running.
  • Isolation: Each LDom runs independently; a crash in one domain doesn’t affect others.
  • Support for Mixed OS: Run multiple Solaris versions or even Linux instances on the same server.
  • Console Management: Access guest domain consoles via Virtual Console Concentrator (VCC).
Domain Types:
Domain TypePurpose
Control / PrimaryMain domain, created by default; manages other LDoms and resources.
ServiceProvides virtual I/O to guests (vnet, vdisk, vconsole).
I/ODirectly owns physical PCIe devices for high-performance workloads.
Guest / Logical DomainVirtual machine using resources from service/I/O domains.

Virtual Devices:
DeviceFunction
VSW (Virtual Switch)Acts as a virtual Ethernet switch between LDoms.
VDS (Virtual Disk Server)Shares storage devices with guests.
VCC (Virtual Console Concentrator)Provides console access to guest domains.
VDISKVirtual disk mapped from VDS to guest.
VNETVirtual network interface connected to VSW.

Supported Hardware & OS
Hardware: SPARC T-series and M-series servers with LDOM-capable CPUs
OS: Solaris 10 11/06+, Solaris 11/11.x
Firmware: Ensure latest ILOM (Integrated Lights Out Manager) and system firmware are installed

Check virtualization support:
# prtconf -vp | grep -i hypervisor
# psrinfo -pv

Installing Solaris LDOM Software
Solaris 11
# pkg install solaris-sparc-ldoms
# svcadm enable ldmd
# svcs -a | grep ldmd
Solaris 10
# pkgadd -d LDomManager.pkg
# svcadm enable ldmd
LDMD is the LDOM manager daemon; it must run on the control domain.

Managing Logical Domains
i. Verify Resources
# ldm list-devices cpu
# ldm list-devices memory
# ldm list

ii. Set Primary Domain
# ldm set-domain role=control primary

iii. Create Virtual I/O Components
# ldm add-vswitch net-switch0 primary
# ldm add-vds primary-vds0 primary
# ldm add-vcc port-range=5000-5100 primary-vcc0 primary

4. Create Backend Virtual Disk
# mkfile 10g /export/ldoms/disk1.img
# ldm add-vdiskserverdevice vol1 /export/ldoms/disk1.img primary-vds0

Creating a Guest Domain
i. Define Domain
# ldm add-domain ldom1

ii. Assign Resources
# ldm set-memory 4G ldom1
# ldm add-vcpu 4 ldom1
# ldm add-vnet vnet0 net-switch0 ldom1
# ldm add-vdisk vdisk0 vol1 primary-vds0 ldom1
# ldm add-console vcc-console0 primary-vcc0 ldom1

iii. Bind & Start Domain
# ldm bind-domain ldom1
# ldm start-domain ldom1

iv. Connect to Console
# ldm console ldom1
# or
# telnet localhost 5000

Using LDOM Profile Files
Profiles allow automated, repeatable LDOM configurations.
Example: webserver1.cfg
add-domain appserver1
set-mem appserver1 8192M
add-vcpu 4 appserver1
add-vnet vnet0 appserver1 primary-vsw=vsw0
add-vnet vnet1 appserver1 primary-vsw=vsw1
add-vds vds0 appserver1 primary-vds=primarydisk0
add-vds vds1 appserver1 primary-vds=primarydisk1

Load profile:
# ldm load-profile -c webserver1.cfg   # Validate
# ldm load-profile webserver1.cfg      # Create LDOM
# ldm add-profile webserver1.cfg       # Make persistent
# ldm list                             # Verify
# ldm console webserver1               # Access console

Move virtual disks between VDS servers without stopping guest domains:
# ldm list -o                        # List domains & vdisks
# ldm show-vds <vds_name>             # Show VDS details
# ldm migrate-vds <vds_name> primary-vds=<new_disk>

Stop & start domains if needed:
# ldm stop-domain <guest_name>
# ldm start-domain <guest_name>

Remove old VDS:
# ldm remove-vds <vds_name> <guest_name>

Add Memory / CPU to Running Domain
# ldm set-memory 8G ldom1
# ldm add-vcpu 2 ldom1

Remove CPU / Memory
# ldm remove-vcpu 1 ldom1
# ldm set-memory 4G ldom1

Hot-add / hot-remove supported only if guest OS and firmware support dynamic reconfiguration.

Best Practices
Always keep primary domain stable; it manages all virtual resources.
Assign I/O domains for performance-critical workloads.
Use VDS & VSW for flexible virtual networking and storage sharing.
Maintain persistent profile files to recover LDOM setup after reboot.
Regularly backup VDS images used by guest domains.
Monitor domain health:
# ldm list -o
# ldm list-vcpu
# ldm list-memory
Ensure firmware and hypervisor are up-to-date for maximum compatibility.

No comments:

Post a Comment