Friday, September 28, 2012

Presenting at Oracle San Francisco 2012

I'll be presenting at Oracle Open World 2012, in a session on cloud computing called "Lessons Learned and Practical Approaches to Cloud Architecture and Implementation" on October 3 @ 10:15am PST at Moscone West in conference room 3024. Follow the link below to find out more information.

Oracle San Francisco 2012

I'll also be presenting a panel discussion "Cloud Architecture: Top 10 List for Success in the Cloud" at the Enterprise Architecture Summit that is part of the Executive Edge program at Oracle Open World on October 2 @ 2pm PST at the Westin St. Francis.

Executive Edge @ Open World 2012

And lastly, I'll be at the Oracle VM Server for SPARC booth (Moscone South S-138) on Monday and Wednesday afternoon to answer your questions about cloud computing on SPARC.

So if you're going to OOW 2012, I'll see you there!

Wednesday, November 09, 2011

So Where is Octave?

I know my blog has been very quiet since April and people have been wondering, just where is Octave? Well I'm working at Oracle as a Director of Enterprise Architecture! Without a doubt this has been an amazing year for me and I'm very excited about this position at Oracle. At Oracle OpenWorld 2011, I presented at the session "Getting the Most out of Oracle VM Server for SPARC", where I talked about the new SPARC T4 servers, what's new with LDoms, and how SPARC can be used in your cloud deployments. There are soo many exciting things going on at Oracle around cloud computing, Solaris, SPARC, virtualization, etc.

There is soo much I want to talk about and I will do my best to bring new content to my blog. If there are topics you'd like to see me make posts on, leave a comment below!

Fujitsu Launches PRIMEHPC FX10 Super Computer


As if Fujitsu didn't surprise the industry enough with the K Computer being the #1 super computer on the Top500 list, they have announced an even faster platform, the PRIMEHPC FX-10!

When I was at Oracle OpenWorld 2011, I had a chance to take a look at the SPARC64 VIIIfx 2.0GHz nodes that are used in the K Computer:



The really interesting thing about this server is the water cooling and of course the performance. Sadly, Fujitsu is using Linux on this server and the PRIMEHPC FX10 super computer. The PRIMEHPC FX10 super computer uses a derivative processor called the SPARC64 IXfx  which runs at 1.848GHz and has 16 cores that provides 236.5 GFLOPs of performance. A fully loaded PRIMEHPC FX10 will provide 23,248 TFLOPs with 1024 nodes!

All in all, very impressive to SPARC at the top after all these years! With what Oracle has done with the SPARC T4 processor and what Fujitsu is doing on the high-end, there is a renaissance for the SPARC architecture.  

Solaris 11 Released!

