How to Create LDOM

Introduction

This article is aimed to give a walkthrough of how to create a Ldom in SUN/SPARC M6-32 machines. It provides a complete step to step procedure from scratch to the end.

Pre-requisites

Following steps should be taken care of before creating a Logical Domain.

• Identify requirements for creating a “Ldom” on Primary domain of M6-32 i.e CPU, Memory, Hostname & IP.
• Root login required for this procedure.
• Map a disk from storage for Operating System Installation. (Follow disk mapping SOP if required)

Login to Primary domain with Root use

Login via SSH on Primary domain of M6-32 on which you have planned to create the Logical domain. Make sure that you are logged in as a ROOT user, as all actions will required ROOT access. In my case I will create an LDOM on KLP4 control domain.

Once logged in please take a list of LDOMs that are already created so that you do not create two LDOMs with one name.

root@KLP4-CD # ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME
primary active -n-cv- UART 64 100G 0.2% 0.2% 173d 21h

Now we will add the LDOM as per our requirement.

root@KLP4-CD # ldm add-domain TEST_LDOM

Once added please print the list again to see if the required LDOM has been added successfully.

root@KLP4-CD # ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME
primary active -n-cv- UART 64 100G 0.2% 0.2% 173d 21h
TEST_LDOM inactive ------

As shown above the “TEST_LDOM” has been added successfully and is still inactive as we have only added a LDOM and has not started anything on it. So let’s proceed further.

Once the LDOM is added we can now assign CPUs & Memory as per our requirement by using the following commands.

root@KLP4-CD # ldm add-vcpu 8 TEST_LDOM
root@KLP4-CD # ldm add-memory 20G TEST_LDOM

I have now assigned 1 CPU with 8 cores means 8 Virtual CPUs to this LDOM and 20GB of physical memory. Let’s confirm it by printing the list of LDOMs again.

root@KLP4-CD # ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME
primary active -n-cv- UART 64 100G 0.2% 0.2% 173d 21h
TEST_LDOM inactive ------ 8 20G

As you can see that LDOM now have 8 VCPUs and 20GB of memory as we assigned earlier so let us move further and assign the disk from Storage that we have created for Operating System installation.

root@KLP4-CD # ldm add-vdsdev mpgroup=MPd2 /dev/dsk/c4t50060E80166D5C23d2s2 VC00E@primary-vds0
root@KLP4-CD # ldm add-vdsdev mpgroup=MPd2 /dev/dsk/c3t50060E80166D5C35d2s2 VC00E@secondary-vds1

Above command contains Multi Pathing groups and Disk names along with controllers from both Primary & Secondary domains and LDEV ID that is assigned to the disk for Operating System installation.
Once the disk is added to both Primary & Secondary paths we can now assign the disk for the particular LDOM we want by using the following command.

root@KLP4-CD # ldm add-vdisk id=0 ID-VC00E VC00E@primary-vds0 TEST_LDOM

Once the disk adding procedure is complete we will have to add Virtual Switches / VLANs information that will be allowed for this LDOM.
To add VLANs for TEST_LDOM please use the following command.

root@KLP4-CD # ldm add-vnet pvid=202 vid=30,69,204,205,206 linkprop=phys-state id=0 vnet0 primaryaggr0-vsw0 TEST_LDOM

You also need to set AUTOBOOT as false so that the Domain doesn’t stuck at BOOT prompt when restarted.

root@KLP4-CD # ldm set-var auto-boot?\=false TEST_LDOM

Let us now bind the TEST_LDOM for the confirmation of assigned sources by using the following command.

root@KLP4-CD # ldm bind TEST_LDOM

Operating System installation

Mount the ISO image for Solaris 10 u11 to the LDOM for intial installation by using the following command.

root@KLP4-CD # ldm add-vdsdev /export/home/admin/sol-10-u11-ga-sparc-dvd.iso ISO@primary-vds0
root@KLP4-CD # ldm add-vdisk ISO ISO@primary-vds0 TEST_LDOM

The current status of LDOM after binding it to the PDOM should be as below.

root@KLP4-CD # ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME
primary active -n-cv- UART 64 100G 0.2% 0.2% 173d 22h
TEST_LDOM bound ------ 5023 8 20G

Once we can see the status as BOUND we are good to start Operating System Installation on this TEST_LDOM by using the following command.

