Archive for the ‘solaris’ Category.

Abusing Solaris attempt #2: stressing out ZFS, PART1

So last time we pulled out an IDE hard disk, and Solaris lived. It got me thinking…What else can we do to a hard disk that Solaris might not like? What about making a really big file? What about a 9TB file on an 80GB hard disk?:

anton@solaris-devx ~ $ time mkfile 9000G deleteThis

real 120m42.953s
user 0m16.448s
sys 46m55.092s

anton@solaris-devx ~ $ ls -l deleteThis
-rw------- 1 anton staff 9663676416000 Mar 9 02:22 deleteThis

And the machine didn’t die! But what about the compression ratio?

anton@solaris-devx ~ $ zfs get compressratio tank/home
NAME PROPERTY VALUE SOURCE
tank/home compressratio 1.22x

Looks like the ratio is an average for all the files on that file system. So lets try to artificially inflate this value. We can run a little script like this:

#/bin/sh
#A little script to make ten million files each 1 megabyte in size
i="0"
while [ $i -lt 10000000 ]
do
mkfile 10M la$i
i=$[$i+1]
done

The result (after about an hour of making files) wasn’t good:

bash: fork: Not enough space

This looks more like an issue bash had rather than ZFS. So did we push up that compression ratio?:

anton@solaris-devx mess $ zfs get compressratio tank/home
NAME PROPERTY VALUE SOURCE
tank/home compressratio 1.22x -

Seemingly not. To compensate, we’ll do something more crazy for PART2

Sun Blade 8000 family, x8450 module POWER!

Sun has released a new blade module for their Sun Blade 8000 system, the x8450 . With 128GB of RAM in a single module and sixteen hardware threads per module, that means you get 160 threads and 1280GB of RAM in 19 rack units. Pworrrr! If these modules were used in the Sun Blade 8000p, that would give the same performance in just 14 rack units! So in a 42U rack, you can get three of these units in, totaling: 3840GB of RAM, 480 Hardware threads!!!Fantastic! Just make sure you warn your electric supplier!

VirtualBox, virtualisation for your Solaris Desktop!

So you’ve just installed Solaris because of the well-deserved praise regarding ZFS, SMF, predictive self healing, Zones and Dtrace. And then you said, “It runs vmware, right?”. Well, to my knowledge, no. Not quite. It does run xVM (a breed of “bare metal” type 1 hypervisor, which is very similar to xen.

But more interestingly, it also runs VirtualBox, a type 2 hypervisor which works pretty much like vmware server. This really is a great step to bringing virtualisation to the desktop for Solaris users

All you need to do is download the package, extract and and install it. From there on in, you can use the GUI to create a GuestOS and be running those apps you need! Crucially, it supports the following as Guest OS:

  • Windows XP
  • Linux (Ubuntu 7.10 works a treat)
  • Solaris!
  • …and many other OS, a list can he found here

A little tip to install XP in less than 10 mins:

Make a copy of the disc image as a .ISO file. Then copy that disc image to

/tmp

Be prepared for a hit on the RAM, as thats where /tmp is mounted! Then, before you start the Guest OS for the first time, configure it to mount the disc image from /tmp

Using your main memory as the install medium only leaves the processor and disc writes as your bottlenecks, making installs go really quick!!!

Of course, once your Guest OS is installed, be sure to delete the disc image you copied into /tmp

Happy hypervising! (its probably not a real word, but its great for telling people who aren’t into computing….”yeah, I’ve been hypervising for a few days now now….”.

your friend “…..hmmm, is that bad for your health?”

Abusing Solaris, attempt #1: Random IDE drive pull

This is going to be the fist in a series of random tests (completely unscientific) that I perform on an x86 machine with Solaris 10 installed.

This week, it consists of pulling out an IDE drive having just told StarOffice to save an open file. No preparation, no telling Solaris what was going to happen, simply pull the drive whilst Solaris was up and running. I can’t think why you might want to do this, but it seemed like a fun test. First, the power cable was pulled out, then the data cable.

The test results: you guessed it, when the drive was pulled, no requests for anything that wasn’t already in main memory hung. This included StarOffice hanging, waiting for the destination drive to be reachable before it could let me try and save the file to disk.

As soon as the drive was connected back up again (data cable first, then power), the system was happy again, and StarOffice proceeded to save the file!

I should point out that the disks was not part of any RAID configuration :)

Installing MySQL on SXDE (build 70)

There are a few different ways you could get mysql on your solaris machine:

  • blastwave.org where you can get mysql and many other packages using an apt style package installation mechanism
  • sunsource.net where the packages have been optimised for solaris (and now that Sun are in the process of aquiring mysql we can hope that multitheaded developement will increase in line with Suns processor designs)

For this installation we’ll be using the packages from sunsource.net

So heres what you need to do:

Download the CSKruntime, CSKmysql and the CoolStack Documentation packages from sunsource.net and extract the archives using bzip2.

You should have something like:

# ls
CSKmysql_1.2_x86.pkg        CSKruntime_1.2_x86.pkg

Mysql depends on CSKruntime so install the runtime first:

# pkgadd -d /directory_where_your_file_is/CSKruntime_1.2_sparc.pkg

Once its installed make sure you install mysql having used pkgtrans – otherwise the install won’t work 100% (this has been the case for me, your millage may vary)

# pkgtrans CSKamp_1.2_x86.pkg /var/tmp
# pkgadd -d /var/tmp

Now initialise the database tables:

# /opt/coolstack/mysql/bin/mysql_install_db --datadir=/tank/mysql_data

Note that this is not the usual mysql data directory. In my case, this directory happens to be on a ZFS filesystem in a RAID 1 configuration.

To quote the README that comes with the install in /opt/coolstack/mysql/README

” mysql_install_db creates two directories “mysql” and “test” in data directory.
mysql directory has the MySQL privilege tables. test has the “test” database
These two directories are needed for mysql to start. If you are using a
different data directory later, you need to copy these two directories over. ”

Next create the mysql user and mysql group for the mysql service to use:

# groupadd mysql
# useradd -g mysql mysql
# chown -R mysql:mysql /tank/mysql_data

If you didn’t use the standard mysql data dir you will need to edit the SVC manifest file so that it knows where your data dir is:

/opt/coolstack/lib/svc/method/svc-cskmysql
<snip>
MYSQL_DIR=/opt/coolstack/mysql
DB_DIR=/tank/mysql_data/data/
PIDFILE=${DB_DIR}/`/usr/bin/uname -n`.pid
<snip>

Once this is done you should be able to start the mysql service with a simple:

svcadm enable  csk-mysql

After this you’ll need to log in as root and change the root password to something suitable

#/opt/coolstack/mysql/bin/mysql –user=root mysql

You will also want to add regular users to mysql also

SXDE – for developing right?….


Upon trying to install JWSDP on my SXDE machine I got the following error…

solaris-devx $ /bin/sh jwsdp-1_3-unix.sh
Using /var/tmp as temporary directory...
Searching for Java(TM) 2 Platform, Standard Edition...
This product is not available for Solaris versions older than
Solaris 2.5.1

Tut, tut, tut, Sun!!! This should be a flawless install given what SXDE is supposed to stand for! Lets just hope that its not just reading in /etc/release . Admittedly, Netbeans 6.0 does come with all this stuff, and of course, I’m using that instead!