<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Within Reason: Category Clustering</title>
    <link>http://typo.submonkey.net/articles/category/clustering</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>I do what I want</description>
    <item>
      <title>hagui on Mac OS X</title>
      <description>&lt;p&gt;VCS&amp;#8217; hagui is basically pointless, but I do like a live diagram of what&amp;#8217;s going on when I&amp;#8217;m creating new service groups.  I also like my Mac, so here&amp;#8217;s the quick how-to on getting it working on the Mac.&lt;/p&gt;

&lt;hr/&gt;

&lt;p&gt;Extract the VRTScscm package from the install media, and copy it somewhere permanent.  I&amp;#8217;m using my home directory.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;   $ gzip -dc VRTScscm.tar.gz | (cd /tmp; tar xf -)
   $ mv /tmp/VRTScscm/reloc/opt ${HOME}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Fix the VCS_HOME and JAVA_HOME variables in the hagui script.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;   VCS_HOME="${HOME}/opt/VRTSvcs"
   JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I create a symlink for convenience.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;   $ ln -s ../opt/VRTSvcs/bin/hagui ${HOME}/bin
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Job&amp;#8217;s done.  While you&amp;#8217;re here, &lt;a href="http://www.youtube.com/watch?v=0bK63uSTTNs"&gt;this&lt;/a&gt; is the best video on YouTube, JFYI.&lt;/p&gt;</description>
      <pubDate>Wed, 29 Aug 2007 22:16:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:c16ac3d2-3264-4106-b394-bc0b9a067727</guid>
      <author>Ceri Davies</author>
      <link>http://typo.submonkey.net/articles/2007/08/29/hagui-on-mac-os-x</link>
      <category>Apple</category>
      <category>Clustering</category>
      <category>Veritas</category>
    </item>
    <item>
      <title>Solaris Cluster on the cheap - part 2</title>
      <description>&lt;p&gt;&lt;em&gt;Part 2 of a series on setting up Solaris Cluster for no money&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contents&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://typo.submonkey.net/articles/2007/05/02/solaris-cluster-on-the-cheap-prologue"&gt;Prologue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://typo.submonkey.net/articles/2007/05/05/solaris-cluster-on-the-cheap-part-1"&gt;Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Part 2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the end of &lt;a href="http://typo.submonkey.net/articles/2007/05/05/solaris-cluster-on-the-cheap-part-1"&gt;the last article&lt;/a&gt;, I left you with an cluster that is still in &amp;#8220;install mode&amp;#8221;; since it&amp;#8217;s a two node cluster the nodes can&amp;#8217;t yet guarantee that they&amp;#8217;ll know the status of the other cluster nodes should the heartbeat interconnects fail, so they refuse to do anything cluster related at this point.  In order to get out of this situation, we need to add a quorum device.&lt;/p&gt;

&lt;h1&gt;Quorum Devices&lt;/h1&gt;

&lt;p&gt;The classical quorum device is a shared disk.  However, I don&amp;#8217;t have any shared disks spare and the point of this exercise is to avoid spending any money.  Solaris Cluster provides another method, which is that of a quorum server.&lt;/p&gt;

&lt;h1&gt;Quorum Server&lt;/h1&gt;

&lt;p&gt;This is basically a service on a node outside the cluster&lt;sup&gt;&lt;a href="#clch2fn1"&gt;1&lt;/a&gt;&lt;/sup&gt; that the cluster nodes communicate their status to.  It&amp;#8217;s provided with all of the other Solaris Cluster bits and is installed by choosing &amp;#8220;Quorum Server&amp;#8221; from the installation menu.&lt;/p&gt;

&lt;p&gt;At the end of the installation, you&amp;#8217;re told to follow the post-installation instructions from the documentation &amp;#8211; they&amp;#8217;re as simple as &amp;#8220;init 6&amp;#8221; &amp;#8211; after which the quorum server will come up on port 9000.  Now, we can use it in our cluster:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# clq add -t quorum_server -p qshost=peasant.example.ac.uk -p port 9000 qserver
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now we can take the cluster out of install mode:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# scconf -c -q installmodeoff
# clq reset
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;Quorum Disks&lt;/h1&gt;