Finally after all of these years in the works, Solaris 11 has been released! Check out the below links:
I've been waiting for this moment for a long time and I'm really happy that it has been released finally. The announcement today was full of lots of information that many in the OpenSolaris space already knew would come. However, there are many pleasant surprises for everyone. Here's a quick summary from the "What's New" document:
  • Better Auto-Installer
  • More configuration files migrated into SMF (/etc/nsswitch.conf, /etc/resolv.conf, /etc/nodename, /etc/defaultdomain, /etc/default/init, etc.)
  • New sysconfig command replaces the old sys-unconfig and sysidtool commands
  • Integrated p2v and v2v tools for migrating Solaris 10 machines to Solaris 11 Zones
  • NFS Server in a Zone!!
  • Crossbow and Zones Integrated!
  • RBAC based administrative controls for Zone administration
  • Enhanced ZFS support for Zone Boot Environments
  • Immutable Zones replaces Sparse Root Zones
  • Clean Shutdowns for Zones
  • zonestat tool and libraries for monitoring Zones
  • Root account is just a role now as it should be!
  • TPM Support in Trusted Extensions
  • Labeled IPSec reduces the number of physical network links and maintains security
  • More security and cryptographic enhancements to make Solaris 11 the most secure OS
  • X.509 certificate support for Solaris SSH
  • Tons of features around Crossbow
  • netadm and netcfg control SMF services for network configuration
  • Default vanity naming for NIC interfaces
  • dladm can make MAC address changes persistent across reboots!
  • Infiniband enhancements for TCP/IP to support SD and RDMA for performance
  • VLAN IDs are now broadcasted over VNICs to enable dynamic network reconfiguration
  • llpdadm command enables control of LLPD support on networks
  • New Socket architecture replaces the old STREAMS framework
  • Load balancer, bridging, and tunneling are finally included!
  • Link protection for VMs to prevent bad things from happening on your networks!
  • dlstat give you link observation stats. Plus netcat and wireshark is included for indepth analysis.
  • IPMP enhancements with ipadm, simpler configuration, better probing options, and SMF service
  • ProFTPd replaces the old WU-ftpd
  • tcp, udp, and ip providers for Dtrace!
  • ZFS Encryption included, but not for the root pool :(
  • ZFS deduplication included!
  • ZFS shadow datasets for migrating data
  • ZFS backups with NDMP with support for snapshots and clones!
  • ZFS datasets can now be mounted temporarily in alternate locations
  • ZFS sends can now be recursive to descendents!
  • ZFS diffs for showing what has changed between snapshots
  • NFSv4 support for alerting clients of when a file system has been migrated!
  • Built-int CIFS server replaces Samba, FINALLY! Integrated with ZFS for ACL support for Windows
  • DTrace providers for SMB and iSCSI protocols
  • COMSTAR framework integrated to provide FC, FCoE, iSCSI, iSER, and Infiniband SRP protocol support. Enables you to turn your Solaris server into a storage array!
  • DTrace probes for COMSTAR SCSI STMF and SBD
  • SPARC T4 support and optimizations, Surprise!
  • Critical Threads support in kernel to enable faster performance on newer CPUs
  • SR-IOV support to enhance virtualization, FINALLY!
  • NUMA I/O Support!
  • Intel AVX Support
  • Dynamic Intimate Shared Memory enhancements with 8x performance gains get those Oracle Databases up faster!
  • Suspend and Resume on RAM for certain platforms
  • Enhanced FMA support in x86
  • DTrace cpc provider for CPU profiling
  • Tons of open source software in the IPS repository
  • Xorg with Gnome 2.30.2 and stable with Firefox 6, Thunderbird 6, etc. Compviz support for fancy eyecandy!
  • GNU and BSDisms integrated into /usr/bin and /usr/gnu/bin
  • Bash is the default shell with ksh93 being the default system shell
  • HAL and DBus replace the old vold framework for removeable media
  • Open Sound System API replaces old sound framework
  • Enhancements for the old Man Pages with search strings and an SMF service to build your indexes! No more manual catman jobs!
  • Virtual Console support, FINALLY!
  • Time Slider tool for managing ZFS snapshots of home directories, enables easy backups and restores for users
  • ZFS SMF service for automating snapshots
  • CUPS replaces the old LPR print system, FINALLY!
  • LibC enhancements to support compatibility with Linux and BSD
  • path.h included to help developers with knowing common paths in Solaris for application development
  • Over 200 Locales supported, without a doubt the best cross locale support out there
  • Enhanced True Type fonts
 And now the massive upgrades begin at home and on my laptop VMs. I'll post my experiences and thoughts as I go through this process.

Friday, April 01, 2011

Oracle Solaris Online Forum



Oracle will be hosting an on-line forum about Solaris 11! I'm planning on attending this on-line session. Here is the agenda:


Thursday, April 14th, 2011
All times are listed in US Pacific.


9:00 a.m. - 9:45 a.m. PT
Oracle Solaris Strategy Overview

Bill Nesheim, VP Oracle Solaris Engineering
Live online chat available for this session
Add this event to your Outlook calendar

9:45 a.m. - 10:00 a.m. PT
An Industry Analyst's View of the Operating System Market

Gary Chen, IDC
Live online chat available for this session
Add this event to your Outlook calendar

10:00 a.m. - 10:45 a.m. PT
Manage Your Deployments With Image Packaging System and the Automated Installer

Bart Smaalders, Oracle Solaris Engineering
Dave Miner, Oracle Solaris Engineering
Glynn Foster, Oracle Solaris Product Management
Isaac Rozenfeld, Oracle Solaris Product Management
Live online chat available for this session
Add this event to your Outlook calendar

10:45 a.m. - 11:30 a.m. PT
Get More out of Your Oracle Solaris Environments With Virtualization

Dan Price, Oracle Solaris Engineering
Nicolas Droux, Oracle Solaris Engineering
Duncan Hardie, Oracle Solaris Product Management
Live online chat available for this session
Add this event to your Outlook calendar

11:30 a.m. - 12:15 p.m. PT
Learn How All New Features in Oracle Solaris 11 Raise The Bar For Operating Systems

Markus Flierl, Sr. Director Oracle Solaris Engineering
Liane Praza, Oracle Solaris Engineering
Joost Pronk, Oracle Solaris Product Management
Live online chat available for this session
Add this event to your Outlook calendar



Register here to attend!

Friday, December 03, 2010

SPARC Punches Back!




Larry Ellison at Oracle made some really exciting announcements yesterday on SPARC and Solaris! It's definitely worth registering and watching the event to find all the details. But here are the high lights:


Honestly, I don't think I've seen Larry soo excited! So basically Oracle now has several pre-configured SPARC based appliances that can run Solaris 10 or Solaris 11. The SPARC SuperCluster can be used for databases or general computing, while the SPARC ExaLogic can be used for the Oracle Fusion middleware products. There will be three SuperCluster configurations, one based on the SPARC T3-2 servers, the second based on the SPARC T3-4 servers, and the last one based on the M5000 servers. The SPARC ExaLogic product is based on the SPARC T3-1B blades. All of the configurations leverage the same management tools, Infiniband fabric, flash storage, flash cache, and the ZFS based 7000 series arrays as the x64 ExaData and ExaLogic configurations in place today. As a result, the SPARC SuperCluster and the SPARC ExaLogic systems can scale big time!

I think the important thing to keep in mind here is that the SPARC T3 processor obviously can pack a bigger punch than HP or IBM and with a much smaller foot-print and cost. Considering that it now has the TPC-C and the SPECweb top spots, it'll be harder for the FUD spreaders to say that SPARC is slow or out-dated. Clearly betting on the whole CMT concept has paid off and forced the industry to follow.

The SPARC T4 processor was announced in this event as well. As many have speculated these processors will have 8 cores and focus on improving single-threaded performance by a factor of 3. These should use the new VT (Yellowstone) core that Sun talked about in the past that will start out with 8 cores and 8 threads. These should go beyond the 2Ghz clock rate. It's great to hear that these processors are already in the labs and will come out next year. It would appear that Oracle is ensuring that Sun engineers and TSMC get things tapped out in a reasonable amount of time. If that means that the T4 servers will come out next year, then I would expect that we'll see the T5 servers in 2012/2013 time-frame. All together, this is great news and I can't wait to get my hands on a T4 box!

The SPARC64-VII+ or SPARC M3 processor as Larry likes to call it, was also announced. This is nothing new if you attended the Oracle OpenWorld 2010 event like I did. This brings a 20% boost in performance with a higher clock rate (up to 3Ghz finally!) and 12MB cache! Of course this upgrade is available on the M4000-M9000 servers, with full backward compatibility. As pointed out by Fujitsu and Oracle, this is the 4th generation processor upgrade for the M-series servers, which is definitely a lot of investment protection.

Now for some goodies!


You can also read what the Register had to say on this here and here.

Using Auto Installer on Solaris 11 Express

If you've ever had a conversation with me about Jumpstart, you know that I'm a big believer in the Jumpstart Enterprise Toolkit (JET). I've used it for over 7 years now and it's usually one of the first things I've setup for shops when I walk in the door to find that they don't have a good Solaris provisioning mechanism.

With OpenSolaris and thusly Solaris 11 Express, many changes have taken place around packaging, patching, and operating system installation. The one thing that has definitely changed things is Auto Installer, or AI as it's known. AI works with many of the same assumptions as IPS and SMF. No longer do you have pre or post installation scripts. You don't have all the options you've been use to using with things like JET or N1 SPS. However, this has been improving incrementally over the past year, but still has some way to go. I wanted to post what I've found to work.

The first step on this journey is to download the Solaris 11 Express AI images from:

http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html

Once you've done that, you need to install the AI tools:

$ pfexec pkg install installadm
...

As you can see this service is dependent upon DNS, TFTP, and DHCP. If you don't have DHCP setup, it'll configure it for you. Or you can set it up with the following:

$ pfexec dhcpconfig -D -r SUNWfiles -p /var/tmp
Created DHCP configuration file.
Created dhcptab.
Added "Locale" macro to dhcptab.
Added server macro to dhcptab - katana.
DHCP server started.

$ pfexec dhcpconfig -N -m -t
$ pfexec dhtadm -M -m -e DNSserv=


If you have TCP Wrappers enabled, you'll have to open it up in your /etc/hosts.allow file with a "in.tftpd:ALL" line added to it.

Once that has been done, you can create what is known as an "install service" in AI:

$ pfexec installadm create-service -n s11-151a-sparc -s /export/install/isos/sol-11-exp-201011-ai-sparc.iso /export/install/aiserver/s11-151a-sparc
Setting up the target image at /export/install/aiserver/s11-151a-sparc ...
Registering the service s11-151a-sparc._OSInstall._tcp.local
Service discovery fallback mechanism set up
Creating SPARC configuration file

$ pfexec installadm create-service -n s11-151a-x86 -s /export/install/isos/sol-11-exp-201011-ai-x86.iso /export/install/aiserver/s11-151a-x86
Setting up the target image at /export/install/aiserver/s11-151a-x86 ...
Registering the service s11-151a-x86._OSInstall._tcp.local
copying boot file to /tftpboot/pxegrub.I86PC.Solaris-1
Service discovery fallback mechanism set up

What the first command will do is setup an installation service called "s11-151a-sparc" using the ISO we've downloaded and installing it into "/export/install/aiserver/s11-151a-sparc". The second command creates a service for x86 servers using similar syntax and of course the x86 ISO. This will enable SPARC clients to boot with WANBOOT and for x86 clients to boot with PXE. This will register the image with SMF install service, which you can check on below:

$ svcs -l install/server
fmri svc:/system/install/server:default
name Installadm Utility
enabled true
state online
next_state none
state_time November 27, 2010 02:03:25 AM CST
logfile /var/svc/log/system-install-server:default.log
restarter svc:/system/svc/restarter:default
contract_id 134
dependency optional_all/restart svc:/network/dns/multicast:default (online)
dependency optional_all/none svc:/network/tftp/udp6:default (online)
dependency optional_all/none svc:/network/dhcp-server:default (online)

This service will start-up Apache instances for each install service you create:

$ svcs -p install/server
STATE STIME FMRI
online Nov_27 svc:/system/install/server:default
Nov_27 1732 webserver
Nov_27 2164 webserver
Nov_27 2500 httpd
Nov_27 2571 httpd
Nov_27 2572 httpd
Nov_27 2573 httpd
Nov_27 2574 httpd
Nov_27 2575 httpd


You can see your AI service details with the installadm command:

$ installadm list
Service Name Status Arch Port Image Path
------------ ------ ---- ---- ----------
osol-b134-sparc off Sparc 46501 /export/install/aiserver/osol-b134-sparc
s11-151a-sparc on Sparc 46502 /export/install/aiserver/s11-151a-sparc
s11-151a-x86 on x86 46503 /export/install/aiserver/s11-151a-x86

At this point, your AI setup is very generic. So how do you customize it? Well you have to modify the default manifest for each service and create further manifests for any client specific customizations you want to do. Now, you can definitely read the documentation on doc.sun.com, which I would highly recommend considering this will continue to change.

However, to help you get started I've provided a sample default manifest you can use. The default manifest for each service is called default.xml, which is an XML file. The important thing about this file is that it'll be used as the base manifest and is critical to be careful with editing it, I would recreate a backup copy just in case before doing anything. So here it is:

<?xml version="1.0" encoding="UTF-8"?>
<!--
CDDL HEADER START

The contents of this file are subject to the terms of the
Common Development and Distribution License (the "License").
You may not use this file except in compliance with the License.

You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions
and limitations under the License.

When distributing Covered Code, include this CDDL HEADER in each
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying
information: Portions Copyright [yyyy] [name of copyright owner]

CDDL HEADER END

Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.

-->
<!DOCTYPE auto_install SYSTEM "file:///usr/share/auto_install/ai.dtd">
<auto_install>
<ai_instance name="default" auto_reboot="true">
<target>
<target_device>
<swap>
<zvol action="create" name="swap">
<size val="4gb"/>
</zvol>
</swap>
<dump>
<zvol action="create" name="dump">
<size val="4gb"/>
</zvol>
</dump>
</target_device>
</target>
<software>
<source>
<publisher name="solaris">
<origin name="http://pkg.oracle.com/solaris/release"/>
</publisher>
</source>
<!--
By default the latest build available, in the specified IPS
repository, is installed. If another build is required, the
build number has to be appended to the 'entire' package in following
form:

<name>pkg:/entire@0.5.11-0.build#</name>
-->
<software_data action="install" type="IPS">
<name>pkg:/entire</name>
<name>pkg:/babel_install</name>
<!--
The following packages are required by iSCSI and included
by default to make it easier for users to enable iSCSI if
desired. They can be deleted from this list if iSCSI isn't
used. See iscsiadm(1m) man page for more information.
support for iSCSI.
-->
<name>pkg:/network/iscsi/initiator</name>
<name>pkg:/network/iscsi/iser</name>
</software_data>
<!--
babel_install and slim_install are group packages used to
define the default installation. They are removed here so
that they do not inhibit removal of other packages on the
installed system.
-->
<software_data action="uninstall" type="IPS">
<name>pkg:/babel_install</name>
<name>pkg:/slim_install</name>
</software_data>
</software>
<!--
Add missing driver packages to a booted install image so an
installation can complete. Add packages to target as well.
<search_all> searches and installs from configured repo.
-->
<add_drivers>
<search_all/>
</add_drivers>
<sc_embedded_manifest name="AI">
<!-- <?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="profile" name="system configuration">
<service name="system/install/config" version="1" type="service">
<instance name="default" enabled="true">
<property_group name="user_account" type="application">
<propval name="login" type="astring" value="operator"/>
<propval name="password" type="astring" value="boajrOmU7GFmY"/>
<propval name="description" type="astring" value="default_user"/>
<propval name="shell" type="astring" value="/usr/bin/bash"/>
<propval name="uid" type='count' value='101'/>
<propval name="gid" type='count' value='10'/>
<propval name="type" type="astring" value="normal"/>
<propval name="roles" type="astring" value="root"/>
</property_group>

<property_group name="root_account" type="application">
<propval name="password" type="astring" value="boajrOmU7GFmY"/>
<propval name="type" type="astring" value="role"/>
</property_group>

<property_group name="other_sc_params" type="application">
<propval name="timezone" type="astring" value="US/Central"/>
<propval name="hostname" type="astring" value="solaris"/>
</property_group>
</instance>
</service>
<service name="system/console-login" version="1" type="service">
<property_group name="ttymon" type="application">
<propval name="terminal_type" type="astring" value="vt100"/>
</property_group>
</service>

<service name='system/keymap' version='1' type='service'>
<instance name='default' enabled='true'>
<property_group name='keymap' type='system'>
<propval name='layout' type='astring' value='US-English'/>
</property_group>
</instance>
</service>

<service name="network/physical" version="1" type="service">
<instance name="nwam" enabled="true"/>
<instance name="default" enabled="false"/>
</service>
</service_bundle>
-->
</sc_embedded_manifest>
</ai_instance>
</auto_install>


This will do the following:

  • Make clients reboot after the installation
  • Install the base Solaris 11 Express image
  • Install any drivers your platform requires that are not in the boot image
  • Create the "operator" account for doing administrative tasks using RBAC with the password of "newroot"
  • Set the root password to "newroot"
  • Set the timezone
  • Set the host name to "solaris"
  • Set the console type to "vt100"
  • Set the keyboard layout to "US-English"
  • Enable the NWAM service to auto configure the networking
Now this will enable your clients to come up with some account settings to get you logged in and set the language and console type. The client will grab the IP information from DHCP and call itself "solaris". But this hardly matches up with what Jumpstart could do for us. So now lets create a manifest for a client called the "test":

/export/install/aiserver/s11-151a-sparc/auto_install$ pfexec mkdir clients
/export/install/aiserver/s11-151a-sparc/auto_install/clients$ pfexec vi test.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
CDDL HEADER START

The contents of this file are subject to the terms of the
Common Development and Distribution License (the "License").
You may not use this file except in compliance with the License.

You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions
and limitations under the License.

When distributing Covered Code, include this CDDL HEADER in each
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying
information: Portions Copyright [yyyy] [name of copyright owner]

CDDL HEADER END

Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.

-->
<!DOCTYPE auto_install SYSTEM "file:///usr/share/auto_install/ai.dtd">
<auto_install>
<ai_instance name="test" auto_reboot="true">
<target>
<target_device>
<disk>
<disk_keyword key="boot_disk"/>
</disk>
</target_device>
<target_device>
<swap>
<zvol action="create" name="swap">
<size val="4gb"/>
</zvol>
</swap>
</target_device>
<target_device>
<dump>
<zvol action="create" name="dump">
<size val="4gb"/>
</zvol>
</dump>
</target_device>
</target>
<software>
<source>
<publisher name="solaris">
<origin name="http://pkg.oracle.com/solaris/release"/>
</publisher>
</source>
<!--
By default the latest build available, in the specified IPS
repository, is installed. If another build is required, the
build number has to be appended to the 'entire' package in following
form:

<name>pkg:/entire@0.5.11-0.build#</name>
-->
<software_data action="install" type="IPS">
<name>pkg:/entire</name>
<name>pkg:/babel_install</name>
<!--
The following packages are required by iSCSI and included
by default to make it easier for users to enable iSCSI if
desired. They can be deleted from this list if iSCSI isn't
used. See iscsiadm(1m) man page for more information.
support for iSCSI.
-->
<name>pkg:/network/iscsi/initiator</name>
<name>pkg:/network/iscsi/iser</name>
</software_data>
<!--
babel_install and slim_install are group packages used to
define the default installation. They are removed here so
that they do not inhibit removal of other packages on the
installed system.
-->
<software_data action="uninstall" type="IPS">
<name>pkg:/babel_install</name>
<name>pkg:/slim_install</name>
</software_data>
</software>
<!--
Add missing driver packages to a booted install image so an
installation can complete. Add packages to target as well.
<search_all> searches and installs from configured repo.
-->
<add_drivers>
<search_all/>
</add_drivers>
<sc_embedded_manifest name="AI">
<!-- <?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="profile" name="system configuration">
<service name="system/install/config" version="1" type="service">
<instance name="default" enabled="true">
<property_group name="user_account" type="application">
<propval name="login" type="astring" value="operator"/>
<propval name="password" type="astring" value="boajrOmU7GFmY"/>
<propval name="description" type="astring" value="default_user"/>
<propval name="shell" type="astring" value="/usr/bin/bash"/>
<propval name="uid" type='count' value='101'/>
<propval name="gid" type='count' value='10'/>
<propval name="type" type="astring" value="normal"/>
<propval name="roles" type="astring" value="root"/>
</property_group>

<property_group name="root_account" type="application">
<propval name="password" type="astring" value="boajrOmU7GFmY"/>
<propval name="type" type="astring" value="role"/>
</property_group>

<property_group name="other_sc_params" type="application">
<propval name="timezone" type="astring" value="US/Central"/>
<propval name="hostname" type="astring" value="test"/>
</property_group>
</instance>
</service>
<service name="system/console-login" version="1" type="service">
<property_group name="ttymon" type="application">
<propval name="terminal_type" type="astring" value="vt100"/>
</property_group>
</service>

<service name='system/keymap' version='1' type='service'>
<instance name='default' enabled='true'>
<property_group name='keymap' type='system'>
<propval name='layout' type='astring' value='US-English'/>
</property_group>
</instance>
</service>

<service name="network/physical" version="1" type="service">
<instance name="nwam" enabled="false"/>
<instance name="default" enabled="true"/>
</service>

<service name='network/install' version='1' type='service'>
<instance name='default' enabled='true'>
<property_group name='install_ipv4_interface' type='application'>
<propval name='name' type='astring' value='nxge0/v4'/>
<propval name='address_type' type='astring' value='static'/>
<propval name='static_address' type='net_address_v4' value='192.168.1.11'/>
<propval name='default_route' type='net_address_v4' value='192.168.1.1'/>
</property_group>
</instance>
</service>

<service name='network/dns/install' version='1' type='service'>
<instance name='default' enabled='true'>
<property_group name='install_props' type='application'>
<property name='nameserver' type='net_address'>
<net_address_list>
<value_node value='192.168.1.1'/>
</net_address_list>
</property>
</property_group>
</instance>
</service>

</service_bundle>
-->
</sc_embedded_manifest>
</ai_instance>
</auto_install>

This will set the host name and the static IP configuration, which is a bit more helpful than the default manifest. Now we must associate this manifest with the install service:

$ pfexec installadm add-manifest -m /export/install/aiserver/s11-151a-sparc/auto_install/clients/test.xml -n s11-151a-sparc -c MAC="00:14:4b:26:31:ab"
$ installadm list -m
Service Name Manifest
------------ --------
s11-151a-sparc test.xml


That will associate the manifest with the installation service and tie it to the MAC address of our client, which we haven't configured yet. You can use other ways of associating a manifest with an install service. But this is the easiest for associating it with a specific client.

Now lets create our client:

$ pfexec installadm create-client -e 0:14:4b:26:31:ab -t /export/install/aiserver/s11-151a-sparc -n s11-151a-sparc
Creating SPARC configuration file

$ installadm list
Service Name Status Arch Port Image Path
------------ ------ ---- ---- ----------
osol-b134-sparc off Sparc 46501 /export/install/aiserver/osol-b134-sparc
s11-151a-sparc on Sparc 46502 /export/install/aiserver/s11-151a-sparc
s11-151a-x86 on x86 46503 /export/install/aiserver/s11-151a-x86
$ installadm list -c
Service Name Client Address Arch Image Path
------------ -------------- ---- ----------
s11-151a-sparc 00:14:4b:26:31:AB Sparc /export/install/aiserver/s11-151a-sparc

At this point you can do an AI installation on the client:

{0} ok boot net:dhcp - install
Boot device: /pci@500/pci@0/pci@8/network@0:dhcp File and args: - install
/pci@500/pci@0/pci@8/network@0: 100 Mbps full duplex link up


The one thing that I've found that does not work in the manifest is the sizing of the swap and the dump datasets in the ZFS rpool. But this is easy to fix afterwards:

root@test:~# zfs set volsize=4g rpool/swap
root@test:~# zfs set volsize=4g rpool/dump


I'm sure I'll find more things to play with in AI. But I think you'll be able to learn from this and get started. Hopefully we'll see some plug-ins in JET and Ops Center next to support AI.

Upgrading from OpenSolaris to Solaris 11 Express

Over the Thanksgiving break, I worked on upgrading all of my OpenSolaris systems to Solaris 11 Express. The journey wasn't as difficult as one might have expected and I wanted to share the steps for doing this with everyone.

The first thing that you should do is to upgrade to the last build of OpenSolaris, known as build 134b. This will enable you to then upgrade to Solaris 11 Express and is a requirement.

$ pfexec pkg set-publisher -P -O http://pkg.opensolaris.org/release/ opensolaris.org
$ pkg publisher
PUBLISHER TYPE STATUS URI
opensolaris.org (preferred) origin online http://pkg.opensolaris.org/release/


At this point your OpenSolaris server is ready for doing an image update with IPS. Now an important consideration here is if you have Containers running. You will have to update them as well and instead of going through and manually updating them, we'll allow the "-U attach" command-line option for zoneadm do the hard work for us. So for now, lets bring down any Containers that are running.

$ zoneadm list
global
takeda
miroku
$ pfexec zoneadm -z takeda halt
$ pfexec zoneadm -z takeda detach
$ pfexec zoneadm -z miroku halt
$ pfexec zoneadm -z miroku detach
$ zoneadm list -cv
ID NAME STATUS PATH BRAND IP
0 global running / ipkg shared
- takeda configured /zones/takeda ipkg shared
- miroku configured /zones/miroku ipkg shared


Now that the Containers are shutdown and detached, lets focus on the global-zone. One of the things I like to do when performing an image update is to make sure that I name the boot environment something meaningful, so lets call the new boot environment "opensolaris-b134b". You can pass this information to the pkg command, here the full out-put of an upgrade:

$ beadm list
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
opensolaris-b133 - - 29.63M static 2010-02-21 20:17
opensolaris-b133-1 NR / 33.67G static 2010-09-29 22:00
$ pfexec pkg image-update --be-name opensolaris-b134b
DOWNLOAD PKGS FILES XFER (MB)
Completed 1063/1063 13433/13433 327.7/327.7

PHASE ACTIONS
Removal Phase 7165/7165
Install Phase 7234/7234
Update Phase 18965/18965
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 1063/1063
Indexing Packages 1063/1063
Optimizing Index...
PHASE ITEMS
Indexing Packages 1127/1127

A clone of opensolaris-b133-1 exists and has been updated and activated.
On the next boot the Boot Environment opensolaris-b134b will be mounted on '/'.
Reboot when ready to switch to this updated BE.

$ beadm list
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
opensolaris-b133 - - 29.63M static 2010-02-21 20:17
opensolaris-b133-1 N / 11.66M static 2010-09-29 22:00
opensolaris-b134b R - 35.48G static 2010-11-19 16:56

At this point we can reboot the server and move onto updating our Containers before the big move to Solaris 11 Express.

$ pfexec shutdown -y -g0 -i 6
...
$ uname -a
SunOS katana 5.11 snv_134b i86pc i386 i86pc
$ cat /etc/release
OpenSolaris 2010.05 snv_134b X86
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Assembled 28 May 2010


At this point we can now update our Containers using the zoneadm command:

$ pfexec zoneadm -z takeda attach -U
Log File: /var/tmp/takeda.attach_log.CRaydi
Attaching...

Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z
Non-Global zone version: entire@0.5.11,5.11-0.134:20100302T023003Z
Publisher Check: Zone preferred publisher does not contain
entire@0.5.11,5.11-0.134.0.2:20100528T233058Z.
Publisher Reset: Copying preferred publisher from global zone.
Cache: Using /var/pkg/download.
Updating non-global zone: Output follows
DOWNLOAD PKGS FILES XFER (MB)
Completed 112/112 2168/2168 48.7/48.7

PHASE ACTIONS
Removal Phase 1913/1913
Install Phase 3146/3146
Update Phase 2708/2708
Updating non-global zone: Zone updated to entire@0.5.11,5.11-0.134.0.2:20100528T233058Z
Attach complete.

$ pfexec zoneadm -z miroku attach -U
Log File: /var/tmp/miroku.attach_log.igaWHi
Attaching...

Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z
Non-Global zone version: entire@0.5.11,5.11-0.134:20100302T023003Z
Publisher Check: Zone preferred publisher does not contain
entire@0.5.11,5.11-0.134.0.2:20100528T233058Z.
Publisher Reset: Copying preferred publisher from global zone.
Cache: Using /var/pkg/download.
Updating non-global zone: Output follows
DOWNLOAD PKGS FILES XFER (MB)
Completed 112/112 2168/2168 48.7/48.7

PHASE ACTIONS
Removal Phase 1913/1913
Install Phase 3146/3146
Update Phase 2708/2708
Updating non-global zone: Zone updated to entire@0.5.11,5.11-0.134.0.2:20100528T233058Z
Attach complete.

At this point our Containers are also upgraded. So now we can move onto the big upgrade, but lets first detach our Containers.

$ pfexec zoneadm -z takeda detach
$ pfexec zoneadm -z miroku detach


Now it's time to set the IPS publisher to the official Solaris 11 Express repository:

$ pkg publisher
PUBLISHER TYPE STATUS URI
opensolaris.org (preferred) origin online http://pkg.opensolaris.org/release/

$ pfexec pkg set-publisher --non-sticky opensolaris.org
$ pfexec pkg set-publisher -P -g http://pkg.oracle.com/solaris/release/ solaris


Before updating to the Solaris 11 Express release, we have to update our pkg tool set:

$ pfexec pkg install pkg:/package/pkg
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 1/1 0.0/0.0

PHASE ACTIONS
Update Phase 2/2
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 1/1

At this point we can now do the image update to Solaris 11 Express. We'll use "solaris11-151a" as the name for the new boot environment. Notice the OTN license acceptance option and how it's printed out so you don't forget.

$ pfexec pkg image-update --be-name solaris11-151a --accept
------------------------------------------------------------
Package: pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.151.0.1:20101104T230646Z
License: usr/src/pkg/license_files/lic_OTN

Oracle Technology Network Developer License Agreement

Oracle Solaris, Oracle Solaris Cluster and Oracle Solaris Express

EXPORT CONTROLS
Selecting the "Accept License Agreement" button is a confirmation
of your agreement that you comply, now and during the trial term
(if applicable), with each of the following statements:

-You are not a citizen, national, or resident of, and are not under
control of, the government of Cuba, Iran, Sudan, North Korea, Syria,
or any country to which the United States has prohibited export.

-You will not download or otherwise export or re-export the Programs
(as defined below), directly or indirectly, to the above mentioned
countries or to citizens, nationals or residents of those countries.

-You are not listed on the United States Department of Treasury lists
of Specially Designated Nationals, Specially Designated Terrorists,
and Specially Designated Narcotic Traffickers, nor are you listed on
the United States Department of Commerce Table of Denial Orders.

You will not download or otherwise export or re-export the Programs,
directly or indirectly, to persons on the above mentioned lists.

You will not use the Programs for, and will not allow the Programs to
be used for, any purposes prohibited by United States law, including,
without limitation, for the development, design, manufacture or
production of nuclear, chemical or biological weapons of mass
destruction.

EXPORT RESTRICTIONS
You agree that U.S. export control laws and other applicable export
and import laws govern your use of the Programs, including technical
data; additional information can be found on Oracle's Global Trade
Compliance web site (http://www.oracle.com/products/export).

You agree that neither the Programs nor any direct product thereof
will be exported, directly, or indirectly, in violation of these
laws, or will be used for any purpose prohibited by these laws
including, without limitation, nuclear, chemical, or biological
weapons proliferation.

Oracle Employees: Under no circumstances are Oracle Employees
authorized to download software for the purpose of distributing it to
customers. Oracle products are available to employees for internal
use or demonstration purposes only. In keeping with Oracle's trade
compliance obligations under U.S. and applicable multilateral law,
failure to comply with this policy could result in disciplinary action
up to and including termination.

PLEASE READ THE FOLLOWING LICENSE AGREEMENT TERMS AND CONDITIONS
CAREFULLY BEFORE DOWNLOADING, INSTALLING OR USING THE PROGRAMS.
THESE TERMS AND CONDITIONS CONSTITUTE A LEGAL AGREEMENT BETWEEN YOU
AND ORACLE.

Oracle Technology Network Development License Agreement
"We," "us," and "our" refers to Oracle America, Inc., for and on
behalf of itself and its subsidiaries and affiliates under common
control. "You" and "your" refers to the individual or entity that
wishes to use the Programs. "Programs" refers to Oracle Solaris,
Oracle Solaris Cluster and/or Oracle Solaris Express that you download
from this site (including, any updates and/or additional software
packages that you may receive in the future from the product's
package repository) and related program documentation. "License"
refers to your right to use the Programs under the terms of this
agreement. This agreement is governed by California law, except
for that body of laws related to the conflict of laws. You agree to
submit to the exclusive jurisdiction of, and venue in, the courts of
San Francisco or Santa Clara counties in California in any dispute
arising out of or relating to this agreement.

In order to use the Programs, You must first agree to this License
Agreement by selecting the "Accept License Agreement" button below. If
You do not or cannot agree to this License Agreement, You are not
permitted to download or use the Programs.

LICENSE RIGHTS
Except for any included software package or file that is licensed to
you by Oracle under different license terms, we grant you a perpetual
(unless terminated as provided in this agreement), nonexclusive,
nontransferable, limited License to use the Programs only for the
purpose of developing, testing, prototyping and demonstrating your
applications, and not for any other purpose.

All rights not expressly granted above are hereby reserved. If you
want to use the Programs for any purpose other than as permitted
under this agreement, including but not limited to distribution of the
Programs or any use of the Programs for your internal business purposes
(other than developing, testing, prototyping and demonstrating your
applications) or for any commercial production purposes, you must
obtain a valid license permitting such use. We may audit your use of
the Programs. Program documentation, if available, may be accessed
online at http://otn.oracle.com/docs.

Third-Party Technology. The Programs may contain or be distributed
with certain third-party technology. Oracle may provide certain notices
related to such third-party technology in the program documentation,
or in readme or notice files provided with the Programs.

Third party technology will be licensed to you either under the terms
of this agreement, or, if specified in the program documentation,
readme files or otherwise in writing, under separate license
terms ("Separate Terms") and not under the terms of this agreement
("Separately Licensed Third Party Technology"). Licensee's rights to
use such Separately Licensed Third Party Technology under the Separate
Terms are not restricted or modified in any way by this Agreement.

Information Collection and Registration
Configuration Data and Registration: The Programs may communicate
configuration data to Oracle. You can register your version of
the Programs 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, refer to the release
notes or www.oracle.com/goto/solarisautoreg.

Ownership and Restrictions
We retain all ownership and intellectual property rights in the
Programs. The Programs may be installed on one computer only, and
used by one person in the hardware environment identified by us. You
may make one copy of the Programs for backup purposes.

You may not:
- use the Programs for your own internal business purposes (other than
developing, testing, prototyping and demonstrating your applications)
or for any commercial or production purposes;

- remove or modify any program markings or any notice of our
proprietary rights;

- make the Programs available in any manner to any third party;

- use the Programs to provide third-party training;

- assign this agreement or give or transfer the Programs or an interest
in them to another individual or entity;

- cause or permit reverse engineering (unless required by law for
interoperability), disassembly or decompilation of the Programs;

- disclose results of any benchmark test results related to the
Programs without our prior consent.

Export
You agree that U.S. export control laws and other applicable
export and import laws govern your use of the Programs,
including technical data; additional information can be
found on Oracle's Global Trade Compliance web site located at
http://www.oracle.com/products/export/index.html?content.html. You
agree that neither the Programs nor any direct product thereof will be
exported, directly, or indirectly, in violation of these laws, or will
be used for any purpose prohibited by these laws including, without
limitation, nuclear, chemical, or biological weapons proliferation.

Disclaimer of Warranty and Exclusive Remedies
THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. WE
FURTHER DISCLAIM ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING
WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.

IN NO EVENT SHALL WE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS,
REVENUE, DATA OR DATA USE, INCURRED BY YOU OR ANY THIRD PARTY, WHETHER
IN AN ACTION IN CONTRACT OR TORT, EVEN IF WE HAVE BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES. OUR ENTIRE LIABILITY FOR DAMAGES
HEREUNDER SHALL IN NO EVENT EXCEED ONE THOUSAND DOLLARS (U.S. $1,000).

Additional Trial Programs
We may include additional trial programs with your download of the
Programs licensed under this agreement. You will have 30 days from
the delivery date to evaluate these additional trial programs. Any
use of these trial programs after the 30-day trial period requires
you to obtain the applicable license. Any additional trial programs
are provided "as is" and we do not provide technical support or any
warranties for these programs.

No Technical Support
Our technical support organization will not provide technical support,
phone support, or updates to you for the Programs licensed under
this agreement.

End of Agreement
You may terminate this agreement by destroying all copies of the
Programs. We have the right to terminate your right to use the Programs
if you fail to comply with any of the terms of this agreement, in
which case you shall destroy all copies of the Programs.

Relationship Between the Parties
The relationship between you and us is that of
licensee/licensor. Neither party will represent that it has any
authority to assume or create any obligation, express or implied,
on behalf of the other party, nor to represent the other party as
agent, employee, franchisee, or in any other capacity. Nothing in
this agreement shall be construed to limit either party's right to
independently develop or distribute software that is functionally
similar to the other party's products, so long as proprietary
information of the other party is not included in such software.

Open Source Software
"Open Source" software - software available without charge for
use, modification and distribution - is often licensed under terms
that require the user to make the user's modifications to the Open
Source software or any software that the user 'combines' with the
Open Source software freely available in source code form. If you use
Open Source software in conjunction with the Programs (or if you plan
on licensing your own application under an Open Source license), you
must ensure that your use does not: (i) create, or purport to create,
obligations with respect to the Oracle Programs; or (ii) grant,
or purport to grant, to any third party any rights to or immunities
under our intellectual property or proprietary rights in the Oracle
Programs. For example, you may not develop a software program using
an Oracle program and an Open Source program where such use results
in a program file(s) that contains code from both the Oracle program
and the Open Source program (including without limitation libraries)
if the Open Source program is licensed under a license that requires
any "modifications" be made freely available. You also may not combine
the Oracle program with programs licensed under the GNU General Public
License ("GPL") in any manner that could cause, or could be interpreted
or asserted to cause, the Oracle program or any modifications thereto
to become subject to the terms of the GPL.

Entire Agreement
You agree that this agreement is the complete agreement for the
Programs and licenses, and this agreement supersedes all prior or
contemporaneous agreements or representations, including any and
all clickwrap, shrinkwrap or similar licenses. If any term of this
agreement is found to be invalid or unenforceable, the remaining
provisions will remain effective.

Last updated: 08/12/10

Should you have any questions concerning this License Agreement,
or if you desire to contact Oracle for any reason, please write:

Oracle America, Inc.
500 Oracle Parkway,
Redwood City, CA 94065

Oracle may contact you to ask if you had a satisfactory experience
installing and using this OTN software download.



DOWNLOAD PKGS FILES XFER (MB)
Completed 1275/1275 59454/59454 1156.5/1156.5

PHASE ACTIONS
Removal Phase 14947/25757
Warning - directory usr/share/icons/Neutral_Plus_Inv not empty - contents preserved in /tmp/tmp7tTc8r/var/pkg/lost+found/usr/share/icons/Neutral_Plus_Inv-20101119T184748Z
Removal Phase 25757/25757
Install Phase 36238/36238
Update Phase 55281/55281
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 1275/1275
Indexing Packages 1275/1275
Optimizing Index...
PHASE ITEMS
Indexing Packages 1265/1265

A clone of opensolaris-b134b exists and has been updated and activated.
On the next boot the Boot Environment solaris11-151a will be mounted on '/'.
Reboot when ready to switch to this updated BE.


---------------------------------------------------------------------------
NOTE: Please review release notes posted at:

http://docs.sun.com/doc/821-1479
---------------------------------------------------------------------------

At this point we can reboot and bring up Solaris 11 Express!

$ shutdown -y -g0 -i 6
...
$ uname -a
SunOS katana 5.11 snv_151a i86pc i386 i86pc

$ cat /etc/release
Oracle Solaris 11 Express snv_151a X86
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Assembled 04 November 2010



Now, lets upgrade our Containers using the zoneadm command:

$ pfexec zoneadm -z takeda attach -U
Log File: /var/tmp/takeda.attach_log.ggaiMK
Attaching...

preferred global publisher: solaris
Global zone version: entire@0.5.11,5.11-0.151.0.1:20101105T054056Z
Non-Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z

Cache: Using /var/pkg/download.
Updating non-global zone: Output follows
Packages to remove: 2
Packages to install: 84
Packages to update: 109
Create boot environment: No
Services to restart: 6
------------------------------------------------------------
Package: pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.151.0.1:20101104T230646Z
License: usr/src/pkg/license_files/lic_OTN

Oracle Technology Network Developer License Agreement

Oracle Solaris, Oracle Solaris Cluster and Oracle Solaris Express
...
DOWNLOAD PKGS FILES XFER (MB)
Completed 195/195 10886/10886 114.6/114.6

PHASE ACTIONS
Removal Phase 3183/3183
Install Phase 11829/11829
Update Phase 8095/8095

PHASE ITEMS
Package State Update Phase 304/304
Package Cache Update Phase 111/111
Image State Update Phase 2/2
Updating non-global zone: Zone updated.
Result: Attach Succeeded.

$ pfexec zoneadm -z miroku attach -U
Log File: /var/tmp/miroku.attach_log.9faqwL
Attaching...

preferred global publisher: solaris
Global zone version: entire@0.5.11,5.11-0.151.0.1:20101105T054056Z
Non-Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z

Cache: Using /var/pkg/download.
Updating non-global zone: Output follows
Packages to remove: 2
Packages to install: 84
Packages to update: 109
Create boot environment: No
Services to restart: 6
------------------------------------------------------------
Package: pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.151.0.1:20101104T230646Z
License: usr/src/pkg/license_files/lic_OTN

Oracle Technology Network Developer License Agreement

Oracle Solaris, Oracle Solaris Cluster and Oracle Solaris Express
...
DOWNLOAD PKGS FILES XFER (MB)
Completed 195/195 10886/10886 114.6/114.6

PHASE ACTIONS
Removal Phase 3183/3183
Install Phase 11829/11829
Update Phase 8095/8095

PHASE ITEMS
Package State Update Phase 304/304
Package Cache Update Phase 111/111
Image State Update Phase 2/2
Updating non-global zone: Zone updated.
Result: Attach Succeeded.


Now we can bring up our Containers and check them out.

$ zoneadm list -cv
ID NAME STATUS PATH BRAND IP
0 global running / ipkg shared
- takeda installed /zones/takeda ipkg shared
- miroku installed /zones/miroku ipkg shared

$ pfexec zoneadm -z takeda boot
$ pfexec zoneadm -z miroku boot
$ zoneadm list -cv
ID NAME STATUS PATH BRAND IP
0 global running / ipkg shared
1 takeda running /zones/takeda ipkg shared
2 miroku running /zones/miroku ipkg shared

root@takeda:~# uname -a
SunOS takeda 5.11 snv_151a i86pc i386 i86pc
root@takeda:~# cat /etc/release
Oracle Solaris 11 Express snv_151a X86
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Assembled 04 November 2010

root@miroku:~# uname -a
SunOS miroku 5.11 snv_151a i86pc i386 i86pc
root@miroku:~# cat /etc/release
Oracle Solaris 11 Express snv_151a X86
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Assembled 04 November 2010


So there we are! All of our Containers are updated nicely with our Global Zone. I've been able to do this on x86, SPARC, in LDoms, and even VirtualBox!

Enjoy!

Monday, November 15, 2010

Oracle Solaris 11 Express Released!

Solaris 11 Express has finally been released! This has been a long time in coming and I'm very excited to finally see this day. Just so that folks are clear, this is a full express release with support for developers, system administrators, evaluators, enthusiasts, etc. on x86 and SPARC! It is totally free to use as long as it is not used on production. As you can see on the main link above, Oracle is selling a full suite of support for Solaris 11 Express, if you are looking for support or to use it in production. Oracle is dead serious about Solaris, so make no mistake about it!

Needless to say, I'll be busy downloading and upgrading my systems to this release. I'll make some additional blog posts once I have things in place to take it for a full spin on both x86 and SPARC. I'll leverage my Ultra 20, some VirtualBox instances, and some LDoms to make things interesting!

So what are you waiting for??? Go download Solaris 11 Express now!

Tuesday, November 09, 2010

Oracle Solaris Summit at LISA!

At LISA this year, there is a Oracle Solaris Summit at the conference. I wish I could be there today to attend. However, thanks to technology, we can watch this event online! This is a excellent opportunity to get a look at what's happening with Solaris 11 Express!

Update:

The slides for this summit are located here.

Agenda:

Solaris Summit at LISA10

Tuesday, Nov 9, 2010 in Ballroom A4/A5, San Jose Convention Center.

Agenda:

  • 9:00 - 9:30 am - Introduction to Oracle Solaris 11 Express, by Markus Flierl
  • 9:30 - 11:00 am - Image Packaging System, by Bart Smaalders
  • 11:00 am - 12:30 pm - Deploying Oracle Solaris 11 in the Enterprise, by Dave Miner
  • 12:30 pm - 1:30 pm - LUNCH BREAK
  • 1:30 pm - 2:30 pm - Advances in Solaris Networking with Crossbow and Beyond, by Nicolas Droux
  • 2:30 pm - 3:00 pm - Oracle Solaris Containers in Oracle Solaris 11 Express, by Dan Price
  • 3:00 pm - 3:15 pm - BREAK
  • 3:15 pm - 4:15 pm - ZFS Features in Oracle Solaris Express, by Cindy Swearingen
  • 4:15 pm - 4:45 pm - New Security Features in Oracle Solaris 11 Express, by Glenn Faden
  • 4:45 pm - 5:30 pm - Deploying Applications Using SMF and Other Solaris 11 Features, by Liane Praza
  • 5:30 pm - 6:30 pm - Beer and Snacks Reception for ALL

Monday, November 01, 2010

Interview With Andy Bechtolsheim and My Afterthoughts

Dan Worth on V3 wrote an article about an interview with Andy Bechtolsheim who was one of the original co-founders of Sun Microsystems, who returned some years back to help design many of the servers that are deployed today from Sun Oracle. Andy has some interesting insights into Sun and the computing market in general. I do agree with him that Sun was too focused on bringing products to market for developers and technophiles instead of generating the kinds of profit it should have. And this definitely led to the need for change and why Oracle is managing things differently. Sun was too busy giving away software and technology for free and not pushing to get revenue. Oracle still gives away software, like Solaris, for free in non-production environments. But it expects payment now for production use. This has caused some flak from the user base and I have to side with Oracle on this one. Giving software away for free or open sourcing it is of course a "nice thing to do" and great for schools and start-ups. But all of that engineering work has to be paid for and of course stock holders expect a profit. Sun just wasn't making the money it should have from all of the intellectual property it had developed. I think Oracle has the right mindset. Give it away for free in non-production environments, but expect payment when used in production. To me this is perfectly reasonable.

Andy also makes a point that the way people use computers is changing. The revolution of mobile devices such as the iPhone and the iPad have truely changed the perspective on how computing should be. It should be easy and require very little effort on the part of the user or consumer. The heavy lifting should be on the back-end in a data center somewhere. And this is definitely the direction of the industry.

Recently in the OpenSolaris discussions list, the topic of UNIX workstations came up and how folks miss having a good SPARC workstation. I replied to this thread and gave my observations over the past 10 years. I think it's a good read and have included it below for you to enjoy!

I would argue that Sun lost focus on the workstation market around 2000. While it had some great workstations (Ultra 60, Ultra 80, Sun Blade 1000/2000), it was pretty clear that the focus for Sun was on building mid-range to high-end servers (Ultra Enterprise 4x00-6x000 and E10k). And in that space, pushing the Mhz up would have cost Sun on the cooling and power envolope. And with SMP on more and more sockets, Mhz wasn't a problem back then. Kinda similar to how things have been on the CMT processors until recently. Solaris was optimize to scale up and as a result, its performance on a single socket suffered. Not really a surprise if you think about it. Sun from that point on was making the lion's share from servers and not workstations anymore.

And to add to the situation, the release of the Sun Rays really helped to kill off the workstation line. Sun couldn't make a 1-2 CPU box that out performed an x86 box and Sun wanted everything in the data center anyways. Not to mention that the graphics cards, while very capable, were getting more and more expensive. When I left Sun almost 10 years ago, we were starting to deploy Sun Rays and taking everyones SPARC workstations away. In typical Sun fashion, we were eating our own dog food and making Sun Rays work right. This was the second time that Sun tried internally to deploy thin clients, remember the Java Station? But the good news is that Sun Rays worked great and the deployment worked. This led to major changes on the thinking inside Sun..

1. Pushed all the desktop workloads to the data center and enabled better remote access and work for field offices and telecommuters.
2. Reduced overhead in desktop support. I heard that it now takes less than 30 Sysadmins to manage the 30k+ Sun Rays at Sun.
3. It reinforced the vision of the data center handling everything and everyone using stateless devices (gee we're revisiting that again with mobile devices, lol)
4. It put into question the value of workstations beyond kernel and hardware engineers.

Sun Rays are still a great product and you can do a lot on them. Sun, the US Gov, lots of service desk orgs, and etc use them. I've even deployed them inside of two banks with great success.

Now on top of all this internal stuff at Sun.. you have to look at how the climate changed in the field for workstations at big organizations. There was a time when you'd walk in the Dilbert cube mazes of companies and find folks with a UNIX workstation and a PC desktop or maybe a Mac. Fast forward to about 5 years ago and most corporations decided to start out-sourcing or to downsize desktop support. As a result, they all pushed for standardized desktops and guess what? They are all windows desktops and most companies implemented a policy that if you want to use UNIX, you have to log into a box in the data center for that. So UNIX workstations, Macs, and even Linux were pushed out of the office space and back into the data center because of office policies.

I have yet to see this change, other than some folks using a Mac laptop here and there like me:) But ultimately, this is what really killed the UNIX workstation market. Corporations standardizing on Windows PC's and making it *illegal* to have anything else. And this affected not only Sun, but also IBM and HP. The UNIX workstation market just dried up. And this is also what has killed Linux as a desktop alternative.

Really at this point, the only alternative desktop that's making any progress is the Mac. The sales are up and everyone is buying iPhones and iPads. I think it's the only real chance to battle back against Windows and it's working better than even Apple thought possible.

So where does that leave folks like us who want a UNIX workstation? Up the creek, that's where! I'd love to have a quad-core CMT workstation with great 3D graphics. But it'll never happen at this point. I have an Ultra 20 and a Sun Blade 2000 that I use as servers and test gear at home. In the future, it'll probably be a Mac Pro and lots of VirtualBox instances. I don't know.


It is truly amazing to think back over the past 10 years and see how many of the ideas that were appearing inside Sun are now going mainstream. I'm very proud to have worked at Sun "back in the day" as it were and to have played my role in it. I think the days of large data centers, thin clients, and mobile devices in all shapes and sizes is indeed upon us.

Great Book on Solaris Virtualization




While I was at the Oracle OpenWorld 2010 conference, I picked up a new book called "Oracle Solaris 10 System Virtualization Essentials" which is written by Jeff Victor, Jeff Savit, Gary Combs, Simon Hayler, and Bob Netherton. This is an excellent book for systems architects, engineers, and administrators to become familiar with all of the virtualization technologies for the Solaris platform. The book covers Dynamic Domains, Oracle VM Server for SPARC (LDoms), Solaris 10 x86 Virtualization (OVM for x86, xVM Server, Xen, VMware, and Hyper-V), Solaris Containers, and Virtualbox. The book includes an excellent chapters on choosing the right virtualization technology, applying virtualization, and management. This is definitely an excellent book for folks to become familiar and get started on learning these technologies. It is amazing to think there are soo many options for virtualizing Solaris these days. I've worked extensively with Dynamic Domains, LDoms, Solaris Containers, and VirtualBox. It's great to finally see a book that can introduce one to all of the options available and give you an insight in how to apply them.

I highly recommend this book! You can pick up a copy from Amazon or other book stores. Definitely want to thank the authors for taking the time to write this book!

Oracle VM Server for SPARC 2.0

The Oracle VM Server 2.0 software was released during the week of Oracle OpenWorld 2010 in San Francisco. At that conference, I presented with John Falkenthal and Honglin Su on the 2.0 release. I've uploaded the presentations to the LDoms Community site:

  • Oracle VM Server for SPARC: Enabling a Flexible and Efficient IT Infrastructure, by John Falkenthal, Honglin Su, and Octave Orgeron, presented at Oracle OpenWorld 2010. (PPT)
  • Industry View: Oracle VM Server for SPARC 2.0, by Octave Orgeron, presented at Oracle OpenWorld 2010. (PDF)

The first presentation goes into detail over the 2.0 release while the second presentation gives an industry view. Unfortunately, the audio for the session has not been made available for download and contained valuable information. As such, I'll provide a brief overview of the new features in the 2.0 release:

  • SPARC-T3 Support - The SPARC T3 servers (1, 1b, 2, and 4) are supported with this release.
  • PCI-E Direct I/O - PCI-E slots can now be allocated directly to LDoms.
  • Dynamic Memory Reconfiguration - Memory can now be dynamically allocated to LDoms. This concludes DR capable resources that are available (CPU, Cryptographic Units, Virtual Disks, and Virtual NICs)
  • LDom Migration Enhancements - Increased performance and fewer restrictions around CPUs and Cryptographic Units
  • Enhanced Virtual Disk Multi-Pathing - Multi-Pathing at the Guest LDom level when multiple Service Domains are used as back-ends.
  • Unique Domain ID Tools & APIs - Unique Domain IDs for identification and asset tracking of LDoms.
  • Enhanced CPU Allocation & Affinity - Better allocation of CPU threads to prevent cache thrashing
  • SPARC-T3 Power Management - Power management features on the SPARC T3 servers where unused threads and cores can be powered off.
  • P2V Conversion Tool Enhancements - Enhanced support for UFS and VxVM boot volumes.
Over the next few blog posts, I'll demonstrate these new features where possible, so that you can see the benefits of using the 2.0 release.

The OVM for SPARC 2.0 download site is ready and the updated firmware is now available. It is important to update the firmware to support the 2.0 release features. I've also updated the LDoms Community site with the links to the 2.0 documentation.