Dec 132013
 

I ran into an incredible tool known as StarCluster, which is an open-source project from MIT (http://star.mit.edu/cluster/).

StarCluster is built using Sun Microsystem’s N1 Grid Engine software (Sun used it to do deployment for HPC environments). And the folks at MIT developed on a fork of that (SGE – Sun Grid Engine) and StarCluster was formed.

StarCluster has hooks into the AWS API and is used to dynamically and automatically provision multi-node clusters in Amazon’s EC2 cloud. The base StarCluster software provisions a pre-selected virtual machine image (AMI) onto a pre-defined VM type (e.g.: t1.micro, m1.small, etc). The distributed StarCluster software has a hadoop plugin (http://star.mit.edu/cluster/docs/0.93.3/plugins/hadoop.html) which installs the generic Apache Foundation Hadoop stack on the cluster of nodes (or single node) provisioned thereof. It then uses a tool called dumbo (http://klbostee.github.io/dumbo/) to drive the Hadoop Framework. This is great.

But I want to leverage Cloudera’s CDH manager based Hadoop Distribution (CDH?) and want to roll this into the StarCluster framework. Therefore I have to start developing the necessary plugin to implement Cloudera Hadoop on top of StarCluster.

I won’t delve deeper into StarCluster’s inner-workings in this post, as I just started working on it a couple of days ago. I do intend to see how I can leverage this toolkit to add more functionality into it (like integrating Ganglia-based monitoring, etc) in due time.

Why StarCluster and not a Vagrant, Jenkins, Puppet combination?

Tools like StarCluster are meant to do rapid and effective deployments of distributed computing environments on a gigantic scale (N1 grid engine was used to deploy hundreds of physical servers back in the days when Sun still shone on the IT industry). While Vagrant, Puppet, Jenkins etc can be put together to build such a framework, it is in essence easier to use StarCluster (with less effort) to operationalize a Hadoop Cluster on EC2 (and after I spend some more time on the inner-workings, I hope to be able to use it work on other virtualization technologies too – perhaps integrate with an on-premise Xen or vmware or KVM cluster).

Let’s Skim the surface:

How StarCluster works

Let’s start with how StarCluster works (and this pre-supposes a working knowledge of Amazon’s AWS/EC2 infrastructure).

It is in essence a toolkit that you can install on your workstation/laptop and use it to drive configuration and deployment of your distributed clustering environment on EC2.

To set it up, follow the instructions on MIT’s website. It was pretty straightforward on my Mac Book Pro OS ver 10.9 (Mavericks). I already had the Xcode software installed on my Mac. So I cloned the StarCluster Git Distribution and ran through two commands that needed to be run as listed here — http://star.mit.edu/cluster/docs/latest/installation.html

After that, I set up my preliminary configuration file here (~/.starcluster/config) and we were ready to roll. I chose to test the star cluster functionality without and plugins etc by setting up a single node.

It’s important to choose the right AMI (because not all AMIs can be deployed on VM’s of your choice. For instance, I wanted to use the smallest, t1.micro instance to do my testing, since I won’t really be using this for any actual work. I settled on a CentOS 5.4 AMI from RealStack.

After verifying that my single node cluster was being setup correctly, I proceeded to develop a plugin to do Cloudera Hadoop initial setup along with a Cloudera Manager  installation on the Master node. As a result thereof, we can then roll out a cluster, connect to Cloudera Manager and use the Cloudera Manager interface to configure the Hadoop cluster. If further automation is possible with Cloudera Manager, I will work on that as an addendum to this effort.

The Plugins

Following the instructions here, I started building out the framework for my plugin. I called the foundational plugin centos (since my selected OS is centos). The CDH specific one will be called Cloudera.

Following directory structure is set up after StarCluster is installed –

In your home directory, a .starcluster directory, under which we have:

total 8
drwxr-xr-x   9 dwai  dlahiri   306 Dec 12 18:15 logs
drwxr-xr-x   4 dwai  dlahiri   136 Dec 13 10:01 plugins
-rw-r--r--   1 dwai  dlahiri  2409 Dec 13 10:01 config
drwxr-xr-x+ 65 dwai  dlahiri  2210 Dec 13 10:01 ..
drwxr-xr-x   5 dwai  dlahiri   170 Dec 13 10:01 .

Your new plugins will go into the plugins directory listed above (for now).

This is as simple as this (the plugin in essence is a python script – we call it centos.py):

from starcluster.clustersetup import ClusterSetup
from starcluster.logger import log

global repo_to_install
global pkg_to_install

class WgetPackages(ClusterSetup):
	def __init__(self,pkg_to_wget):
		self.pkg_to_wget = pkg_to_wget
		log.debug('pkg_to_wget = %s' % pkg_to_wget)
	def run(self, nodes, master, user, user_shell, volumes):
		for node in nodes:
			log.info("Wgetting %s on %s" % (self.pkg_to_wget, node.alias))
			node.ssh.execute('wget %s' % self.pkg_to_wget)

class RpmInstaller(ClusterSetup):
	def __init__(self,rpm_to_install):
		self.rpm_to_install = rpm_to_install
		log.debug('rpm_to_install = %s' % rpm_to_install)
	def run(self, nodes, master, user, user_shell, volumes):
		for node in nodes:
			log.info("Installing %s on %s" % (self.rpm_to_install, node.alias))
			node.ssh.execute('yum -y --nogpgcheck localinstall %s' %self.rpm_to_install)

class RepoConfigurator(ClusterSetup):
	def __init__(self,repo_to_install):
		self.repo_to_install  = repo_to_install
		log.debug('repo_to_install = %s' % repo_to_install)
	def run(self, nodes, master, user, user_shell, volumes):
		for node in nodes:
			log.info("Installing %s on %s" % (self.repo_to_install, node.alias))
			node.ssh.execute('rpm --import %s' % self.repo_to_install)

class PackageInstaller(ClusterSetup):
	def __init__(self,pkg_to_install):
		self.pkg_to_install  = pkg_to_install
		log.debug('pkg_to_install = %s' % pkg_to_install)
	def run(self, nodes, master, user, user_shell, volumes):
		for node in nodes:
			log.info("Installing %s on %s" % (self.pkg_to_install, node.alias))
			node.ssh.execute('yum -y install %s' % self.pkg_to_install)

Now we can reference the plugin in our configuration file:

[cluster testcluster]
keyname = testcluster
cluster_size = 1
cluster_user = sgeadmin
cluster_shell = bash
node_image_id = ami-0db22764
node_instance_type = t1.micro
plugins = wgetter,rpminstaller,repoinstaller,pkginstaller,sge
permissions = zookeeper.1, zookeeper.2, accumulo.monitor, hdfs, jobtracker, tablet_server, master_server, accumulo_logger, accumulo_tracer, datanode_data, datanode_metadata, tasktrackers, namenode_http_monitor, datanode_http_monitor, accumulo, accumulo_http_monitor

[plugin wgetter]
setup_class = centos.WgetPackages
pkg_to_wget = "http://archive.cloudera.com/cdh4/one-click-install/redhat/5/x86_64/cloudera-cdh-4-0.x86_64.rpm"

[plugin rpminstaller]
setup_class = centos.RpmInstaller
rpm_to_install = cloudera-cdh-4-0.x86_64.rpm

[plugin repoinstaller]
setup_class = centos.RepoConfigurator
repo_to_install = "http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/RPM-GPG-KEY-cloudera"

[plugin pkginstaller]
setup_class = centos.PackageInstaller
pkg_to_install = hadoop-0.20-mapreduce-jobtracker

This is not complete by any means – I intend to post the complete plugin + framework in a series of subsequent posts.

Sep 092013
 

Prerequisites are as follows:

1.NFS share that is “rw” on target host

2.working flarcreate (if not working, use a flarcreate from a patched Solaris 9 system. There is a flarcreate bug on Solaris 9 that can be worked around by using the aforementioned file)

In this example, we will use old-phys-server (jumpstart) as the P2V source and cdom-001 as a P2V target

Create a local NFS share on cdom-001 (or mount a “rw” nfs share) and mount it on source host:

<code>

user001@cdom-001:/export/home/p2v/old-phys-server$ df -h

Filesystem             Size   Used  Available Capacity  Mounted on

syspool/ROOT/solaris11-0

547G   2.1G       456G     1%    /

/devices                 0K     0K         0K     0%    /devices

/dev                     0K     0K         0K     0%    /dev

ctfs                     0K     0K         0K     0%    /system/contract

proc                     0K     0K         0K     0%    /proc

mnttab                   0K     0K         0K     0%    /etc/mnttab

swap                    10G   2.4M        10G     1%    /system/volatile

objfs                    0K     0K         0K     0%    /system/object

sharefs                  0K     0K         0K     0%    /etc/dfs/sharetab

fd                       0K     0K         0K     0%    /dev/fd

syspool/ROOT/solaris11-0/var

547G   751M       456G     1%    /var

swap                    10G   112M        10G     2%    /tmp

syspool/export         547G    32K       456G     1%    /export

syspool/export/home    547G    87M       456G     1%    /export/home

syspool/export/home/ocmgr

547G    36K       456G     1%    /export/home/ocmgr

syspool/guests         547G    34K       456G     1%    /guests

syspool                547G    73K       456G     1%    /syspool

syspool/p2v            100G    14G        86G    15%    /export/home/p2v

syspool/ISO             40G   4.1G        36G    11%    /export/home/ISO

user001@cdom-001:/export/home/p2v/old-phys-server$

</code>

Share the FS on cdom-001:

<code>

$ sudo share -F nfs -o anon=0,rw /export/home/p2v

Mount the filesystem

$ sudo mount -F nfs -o rw,vers=3 cdom-001:/export/home/p2v /var/tmp/p2v

$ df -h|grep p2v

cdom-001:/export/home/p2v   100G    14G    86G    15%    /var/tmp/p2v

Update the /var/sadm/system/admin/.platform file to contain the target platform (in this case sun4v):

PLATFORM_GROUP=sun4u

INST_ARCH=sparc

PLATFORM_NAME=SUNW,SPARCstation-fusion

PLATFORM_ID=SUNW,SPARCstation-fusion

IN_PLATFORM_GROUP=sun4u

PLATFORM_NAME=FJSV,GP

PLATFORM_ID=FJSV,GP

IN_PLATFORM_GROUP=sun4u

PLATFORM_NAME=FJSV,GPUU

PLATFORM_ID=FJSV,GPUU

IN_PLATFORM_GROUP=sun4u

PLATFORM_NAME=NATE,s-Note_737S

PLATFORM_ID=NATE,s-Note_737S

IN_PLATFORM_GROUP=sun4u

PLATFORM_NAME=NATE,s-Note_747S

PLATFORM_ID=NATE,s-Note_747S

IN_PLATFORM_GROUP=sun4u

PLATFORM_NAME=NATE,s-Note_777S

PLATFORM_ID=NATE,s-Note_777S

IN_PLATFORM_GROUP=sun4u

PLATFORM_GROUP=sun4v

Not doing this step will render the flash archive uninstallable on the sun4v platform

Create the flash archive

$ sudo /usr/local/bin/flarcreate -n old-phys-server-flar -c -x /var/tmp/p2v /var/tmp/p2v/`hostname`/old-phys-server.flar

Ensure that the VM (LDOM) on cdom-001 is configured to be on the network (old-phys-server is in VLAN 40, so VLAN 40 must be added to the trunk port and vswitches or network interface (corresponding to relevant vswitch must be in vlan 40):

VSW

NAME             MAC               NET-DEV   ID   DEVICE     LINKPROP   DEFAULT-VLAN-ID PVID VID                  MTU   MODE   INTER-VNET-LINK

primary_10g_vsw0 00:14:4f:fb:b7:08 aggr0310gEM0 0    switch@0   phys-state 1               602  343,950,40           1500         off

primary_1g_vsw1  00:14:4f:fb:1b:05 aggr01EM2 1    switch@1   phys-state 1               1    343,602,950          1500         off

primary_10g_vsw2 00:14:4f:f9:95:aa aggr0410gEM8 2    switch@2   phys-state 1               602  343,950,40           1500         off

primary_1g_vsw3  00:14:4f:f9:02:51 aggr02EM11 3    switch@3   phys-state 1               1    602,343,950          1500         off

Note that the VID corresponding to 2 vswitches includes 40

Create the ldom corresponding to old-phys-server on the control domain:

user001@cdom-001:/export/home/p2v/old-phys-server$ sudo ldm list -l old-phys-server

NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME

old-phys-server          active     -n—-  5003    8     8G        15%  15m

SOFTSTATE

Solaris running

UUID

c99db9c0-adb7-6af6-cf15-e3473bf4bdef

MAC

00:14:4f:fa:91:fa

HOSTID

0x84fa91fa

CONTROL

failure-policy=ignore

extended-mapin-space=off

cpu-arch=native

DEPENDENCY

master=

CORE

CID    CPUSET

16     (128, 129, 130, 131, 132, 133, 134, 135)

VCPU

VID    PID    CID    UTIL STRAND

0      128    16     6.9%   100%

1      129    16      12%   100%

2      130    16      12%   100%

3      131    16      13%   100%

4      132    16      11%   100%

5      133    16      12%   100%

6      134    16      15%   100%

7      135    16      21%   100%

MEMORY

RA               PA               SIZE

0x20000000       0x1e20000000     8G

CONSTRAINT

cpu=whole-core

max-cores=2

threading=max-throughput

NETWORK

NAME             SERVICE                     ID   DEVICE     MAC               MODE   PVID VID                  MTU   LINKPROP

vnet0            primary_10g_vsw0@primary    0    network@0  00:14:4f:fa:f5:6a        40                        1500  phys-state

DISK

NAME             VOLUME                      TOUT ID   DEVICE  SERVER         MPGROUP

vdisk01          vdisk11_2031_0E6E@primary_local_vds0      0    disk@0  primary

cdrom            sol10u10@primary_iso_vds0        1    disk@1  primary

VCONS

NAME             SERVICE                     PORT

old-phys-server          primary_vcc0@primary        5003

We have already assigned a 90g lun 2031_0E6E to this ldom and vnet0 has pvid set to 40, thus treating this virtual network interface as being in vlan 40 natively. Also note that there is an ISO image added to the ldom as cdrom. This is the device which we will boot off, to start the P2V process

Boot the ldom from cdrom and start the installation process

Ensure that when the default filesystem layout is presented, you modify it to accomodate all filesystems from the target host (in this case old-phys-server)

{0} ok boot cdrom

Boot device: /virtual-devices@100/channel-devices@200/disk@1  File and args:

SunOS Release 5.10 Version Generic_147440-01 64-bit

Copyright (c) 1983, 2011, 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

Setting up Java. Please wait…

Serial console, reverting to text install

Beginning system identification…

Searching for configuration file(s)…

Search complete.

Discovering additional network configuration…

Select a Language

0. English

1. Brazilian Portuguese

2. French

3. German

4. Italian

5. Japanese

6. Korean

7. Simplified Chinese

8. Spanish

9. Swedish

10. Traditional Chinese

Please make a choice (0 – 10), or press h or ? for help: 0

What type of terminal are you using?

1) ANSI Standard CRT

2) DEC VT52

3) DEC VT100

4) Heathkit 19

