Logical Domains Physical-to-Virtual (P2V) Migration
The Logical domains P2V migration tool automatically converts an existing physical system
to a virtual system that runs in a logical domain on a chip multithreading (CMT) system.
The source system can be any of the following:
* Any sun4u SPARC system that runs at least the Solaris 8 Operating System
* Any sun4v system that runs the Solaris 10 OS, but does not run in a logical domain
In this entry I will demonstrate how to use Logical domains P2V migration tool to migrate Solaris running on V440 server (physical)
Into guest domain running on the T5220 server (virtual)
Architecture layout :

Before you can run the LogicalDomains P2VMigration Tool, ensure that the following are true:
- Target system runs at least LogicalDomains 1.1 on the following:
- Solaris 10 10/08 OS
- Solaris 10 5/08 OS with the appropriate LogicalDomains 1.1 patches
- Guest domains run at least the Solaris 10 5/08 OS
- Source system runs at least the Solaris 8 OS
prerequisites
In addition to these prerequisites, configure an NFS file system to be shared by both the source
and target systems. This file system should be writable by root.However, if a shared file system
is not available, use a local file system that is large enough to hold a file system dump of the
source system on both the source and target systems Limitations
Version 1.0 of the LogicalDomains P2VMigration Tool has the following limitations:
- Only UFS file systems are supported.
- Each guest domain can have only a single virtual switch and virtual disk
- The flash archiving method silently ignores excluded file systems.
- Collection phase Runs on the physical source system. collect creates a file system image of the source system based on the configuration information that it collects about the source system.
- Preparation phase. Runs on the control domain of the target system. prepare creates the logical domain on the target system based on the configuration information collected in the collect phase.
- Conversion phase. Runs on the control domain of the target system. In the convert phase,the created logical domain is converted into a logical domain that runs the Solaris 10 OS by using the standard Solaris upgrade process.
Collection phase
On the target machine T5220
Prepare the NFS server in order to hold the a file system dump of the source system on both the source and target systems.
In this use case I will use the target machine (T5220) as the NFS server
# mkdir /p2v
# share -F nfs -o root=v440 /p2v
Verify the NFS share
# share
- /p2v root=v440 ""
Install the Logical Domains P2V MigrationTool
Go to the Logical Domains download page at http://www.sun.com/servers/coolthreads/
ldoms/get.jsp.
Download the P2V software package, SUNWldmp2v
Use the pkgadd command to install the SUNWldmp2v package
# pkgadd -d . SUNWldmp2v
Create the /etc/ldmp2v.conf file we will use it later
# cat /etc/ldmp2v.conf
VSW="primary-vsw0"
VDS="primary-vds0"
VCC="primary-vcc0"
BACKEND_PREFIX="/ldoms/disks/"
BACKEND_TYPE="file"
BACKEND_SPARSE="no"
BOOT_TIMEOUT=10
On the source machine V440
Install the Logical Domains P2V MigrationTool
# pkgadd -d . SUNWldmp2v
Mount the NFS share
# mkdir /p2v
# mount t5220:/p2v /p2v
Run the collection command
# /usr/sbin/ldmp2v collect -d /p2v/v440
Collecting system configuration ...
Archiving file systems ...
DUMP: Date of this level 0 dump: August 2, 2009 4:11:56 PM IDT
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rdsk/c1t0d0s0 (mdev440-2:/) to /p2v/v440/ufsdump.0.
The collection phase took 5 minutes for 4.6 GB dump file
Preparation phase
On the target machine T5220
Run the preparation command
We will keep the source machine (V440) mac address
# /usr/sbin/ldmp2v prepare -d /p2v/v440 -o keep-mac v440
Creating vdisks ...
Creating file systems ...
Populating file systems ...
The preparation phase took 26 minutes
We can see that for each physical cpu on the V440 server the LDom P2V Tool create 4 vcpu on the guest domain and assigns the same amount memory that the physical system has
# ldm list -l v440
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
v440 inactive ------ 4 8G
CONTROL
failure-policy=ignore
DEPENDENCY
master=
NETWORK
NAME SERVICE DEVICE MAC MODE PVID VID MTU
vnet0 primary-vsw0 00:03:ba:c4:d2:9d 1
DISK
NAME VOLUME TOUT DEVICE SERVER MPGROUP
disk0 v440-vol0@primary-vds0
Conversion Phase
Before starting the conversion phase shout down the source server (V440) in order to avoid ip address conflict
On the V440 server
# poweroff
On the jumpstart server
You can use the Custom JumpStart feature to perform a completely hands-off conversion.
This feature requires that you create and configure the appropriate sysidcfg and profile files for the client on the JumpStart server.
The profile should consist of the following lines: install_type upgrade root_device c0d0s0
The sysidcfg file :name_service=NONE
root_password=uQkoXlMLCsZhI
system_locale=C
timeserver=localhost timezone=Europe/Amsterdam
terminal=vt100 security_policy=NONE nfs4_domain=dynamic network_interface=PRIMARY {netmask=255.255.255.192 default_route=none protocol_ipv6=no}
On the target server T5220
# ldmp2v convert -j -n vnet0 -d /p2v/v440 v440Testing original system status ...
LDom v440 started
Waiting for Solaris to come up ...
Using Custom JumpStart
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
Connecting to console "v440" in group "v440" ....
Press ~? for control options ..
SunOS Release 5.10 Version Generic_139555-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
For information about the P2V migration tool, see the ldmp2v(1M) man page.