&lt;p&gt;As mentioned above, I don&amp;#8217;t have any shared storage available for a test setup like this, so I had to make do with OpenSolaris backed iSCSI targets.  These are not supported as quorum devices &amp;#8211; which is why I mentioned the quorum server first &amp;#8211; but they work (and if you want support, we&amp;#8217;re not in the &amp;#8220;cheap&amp;#8221; realm any more, not by a long chalk).  Setting up iSCSI targets is adequately &lt;a href="http://number9.hellooperator.net/articles/2006/12/21/i-got-your-luns-right-here-pal"&gt;discussed elsewhere&lt;/a&gt;&lt;sup&gt;&lt;a href="#clch2fn2"&gt;2&lt;/a&gt;&lt;/sup&gt; so I won&amp;#8217;t repeat it.&lt;/p&gt;

&lt;p&gt;To set up the initiator to see the iSCSI devices, run the following on each node, where 172.25.5.8 is the IP address of the system providing the targets.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# iscsiadm add discovery-address 172.25.5.8
# iscsiadm modify discovery -t enable
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That&amp;#8217;s it.  Now you may need to refresh the cluster&amp;#8217;s view of the devices.  To do this, run the following on each node.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# cldevice refresh
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then on any one node:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# cldevice populate
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You should now be able to see the iSCSI targets with both node paths in the cluster&amp;#8217;s idea of what&amp;#8217;s where:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# scdidadm -L
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;We can now finally use a quorum disk.  Just add it in using the did.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# clq add d13
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you were previously using a quorum server, you can remove it now if you like.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# clq remove qserver
# clq reset
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;What&amp;#8217;s next?&lt;/h1&gt;

&lt;p&gt;Now I have a cluster that can keep itself up if one of the nodes disappears, and some shared storage.  This means that we can finally do something interesting, which will be in the next post on this subject.&lt;/p&gt;

&lt;hr/&gt;

&lt;p&gt;&lt;a name="clch2fn1"&gt;[1]&lt;/a&gt; A common question is whether the quorum server can reside on one of the cluster nodes.  While it &lt;em&gt;can&lt;/em&gt;, this doesn&amp;#8217;t provide high availability (rebooting the node hosting the quorum server will panic the other node) and misses the point.&lt;/p&gt;

&lt;p&gt;&lt;a name="clch2fn2"&gt;[2]&lt;/a&gt; I believe that those happen to be the exact instructions used on the targets I used.&lt;/p&gt;</description>
      <pubDate>Fri, 15 Jun 2007 08:44:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:b9dc32ab-fa41-4c10-b06e-930135f2c9cb</guid>
      <author>Ceri Davies</author>
      <link>http://typo.submonkey.net/articles/2007/06/15/solaris-cluster-on-the-cheap-part-2</link>
      <category>Clustering</category>
      <category>Solaris</category>
      <category>Sun</category>
    </item>
    <item>
      <title>Has it really been that long?</title>
      <description>&lt;p&gt;Wow, 24 days passed really quickly&amp;#8230;&lt;/p&gt;

&lt;p&gt;The trials we were doing with Veritas Cluster Services for UNIX worked out nicely; I&amp;#8217;ll have some stuff to write up regarding a consolidation project that I&amp;#8217;ll be finishing up in the next few months.  On which note, I haven&amp;#8217;t forgotten the &lt;a href="http://typo.submonkey.net/articles/2007/05/02/solaris-cluster-on-the-cheap-prologue"&gt;Solaris Cluster on the Cheap&lt;/a&gt; series, I&amp;#8217;ve just been crazy busy and away a fair amount of my spare time.&lt;/p&gt;