5) Lear Siegler ADM31

6) PC Console

7) Sun Command Tool

8) Sun Workstation

9) Televideo 910

10) Televideo 925

11) Wyse Model 50

12) X Terminal Emulator (xterms)

13) CDE Terminal Emulator (dtterm)

14) Other

Type the number of your choice and press Return: 3

Completing system identification…

in.rdisc: No interfaces up

? The Solaris Installation Program ?????????????????????????????????????????????

The Solaris installation program is divided into a series of short sections

where you’ll be prompted to provide information for the installation. At

the end of each section, you’ll be able to change the selections you’ve

made before continuing.

About navigation…

– The mouse cannot be used

– If your keyboard does not have function keys, or they do not

respond, press ESC; the legend at the bottom of the screen

will change to show the ESC keys to use for navigation.

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Identify This System ?????????????????????????????????????????????????????????

On the next screens, you must identify this system as networked or

non-networked, and set the default time zone and date/time.

If this system is networked, the software will try to find the information

it needs to identify your system; you will be prompted to supply any

information it cannot find.

> To begin identifying this system, press F2.

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Network Connectivity ?????????????????????????????????????????????????????????

Specify Yes if the system is connected to the network by one of the Solaris

or vendor network/communication Ethernet cards that are supported on the

Solaris CD. See your hardware documentation for the current list of

