Friday Mar 06, 2009

Solaris 10 10/08 (Update 6) Update Manager

Ever since I had upgraded my workstation to Solaris 10 10/08 (Update 6) on my Sun Blade 2000 I had noticed that my patch update connection had not worked.Initially it would give me some weird Cocoa error or sometimes an empty dialog box with just OK in it.

Toda finally I was determined to fix it so I can apply the latest patches automatically instead of downloading them manually. Anyway the trick is to read these two Sun Forum entries.

  1. Entry regarding the Solaris 10 patch  that was released in January 2009
  2. Entry regarding the correct Java version that is required by underlying smpatch. 

In short in my case I had to install patch 121118-15 (for SPARC)  and also remove references to JDK 1.6_10 in my /usr/jdk so that I can make my update manager work again on my desktop. Finally my useful update manager is now working on Solaris 10 10/08 to find and install recent patches to the system.

Sunday Oct 29, 2006


With ZFS becoming popular and Sun StorageTek's SAM-QFS also rising in its own market, there are often questions from ISV's and customers who try to understand why Sun is having multiple technologies in File Systems arena. While the answer "Customer Choice" is a valid answer, lets talk about the philosophies pursued in both to make it more clear.

To explain the philosphical differences between ZFS and SAM-QFS, I would like to take the analogy of Virtual Memory and Memory Heirarchy Caching in Computer systems. Virtual Memory makes an abstraction of RAM -Random Accessible Memory and allows it to be used at an abstract level instead of tied of the physical memory. To use more memory you just add more DIMMs and the OS fits them into the overall realm of the Virtual Memory mapping. ZFS tries to something similar in the concept of Pool of devices and ZFS with its 128 bit mapping fits the actual physical spindles into the overall realm of the pool.

On the otherhand the memory heirarchy caching works with the fastest memory on the CPU, then the Level 2 cache on Chip, then the Level 3 cache off chip (if any) and finally the physical RAM. To get the fastest access the memory location has to be on the Level 1 cache on the CPU if it is not out there, it is checked in the Level 2 cache and if it is not out there it is checked on Level 3 cache and if not out there it checks from the physical RAM. If it finds it on the RAM it brings it to the level 1 cache. And eventually, the same memory reference location of the virtual memory. Similarly things happens with files in SAM-FS. It has different hierarchies of data storage depending on the cost and performance of the underlying storage like fiber channel disks, SATA drives and Tape drives (all products that are available from Sun). Depending on the policies set, a file is "aged" out from the fastest to the cheapest storage level automatically without user intervention and brought from the cheapest level to the fastest storage heirarchy level "on demand" and the aging process begins all over again.

So now the question comes how (if not now in near future) should SAM-QFS and ZFS work. The easiest way is SAM-QFS using ZFS pool as a heirachy category. Which means a ZFS pool of Fiber Channel Drives, another pool of SATA Drives and SAM-FS manages the heirarchy of the storages for "best" overall usage of the speed and cost of the storage system (the cheapest being the Sun StorageTek tape products) that all happens auto-magically within the system.

Of course I haven't really talked about the "QFS" part of SAM-QFS but that is like bringing SMP capability with its cache coherency into system. More about that in another entry.

Thursday Jun 02, 2005

Introduction to DTRACE (Solaris 10)

Recently Angelo Rajadurai, Morgan Herrington and I presented a webcast on Introduction to DTRACE hosted by Ingrid Mayer.Angelo did all the talking while Morgan & I were busy responding to chat questions. Thanks to Uday Shetty for talking me into it. Like Adam L.'s blog mentions its for those developers who still haven't picked up the DTRACE Reference Guide yet.

Tuesday Apr 26, 2005

Sun Cluster Console - How it simplifies life even if you don't use Sun Cluster

Recently I am working with about 6 Sun Fire V440 connected to many 3510s and one of the pains is doing repetitive steps on all the 6 servers.

Enter Sun Cluster Console (part of Sun Java Enterprise System).

Basically what you need is SUNWcconsol package which after installation is available at /opt/SUNWcluster.

You have to try out /opt/SUNWcluster/bin/ctelnet.

After making sure I had the right display permissions/settings, I did

$ ctelnet v440-1 v440-2 v440-3 v440-4 v440-5 v440-6 &

It pops up 6 terminal screens and a small window containing a text box and few menu options . When I type in the small box it gets typed in all the 6 terminals. This way I can log into all the servers at the same time and do repetitive steps on all of them simultaneously saving me tremendous amount of time.

You can use the menu options to temporarily not type into any specific host and reset it back to normal later on. A tremendous time saver when you have to setup multiple boxes say for GRID or CLUSTER or HPC or DB2 DPF.

crlogin and cconsole are also available.

Monday Nov 01, 2004

