Nov06
2008

I was trialling a MySQL database upgrade today (from 5.0 to 5.1) and hit a nasty little gotcha that I feel warrants a mention (mostly to myself). In its simplest form, the upgrade process is very straightforward and involves simply loading data dumped from MySQL 5.0 into a 5.1 database (using a regular mysql command), followed by a once-off execution of the mysql_upgrade command (to bring the various tables and grants up to date):

$ mysql -u root -p testdb < dumped50.sql
$ mysql_upgrade -u root -p testdb

However, when I tried the latter command, I received this error:

Looking for 'mysql' in: mysql
FATAL ERROR: Can't find 'mysql'

I did fine a simple solution here which was to first change to the directory containing the mysql_upgrade program itself and execute it from there:

$ cd /opt/coolstack/mysql/bin
$ ./mysql_upgrade -u root -p testdb

As I said, its a simple solution and I do tend to follow this general rule most of the time but nevertheless, the error generated when you don’t do this is far for informative.

Oct08
2008

The Solaris Coolstack team have announced some important changes that impact on the future of the popular open source software stack. In a nutshell, they are combining their Cool Stack software (intended for use with Solaris 10) with their Web Stack software (intended for use for OpenSolaris) into a single software bundle, which will be known as Sun Web Stack.

Not only will this new stack be supported on Solaris 10 and OpenSolaris, but Linux support is also being added, as is full support for those using the software in production a capacity.

The first version of Sun Web Stack is scheduled for release in November 2008 and will follow the version numbering from Coolstack. Thus, the first release will be Sun Web Stack 1.4.

Source: Shanti’s Blog

Oct01
2008

I recently installed Squid, the HTTP Proxy, for the first time. The version I installed was 2.6-STABLE16 and came as part of Solaris Coolstack 1.2. Here are some notes from the installation process:

Installation

The application on Solaris x86 using the pkgadd utility and the appropriate Coolstack Squid package file (CSKsquid_1.2_x86.pkg). The installation process also created a new SMF service called csk-squid.

Setup

This was the first time I had installed Squid so, after reading the documentation provided by Coolstack, I tried starting the Squid service. Unfortunately, it kept complaining about missing cache directories and file permissions, and would not start. In the end, a colleague directed me towards the squid -z command, which carried out all of the required post-installation setup and duly sorted out all of the directory/permissions problems.

Configuration

I only had to make two small changes to the Squid configuration file (/opt/coolstack/squid/etc/squid.conf):

  1. Squid uses port 3128 by default but, since our corporate firewall permits very few outbound ports, we modified squid to use port 8080 instead:
  2. http_port 8080

  3. We wanted to restrict access to the new HTTP Proxy to only a certain range of corporate IP addresses. This was easily achieved by adding a simple access rule as follows:
  4. acl my_networks src XXX.XXX.XXX.XXX/24
    http_access allow my_networks

Other than this, the process was surprisingly straightforward.

Oct01
2008

I got an opportunity to run a trial migration of several applications from Solaris Coolstack version 1.2 to version 1.3.1 recently. The Coolstack applications that we use include MySQL, Apache (including mod_jk), Tomcat and Memcached.

I had no problems at all with the Tomcat or Memcached upgrades but did hit 2 minor issues with MySQL and Apache (mod_jk actually).

1. MySQL

This involved going from MySQL 5.0.45 to 5.1.25 and whilst I found that a regular mysqldump of my MySQL 5.0 databases imported without error into MySQL 5.1, I did encounter some minor issues with user permissions later on. Fortunately, the guide to Upgrading from MySQL 5.0 to 5.1 proved very useful and revealed that I had missed an essential step in the upgrade process which was the use of the mysql_upgrade utility. There is lots more to read about in the upgrade guide and depending on your configuration, there may be more steps to be considered.

2. Apache (mod_jk)

Whilst the Apache upgrade (2.2.6 to 2.2.9) worked a treat, I found that mod_jk 1.2.26 employs stricter rules in relation to the placement of JkMount/JkMountFile commands in VirtualHosts. In my previous configuration, I had a single JkMount command inside my mod_jk.conf file (which in turn was included from the main httpd.conf file). However, using this configuration with Apache 2.2.9 and mod_jk 1.2.26, I found that my AJP load balancer was not working correctly for one of my VirtualHosts. It was only when I moved my JkMount command inside the scope of the VirtualHost that it started working again.

Other Comments

Most of the SMF service names in the Coolstack 1.3.1 applications have been renamed slightly. In Coolstack 1.2, all of the SMF service names began with csk- but now they all end with -csk instead. This was apparently done to make the service names more compatible with OpenSolaris but, to be honest, I find it a little bit annoying as we’ve written a number of useful scripts that manage these services explicitly by name.

Coolstack 1.3.1 includes two different versions of Tomcat (5.0 and 6.0) which install to different locations and have different SMF service names.

Oct01
2008

It would appear that the release of Coolstack 1.3.1 was a little more adventurous than previous versions, as the following timeline illustrates.

10 June 2008

Firstly, we had the launch of Coolstack 1.3 Release Candidate 1 which seemed to work fine on my 10u3 systems but was still technically only a candidate release.

11 July 2008

Then, around 4 weeks later, the official version of Coolstack 1.3 was released. This included a number of minor software revision enhancements but more importantly, included the addition of DTrace probes in applications such as MySQL, Ruby and Memcached. However, the addition of these probes required either the use of Solaris 10 U5 or the installation of a number of Solaris kernel patches, neither of which went down too well in the Coolstack community. As a result, this version 1.3 was withdrawn and 1.3RC1 became the official 1.3 release.

14 August 2008

In an effort to support Solaris versions prior to U5, the DTrace probes were backed out of the affected applications and Coolstack 1.3.1 was born. A number of other minor software enhancements were also added but in essence, 1.3.1 was all about satisfying the wider Coolstack community.

I did eventually get the opportunity to try out Coolstack 1.3.1 and did not encounter any major issues. We are planning a more comprehensive review of the reported MySQL performance gains though.

Calendar

February 2012
M T W T F S S
« Jan    
 12345
6789101112
13141516171819
20212223242526
272829