supported cards.

Specify No if the system is connected to a network/communication card that

is not supported on the Solaris CD, and follow the instructions listed under

Help.

Networked

?????????

[X] Yes

[ ] No

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? DHCP for vnet0 ???????????????????????????????????????????????????????????????

Specify whether or not this network interface should use DHCP to configure

itself.  Choose Yes if DHCP is to be used, or No if the network interface is

to be configured manually.

NOTE: DHCP support will not be enabled, if selected, until after the system

reboots.

Use DHCP for vnet0

??????????????????

[ ] Yes

[X] No

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Host Name for vnet0 ??????????????????????????????????????????????????????????

Enter the host name which identifies this system on the network.  The name

must be unique within your domain; creating a duplicate host name will cause

problems on the network after you install Solaris.

A host name must have at least one character; it can contain letters,

digits, and minus signs (-).

Host name for vnet0 old-phys-server-ldom

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? IP Address for vnet0 ?????????????????????????????????????????????????????????

Enter the Internet Protocol (IP) address for this network interface.  It

must be unique and follow your site’s address conventions, or a

system/network failure could result.

IP addresses contain four sets of numbers separated by periods (for example

129.200.9.1).

IP address for vnet0 192.168.136.32

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Subnet for vnet0 ?????????????????????????????????????????????????????????????

On this screen you must specify whether this system is part of a subnet.  If

you specify incorrectly, the system will have problems communicating on the

network after you reboot.

> To make a selection, use the arrow keys to highlight the option and

press Return to mark it [X].

System part of a subnet

???????????????????????

[X] Yes

[ ] No

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Netmask for vnet0 ????????????????????????????????????????????????????????????

On this screen you must specify the netmask of your subnet.  A default

netmask is shown; do not accept the default unless you are sure it is

correct for your subnet.  A netmask must contain four sets of numbers

separated by periods (for example 255.255.255.0).

Netmask for vnet0 255.255.255.0

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? IPv6 for vnet0 ???????????????????????????????????????????????????????????????

Specify whether or not you want to enable IPv6, the next generation Internet

Protocol, on this network interface.  Enabling IPv6 will have no effect if

this machine is not on a network that provides IPv6 service.  IPv4 service

will not be affected if IPv6 is enabled.

> To make a selection, use the arrow keys to highlight the option and

press Return to mark it [X].

Enable IPv6 for vnet0

?????????????????????

[ ] Yes

[X] No

Please wait…

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Set the Default Route for vnet0 ??????????????????????????????????????????????

To specify the default route, you can let the software try to detect one

upon reboot, you can specify the IP address of the router, or you can choose