Solaris 10 x86 64-bit AMD64: My 64-bit "Hello World" on AMD64

Recently I just installed the latest build of Solaris 10 x86 build 70 (soon will be available on Solaris Express). The installation went fine without any problem. Few things that I found after upgrading my V40z are as follows:

  • It still boots 32-bit kernel by default
  • It is now using Xorg instead of Xsun
  • Boot version is now 4.00 (+amd64)

(Using xorgconf wasn't easy since I am used to the autoprobing nature of kdmconfig)

Anyway I rebooted, pressed ESCape to enter the CDA screen and modified my boot properties as follows default boot-file kernel/amd64/unix instead of kernel/unix

Voila now I am running my V40z finally with a 64-bit Solaris 10 kernel

I also did a quick test of building a "Hello World" Program using the early access Sun Studio 10 compiler for Solaris 10 x86.

# cat >> test.c
# include < stdio.h>
void main()
 printf("Hello World\\n");

# cc test.c
# file a.out
a.out:          ELF 32-bit LSB executable 80386 Version 1, dynamically linked, not stripped
# ./a.out
Hello World
# cc -xarch=amd64 test.c
# file a.out
a.out:          ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not stripped
# ./a.out
Hello World

Solaris 10 64-bit on AMD64 is finally here

Monday Aug 30, 2004

FICTION: (Atleast for Now): Solaris - Bob's day in 2010

Just imagine what would Solaris be in the year 2010 for a company XYZ.

The system administrator of XYZ, Bob, walks into the room full of executives. The CEO asks "Bob, what's our going on?". Bob, who barely had his 8:00am coffee before he received an SMS to attend the "FireStation" Conference room, looked surprised. He walks to one of the empty chairs and plugs in his Javacard and watches his terminal. He is looking at a Dashboard that he wrote himself (in 2 days using DTrace scripts behind the GUI screens as he always reminds people). He responds back "Everything looks OK to me". The CFO asks again "What about the OS instance running the Payroll application?". Bob responds back "There is only one Solaris instance running in the company and it is running fine". Seeing that the CFO was puzzled by his reponse, Bob explained "Don't forget that once Sun finally figured out N1 Strategy in 2004 and other things evolved such that only one Solaris instance was necessary which runs on all our disparate hardware running SPARC, Power, Itanium, Intel, Opterons? Now we only have Zones for special applications. The Solaris instance is smart enough to divide the workload depending on which processors/servers can do the workload best". The CFO responded "I meant my \*Zone\* running the Payroll application. My people think it is running slow today". While the CFO was still talking about the problem, Bob is slowly tapping the touch screen with his pan. He looked like he was thinking about what to respond back. But actually he was drilling down to the zone and looking at the top CPU consumer. He looked at the process and looks at the process arguments. He then does his magic and announces "Problem Solved, it is back to Normal" and got up to leave. The CEO interrupts.. "But.. what was the problem?". Looking back he says " Joe in finance was running a report for all the money we paid to IGS prior to 2005. I changed his report's max resouce consumption so that it does not impact other users.".

Monday Aug 23, 2004

SunTouch - How many lives does a Sun Product Touch?

Recently I have been following our Sun's President Jonathan's Weblog .

I am trying to understand the value of why Solaris on Power would have any value? After few debates with myself I have convinced myself on the value.

I base it on "SunTouch" - Merely defined as how many lives have been touched by a Sun Product. Till recently Solaris was primarily on UltraSPARC which meant that the number of lives touched by Solaris is equal to the number of lives touched by the SPARC hardware multiplied by average remote user 'N'. Is that good? Sure.... Is that good enough? No.. Considering there are lot of other hardware out there not touched by Sun and growth number is 'N' for each additional platform. Sun's leading Opteron Servers is now filling the gap for Solaris on the x86 space. And Solaris on Power is just another way of improving SunTouch of Solaris.

So ideally what should a SunTouch number of a product be like?

Realistically I guess it is

Sun Hardware      : \*\*\*\*\*                             (Hardware Sold by Sun)
Solaris           : \*\*\*\*\*\*\*\*\*\*\*\*                      (Solaris on Sun + Solaris on other platforms)
J2EE (or JES)     : \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*               (J2EE on Solaris + J2EE on other platforms)
J2SE (JDS+Windows): \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*     (Java on desktop)
J2ME (mobile apps): \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  (cellphones,javacards,etc)

So in this pyramid of increasing SunTouch of Sun Hardware automatically increases the rest of the technologies. However the new "Solaris on other platforms" push improves the SunTouch of Solaris faster than Sun Hardware which is a good thing for Solaris and hence Sun.


Jignesh Shah is Principal Software Engineer in Application Integration Engineering, Oracle Corporation. AIE enables integration of ISV products including Oracle with Unified Storage Systems. You can also follow me on my blog


« July 2016