root@KLP4-CD # ldm start TEST_LDOM; telnet localhost 5023

The output will be as follows:
LDom TEST_LDOM started
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Connecting to console "TEST_LDOM" in group "TEST_LDOM" ....
Press ~? for control options ..
NOTICE: Entering OpenBoot.
NOTICE: Fetching Guest MD from HV.
NOTICE: Starting additional cpus.
NOTICE: Initializing LDC services.
NOTICE: Probing PCI devices.
NOTICE: Finished PCI probing.

SPARC T5-8, No Keyboard
Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
OpenBoot 4.36.1, 20.0000 GB memory available, Serial #83439719.
Ethernet address 0:14:4f:f9:30:67, Host ID: 84f93067.
Then we need to set the boot device so that Operating system can be installed.
{0} ok setenv auto-boot? true
auto-boot? = true
{0} ok
{0} ok
{0} ok
{0} ok devalias
iso /virtual-devices@100/channel-devices@200/disk@1
id-vc00e /virtual-devices@100/channel-devices@200/disk@0
vnet0 /virtual-devices@100/channel-devices@200/network@0
net /virtual-devices@100/channel-devices@200/network@0
disk /virtual-devices@100/channel-devices@200/disk@0
virtual-console /virtual-devices/console@1
name aliases
{0} ok
{0} ok
{0} ok
{0} ok setenv boot-device id-vc00e
boot-device = id-vc00e
{0} ok
{0} ok
Now we can BOOT the LDOM from ISO by using the following command on OK Prompt.
{0} ok boot iso
Boot device: /virtual-devices@100/channel-devices@200/disk@1 File and args:
SunOS Release 5.10 Version Generic_147147-26 64-bit
Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
Configuring devices.
Using RPC Bootparams for network configuration information.
Attempting to configure interface vnet0...
Skipped interface vnet0
.
.
.
.
.
.
.
.
.
.
.
Keyboard Layout
qqqqqqqqqqqqqqqqqqqqqqqqq
^ [ ] Slovak
x [ ] Slovenian
x [ ] Spanish
x [ ] Swedish
x [ ] Swiss-French
x [ ] Swiss-German
x [ ] Taiwanese
x [ ] TurkishF
x [ ] TurkishQ
x [ ] UK-English
- [X] US-English

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
USB keyboard
Creating new rsa public/private host key pair
Creating new dsa public/private host key pair

test_ldom console login: Jun 10 15:40:11 test_ldom sendmail[1537]: My unqualified host name (test_ldom) unknown; sleeping for retry
Jun 10 15:40:11 test_ldom sendmail[1526]: My unqualified host name (test_ldom) unknown; sleeping for retry
Jun 10 15:41:11 test_ldom sendmail[1526]: unable to qualify my own domain name (test_ldom) -- using short name
Jun 10 15:41:11 test_ldom sendmail[1537]: unable to qualify my own domain name (test_ldom) -- using short name

test_ldom console login: root
Password:
Jun 10 16:08:48 test_ldom login: ROOT LOGIN /dev/console
Oracle Corporation SunOS 5.10 Generic Patch January 2005
#
#
# bash
bash-3.2#
bash-3.2#
bash-3.2# df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c0d0s0 24G 5.3G 18G 23% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 32G 696K 32G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
sharefs 0K 0K 0K 0% /etc/dfs/sharetab
/platform/sun4v/lib/libc_psr/libc_psr_hwcap3.so.1
24G 5.3G 18G 23% /platform/sun4v/lib/libc_psr.so.1
/platform/sun4v/lib/sparcv9/libc_psr/libc_psr_hwcap3.so.1
24G 5.3G 18G 23% /platform/sun4v/lib/sparcv9/libc_psr.so.1
fd 0K 0K 0K 0% /dev/fd
/dev/dsk/c0d0s3 20G 112M 19G 1% /var
swap 32G 32K 32G 1% /tmp
swap 32G 40K 32G 1% /var/run
/dev/dsk/c0d0s4 20G 20M 19G 1% /export/home

Current status of LDOM in “ldm list” should be as below

root@KLP4-CD # ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME
primary active -n-cv- UART 64 100G 0.5% 0.5% 173d 23h
TEST_LDOM active -n---- 5023 8 20G 0.3% 0.3% 32m

That’s it. Our new LDOM is ready to be used as a production machine.