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 Type | Purpose |
|---|---|
| Control / Primary | Main domain, created by default; manages other LDoms and resources. |
| Service | Provides virtual I/O to guests (vnet, vdisk, vconsole). |
| I/O | Directly owns physical PCIe devices for high-performance workloads. |
| Guest / Logical Domain | Virtual machine using resources from service/I/O domains. |
Virtual Devices:
| Device | Function |
|---|---|
| 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. |
| VDISK | Virtual disk mapped from VDS to guest. |
| VNET | Virtual 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