None.  Choose None if you do not have a router on your subnet.

> To make a selection, use the arrow keys to select your choice and press

Return to mark it [X].

Default Route for vnet0

??????????????????????????

[ ] Detect one upon reboot

[X] Specify one

[ ] None

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Default Route IP Address for vnet0 ???????????????????????????????????????????

Enter the IP address of the default route. This entry will be placed in the

/etc/defaultrouter file and will be the default route after you reboot

(example 129.146.89.225).

Router IP Address for vnet0 192.168.136.3

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Confirm Information for vnet0 ????????????????????????????????????????????????

> Confirm the following information.  If it is correct, press F2;

to change any information, press F4.

Networked: Yes

Use DHCP: No

Host name: old-phys-server-ldom

IP address: 192.168.136.32

System part of a subnet: Yes

Netmask: 255.255.255.0

Enable IPv6: No

Default Route: Specify one

Router IP Address: 192.168.136.3

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-4_Change    Esc-6_Help

? Configure Security Policy: ???????????????????????????????????????????????????

Specify Yes if the system will use the Kerberos security mechanism.

Specify No if this system will use standard UNIX security.

Configure Kerberos Security

???????????????????????????

[ ] Yes

[X] No

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Confirm Information ??????????????????????????????????????????????????????????

> Confirm the following information.  If it is correct, press F2;

to change any information, press F4.

Configure Kerberos Security: No

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-4_Change    Esc-6_Help

Starting remote procedure call (RPC) services:

? Name Service ?????????????????????????????????????????????????????????????????

On this screen you must provide name service information.  Select the name

service that will be used by this system, or None if your system will either

not use a name service at all, or if it will use a name service not listed

here.

> To make a selection, use the arrow keys to highlight the option

and press Return to mark it [X].

Name service

????????????

[ ] NIS+

[ ] NIS

[ ] DNS

[ ] LDAP

[X] None

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Confirm Information ??????????????????????????????????????????????????????????

> Confirm the following information.  If it is correct, press F2;

to change any information, press F4.

Name service: None

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-4_Change    Esc-6_Help

done.

? NFSv4 Domain Name ????????????????????????????????????????????????????????????

NFS version 4 uses a domain name that is automatically derived from the

system’s naming services. The derived domain name is sufficient for most

configurations. In a few cases, mounts that cross domain boundaries might

cause files to appear to be owned by “nobody” due to the lack of a common

domain name.

The current NFSv4 default domain is: “”

NFSv4 Domain Configuration

??????????????????????????????????????????????

[X] Use the NFSv4 domain derived by the system

[ ] Specify a different NFSv4 domain

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Confirm Information for NFSv4 Domain ?????????????????????????????????????????

> Confirm the following information.  If it is correct, press F2;

to change any information, press F4.

NFSv4 Domain Name:  << Value to be derived dynamically >>

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-4_Change    Esc-6_Help

? Time Zone ????????????????????????????????????????????????????????????????????

On this screen you must specify your default time zone.  You can specify a

time zone in three ways:  select one of the continents or oceans from the

list, select other – offset from GMT, or other – specify time zone file.

> To make a selection, use the arrow keys to highlight the option and

press Return to mark it [X].

Continents and Oceans

??????????????????????????????????

–   [ ] Africa

?   [X] Americas

?   [ ] Antarctica

?   [ ] Arctic Ocean

?   [ ] Asia

?   [ ] Atlantic Ocean

?   [ ] Australia

?   [ ] Europe

v   [ ] Indian Ocean

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Country or Region ????????????????????????????????????????????????????????????

> To make a selection, use the arrow keys to highlight the option and

press Return to mark it [X].

Countries and Regions

???????????????????????????

–   [X] United States

?   [ ] Anguilla

?   [ ] Antigua & Barbuda

?   [ ] Argentina

?   [ ] Aruba

?   [ ] Bahamas

?   [ ] Barbados

?   [ ] Belize

?   [ ] Bolivia

?   [ ] Brazil

?   [ ] Canada

?   [ ] Cayman Islands

v   [ ] Chile

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Time Zone ????????????????????????????????????????????????????????????????????

> To make a selection, use the arrow keys to highlight the option and

press Return to mark it [X].

Time zones

??????????????????????????????????????????????????????????????????????????

–   [ ] Eastern Time

?   [ ] Eastern Time – Michigan – most locations

?   [ ] Eastern Time – Kentucky – Louisville area

?   [ ] Eastern Time – Kentucky – Wayne County

?   [ ] Eastern Time – Indiana – most locations

?   [ ] Eastern Time – Indiana – Daviess, Dubois, Knox & Martin Counties

?   [ ] Eastern Time – Indiana – Pulaski County

?   [ ] Eastern Time – Indiana – Crawford County

?   [ ] Eastern Time – Indiana – Pike County

?   [ ] Eastern Time – Indiana – Switzerland County

?   [X] Central Time

?   [ ] Central Time – Indiana – Perry County

v   [ ] Central Time – Indiana – Starke County

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Date and Time ????????????????????????????????????????????????????????????????

> Accept the default date and time or enter

new values.

Date and time: 2013-04-22 10:21

Year   (4 digits) : 2013

Month  (1-12)     : 04

Day    (1-31)     : 22

Hour   (0-23)     : 10

Minute (0-59)     : 21

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Confirm Information ??????????????????????????????????????????????????????????

> Confirm the following information.  If it is correct, press F2;

to change any information, press F4.

Time zone: Central Time

(US/Central)

Date and time: 2013-04-22 10:21:00

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-4_Change    Esc-6_Help

? Root Password ????????????????????????????????????????????????????????????????

Please enter the root password for this system.

The root password may contain alphanumeric and special characters.  For

security, the password will not be displayed on the screen as you type it.

> If you do not want a root password, leave both entries blank.

Root password:  *

Root password:  *

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Enabling remote services ?????????????????????????????????????????????????????

Would you like to enable network services for use by remote clients?

Selecting “No” provides a more secure configuration in

which Secure Shell is the only network service provided to

remote clients.  Selecting “Yes” enables a larger set of

services as in previous Solaris releases. If in doubt, it is

safe to select “No” as any services can be individually enabled

after installation.

Note: This choice only affects initial installs. It doesn’t affect upgrades.

Remote services enabled

???????????????????????

[X] Yes

[ ] No

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Provide Solaris Auto Registration Info: ??????????????????????????????????????

To improve products and services, Oracle Solaris communicates configuration

data to Oracle after rebooting.