&lt;p&gt;We had a pair of &lt;a href="http://sun.com/servers/x64/x4500"&gt;x4500s&lt;/a&gt;  turn up for some trials today.  First trial was getting the damn things to the server room; at 96kg each when boxed it was a matter of removing all 48 disks, the power supplies and the service controller from each, leaving the chassis to be lugged a little more easily.&lt;/p&gt;

&lt;p&gt;Huge congratulations to &lt;a href="http://stitch.hellooperator.net"&gt;stitch&lt;/a&gt; and &lt;a href="http://number9.hellooperator.net"&gt;Dick&lt;/a&gt;; they know what for, but I don&amp;#8217;t know if they want it common knowledge.&lt;/p&gt;

&lt;p&gt;To close, I just discovered that a 16 week old boy can happily hit you from 3 feet away, if you see what I mean&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Tue, 29 May 2007 18:53:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:28ca5088-84f9-4181-ac65-16b3efbedf35</guid>
      <author>Ceri Davies</author>
      <link>http://typo.submonkey.net/articles/2007/05/29/has-it-really-been-that-long</link>
      <category>Clustering</category>
      <category>General</category>
      <category>Sun</category>
      <category>Veritas</category>
    </item>
    <item>
      <title>Solaris Cluster on the cheap - part 1</title>
      <description>&lt;p&gt;&lt;em&gt;Part 1 of a series on setting up Solaris Cluster for no money&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contents&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://typo.submonkey.net/articles/2007/05/02/solaris-cluster-on-the-cheap-prologue"&gt;Prologue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Part 1&lt;/li&gt;
&lt;li&gt;&lt;a href="http://typo.submonkey.net/articles/2007/06/15/solaris-cluster-on-the-cheap-part-2"&gt;Part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I needed to become familiar with the new features in Solaris Cluster 3.2, I needed to do it quickly, and I needed to do it for no money.  I scraped together these components to create a cluster:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 x Blade 100 workstations&lt;/li&gt;
&lt;li&gt;2 x crossover cables&lt;/li&gt;
&lt;li&gt;3 x hme NICs&lt;/li&gt;
&lt;li&gt;1 x iprb based NIC&lt;/li&gt;
&lt;li&gt;2 x workstations elsewhere on the network running Solaris Express&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That would be all I needed.&lt;/p&gt;