You can register your version of Oracle Solaris to capture this data for

your use, or the data is sent anonymously.

For information about what configuration data is communicated and how to

control this facility, see the Release Notes or

www.oracle.com/goto/solarisautoreg.

> Use the arrow keys to select the option and press Return to

mark it [X].

?????????????????????????????????????????????????????????????????

[ ] I would like to register using My Oracle Support information.

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

? Provide Solaris Auto Registration Info: ??????????????????????????????????????

To send the configuration data anonymously, complete the following fields.

If using a proxy server, provide the proxy settings.

For information about what configuration data is communicated and how to

control this facility, see the Release Notes or

www.oracle.com/goto/solarisautoreg.

Proxy Server Host Name:

Proxy Server Port Number:

HTTP Proxy User Name:

HTTP Proxy Password:

????????????????????????????????????????????????????????????????????????????????

Esc-2_Continue    Esc-6_Help

System identification is completed.

System identification complete.

Starting Solaris installation program…

Executing JumpStart preinstall phase…

Searching for SolStart directory…

Checking rules.ok file…

Using begin script: install_begin

Using finish script: patch_finish

Executing SolStart preinstall phase…

Executing begin script “install_begin”…

Begin script install_begin execution completed.

? Solaris Interactive Installation ?????????????????????????????????????????????

On the following screens, you can accept the defaults or you can customize

how Solaris software will be installed by:

– Selecting the type of Solaris software to install

– Selecting disks to hold software you’ve selected

– Selecting unbundled products to be installed with Solaris

– Specifying how file systems are laid out on the disks

After completing these tasks, a summary of your selections (called a

profile) will be displayed.

There are two ways to install your Solaris software:

– “Standard” installs your system from a standard Solaris Distribution.

Selecting “Standard” allows you to choose between initial install

and upgrade, if your system is upgradable.

– “Flash” installs your system from one or more Flash Archives.

????????????????????????????????????????????????????????????????????????????????

F2_Standard    F4_Flash    F5_Exit    F6_Help

? Reboot After Installation? ???????????????????????????????????????????????????

After Solaris software is installed, the system must be rebooted. You can

choose to have the system automatically reboot, or you can choose to

manually reboot the system if you want to run scripts or do other

customizations before the reboot.  You can manually reboot a system by using

the reboot(1M) command.

[X] Auto Reboot

[ ] Manual Reboot

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F5_Exit

? Choose Filesystem Type ???????????????????????????????????????????????????????

Select the filesystem to use for your Solaris installation

[X] UFS

[ ] ZFS

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F5_Exit    F6_Help

? Flash Archive Retrieval Method ???????????????????????????????????????????????

On this screen you must select a method to retrieve the Flash archive. The

retrieval method depends on where the archive is stored.  For example, if

the archive is stored on a tape, select “Local Tape”.

Available Retrieval Methods

========================================

[ ]  HTTP

[ ]  FTP

[X]  NFS

[ ]  Local File

[ ]  Local Tape

[ ]  Local Device

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F5_Cancel    F6_Help

? Flash Archive Addition ???????????????????????????????????????????????????????

Please specify the path to the network file system where the Flash archive

is located.  For example:

NFS Location: syrinx:/export/archive.flar

============================================================================

NFS Location: 192.168.12.176:/export/home/p2v/old-phys-server/old-phys-server.fla>

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F5_Cancel    F6_Help

? Flash Archive Selection ??????????????????????????????????????????????????????

You selected the following Flash archives to use to install this system.  If

you want to add another archive to install select “New”.

Retrieval Method      Name

====================================================================

NFS                   old-phys-server-flar

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F4_Edit    F5_New    F6_Help

? Select Disks ?????????????????????????????????????????????????????????????????

On this screen you must select the disks for installing Solaris software.

Start by looking at the Suggested Minimum field; this value is the

approximate space needed to install the software you’ve selected. Keep

selecting disks until the Total Selected value exceeds the Suggested Minimum

value.

NOTE: denotes current boot disk

Disk Device                                              Available Space

=============================================================================

[X] c0d0                                             93491 MB  (F4 to edit)

Total Selected:  93491 MB

Suggested Minimum:  18949 MB

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F4_Edit    F5_Exit    F6_Help

? Select Boot Disk ?????????????????????????????????????????????????????????????

On this screen you can select the disk for installing the root (/) file

system of the Solaris software.

Original Boot Device : c0d0

Disk

==============================

[X] c0d0  (F4 to select boot device)

????????????????????????????????????????????????????????????????????????????????

F2_OK    F4_Edit    F5_Cancel    F6_Help

? Select Boot Disk ?????????????????????????????????????????????????????????????

On this screen you can select the disk for installing the root (/) file

system of the Solaris software.

Original Boot Device : c0d0

Disk

==============================

[X] c0d0  (F4 to select boot device)

????????????????????????????????????????????????????????????????????????????????

F2_OK    F4_Edit    F5_Cancel    F6_Help

? Reconfigure EEPROM? ??????????????????????????????????????????????????????????

Do you want to update the system’s hardware (EEPROM) to always

boot from c0d0s0?

????????????????????????????????????????????????????????????????????????????????

Esc-2_Reconfigure EEPROM    Esc-5_Don’t Reconfigure EEPROM

? Preserve Data? ???????????????????????????????????????????????????????????????

Do you want to preserve existing data? At least one of the disks you’ve

selected for installing Solaris software has file systems or unnamed slices

that you may want to save.

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F4_Preserve    F5_Exit    F6_Help

? File System and Disk Layout ??????????????????????????????????????????????????

The summary below is your current file system and disk layout, based on the

information you’ve supplied.

NOTE: If you choose to customize, you should understand file systems, their

intended purpose on the disk, and how changing them may affect the operation

of the system.

File sys/Mnt point Disk/Slice                                       Size

========================================================================

/                  c0d0s0                                     27457   MB

/var               c0d0s1                                     93      MB

overlap            c0d0s2                                     93491   MB

swap               c0d0s3                                     513     MB

/export/home       c0d0s7                                     65426   MB

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F4_Customize    F5_Exit    F6_Help

? Customize Disk: c0d0 ?????????????????????????????????????????????????????????

Boot Device: c0d0s0

Entry: swap                       Recommended:  420 MB     Minimum:    0 MB

================================================================================

Slice  Mount Point                 Size (MB)

0   /                               27457

1   swap                             8192

2   overlap                         93491

3                                     513

4                                       0

5                                       0

6                                       0

7   /export/home                    65426