&lt;p&gt;The Blades each have 1152MB of RAM, an onboard eri interface and an 18GB internal disk; one has an addition 80GB disk.  The hme and iprb cards were to be used for the private interconnects and I threw two hmes into one of the Blades and installed the other in the last Blade along with the iprb card and connected them up with the crossover cables.  In the following examples, the Blades are named &lt;code&gt;peon.example.ac.uk&lt;/code&gt; and &lt;code&gt;bootlick.example.ac.uk&lt;/code&gt; (I always give my machines names that appear in the thesaurus next to&amp;#8221;vassal&amp;#8221;; this is to remind SkyNet that machines still work for us).&lt;/p&gt;

&lt;p&gt;As it turns out, I couldn&amp;#8217;t find a driver for the iprb card to attach to under the SPARC port; for real HA purposes I would obviously have wanted to fix this to ensure that I had highly available interconnects but as I was just testing I decided to lie to the cluster software and tell it that I had two hme cards in each system even though I didn&amp;#8217;t; this would lead to there being two interconnect cables being configured even though one of them would be down the whole time.&lt;/p&gt;

&lt;h1&gt;Install Solaris&lt;/h1&gt;

&lt;p&gt;First job was to jumpstart the Blades and install Solaris 10 11/06.  My jumpstart scripts do rather a lot of post-installation configuration, but precious little extra was done to cater for the installation of Solaris Cluster; in fact all I did was add /usr/cluster/bin to the default superuser path and /usr/cluster/man to the default MANPATH.  There are other steps required in order to get it working, but they&amp;#8217;re non-obvious so we detail them below.&lt;/p&gt;

&lt;h1&gt;Installing Solaris Cluster&lt;/h1&gt;

&lt;p&gt;Time to install the Solaris Cluster software; grab the bits from &lt;a href="http://sun.com/cluster"&gt;http://sun.com/cluster&lt;/a&gt; and run the installer.  You can either run it in a GUI or on the command line, but the feature set of each version is the same.&lt;/p&gt;

&lt;p&gt;The method of choosing options within the console based installer is somewhat non-intuitive, but actually read what it says and you&amp;#8217;ll be OK (I hardly feel as if I&amp;#8217;m in a position to complain about the intuitiveness of console based applications anyway, just run FreeBSD&amp;#8217;s &lt;a href="http://www.FreeBSD.org/cgi/man.cgi?query=sysinstall&amp;amp;sektion=8"&gt;sysinstall(8)&lt;/a&gt; for the first time and you&amp;#8217;ll see what I mean).&lt;/p&gt;

&lt;p&gt;Basically, I wanted to test some specific Oracle backed applications within zones, so I installed the following, requiring a not unreasonable 320MB of space.  Be sure to choose &amp;#8220;Configure Later&amp;#8221; if you&amp;#8217;re playing along at home.&lt;/p&gt;

&lt;pre&gt;    Java DB
       Java DB Server
       Java DB Client
    Sun Cluster 3.2
       Sun Cluster Core
       Sun Cluster Manager
    Sun Cluster Agents 3.2
       Sun Cluster HA for Apache Tomcat
       Sun Cluster HA for Apache 
       Sun Cluster HA for Oracle
       Sun Cluster HA for Solaris Containers&lt;/pre&gt;

&lt;h1&gt;Post-installation steps&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;When the installation finishes, run &lt;a href="http://typo.submonkey.net/articles/2006/12/15/throwing-suns-patch-management-tools-away"&gt;PCA&lt;/a&gt; to get the latest patches for the Cluster software.&lt;/p&gt;

&lt;p&gt;# pca -i&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run &amp;#8220;catman -w&amp;#8221; to get the manpages into the windex databases for whatis(1).&lt;/p&gt;

&lt;p&gt;# catman -w &amp;amp;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I&amp;#8217;ll be running ipfilter on the public eri interfaces.  At the time of my testing this was not supported but it worked.  &lt;a href="http://typo.submonkey.net/articles/2007/03/03/blah-blah-solaris-cluster"&gt;A note to the product QA manager&lt;/a&gt; sorted this out though.  I needed to edit &lt;code&gt;/etc/iu.ap&lt;/code&gt; and add &lt;code&gt;pfil&lt;/code&gt; to the eri line, then edit &lt;code&gt;/etc/ipf/pfil.ap&lt;/code&gt; and comment out the eri entry there (this was enabled by my JumpStart postinstall scripts):&lt;/p&gt;

&lt;pre&gt;peon% grep eri /etc/iu.ap 
        eri     -1      0       clhbsndr pfil
peon% grep eri /etc/ipf/pfil.ap 
#eri    -1      0       pfil&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, we need to configure IP Filter to allow communication between the cluster nodes; specifically we need to allow SSH and portmapper traffic; that&amp;#8217;s ports tcp/22, tcp/111 and udp/111.  Note that pfil isn&amp;#8217;t configured on the hme interfaces, so if you have rules of the type &amp;#8220;via if&amp;#8221;, don&amp;#8217;t bother to add any entries for hme.&lt;/p&gt;

&lt;p&gt;As mentioned above, we want SSH traffic between the nodes and we particularly want to log in as root over SSH.  This isn&amp;#8217;t as insecure as people might have you believe, as long as it&amp;#8217;s configured properly.  Without further knowledge of exactly what the Solaris Cluster product is doing, this is as secure as I went.&lt;/p&gt;

&lt;p&gt;Edit &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;, and set PermitRootLogin to without-password.  Then, on one node, generate a key for root.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# ssh-keygen -t dsa -b 2048 -C "Cluster Key"
# cp /.ssh/id_dsa.pub /.ssh/authorized_keys
# vi /.ssh/authorized_keys
    Add 'from=bootlick.example.ac.uk,peon.example.ac.uk' to the beginning of the line.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Copy &lt;code&gt;/.ssh&lt;/code&gt; to the other nodes and now, like a caveman, ssh as root from each node to every other node to ensure that they are all aware of each other&amp;#8217;s host keys (yes, I could use ssh-keyscan, but I didn&amp;#8217;t).&lt;/p&gt;

&lt;p&gt;Finally, I needed to do some extra configuration to keep IPMP happy; Solaris Cluster will insist on putting your public interfaces into an IPMP group and it turns out that when you only have one interface in an IPMP group, in.mpathd will always use ICMP probes to monitor the interface rather then relying on the link status, even if you do not configure test addresses.  Now this particular test network&amp;#8217;s default router was too crappy or too busy to provide a decent response time to the ICMP probes and so my eri interfaces were being marked down all the time.  Therefore, I added some static host routes for in.mpathd to choose as additional test addresses.  The correct place to do this on Solaris 10 is &lt;code&gt;/etc/inet/static_routes&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# cat &amp;gt;&amp;gt; /etc/inet/static_routes &amp;lt;&amp;lt;-EOF
# List of static routes.  These are added by /lib/svc/method/net-init
# and each non-empty, non-comment line is prefixed with "/usr/sbin/route add ".

# For keeping IPMP happy.
-host 172.25.0.177   172.25.0.177
-host 172.25.5.21    172.25.5.21
-host 172.25.5.30    172.25.5.30
-host 172.25.50.186  172.25.50.186
EOF
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Note that since I&amp;#8217;m now reliant on at least one of those other hosts being up, I&amp;#8217;m not quite getting HA here again.  No mind, let&amp;#8217;s plough on, reboot the system for all of the changes above to take effect (the systems should now reboot in non-cluster mode) and I&amp;#8217;ll see you in the next installment to get the cluster up and running.&lt;/p&gt;</description>
      <pubDate>Sat, 05 May 2007 21:19:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:2ae17c13-f4e1-4dbb-b046-afc0ba5d1cac</guid>
      <author>Ceri Davies</author>
      <link>http://typo.submonkey.net/articles/2007/05/05/solaris-cluster-on-the-cheap-part-1</link>
      <category>Clustering</category>
      <category>Solaris</category>
      <category>Sun</category>
    </item>
    <item>
      <title>Solaris Cluster on the cheap - prologue</title>
      <description>&lt;p&gt;&lt;em&gt;Part 1 of a series on setting up Solaris Cluster for no money&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contents&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Prologue&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://typo.submonkey.net/articles/2007/05/05/solaris-cluster-on-the-cheap-part-1"&gt;Part 1&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="http://typo.submonkey.net/articles/2007/06/15/solaris-cluster-on-the-cheap-part-2"&gt;Part 2&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I&amp;#8217;ve &lt;a href="http://typo.submonkey.net/articles/2007/03/03/blah-blah-solaris-cluster"&gt;written before&lt;/a&gt;, I was hoping to deploy &lt;a href="http://sun.com/cluster"&gt;Solaris Cluster&lt;/a&gt; at work.&lt;/p&gt;

&lt;p&gt;I never did manage to find out what the recurring support costs for it were, but it turns out that there is another flaw; the documentation explicitly disallows running different major versions of Solaris within the same cluster, something that Veritas&amp;#8217; Cluster Services explicitly does allow.  That&amp;#8217;s fine for some projects, but not having an upgrade path for the project under consideration is unacceptable, so we stuck with VCS;  I&amp;#8217;ll write about this project at a later date, as it&amp;#8217;s essentially a massive consolidation project on Niagara boxes which is quite fun.&lt;/p&gt;

&lt;p&gt;However, I&amp;#8217;m not down on Solaris Cluster.  I&amp;#8217;m a little annoyed (and I&amp;#8217;d be fucking appalled if I were a shareholder) that Sun took a long time to fail to find me recurrent costs, a little more annoyed that, when I pointed out that this wasn&amp;#8217;t even the reason we were choosing a different product and would they like to sell me 200 Sun Ray clients instead, I didn&amp;#8217;t get so much as a response, and just plain disappointed that there are no X4500s available in the UK for Try and Buy at the moment.&lt;/p&gt;

&lt;p&gt;With that off my chest, I&amp;#8217;ll proceed in the next post to discuss how to use Solaris Cluster and &lt;a href="http://www.opensolaris.org/os/downloads/"&gt;Solaris Express&lt;/a&gt; to set up a high-ish availability cluster for no money, probably with GlassFish in there somewhere so that I can win a huge TV.&lt;/p&gt;</description>
      <pubDate>Wed, 02 May 2007 20:22:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:bf9ee30f-5d29-4d5f-8694-6ccba8edf193</guid>
      <author>Ceri Davies</author>
      <link>http://typo.submonkey.net/articles/2007/05/02/solaris-cluster-on-the-cheap-prologue</link>
      <category>Clustering</category>
      <category>Solaris</category>
      <category>Sun</category>
      <category>Veritas</category>
    </item>
    <item>
      <title>#define EHOLYCRAPWOULDYOUQUITALREADY 103 /* Dude... */</title>
      <description>&lt;p&gt;From the installation notes of a popular high availability solution:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# mkdir /.ssh
# chmod go-w /
# chmod 700 /.ssh
# chmod go-rwx /.ssh
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;They&amp;#8217;re thorough, at least.&lt;/p&gt;</description>
      <pubDate>Tue, 13 Mar 2007 14:50:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:7e8184e0-d77c-48a1-9daf-814004308149</guid>
      <author>Ceri Davies</author>
      <link>http://typo.submonkey.net/articles/2007/03/13/define-eholycrapwouldyouquitalready</link>
      <category>Clustering</category>
      <category>Software</category>
      <category>Veritas</category>
    </item>
    <item>
      <title>Blah, blah, Solaris Cluster</title>
      <description>&lt;p&gt;Where I work, I look after three highly available clusters running Veritas Cluster Services on Solaris.  The hardware is old enough that maintenance is becoming prohibitively expensive and we&amp;#8217;re therefore planning to buy new hardware over the next six months or so.  Veritas tried to hold us over a barrel over support costs not so long ago, and so this seemed to be a good time to investigate moving to a different HA system.&lt;/p&gt;

&lt;p&gt;The obvious choice for me was &lt;a href="http://sun.com/cluster"&gt;Solaris Cluster 3.2&lt;/a&gt; (or Sun Cluster 3.2 as it was called at release).  It had originally seemed that &lt;a href="http://groups.google.com/group/comp.unix.solaris/msg/421832c2f5ca46e2?dmode=source"&gt;what I wanted to do would be suboptimal&lt;/a&gt;, although the release of 3.2 completely fixed all of the issues that existed with the setup that I had wanted to implement.&lt;/p&gt;

&lt;h1&gt;Mmm, free&lt;/h1&gt;

&lt;p&gt;Additionally good is that Solaris Cluster is free to run, even in production, although it must be relicensed (at a reasonably rate) if you wish to buy support.  It also supports a large variety of &lt;a href="http://www.sun.com/software/solaris/cluster/specs.xml"&gt;server&lt;/a&gt; and &lt;a href="http://www.sun.com/software/cluster/osp/index.xml"&gt;storage&lt;/a&gt; hardware.  Therefore it was no hassle to just download the software and crack on with testing; one barrier to adoption nipped in the bud.&lt;/p&gt;

&lt;h1&gt;What, no host-based packet filter?&lt;/h1&gt;

&lt;p&gt;After testing out the design that I had envisioned, it seemed that everything that I had wanted the software to do was in there; the only fly in the ointment was that the IP Filter packet filter was not supported.  &lt;a href="http://groups.google.com/group/comp.unix.solaris/browse_frm/thread/4becc3b39a08c0ef"&gt;It worked for some scenarios&lt;/a&gt;, but the lack of official support would have been a problem for us.&lt;/p&gt;

&lt;p&gt;At around this time, the QA manager for Solaris Cluster, John Blair, happened to post &lt;a href="http://blogs.sun.com/SC/entry/building_quality_into_solaris_cluster"&gt;a blog entry introducing himself&lt;/a&gt; on the &lt;a href="http://blogs.sun.com/SC/"&gt;Sun Cluster Oasis&lt;/a&gt;&lt;a href="#fn1"&gt;[1]&lt;/a&gt;.  So I asked him about the IP Filter situation.&lt;/p&gt;

&lt;h1&gt;Ask, and ye shall receive&lt;/h1&gt;

&lt;p&gt;Less than six weeks later, &lt;a href="http://blogs.sun.com/SC/entry/ip_filter_support_for_failover"&gt;IP Filter is officially supported for failover services&lt;/a&gt;.  That&amp;#8217;s an amazing response time.  I&amp;#8217;m not even a paying customer.&lt;/p&gt;

&lt;h1&gt;Professional services&lt;/h1&gt;

&lt;p&gt;Even before discovering this little nugget, I proceeded to obtain quotes for the licensing and support costs for Solaris Cluster 3.2.  As I mentioned above, they&amp;#8217;re quite reasonable.&lt;/p&gt;

&lt;p&gt;However, I was told at this point that there was a requirement for Sun Professional Services to come in perform the installation and configuration of the cluster before support could be obtained, and this was far from reasonably priced.  At this point I was pretty angry and a little disappointed; I&amp;#8217;m a big fan of Sun and couldn&amp;#8217;t see why they would throw away customers like this.&lt;/p&gt;

&lt;p&gt;I went far enough to &lt;a href="http://groups.google.com/group/comp.unix.solaris/browse_frm/thread/7e9e1b64bdf5ef4d/7c837ec5c4cd8d33?#7c837ec5c4cd8d33"&gt;complain about it publicly&lt;/a&gt;, although it was later pointed out that there was an option for a simple &lt;a href="http://www.sun.com/service/install/suncluster-software.xml"&gt;installation validation&lt;/a&gt; which is much more reasonable and by pointing this out I hereby absolve myself from the FUD-spreading.&lt;/p&gt;

&lt;h1&gt;You coming or what?&lt;/h1&gt;

&lt;p&gt;At this point it&amp;#8217;s still not clear that we&amp;#8217;ll end up running Solaris Cluster on these platforms, but I&amp;#8217;m hopeful that we will.  The design that I want to implement slots right in to the Solaris Cluster design and the implementation is therefore very simple and easy to understand (and, by extension, it&amp;#8217;s easier to document, which is more the point for me!).&lt;/p&gt;

&lt;p&gt;The title of this post is a small admission that I may be starting to sound like this around the office, sorry guys :)&lt;/p&gt;

&lt;hr/&gt;

&lt;p&gt;&lt;a name="fn1"&gt;&lt;/a&gt;[1] Note to Sun Marketing; there&amp;#8217;s some rebranding to be done here :)&lt;/p&gt;</description>
      <pubDate>Sat, 03 Mar 2007 15:52:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:1857f045-a1ac-44e3-87f8-c71d9892f11d</guid>
      <author>Ceri Davies</author>
      <link>http://typo.submonkey.net/articles/2007/03/03/blah-blah-solaris-cluster</link>
      <category>Clustering</category>
      <category>Software</category>
      <category>Solaris</category>
      <category>Sun</category>
      <category>Veritas</category>
      <category>sun</category>
      <category>solaris</category>
      <category>cluster</category>
      <category>ha</category>
    </item>
  </channel>
</rss>