================================================================================

Capacity:       93491 MB

Allocated:       93489 MB

Rounding Error:           2 MB

Free:           0 MB

????????????????????????????????????????????????????????????????????????????????

Esc-2_OK    Esc-4_Options    Esc-5_Cancel    F6_Help

? File System and Disk Layout ??????????????????????????????????????????????????

The summary below is your current file system and disk layout, based on the

information you’ve supplied.

NOTE: If you choose to customize, you should understand file systems, their

intended purpose on the disk, and how changing them may affect the operation

of the system.

File sys/Mnt point Disk/Slice                                       Size

========================================================================

/                  c0d0s0                                     27457   MB

swap               c0d0s1                                     8193    MB

overlap            c0d0s2                                     93491   MB

/var               c0d0s3                                     10241   MB

/export/home       c0d0s6                                     47598   MB

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F4_Customize    F5_Exit    F6_Help

? Mount Remote File Systems? ???????????????????????????????????????????????????

Do you want to mount software from a remote file server? This may be

necessary if you had to remove software because of disk space problems.

????????????????????????????????????????????????????????????????????????????????

F2_Continue    F3_Go Back    F4_Remote Mounts    F5_Exit    F6_Help

? Profile ??????????????????????????????????????????????????????????????????????

The information shown below is your profile for installing Solaris software.

It reflects the choices you’ve made on previous screens.

============================================================================

Installation Option: Flash

Boot Device: c0d0

Root File System Type: UFS

Client Services: None

Software: 1 Flash Archive

NFS: old-phys-server-flar

File System and Disk Layout: /                   c0d0s0 27457 MB

swap                c0d0s1 8193 MB

/var                c0d0s3 10241 MB

/export/home        c0d0s6 47598 MB

????????????????????????????????????????????????????????????????????????????????

Esc-2_Begin Installation    F4_Change    F5_Exit    F6_Help

Preparing system for Flash install

Configuring disk (c0d0)

– Creating Solaris disk label (VTOC)

Creating and checking file systems

– Creating / (c0d0s0)

– Creating /var (c0d0s3)

– Creating /export/home (c0d0s6)

Beginning Flash archive processing

16 blocks

16 blocks

16 blocks

Solaris Flash Install

MBytes Installed: 14576.30

MBytes Remaining:    -0.03

Installing: Extracting Archive:

|           |           |           |           |           |

0          20          40          60          80         100

Customizing system files

– Mount points table (/etc/vfstab)

– Network host addresses (/etc/hosts)

– Environment variables (/etc/default/init)

Cleaning devices

Customizing system devices

– Physical devices (/devices)

– Logical devices (/dev)

Installing boot information

– Installing boot blocks (c0d0s0)

– Installing boot blocks (/dev/rdsk/c0d0s0)

Installation log location

– /a/var/sadm/system/logs/install_log (before reboot)

– /var/sadm/system/logs/install_log (after reboot)

Flash installation complete

Executing JumpStart postinstall phase…

The begin script log ‘begin.log’

is located in /var/sadm/system/logs after reboot.

Pausing for 90 seconds at the “Reboot” screen. The wizard will continue to

the next step unless you select “Pause”. Enter ‘p’ to pause. Enter ‘c’ to

continue. [c]

syncing file systems… done

rebooting…

Resetting…

The LDOM reboots

SPARC T4-4, No Keyboard

Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.

OpenBoot 4.34.1, 8192 MB memory available, Serial #83530234.

Ethernet address 0:14:4f:fa:91:fa, Host ID: 84fa91fa.

Boot device: disk  File and args:

Can’t open boot_archive

Evaluating:

The file just loaded does not appear to be executable.

If this is a solaris 9 host or an older release of Solaris 10 (unsupported by the hypervisor/ldoms manager), it will not boot. So, another boot cdrom will be called for, and this time we will upgrade the existing installation. Boot from cdrom into single user mode:

ok> boot cdrom -s

Once booted up, create a file /tmp/prof looking like this:

install_type upgrade

nospacecheck

nobootblock

root_device c0d0s0

Run the pfinstall script in debug/dry-run mode:

# /usr/sbin/install.d/pfinstall -x 10 -D /tmp/prof

<snipped>

EOF

echo “OS=Solaris” > ${base}/var/sadm/system/admin/services/Solaris_10

echo “VERSION=10″ >> ${base}/var/sadm/system/admin/services/Solaris_10

echo “REV=0″ >> ${base}/var/sadm/system/admin/services/Solaris_10

touch ${base}/reconfigure

/usr/bin/pkgadm sync -R $base/ -q > /dev/null 2>&1

Preparing system for Solaris upgrade

Upgrade complete

Test run complete. Exit status 0.

If the dry-run returns with exit 0, that means your image can be upgraded. If not, look at the output and figure out what you might need to fix (eg: if the source system was mirroed using disksuite or veritas, you might want to edit the /etc/vfstab and /etc/system file by mounting rootdisk to temporary mount point and comment out entries corresponding to rootdev or encapsulated Solaris Vol Mgr or vxfs filesystems).

At that point, run the pfinstall dry-dun with debug mode again (see above). Once all errors are resolved and dry-run exits with status 0, run:

# /usr/sbin/install.d/pfinstall /tmp/prof

Processing profile

Loading local environment and services

Generating upgrade actions

WARNING: SUNWmccom depends on SUNWjhrt, which is not selected

WARNING: SUNWmccom depends on SUNWj3dev, which is not selected

WARNING: SUNWmccom depends on SUNWj3rt, which is not selected

WARNING: SUNWmcc depends on SUNWj3dev, which is not selected

WARNING: SUNWmcc depends on SUNWj3rt, which is not selected

WARNING: SUNWmc depends on SUNWj3dev, which is not selected

WARNING: SUNWmc depends on SUNWj3rt, which is not selected

WARNING: SUNWwbmc depends on SUNWwbcou, which is not selected

WARNING: SUNWwbmc depends on SUNWj3dev, which is not selected

WARNING: SUNWwbmc depends on SUNWj3rt, which is not selected

WARNING: SUNWmga depends on SUNWj3rt, which is not selected

WARNING: SUNWmga depends on SUNWwbpro, which is not selected

WARNING: SUNWmga depends on SUNWwbcor, which is not selected

WARNING: SUNWmga depends on SUNWwbcou, which is not selected

WARNING: SUNWmga depends on SUNWwbapi, which is not selected

WARNING: SUNWrmui depends on SUNWmgapp, which is not selected

WARNING: SUNWrmui depends on SUNWwbcor, which is not selected

WARNING: SUNWrmui depends on SUNWwbcou, which is not selected

WARNING: SUNWrmui depends on SUNWwbapi, which is not selected

WARNING: SUNWjato depends on SUNWj3dev, which is not selected

WARNING: SUNWjato depends on SUNWj3rt, which is not selected

WARNING: SUNWmctag depends on SUNWjhdev, which is not selected

WARNING: SUNWmctag depends on SUNWjhrt, which is not selected

WARNING: SUNWtcatu depends on SUNWj3dev, which is not selected

WARNING: SUNWtcatu depends on SUNWj3rt, which is not selected

WARNING: SUNWmcon depends on SUNWjhdev, which is not selected

WARNING: SUNWmcon depends on SUNWjhrt, which is not selected

WARNING: SUNWdtjxt depends on SUNWj3rt, which is not selected

WARNING: SUNWjmf depends on SUNWj3rt, which is not selected

WARNING: SUNWfsmgtu depends on SUNWj3rt, which is not selected

WARNING: SUNWfsmgtu depends on SUNWwbpro, which is not selected

WARNING: SUNWfsmgtu depends on SUNWwbcor, which is not selected

WARNING: SUNWfsmgtu depends on SUNWwbcou, which is not selected

WARNING: SUNWfsmgtu depends on SUNWwbapi, which is not selected

WARNING: SUNWdmgtu depends on SUNWwbpro, which is not selected

WARNING: SUNWdmgtu depends on SUNWwbcou, which is not selected

WARNING: SUNWdmgtu depends on SUNWwbcor, which is not selected

WARNING: SUNWlvma depends on SUNWj3rt, which is not selected

WARNING: SUNWlvma depends on SUNWwbpro, which is not selected

WARNING: SUNWlvma depends on SUNWwbcor, which is not selected

WARNING: SUNWlvma depends on SUNWwbcou, which is not selected

WARNING: SUNWlvma depends on SUNWwbapi, which is not selected

WARNING: SUNWlvmg depends on SUNWj3rt, which is not selected

WARNING: SUNWlvmg depends on SUNWwbcor, which is not selected

WARNING: SUNWlvmg depends on SUNWwbcou, which is not selected

WARNING: SUNWlvmg depends on SUNWwbapi, which is not selected

WARNING: SUNWfdl depends on SUNWj3rt, which is not selected

WARNING: SUNWdclnt depends on SUNWwbpro, which is not selected

WARNING: SUNWdclnt depends on SUNWj3rt, which is not selected

WARNING: SUNWdclnt depends on SUNWwbcor, which is not selected

WARNING: SUNWdclnt depends on SUNWwbcou, which is not selected

WARNING: SUNWdclnt depends on SUNWwbapi, which is not selected

WARNING: SUNWpprou depends on SUNWj3rt, which is not selected

WARNING: SUNWjatodmo depends on SUNWj3dev, which is not selected

WARNING: SUNWjatodmo depends on SUNWj3rt, which is not selected

WARNING: SUNWdhcsu depends on SUNWwbcou, which is not selected

WARNING: SUNWiqu depends on SUNWjhrt, which is not selected

WARNING: SUNWant depends on SUNWj3dev, which is not selected

WARNING: SUNWant depends on SUNWj3rt, which is not selected

WARNING: SUNWasu depends on SUNWjhrt, which is not selected

WARNING: SUNWjai depends on SUNWj3rt, which is not selected

WARNING: SUNWppro-plugin-sunos-base depends on SUNWj3rt, which is not selected

WARNING: SUNWpmgr depends on SUNWj3rt, which is not selected

WARNING: SUNWpmgr depends on SUNWwbapi, which is not selected

WARNING: SUNWzfsgu depends on SUNWjhrt, which is not selected

WARNING: SUNWzfsgu depends on SUNWjhdev, which is not selected

WARNING: SUNWswupcl depends on SUNWj3rt, which is not selected

WARNING: SUNWj3dmo depends on SUNWj3rt, which is not selected

WARNING: SUNWmgts depends on SUNWj3rt, which is not selected

WARNING: SUNWmgts depends on SUNWwbpro, which is not selected

WARNING: SUNWmgts depends on SUNWwbcor, which is not selected

WARNING: SUNWmgts depends on SUNWwbcou, which is not selected

WARNING: SUNWmgts depends on SUNWwbapi, which is not selected

WARNING: SUNWjmfmp3 depends on SUNWj3rt, which is not selected

WARNING: SUNWmcex depends on SUNWj3rt, which is not selected

WARNING: SUNWswupclr depends on SUNWj3rt, which is not selected

WARNING: SUNWglow depends on SUNWjhrt, which is not selected

WARNING: SUNWtcatr depends on SUNWj3dev, which is not selected

WARNING: SUNWtcatr depends on SUNWj3rt, which is not selected

WARNING: SUNWj3cfg depends on SUNWj3rt, which is not selected

Space check complete.

Building upgrade script

Preparing system for Solaris upgrade

Upgrading Solaris: 100% completed

– Environment variables (/etc/default/init)

Installation log location

– /a/var/sadm/system/logs/upgrade_log (before reboot)

– /var/sadm/system/logs/upgrade_log (after reboot)

Please examine the file:

– /a/var/sadm/system/data/upgrade_cleanup

It contains a list of actions that may need to be performed to complete

the upgrade. After this system is rebooted, this file can be found at:

– /var/sadm/system/data/upgrade_cleanup

Upgrade complete

# more /a/var/sadm/system/logs/upgrade_log

Starting upgrade:

Removing obsolete packages and saving modified files

Removing package FJSVvplu:

Removal of <FJSVvplu> was successful.

Removing package FJSVvplr:

Removal of <FJSVvplr> was successful.

Removing package SUNWcsu:

Removal of <SUNWcsu> was successful.

Removing package SUNWcsl:

Removal of <SUNWcsl> was successful.

Removing package TSBWvplu:

Removal of <TSBWvplu> was successful.

Removing package TSBWvplr:

Removal of <TSBWvplr> was successful.

Removing package SUNWkvm:

# more /a/var/sadm/system/data/upgrade_cleanup

This file contains a list of files on the upgraded system that may need

to be manually modified after the upgrade.  Typically, the files in this

list are files that were modified since their original installation.

The following text explains the entries in this file:

ENTRY:

<file1>: existing file renamed to <file2>

EXPLANATION:

The file with the name <file1> was present on the system at the time of

the upgrade.  It had been modified since its original installation,

so the upgrade program renamed it to <file2>.

RECOMMENDED ACTION:

The user should examine the contents of the renamed file to determine

whether the modifications made to the file should be made to the

newly installed version of the file, which will have name <file1>

after the upgrade completes.

ENTRY

# ifconfig -a

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1

inet 127.0.0.1 netmask ff000000

vnet0: flags=1000863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,IPv4> mtu 1500 index 2

inet 192.168.136.32 netmask ffffff00 broadcast 192.168.136.255

ether 0:14:4f:fa:f5:6a

# ifconfig vnet0 unplumb

# hostname

old-phys-server-ldom

# df -h

Filesystem             size   used  avail capacity  Mounted on

/ramdisk-root:a        203M   181M   2.3M    99%    /

/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                    15G   352K    15G     1%    /etc/svc/volatile

objfs                    0K     0K     0K     0%    /system/object

sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab

swap                    15G   107M    15G     1%    /tmp

/tmp/dev                15G   107M    15G     1%    /dev

fd                       0K     0K     0K     0%    /dev/fd

/devices/virtual-devices@100/channel-devices@200/disk@1:a

2.1G   2.1G     0K   100%    /cdrom

df: cannot statvfs /platform/sun4v/lib/libc_psr.so.1: Operation not applicable

df: cannot statvfs /platform/sun4v/lib/sparcv9/libc_psr.so.1: Operation not applicable

swap                    15G    32K    15G     1%    /tmp/root/var/run

/usr/sbin/install.d/install_config

203M   181M   2.3M    99%    /tmp/_install_config

/dev/dsk/c0d0s0         26G    21G   5.5G    79%    /a

/dev/dsk/c0d0s3        9.8G   1.5G   8.3G    16%    /a/var

/dev/dsk/c0d0s6         46G   262M    45G     1%    /a/export/home

df: cannot statvfs /platform/sun4u-us3/lib/libc_psr.so.1: Operation not applicable

df: cannot statvfs /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1: Operation not applicable

# cd /a/etc

# more hosts

#

# Internet host table

#

#

# Merged entries from ipnodes into hosts on <Mon Apr 22 14:04:53 CDT 2013>

# Backup files saved in /etc/inet/ directory: hosts.premerge, ipnodes.premerge

#

::1     localhost

127.0.0.1       localhost

192.168.136.32     old-phys-server-ldom    loghost

# more /etc/hostname.vnet0

/etc/hostname.vnet0: No such file or directory

# ls -lart /a/etc/hostname*

-rw-r–r–   1 root     root          13 Apr 22 10:45 /a/etc/hostname.vnet0

# more /a/etc/hostname.vnet0

old-phys-server-ldom

# init 0

Creating boot_archive for /a

updating /a/platform/sun4v/boot_archive

# syncing file systems… done

Program terminated

SPARC T4-4, No Keyboard

Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.

OpenBoot 4.34.1, 8192 MB memory available, Serial #83530234.

Ethernet address 0:14:4f:fa:91:fa, Host ID: 84fa91fa.

{0} ok boot

Boot device: disk  File and args:

Migrating/upgrading from a physical server to an LDOM will entail some hiccups, as will upgrading from Solaris 9 to 10. Boot newly created ldom into single-user mode and then pkgrm all Veritas software and also edit the /etc/system file to ensure any remnant of veritas from the physical incarnation of the system are removed as well.

Re-install Veritas storage foundation from media if you need to mount veritas volumes on newly converted host.

Also, as soon as possible, migrate from UFS-based root filesystem to ZFS boot

Converting to ZFS boot

Investigating the sizes of existing filessystems on the server, it might turn out that a particular filesystem is not very heavily being used. In our instance (old-phys-server-ldom:/export/home size was 46GB and only 213MB of it was being used.

So, tar-balling the contents of /export/home to /export/home2 (under current root fs), the slice c0d0s6 was cleared up to become a ZFS pool.

# mkdir /export/home2

# cd /export/home

# tar cvf – .|(cd /export/home2; tar xfBp -)

# cd /

# umount /export/home

# cd /export; mv home home.old; mv home2 home

Comment out vfstab entry for /dev/dsk/c0d0s6

# zpool create -f syspool c0d0s6

# lucreate -n firstBE -p syspool

Determining types of file systems supported

Validating file system requests

Preparing logical storage devices

Preparing physical storage devices

Configuring physical storage devices

Configuring logical storage devices

Analyzing system configuration.

No name for current boot environment.

INFORMATION: The current boot environment is not named – assigning name <c0d0s0>.

Current boot environment is named <c0d0s0>.

Creating initial configuration for primary boot environment <c0d0s0>.

INFORMATION: No BEs are configured on this system.

The device </dev/dsk/c0d0s0> is not a root device for any boot environment; cannot get BE ID.

PBE configuration successful: PBE name <c0d0s0> PBE Boot Device </dev/dsk/c0d0s0>.

Updating boot environment description database on all BEs.

Updating system configuration files.

The device </dev/dsk/c0d0s6> is not a root device for any boot environment; cannot get BE ID.

Creating configuration for boot environment <firstBE>.

Source boot environment is <c0d0s0>.

Creating file systems on boot environment <firstBE>.

Creating <zfs> file system for </> in zone <global> on <syspool/ROOT/firstBE>.

Apr 22 15:50:04 old-phys-server-ldom unix: /kernel/drv/sparcv9/pfil: undefined symbol

Apr 22 15:50:04 old-phys-server-ldom unix:  ‘ill_g_head’

Apr 22 15:50:04 old-phys-server-ldom unix: WARNING: mod_load: cannot load module ‘pfil’

Apr 22 15:50:04 old-phys-server-ldom unix: /kernel/drv/sparcv9/pfil: undefined symbol

Apr 22 15:50:04 old-phys-server-ldom unix:  ‘ill_g_head’

Apr 22 15:50:04 old-phys-server-ldom unix: WARNING: mod_load: cannot load module ‘pfil’

Populating file systems on boot environment <firstBE>.

Analyzing zones.

Mounting ABE <firstBE>.

Generating file list.

Copying data from PBE <c0d0s0> to ABE <firstBE>.

2% of filenames transferred

# luactivate -n firstBE

When you can manage it, get another 90gb lun allocated to the host, create a new pool, say “rpool” from that new lun and run the same command again to create a larger root pool (90gb vs 46gb)

# lucreate -n altBE -p rpool