<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">JET Stream</title>
    <subtitle type="html">Mike Ramchand's blog, covering mainly JET (Jumpstart Enterprise Toolkit), but with diversions into other stuff, like sailing..</subtitle>
    <id>http://blogs.sun.com/mramcha/feed/entries/atom</id>
            
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/" />
        <updated>2009-07-08T22:44:50-07:00</updated>
    <generator uri="http://roller.apache.org" version="4.0.1.1 (BSC) (20091027075624)">Apache Roller</generator>
        <link rel="self" href="http://feeds.feedburner.com/sun/jetstream" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
        <id>http://blogs.sun.com/mramcha/entry/virtualization_orthogonality</id>
        <title type="html">Solaris Virtualization Epiphany</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/virtualization_orthogonality" />
        <published>2009-05-16T02:31:34-07:00</published>
        <updated>2009-05-16T02:31:34-07:00</updated> 
        <category term="/General" label="General" />
        <category term="containers" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ldom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="virtualization" scheme="http://roller.apache.org/ns/tags/" />
        <category term="vmware" scheme="http://roller.apache.org/ns/tags/" />
        <category term="zones" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
I was giving my standard pitch covering Sun Virtualisation Technologies which essentially entails me talking at length about the following slide. I kind of make the point that it is a means not an end, and that really what you're trying to do is run more applications on the same piece of hardware, and the trick is to try and do it most efficiently.&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt; &lt;img src="/mramcha/resource/virt.jpg" /&gt;&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;I've done this talk countless times with a pretty wide variety of customers, and I tend to start talking from the right, and move to the left, explaining how the &amp;quot;layer of additional non app resource utilisation&amp;quot; grows from right to left. (not true for Dynamic System Domains on the far left though.)&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;It finally occurred to me yesterday that the Unix and Windows world have an utterly different view of Virtualisation, and the need for Virtual Machines. &lt;/p&gt; 
  &lt;p&gt;In the Unix world, application co-existence is second nature to most sys-admins. &lt;b&gt;Virtualisation is all about application isolation.&lt;/b&gt; i.e. You START with all the apps on a single O/S instance, and you apply more and more constraints: resource management --&amp;gt; containers/zones --&amp;gt; virtual machines --&amp;gt; dynamic system domains.&lt;/p&gt; 
  &lt;p&gt;In the Windows world, application co-existence is so rare that it isn't even considered. &lt;b&gt;Virtualisation is all about application consolidation.&lt;/b&gt; (and the primary way to do it is to create lots of virtual machines, one per app).&lt;/p&gt; 
  &lt;p&gt;The problem is simply viewed from completely different angles.&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;It's not just an application co-existence issue either. There's a scalability problem. A lot of &amp;quot;other&amp;quot; O/S's can't scale to fit the larger more powerful Intel/AMD multi-core servers available today, and the ONLY way to make use of them is to carve them up into smaller machines that Windows or Linux can digest. Solaris, on the other hand can scale up to hundreds of CPUs, and hundreds of Gigabytes of memory.&lt;/p&gt; 
  &lt;p&gt;From the slide above, Sun/Solaris provides a wide choice of technologies to allow multiple applications to be consolidated onto a single server. Don't let the limitations of &amp;quot;other&amp;quot; O/S's blinker you into thinking that a Virtual Machine is the only answer.&amp;nbsp; &lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;(I'm not saying that Virtual Machines is the WRONG answer btw, it's ONE of the answers, but it shouldn't be the only one that is considered.)&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/virtualization+containers+ldom+zones+vmware+xen"&gt;virtualization containers ldom zones vmware xen&lt;/a&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/jet_4_7_now_available</id>
        <title type="html">JET 4.7 Now available</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/jet_4_7_now_available" />
        <published>2009-05-08T01:04:22-07:00</published>
        <updated>2009-05-08T01:50:46-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;&amp;nbsp;So, I've been working on JET 4.7 for a while now. A couple of weeks ago I released it internally to Sun, and no-one's complained about any showstopping bugs yet, so I've released a fresh bundle to the sun.com downloads site. The best way to go straight to it is to follow the link at the top of the &lt;a href="http://wikis.sun.com/display/JET"&gt;wiki&lt;/a&gt; site.&lt;br /&gt;&lt;/p&gt; 
  &lt;h2&gt;JET 4.7 Changes: &lt;br /&gt;&lt;/h2&gt; 
  &lt;p&gt;The MAJOR JET change is that I've kind of merged JetNAS functionality into the main SUNWjet module. This isn't an exact replication of the JetNAS code, and it does things a little differently, but in short you can choose to place the NFS functionality somewhere different from your JET server.&lt;/p&gt; 
  &lt;p&gt;Other JET changes are covered by bugids: 6835016, 685027, 685023, 
685019, 685030.&lt;/p&gt; 
  &lt;p&gt;In summary:&lt;/p&gt; 
  &lt;p&gt; 6835016:&amp;nbsp; &lt;span style="font-family: monospace;"&gt;&lt;/span&gt;JET needs to support alternative servers for NFS media. The &lt;a href="http://wikis.sun.com/display/JET/JET+User+Guide"&gt;JET User Guide&lt;/a&gt; has already been updated to cover this functionality. Additionally, I've written a short &lt;a href="http://wikis.sun.com/display/JET/NFS-less+JET"&gt;article&lt;/a&gt; about it on the &lt;a href="http://wikis.sun.com/display/JET"&gt;JET wiki &lt;/a&gt;site.&lt;/p&gt; 
  &lt;p&gt;685027:&amp;nbsp; &lt;span style="font-family: monospace;"&gt;&lt;/span&gt;JET jetjump.xml script does not stop graphical login from starting. Tidied it up. graphical login no longer starts until J/S is complete.&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;685023: JET should not create /dhcp directory. We used to do this to shorten the dhcp macro. This is no longer necessary, so we've removed the complication of having it.&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;685019: JET ksh scripts do not work when using OpenSolaris. There were a couple of constructs in our ksh code that ksh93 choked on. We've updated them so that they are compatible with ksh and ksh93. This allows all you OpenSolaris people to install JET on your OpenSolaris based Jumpstart server. (Note, &lt;a href="http://opensolaris.org/os/project/caiman/auto_install/"&gt;AI&lt;/a&gt; is required to &amp;quot;jumpstart&amp;quot; OpenSolaris.)&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;685030: &lt;span style="font-family: monospace;"&gt;&lt;/span&gt;JET error message when suitable server is not found could be more meaningful. Well, this is just an attempt to reduce the e-mail traffic. Probably the first error, people new to JET see. We've updated the error message to tell you what to do to fix it.&lt;/p&gt; 
  &lt;h2&gt;JET 4.6 - 4.7 Change Summary: &lt;br /&gt;&lt;/h2&gt; 
  &lt;p&gt;For all you &amp;quot;external&amp;quot; people, the last externally available version was 4.6. Here are the changes from 4.6 - 4.7:&lt;/p&gt; 
  &lt;p&gt;4.6.1: Ability to compress the rpool, and specify /var for zfs boot builds.&lt;/p&gt; 
  &lt;p&gt;4.6.2: 6798648: JET needs to workaround Bug: 6528699: This is to stop Jumpstart from labelling ALL your disks and blowing away all your data. Also added a tweak to the ssh scripts to generate the keys properly.&lt;/p&gt; 
  &lt;p&gt;4.6.3: Added an additional bootadm update-archive to the end of the finish.common script. We were getting some situations where the first reboot had a stale boot-archive, possibly due to a race condition in SPARC S10 Update 6 and above builds.&lt;/p&gt; 
  &lt;h2&gt;JET bundled Modules: &lt;br /&gt;&lt;/h2&gt; 
  &lt;p&gt;We've updated some/most of the bundled products. ALL of them (if required) have been updated to make them ksh93 compatible. Some of them have had more substantial changes:&lt;/p&gt; 
  &lt;h3&gt;JetLDOM &lt;/h3&gt; 
  &lt;p&gt;This module has had the most substantial rewrite. We've gone against ALL JET precedent and completely changed the structure of the ldom.conf file, so it's not backward compatible (for once). We needed to do that so that we could provide a much easier mechanism to make use of the ldm 1.3 functionality. Sorry.... but you'll like the new one better.&lt;/p&gt; 
  &lt;h3&gt;JetFLASH&lt;/h3&gt; 
  &lt;p&gt;I've updated JetFLASH so that is actually checks the flar (if it can), to see that it is the right architecture, and the right boot filesystem for the build. (Yes, zfs based flash is coming, but it is a different format to the ufs based one). Bruce added some code to clean up service tags if required.&lt;/p&gt; 
  &lt;h3&gt;JetZFS&lt;/h3&gt; 
  &lt;p&gt; Quite a few changes in this module. You can now update your rpool properties, I've provided more verbose progress messages (so you can see exactly what it is doing), added code to deal with converting EFI disks back to SMI (it does it for you if required), and finally added a strange hack so that you can optionally use ::: instead of = in your variables to get around a xVM OC gui restriction.&lt;/p&gt;
  &lt;h3&gt;JetZONES&lt;/h3&gt;
  &lt;p&gt; Fixed a bug where make_template was in the wrong place, and added some code to boot the zone before trying to add stuff to the rootpath/var dir. (because it might not be there unless the zone is booted). (Thanks to Mike Hendon for pointing it out). (plus a bunch of new functionality like support for branded zones)&lt;br /&gt;&lt;/p&gt; 
  &lt;h2&gt;Summary&lt;/h2&gt; 
  &lt;p&gt;So just a reminder, the following modules have NEW template variables. Old templates (other than the ldom based ones) will continue to work, but if you want to make use of the new functionality (with the new comments that describe them), you'll need to refresh your templates. (Have a scan through sample.template in /opt/SUNWjet/Templates to see what's changed.)&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt; &lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+JET+Jumpstart"&gt;Solaris JET Jumpstart&lt;/a&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/jet_jumpstart_without_nfs</id>
        <title type="html">JET/Jumpstart without NFS</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/jet_jumpstart_without_nfs" />
        <published>2009-04-15T06:52:40-07:00</published>
        <updated>2009-04-15T06:52:40-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;I've been working on JET 4.7 (current released JET version is 4.6.3).&lt;/p&gt;
  &lt;p&gt;The main change is that I've now provided support to allow the Solaris Media and the /opt/SUNWjet directories to be hosted by a server (or servers) other than the JET server. This effectively removes the requirement for the JET server to provide NFS services.&lt;/p&gt;
  &lt;p&gt;Along the way I was able to tidy up and consolidate a lot of code, particularly the client_allocation_* methods. I've added a few functions, and used the variables more consistently throughout. For those of you doing DHCP/PXE based builds, I've removed the /dhcp hack that was used to overcome the 255 char limitiation of the DHCP macros.&lt;/p&gt;
  &lt;p&gt;Full details on the &lt;a href="http://wikis.sun.com/display/JET/NFS-less+JET"&gt;wiki site&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;I'm hoping to release it by the end of April.&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+JET+Jumpstart"&gt;Solaris JET Jumpstart&lt;/a&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/followup_solaris_cluster_on_a</id>
        <title type="html">FOLLOWUP: Solaris Cluster on a laptop using VirtualBox, iSCSI and a quorum server</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/followup_solaris_cluster_on_a" />
        <published>2009-01-06T02:57:55-08:00</published>
        <updated>2009-01-06T03:01:25-08:00</updated> 
        <category term="/General" label="General" />
        <category term="jet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jumpstart" scheme="http://roller.apache.org/ns/tags/" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <category term="suncluster" scheme="http://roller.apache.org/ns/tags/" />
        <category term="virtualbox" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;A few months ago I wrote&amp;nbsp; &lt;a href="/mramcha/entry/solaris_cluster_on_a_laptop"&gt;Solaris Cluster on a laptop using VirtualBox, iSCSI and a quorum server&lt;/a&gt;, which detailed some of the hoops that I needed to jump through to get it to work. The good news is that the new features in &lt;a href="http://www.virtualbox.org"&gt;VirtualBox&lt;/a&gt; 2.0 (and now 2.1) have gotten rid of 2 of those hoops:&lt;br /&gt;&lt;/p&gt; 
  &lt;ol&gt;
    &lt;li&gt;&amp;nbsp;I no longer need to play with vnics and that crazy script as Host Interface networking simply works out of the box&lt;/li&gt;
    &lt;li&gt;I don't need to install the 32bit internal only SC package, as &lt;a href="http://www.virtualbox.org"&gt;VirtualBox&lt;/a&gt; now supports 64bit guests.&lt;/li&gt;
  &lt;/ol&gt; 
  &lt;p&gt;I'm in the process of rebuilding my laptop cluster making use of the above new features. &lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;&amp;nbsp;Hurrah!!!&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/JET+Jumpstart+SunCluster+Solaris+VirtualBox+xVM"&gt;JET Jumpstart SunCluster Solaris VirtualBox xVM&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/jet_4_6_externally_available</id>
        <title type="html">JET 4.6 externally available</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/jet_4_6_externally_available" />
        <published>2009-01-05T02:03:52-08:00</published>
        <updated>2009-01-05T02:03:52-08:00</updated> 
        <category term="/General" label="General" />
        <category term="jet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jumpstart" scheme="http://roller.apache.org/ns/tags/" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;As a follow-on to my previous post, JET 4.6 is now available externally. Check the &lt;a href="http://wikis.sun.com/display/JET"&gt;JET wiki&lt;/a&gt; which has a link to the download.&lt;/p&gt; 
  &lt;p&gt;This is mainly a bug fix release, and has been given a major number increase because it's the JET version that will be in the next release of xVM OpsCenter. (and we like to release the OpsCenter releases at major version numbers).&lt;/p&gt;
&lt;p&gt;In terms of changes, I've fixed a couple of bugs with turning ntp on, and multiple disks in zfs pools for ZFS disks. This version also has tweaks in place to workaround some DHCP issues when installing S10 U6 and Solaris Nevada.&lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+JET+Jumpstart"&gt;Solaris JET Jumpstart&lt;/a&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/jet_4_4_7_available</id>
        <title type="html">JET 4.4.7 available externally</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/jet_4_4_7_available" />
        <published>2008-11-04T16:17:25-08:00</published>
        <updated>2008-11-04T16:17:25-08:00</updated> 
        <category term="/General" label="General" />
        <category term="jet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jumpstart" scheme="http://roller.apache.org/ns/tags/" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;As a follow-on to my previous post, JET 4.4.7 is now available externally. Check the &lt;a href="http://wikis.sun.com/display/JET"&gt;JET wiki&lt;/a&gt; which has a link to the download.&lt;/p&gt; 
  &lt;p&gt;Also have a look at the&lt;a href="http://wikis.sun.com/display/JET/JET+User+Guide"&gt; JET User Guide&lt;/a&gt; which has now been posted on the wiki. I expect this to grow over time, but its a conversion from the original user guide with updates for correctness.&lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+JET+Jumpstart"&gt;Solaris JET Jumpstart&lt;/a&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/jet_4_4_7_released</id>
        <title type="html">JET 4.4.7 released</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/jet_4_4_7_released" />
        <published>2008-10-21T04:14:54-07:00</published>
        <updated>2008-10-21T04:14:54-07:00</updated> 
        <category term="/Jumpstart" label="Jumpstart" />
        <content type="html">&lt;p&gt;I've just released JET 4.4.7 internally. Bruce is in the process of putting together a new bundle including 4.4.7 for the external download, so it'll arrive in couple of weeks. If you need it NOW just ask nicely. &lt;img src="http://blogs.sun.com/images/smileys/smile.gif" class="smiley" alt=":-)" title=":-)" /&gt;

&lt;/p&gt; 
  &lt;h2&gt;Changes&lt;/h2&gt; 
  &lt;p&gt; The latest&amp;nbsp; version currently available externally is 4.4, and we've added a bunch of features since then. Here's a brief overview of what's new/changed/fixed:&lt;/p&gt; 
  &lt;h3&gt;4.4.1&lt;/h3&gt; 
  &lt;ol&gt; 
    &lt;li&gt;6660631: Disabling UFS logging no longer works.&lt;/li&gt; 
    &lt;li&gt;6673213: Selecting dhcp should automatically select grub if required.&lt;/li&gt; 
    &lt;li&gt;6675467: JET needs to workaround Nevada installation bug 6633017.&lt;/li&gt; 
    &lt;li&gt;6315828: JET &amp;quot;shutup_sendmail&amp;quot; variable does not work on Solaris 10.&lt;/li&gt; 
    &lt;li&gt;6526561: Typo in make_client, missing r on JS_error line 130.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h3&gt;4.4.2&lt;/h3&gt; 
  &lt;ol&gt; 
    &lt;li&gt;6656549: Add ability to do fdisk commands in the profile.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h3&gt;4.4.3&lt;/h3&gt; 
  &lt;ol&gt; 
    &lt;li&gt;6694299: SUNWjet fails to install on system with super long group.&lt;/li&gt; 
    &lt;li&gt;6690411: base_config_profile_fdisk needs to be ingored for sparc.&lt;/li&gt; 
    &lt;li&gt;6698860: &amp;quot;rarp&amp;quot; service should not be enable by JET (on dhcp builds)&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h3&gt;4.4.4&lt;/h3&gt; 
  &lt;ol&gt; 
    &lt;li&gt;6706581: JET needs to support ZFS root installs. This is a pretty big one, with the inclusion of 5 new base_config variables. Might require a separate blog article to explain, but as usual, the comments in the template should get you on the way.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h3&gt;4.4.5&lt;/h3&gt; 
  &lt;ol&gt; 
    &lt;li&gt;6735314: JET incorrectly sets NFSMAPID_DOMAIN to &amp;quot;dynamic&amp;quot;. &lt;/li&gt; 
    &lt;li&gt;6735318: JET should support noatime mount options.&lt;/li&gt; 
    &lt;li&gt;6740625: JET client_environment should never output a warning message.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h3&gt;4.4.6&lt;/h3&gt;
Never released.

  
  
  &lt;h3&gt;4.4.7&lt;/h3&gt; 
  &lt;ol&gt; 
    &lt;li&gt;6675467: (again, as we need to apply workaround for Sol10 U6 as well)&lt;/li&gt; 
    &lt;li&gt;6761787: JET custom_files should allow the overwritten file to be backed up. (inspiration from &lt;a href="http://solarisjedi.blogspot.com/2007/02/jet-controlling-customfiles-with-custom.html"&gt;Christopher Hubbell&lt;/a&gt;)&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h2&gt;Summary of Changes&lt;/h2&gt;
A lot of the changes are bug fixes, but a number of them begin to make use of some of the new Solaris features, or leverage new ways of doing things.

The most important of these is the ability for JET to install ZFS boot Solaris. This applies to Nevada build 90 and above, as well as the imminently to be released Solaris 10 Update 6. Other things that are kinda cool is the ability for JET to fdisk your disk for you when doing an install, as well as set noatime mountpoint options (which more and more people seem tobe doing by default now.  
  
  &lt;p&gt;

tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+JET+Jumpstart+ZFS"&gt;Solaris JET Jumpstart ZFS&lt;/a&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/belenix_opensuse_and_ubuntu_on</id>
        <title type="html">belenix, opensuse and ubuntu on Nevada with VirtualBox</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/belenix_opensuse_and_ubuntu_on" />
        <published>2008-09-24T10:43:54-07:00</published>
        <updated>2008-09-24T10:43:54-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;I was in the process of playing with some stuff using VirtualBox, and it occurred to me that this was a pretty cool screenshot, so I did, and here it is.&lt;/p&gt; 
  &lt;p&gt; &lt;a href="/mramcha/resource/vboxb.jpg"&gt;&lt;img src="/mramcha/resource/vboxs.jpg" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;/p&gt; 
  &lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+belenix+ubuntu+opensuse+virtualbox"&gt;Solaris belenix ubuntu opensuse virtualbox&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/using_sun_secure_global_desktop</id>
        <title type="html">Using Sun Secure Global Desktop</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/using_sun_secure_global_desktop" />
        <published>2008-09-17T06:50:29-07:00</published>
        <updated>2008-09-18T00:00:14-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;Over the past few weeks/months, I've been involved (sometimes peripherally) with setting up our demo kit in the UK Customer Briefing Centre. One of my design goals was to ensure seamless access to our demos from anywhere in the world or more realistically anywhere in the UK, and more specifically, at any customer site.&amp;nbsp;&lt;/p&gt; 
  &lt;p&gt;Within the CBC network (which is not connected to our internal Sun network) we set up a Sunray Server also running SGD. We initially had some hiccups getting the firewall traversal to work, and had to resort to using VNC which was adequate, but painful as we were tunnelling through ssh, so there were a bunch of steps required to ssh in, start vncserver, then re-ssh in to tunnel the right port, then start vncviewer and after all of that the screen refresh rate wasn't stellar.&lt;/p&gt; 
  &lt;p&gt;However, once we got SGD working it was absolutely awesome.&lt;/p&gt; 
  &lt;p&gt;If you want to have a play with how it works, simply go to &lt;a href="http://sgddemo.sun.com"&gt;Sun's SDG demo site&lt;/a&gt; . Unfortunately MyDesktop doesn't work (for obvious reasons) for anonymous users, but it will let you play with the webtop functionality.&lt;/p&gt; 
  &lt;p&gt;For our purposes, we used the MyDesktop functionality. Running a desktop session inside the CBC from anywhere in the world was as easy as pointing a browser at the right place, logging in and clicking on the Desktop icon. Within seconds, as if by magic, a full screen desktop takes over your current screen (you can switch back to local using Alt-TAB). I'd show you a picture of it, but it just looks like a normal desktop and feels remarkably snappy even if it is remote.&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;The reason we were doing all of this is that we&amp;nbsp; (The UK Systems Practice) have been running some &amp;quot;Discovery Days&amp;quot; around &lt;a href="http://uk.sun.com/sunnews/events/2008/may/discoveryday/"&gt;LDOMS&lt;/a&gt; and &lt;a href="http://uk.sun.com/sunnews/events/2008/sep/zfsdiscoveryday/"&gt;ZFS&lt;/a&gt; which have live demos of the technology. The cool part is that we get to showcase the SGD technology at the same time!&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SGD+ZFS+LDoms"&gt;Solaris SGD ZFS LDoms&lt;/a&gt;&lt;/small&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/helford_river</id>
        <title type="html">Helford River</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/helford_river" />
        <published>2008-09-17T04:29:01-07:00</published>
        <updated>2008-09-17T04:29:01-07:00</updated> 
        <category term="/Sailing" label="Sailing" />
        <content type="html">&lt;p&gt;So I got the boat down, and managed to go sailing in and around the Helford river in Cornwall. It was absolutely awesome. On the day the picture was taken, the wind was pretty light and so I decided to brave going out single handed. Even got the asymmetric out on the downwind leg.&lt;/p&gt;
  &lt;p&gt;&lt;img src="http://blogs.sun.com/mramcha/resource/P1010825s.jpg" /&gt; &lt;img src="http://blogs.sun.com/mramcha/resource/P1010825s.JPG" /&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/really_nice_jet_tutorial</id>
        <title type="html">Really Nice JET Tutorial</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/really_nice_jet_tutorial" />
        <published>2008-08-21T05:26:42-07:00</published>
        <updated>2008-08-21T05:26:42-07:00</updated> 
        <category term="/Jumpstart" label="Jumpstart" />
        <content type="html">&lt;p&gt;&lt;a href="http://www.c0t0d0s0.org/authors/1-Joerg-Moellenkamp"&gt;Joerg Moellenkamp&lt;/a&gt; has written a pretty cool 16 part tutorial on Jumpstart using JET &lt;a href="http://www.c0t0d0s0.org/plugin/tag/jet"&gt;here&lt;/a&gt;. It's already linked at the &lt;a href="http://wikis.sun.com/display/JET/Home"&gt;JET wiki&lt;/a&gt; page.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+Jumpstart+JET+"&gt;Solaris Jumpstart JET &lt;/a&gt;&amp;nbsp;&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;&lt;br /&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/no_i_haven_t_stopped</id>
        <title type="html">No, I haven't stopped sailing</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/no_i_haven_t_stopped" />
        <published>2008-08-17T14:05:31-07:00</published>
        <updated>2008-08-17T14:05:31-07:00</updated> 
        <category term="/Sailing" label="Sailing" />
        <category term="l2k" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;I've not blogged about sailing in some time. Its not that I've not been Sailing. Its more due to me not blogging enough. I'm going to try and do a weekly recreational blog. (Watch me fail).&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;Since my last post, I've been helping out at my local Sailing Club &lt;a href="http://www.burghfieldsailing.org"&gt;(Burghfield Sailing Club)&lt;/a&gt;&lt;br /&gt;with their Oppie Club. My oldest daughter got quite into it, and I got her an old wooden Oppie called Major Tom. Here's me sailing it.&lt;/p&gt; 
  &lt;p&gt;&lt;img align="middle" src="/mramcha/resource/majortom.JPG" /&gt;&lt;br /&gt; &lt;/p&gt; 
  &lt;p&gt;As you can see, it's for kids, not adults. (And yes, I did eventually pick up the kid swimming behind the boat).&lt;/p&gt; 
  &lt;p&gt;I've gotten a lot better sailing my Laser 2000, and have been trying to take part in the Wednesday Evening Pursuit races that take place during the Summer at the club. (On Wednesday evenings, funnily enough). I actually came first in one of them this year, and pretty happy with my progress.&lt;/p&gt; 
  &lt;p&gt;Last week we were doing pretty well in quite windy conditions (I think we were 4th or 5th with 15 mins to go), when my main halyard broke, resulting in me having to DNF. The bigger problem was that we're taking the boat down to Cornwall on holiday next week, so I had to get it fixed pretty quickly. This weekend, I spent Saturday morning down at the Sailing club taking the mast down, and feeding a piece of wire up the inside of the mast, and rerunning the old main halyard. (This is harder than it sounds) The Chandlery at the Sailing Club was closed (the owners had a day at the races at Ascot or something) so I couldn't get a new halyard. Felt I might as well run the old rope, and once it's in, its easy enough to replace without having to take the mast down. On Sunday, today, they were open, so I was able to replace the old rope with a nice shiny new halyard.&lt;br /&gt;&lt;br /&gt;It's also the first time I'll be towing the boat anywhere, so I also needed to get a couple of towing essentials for the trip. (Fortunately the family car has a towbar). I've decided to play it safe and get a new Jib Halyard as well, as it is also about 8 years old. A trip to the &lt;a href="http://www.lasersailing.com/disp/uks/home"&gt;LaserDirect&lt;/a&gt; and £100 pounds later, I've got a bunch of stuff coming, hopefully by Wednesday this week, which will give me enough time to fit before setting off on the weekend.&lt;br /&gt;&lt;br /&gt;It's also the first time that we'll be taking the L2K onto the open water. The place we've rented is in a sheltered cove, so we don't HAVE to go to sea, but it might be fun to go out for a laugh.&lt;/p&gt; 
  &lt;p&gt;If this is my last ever blog post, you can guess what happened. &lt;/p&gt; 
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/more_on_jet_and_iso</id>
        <title type="html">More on JET and iso images</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/more_on_jet_and_iso" />
        <published>2008-08-08T08:42:07-07:00</published>
        <updated>2008-08-17T13:11:06-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;I've made some minor modifications to share_isos. I realised that add_install_client creates entries in /etc/dfs/dfstab for the &amp;quot;boot&amp;quot; filesystem if not already mounted. Unfortunately, it only checks the dfstab, rather than checking the actual shares. The result is that I need to populate the /etc/dfs/dfstab file.&lt;/p&gt; 
  &lt;p&gt;The complication is that now that it's in dfs, the stubs get shared when the server boots, so I need to unshare them before doing the lofi mounts.&lt;/p&gt; 
  &lt;p&gt;&amp;nbsp;I've updated the &lt;a href="/mramcha/resource/share_isos"&gt;share_isos script&lt;/a&gt; to do that. I've decided I'm simply going to make it an add_on JET module that can be installed if that feature is required/desired. (Look out for a JetISO module any day soon).&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;Finally, while testing all of this I decided to so something pretty obscure. I'm in the process of building a JET.vdi and I'm trying to make the .vdi as small as possible. (A virtual disk image of the smallest Solaris I can use, with JET and its modules installed so that it is nice and easy to distribute (so far its about 800k). I obviously don't want to prepopulate with any Solaris media as that will simply make my vdi too large. The cool thing about iso images is that I can NFS mount a directory containing them, and then I can lofiadm and mount them locally. &lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;So I ended up with a JET server running in a virtualbox, NFS mounting a Sol 10 0508 iso from my home server, lofimounted and shared with share_isos, and I used that to jumpstart another Solaris virtualbox machine on the same PC (which was running XP). The really good news was that it worked. The not so good news is that it took over a day to install. I think there are a few too many levels of indirection and virtualisation between the iso and the virtual disk. &lt;/p&gt; 
  &lt;p&gt;I should really do a bit more testing and figure out the bottleneck. Ideally I'd prefer to keep the isos on the host and use shared folders to allow the virtual JET server to access them, but that won't be possible if the performance is as bad as my original test.&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+Jumpstart+JET+virtualbox"&gt;Solaris Jumpstart JET virtualbox&lt;/a&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/jet_server_using_nevada_and</id>
        <title type="html">JET server using Nevada and iso images</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/jet_server_using_nevada_and" />
        <published>2008-08-07T07:58:05-07:00</published>
        <updated>2008-08-07T07:58:05-07:00</updated> 
        <category term="/Jumpstart" label="Jumpstart" />
        <content type="html">&lt;p&gt;Things have been slightly problematic on the JET server running on Nevada front mainly due to 2 issues.

&lt;/p&gt; 
  &lt;ol&gt; 
    &lt;li&gt;There is/was a bug in cpio (See BugID 6686818) which meant that setup_install_server didn't copy the media correctly.&lt;/li&gt; 
    &lt;li&gt;setup_install_server on earlier Solaris releases didn't understand zfs, therefore it was difficult to copy onto a zfs filesystem.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h2&gt;Why not just use iso images?&lt;/h2&gt; 
  &lt;p&gt;Why not indeed? I'm in the habit fo simply downloading and keeping the .iso images for all releases, and I used to then &amp;quot;expand&amp;quot; it by lofimounting and then running setup_install_server. I realised I really didn't need to do that, I could just use the lofi mounted image, and get away from having to ever run setup_install_server, and not need to use up double the space per O/S image I wanted to keep.&lt;/p&gt; 
  &lt;p&gt;&amp;nbsp;So.. what was missing?&lt;/p&gt; 
  &lt;p&gt;I needed a way to lofiadm, mount and nfs share the Solaris media. Also because x86 builds also lofi mount the boot directory and mount it into the /tftpboot directory, I'd also need to lofimount a lofimounted filesystem as well.&lt;/p&gt; 
  &lt;p&gt;Firstly I did everything manually to ensure that everything works fine, then I wrote a &lt;a href="/mramcha/resource/share_isos"&gt;script&lt;/a&gt;, which reads a &lt;a href="/mramcha/resource/solaris_iso_locations"&gt;config file&lt;/a&gt; (which lives in /opt/SUNWjet/etc).&lt;/p&gt; 
  &lt;p&gt;Inline here:&lt;br /&gt;&lt;/p&gt; 
  &lt;pre&gt;#!/usr/bin/ksh -p
#
# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
################################################################################

# sanitize PATH, and ensure required components are in front
PATH=/sbin:/usr/sbin:/bin:/usr/bin:${PATH}
export PATH

BINDIR="`cd ${0%/*}; pwd`"
ETCDIR="`cd ${BINDIR}/../etc; pwd`"

PATH=${BINDIR}:${PATH}
export PATH

MEDIALOC=${ETCDIR}/solaris_iso_locations

if [ "$#" != "0" ]; then
	echo "Usage: $0"
	echo " "
	exit 1
fi

#
# Check to see if the media locations file exists.
#

for iso in `cat ${MEDIALOC} | grep -v "^#" | awk '{print $1}'`
do
	lofiname="`lofiadm | awk '$2 == iso {print $1;}' iso=$iso`"
	if [ -z  "${lofiname}" ]; then
		lofiname="`lofiadm -a $iso`"
		echo "Added $iso as lofi filesystem: $lofiname"
	fi
	mp="`cat ${MEDIALOC} | awk '$1 == iso {print $2;}' iso=$iso`"
	mounted="`df -k | awk '$1 == lofiname &amp;amp;&amp;amp; $6 == mp {print $6;}' lofiname=
$lofiname mp=$mp`"
	if [ -z "${mounted}" ]; then
		mount -F hsfs $lofiname $mp
		mounted=$mp
		echo "Mounted $lofiname at $mp"
	fi
 	shared="`share | awk '$2 == mp {print $2;}' mp=$mp`"
	if [ -z "${shared}" ]; then
		share -o ro,anon=0 $mounted
		echo "Shared $mounted"
	fi
	# Deal with lofi mount in x86
	mountboot="`cat /etc/vfstab | awk '$1 == mpboot {print $3;}' mpboot=\"$m
p/boot\"`"
	if [ -n "${mountboot}" ]; then
	bootmounted="`df -k | awk '$1 == mpboot {print $6;}' mpboot=\"$mp/boot\"
`"
		if [ -z "${bootmounted}" ]; then
			mount $mountboot
			echo "Remounted $mountboot"
		fi
	fi
done

&lt;/pre&gt; 
  &lt;p&gt;It parses the solaris_iso_locations file which looks like this (I've attached my filled out one)&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;pre&gt;# This file is used to specify the mountpoints for iso images. You need
# to create the mountpoint, update this file, and then run /opt/SUNWjet/bin/
# share_isos. This will lofimount all isos listed here. You will then
# need to run add_solaris_location for each image as normal.
# You should run the share_isos command everytime the JET server is
# rebooted.
/backup/Solimages/s10sparc_0508.iso&amp;nbsp;&amp;nbsp;&amp;nbsp; /export/install/iso/Solaris_10_0508s
/backup/Solimages/s10x86_0508.iso&amp;nbsp;&amp;nbsp;&amp;nbsp; /export/install/iso/Solaris_10_0508x
/backup/Solimages/solarisdvdb90x.iso&amp;nbsp;&amp;nbsp;&amp;nbsp; /export/install/iso/Solaris_11_b90x
/backup/Solimages/solarisdvdb90s.iso&amp;nbsp;&amp;nbsp;&amp;nbsp; /export/install/iso/Solaris_11_b90s
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/pre&gt; 
  &lt;h2&gt;What it does.&lt;/h2&gt; 
  &lt;p&gt;In short, it reads the config file and mounts (if not already mounted) the iso images on the path specified. It will then NFS share the mountpoint, and parse the /etc/vfstab and do the /tftpboot lofi mounts if necessary. (&lt;b&gt;NOTE: add_install_client creates those entries in /etc/vfstab the first time it is run for that O/S. You MUST edit the /etc/vfstab and change the mount_at_boot flag to &amp;quot;no&amp;quot;, otherwise your booting your JET server will fail.)&lt;/b&gt;&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;Running &lt;b&gt;share_isos&lt;/b&gt; produces the following:&lt;/p&gt; 
  &lt;pre&gt;# /opt/SUNWjet/bin/share_isos
Mounted /dev/lofi/2 at /export/install/iso/Solaris_10_0508s
Shared /export/install/iso/Solaris_10_0508s
Mounted /dev/lofi/3 at /export/install/iso/Solaris_10_0508x
Shared /export/install/iso/Solaris_10_0508x
Remounted /tftpboot/I86PC.Solaris_10-1
Mounted /dev/lofi/4 at /export/install/iso/Solaris_11_b90x
Shared /export/install/iso/Solaris_11_b90x
Remounted /tftpboot/I86PC.Solaris_11-6
Mounted /dev/lofi/5 at /export/install/iso/Solaris_11_b90s
Shared /export/install/iso/Solaris_11_b90s
# /opt/SUNWjet/bin/share_isos
# &lt;/pre&gt; 
  &lt;p&gt;&amp;nbsp;Note: if you run share_isos again, it does nothing as everything is already mounted and shared, so its easy to re-run it whenever you want just to confirm it's all good. (I considered having JET call it automatically, but I'm not completely sure how I want to do that yet. Well thought out suggestions welcomed.)&lt;/p&gt; 
  &lt;p&gt;The bottom line is that I can now easily use my laptop running Nevada and a ZFS filesystem and use it as a JET server for any version of Solaris without ever needing to run &amp;quot;setup_install_server&amp;quot;. And the bonus is I've now got about 12GB of space back!!&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+Jumpstart+JET"&gt;Solaris Jumpstart JET&lt;/a&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/solaris_cluster_on_a_laptop</id>
        <title type="html">Solaris Cluster on a laptop using VirtualBox, iSCSI and a quorum server</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/solaris_cluster_on_a_laptop" />
        <published>2008-08-05T05:15:04-07:00</published>
        <updated>2008-08-06T04:15:49-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt; I was intrigued by Gordon Johnston's &lt;a href="http://system-log.tyr.org.uk/2008/06/27/building-a-solaris-cluster-express-cluster-in-a-virtualbox-on-opensolaris/"&gt;blog article&lt;/a&gt; about creating a 2 node Cluster Express cluster using VirtualBox, and I decided I had to try it.&lt;/p&gt; 
  &lt;p&gt;Here's the final result:&lt;/p&gt; 
  &lt;p&gt;&lt;a target="_blank" href="/mramcha/resource/sc3.2.jpg"&gt;&lt;img src="/mramcha/resource/sc3.2s.jpg" /&gt;&lt;/a&gt;&lt;/p&gt; 
  &lt;p&gt;(You can click on the image for a fullsized picture.)&lt;/p&gt; 
  &lt;p&gt;It shows a VNC connection to my laptop which has 4 windows up: The 2 VirtualBox instances showing cxnode1 and cxnode2, a terminal window on the laptop itself, showing the quorum configuration and the iSCSI share, and in the background, the VirtualBox console showing the network configuration of cxnode1. Finally, in the main screen, I'm running Sun Cluster Manager and connected to the cluster, showing the topology and the Resource Group configuration of apache.&lt;/p&gt; 
  &lt;p&gt;Rather than simply duplicating what Gordon did, I decided to go with Solaris Cluster 3.2 U1 as my cluster software. This meant that I had to use an internally available package of 32 bit kernel drivers, as SC 3.2 is shipped as a 64bit only product. (Cluster Express has both 32 and 64 bit variants.) The reason for going with Solaris Cluster is that there are instances where I want to duplicate a scenario that a customer is seeing, and in most cases, that's on Solaris Cluster.&lt;/p&gt; 
  &lt;p&gt;I'm hesitant to duplicate Gordon's article, as I pretty much followed his guide, so I urge you to read his article as it is quite detailed, I'll only highlight where I changed things.&lt;/p&gt; 
  &lt;ol&gt; 
    &lt;li&gt;&amp;nbsp;I only really wanted a working cluster, went for the simpler set up of HA Apache&lt;/li&gt; 
    &lt;li&gt;Cluster node O/Ss would be Solaris 10 05/08&lt;/li&gt; 
    &lt;li&gt;Host O/S is Solaris Nevada Build 93 (as that was what was already running on my laptop)&lt;/li&gt; 
    &lt;li&gt;I wanted to Jumpstart the nodes using JET.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;h2&gt;Preparing your physical host&lt;br /&gt;&lt;/h2&gt; 
  &lt;p&gt;I already had VirtualBox 1.6.2 installed, so there wasn't much to do there. The main trick was configuring my laptop to allow Host Interface networking. This bit is Solaris specific. You basically need to do 2 things.&lt;/p&gt; 
  &lt;p&gt;Firstly, you need to set up a bunch of virtual nics, and assign MAC addresses to them. As this needs to be redone on every reboot, I followed Dave Tong's &lt;a href="/davetong/entry/configuring_host_networking_for_virtualbox" target="_blank"&gt;advice&lt;/a&gt;&amp;nbsp; and set up an rc3.d script. (and no, I didn't bother to use SMF either, you can bite me too if you want.)&lt;/p&gt; 
  &lt;pre&gt;#!/sbin/sh
state="$1"
case "${state}" in
'start')
&amp;nbsp;&amp;nbsp; &amp;nbsp;echo 'Plumbing VNICs'
&amp;nbsp;&amp;nbsp; &amp;nbsp;for MAC in 10 20 30 40
&amp;nbsp;&amp;nbsp; &amp;nbsp;do
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;VNIC=`/usr/lib/vna nge0 c0:ff:ee:0:0:$MAC`
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ifconfig $VNIC plumb
&amp;nbsp;&amp;nbsp; &amp;nbsp;done
&amp;nbsp;&amp;nbsp; &amp;nbsp;;;
'stop')
&amp;nbsp;&amp;nbsp; &amp;nbsp;;;
*)
&amp;nbsp;&amp;nbsp;&amp;nbsp;echo "Usage: $0 { start | stop }"
&amp;nbsp;&amp;nbsp; &amp;nbsp;exit 1
&amp;nbsp;&amp;nbsp; &amp;nbsp;;;
esac&lt;/pre&gt; 
  &lt;p&gt;(I did use Gordon's cute fake MAC address c0:ff:ee 'cos its easy to remember)&lt;/p&gt; 
  &lt;p&gt;Secondly, you REALLY REALLY need to make sure that you give the VBoxSVC privileges to configure the interface, otherwis your virtual machines will fail when starting. Whenever you start VirtualBox, you need to get the PID of the VBoxSVC, and run: ppriv -s AEI+net_rawaccess &amp;lt;pid&amp;gt;
  &lt;/p&gt; 
  &lt;h2&gt;Creating your Virtual hosts&lt;/h2&gt; 
  &lt;p&gt;Basically I followed Gordon's instructions for this, with TWO exceptions. I needed to select Network in the Boot Order menu in Settings--&amp;gt;General--&amp;gt;Advanced as PXE is not enabled by default. I also found that I couldn't do a PXE boot if I used the Intel driver, so I used the PC-net FAST III driver throughout which worked fine.&lt;br /&gt;&lt;/p&gt; 
  &lt;h2&gt;Installing Solaris on the Virtual hosts&lt;/h2&gt; 
  &lt;p&gt;I've already got &lt;a href="http://wikis.sun.com/display/JET/Home"&gt;JET&lt;/a&gt; installed on my laptop, so preparing to install Solaris was an amazingly simple process:&lt;/p&gt; 
  &lt;ol&gt; 
    &lt;li&gt;/opt/SUNWjet/bin/make_template cxnode1 base_config&lt;/li&gt; 
    &lt;li&gt;Edit the template&lt;/li&gt; 
    &lt;li&gt;/opt/SUNWjet/bin/make_client cxnode1&lt;/li&gt; 
    &lt;li&gt;Start the cxnode1 Virtual Machine, Press F12, Select Lan Boot, and watch it install.&lt;/li&gt; 
    &lt;li&gt;/opt/SUNWjet/bin/make_template -T cxnode1 cxnode2&lt;/li&gt; 
    &lt;li&gt;Edit the cxnode2 template and change 3 variables.&lt;/li&gt; 
    &lt;li&gt;/opt/SUNWjet/bin/make_client cxnode2&lt;/li&gt; 
    &lt;li&gt;Start the cxnode2 Virtual Machine. Press F12, Select Lan Boot and watch it install.&lt;br /&gt;&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;Of course, the devil is in the detail, I'd already configured the Solaris media, and these are the changes I made to a default template for the build to work:&lt;/p&gt; 
  &lt;pre&gt;base_config_ClientArch=i86pc
*base_config_ClientEther=c0:ff:ee:0:0:10
base_config_ClientOS=10_0508x
base_config_client_allocation="dhcp"
*base_config_sysidcfg_ip_address=192.168.1.201
base_config_sysidcfg_netmask=255.255.255.0
base_config_profile_fdisk="alldisk"
base_config_profile_cluster=SUNWCXall
base_config_profile_root=free 
base_config_profile_swap=2048
base_config_profile_s6_mtpt="/globaldevices"
base_config_profile_s6_
base_config_ipmp_networkifs="pcn0_pcn1"
*base_config_ipmp_networkif_pcn0_pcn1="prod sp 192.168.1.211 192.168.1.212 24 cxnode1 192.168.1.201"&lt;/pre&gt; 
  &lt;p&gt;(the ones with * are the variables I had to update when I created the cxnode2 template)&amp;nbsp;&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;h2&gt;Installing Solaris Cluster on the nodes&lt;/h2&gt; 
  &lt;p&gt;As the nodes were running in 32bit mode, (VirtualBox 1.7 should have 64bit support, which means this part won't be necessary in the future) I needed to use an internally available set of 32 bit kernel drivers in a packages called SUNWscka. Basically, install sc3.2 as usual using the installer, but don't configure anything, and don't configure a quorum device. Then pkgadd SUNWscka on both nodes, and reboot them both.&lt;/p&gt; 
  &lt;h2&gt;The rest&lt;/h2&gt; 
  &lt;p&gt;After that, I just followed Gordon's instructions for setting up the Quorum server, setting up the iSCSI devices on the hosts, mounting them on the cluster nodes, and creating a zfs pool using them.&lt;/p&gt; 
  &lt;p&gt;Sadly, this now means I can play with and configure all sorts of things in a Sun Cluster environment from the comfort of my laptop!&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+Jumpstart+JET+xvm+virtualbox"&gt;Solaris Jumpstart JET xvm virtualbox&lt;/a&gt; &lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/solaris_bootdisk_layout_discussion</id>
        <title type="html">Solaris Bootdisk Layout discussion</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/solaris_bootdisk_layout_discussion" />
        <published>2007-09-25T09:12:21-07:00</published>
        <updated>2008-08-06T07:16:39-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;
There's been a vibrant discussion on the &lt;a href="http://www.opensolaris.org/jive/forum.jspa?forumID=90"&gt;sysadmin-discuss(at)opensolaris.org&lt;/a&gt; alias about boot disk layouts, and it was suggested that we try to come to some form of consensus and document it.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;Sun has a bunch of installation standards called EIS (Enterprise Installation Standards), and one of those standards is the EIS Bootdisk Standard. As one of the contributors to that document, I found it quite interesting to see that the sysadmin discussion was coming to similar conclusions about how a boot disk should be laid out as we had come to internally.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;In the interests of sharing and getting to a common standard, I've now posted the relevant bits of the EIS standard on the &lt;a href="http://wikis.sun.com/display/BigAdmin/BootDiskLayout"&gt;BigAdmin wiki&lt;/a&gt;, and encouraged the members of the &lt;a href="http://www.opensolaris.org/jive/forum.jspa?forumID=90"&gt;sysadmin-discuss alias&lt;/a&gt; to comment and contribute.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;If you're interested, you should have a look at it, and join the &lt;a href="http://www.opensolaris.org/jive/forum.jspa?forumID=90"&gt;alias&lt;/a&gt; to participate in the discussion.&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+Bigadmin"&gt;Solaris Bigadmin&lt;/a&gt;&lt;/small&gt; &lt;br /&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/cec_2007_here_we_come</id>
        <title type="html">CEC 2007 Here we come (again)</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/cec_2007_here_we_come" />
        <published>2007-09-03T03:34:22-07:00</published>
        <updated>2008-08-06T07:16:15-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;&amp;nbsp;(I've reposted so that technorati picks up the tag we'll be using for this event) &lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;(Hint, tag using suncec2007 and we'll be able to agregate all content using said tag)&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Its that time of year again. CEC2007 will be in Las Vegas this year. I've never been, and I'm half looking forward to it, but as I think I have an addictive character, I'm a little scared of of Vegas.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;At the minimum, I'm going to leave my credit cards in the hotel room when I go out, so that I don't end up losing more than just my shirt at the poker tables.&amp;nbsp;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;More importantly, I think the conference is going to be great. I've seen the list of some of the topics that will be presented. &lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;The theme this year is &amp;quot;Shift Our Universe, Our World, Your Move&amp;quot;, sub themes being: Shift to &lt;a href="/gseDivas/entry/redshifting"&gt;red&lt;/a&gt;: (all the groovy bleeding edge stuff that &lt;a href="/gregp/"&gt;GregP&lt;/a&gt; talks about, Shift to &lt;a href="/enviro/"&gt;green:&lt;/a&gt; (all the nice eco-friendly stuff we've been doing), and Shift to &lt;a href="/jonathan/"&gt;grow&lt;/a&gt;&lt;small&gt;: (which focusses on all the things we need to do to enable our growth (and our customer's as well)) &lt;/small&gt;&lt;/p&gt;
  &lt;p&gt;&lt;small&gt;&lt;/small&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;We're also going to be giving out a bunch of prizes for participants and attendees of the conference. They'll be mainly based on level and quality of participation in the sessions. Stay tuned for more details.&lt;br /&gt; &lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;As per last year, I'll be blogging my perspectives of the conference again.&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Sun+suncec2007"&gt;Sun suncec2007&lt;/a&gt;&lt;/small&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/cooltools_not_just_for_coolthreads</id>
        <title type="html">Coolstack: Not just for Coolthreads</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/cooltools_not_just_for_coolthreads" />
        <published>2007-08-10T08:34:32-07:00</published>
        <updated>2008-08-06T07:15:47-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;As per a previous article, I upgraded by home server to Nevada build 69, because I was about to make some changes, and wanted to be fully up to date before I did so.&lt;/p&gt;
  &lt;p&gt;I wanted to play with &lt;a href="http://www.atlassian.com/software/confluence/"&gt;Confluence&lt;/a&gt; which is the wiki that Sun has chosen to run their &lt;a href="http://wikis.sun.com"&gt;wiki&lt;/a&gt; site. Confluence can run in a number of ways and connect to a number of different databases. Since I hadn't yet played with &lt;a href="http://www.postgresql.org/"&gt;Postgres&lt;/a&gt;, I decided I would use that, and I also decided to run it using Tomcat instead of as a standalone app.&lt;/p&gt;
  &lt;p&gt;Given that I'm a bit of a neophyte when it comes to talking native SQL, I decided that I needed to run a tool of some sort to configure Postgres. I've used phpMyAdmin for MySQL for a while now, and figured there MUST be an equivalent for Postgres. Using my amazing powers of deduction, I googled phppgadmin, and lo and behold there it was: &lt;a href="http://phppgadmin.sourceforge.net/"&gt;phpPgAdmin&lt;/a&gt;. All I needed was a php compatible webserver. Unfortunately the supplied apache2 with&amp;nbsp; Nevada isn't php ready, so I had to then decide.. do I compile myself, or do I find something easier. I vaguely remember hearing something about &lt;a href="http://cooltools.sunsource.net/coolstack/index.html"&gt;coolstack&lt;/a&gt;, which is &amp;quot;&lt;i&gt;a collection of some of the most commonly used open source applications optimized for the Sun Solaris OS platform.&amp;quot; &lt;/i&gt;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;CoolStack 1.1 is available for both SPARC and x64, and contains pretty much all I needed, including tomcat. So a few downloads and pkgadds later, and I've got apache running, which means I can get phpPgAdmin running, which means I can perform my initial Postgres configuration, which means I can finally install Confluence under Tomcat, and everything's perfect. (Well it wasn't perfectly perfect, because I needed to read a couple of READMEs along the way, and a bit of on-line documentation, but it was fine.)&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;So, I've got tomcat listening on port 8081 as per normal and confluence sitting inside there as an applet talking happily to Postgres, and so I decide that I actually want to do the apache proxy thing so that I can have my confluence wiki appear to sit on my normal webserver port. This is quite easy to configure, you just need a few lines like this:&lt;/p&gt;
  &lt;pre&gt;LoadModule proxy_module libexec/mod_proxy.so
LoadModule proxy_connect_module libexec/mod_proxy_connect.so
LoadModule proxy_ftp_module libexec/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/mod_proxy_http.so
LoadModule proxy_ajp_module libexec/mod_proxy_ajp.so
LoadModule proxy_balancer_module libexec/mod_proxy_balancer.so
ProxyPass               /wiki           http://localhost:8081/wiki
ProxyPassReverse        /wiki           http://localhost:8081/wiki

&lt;/pre&gt;
  &lt;p&gt;(I don't actually know how many of the LoadModules I really need btw, I suspect I don't need the last 2)&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;Here comes the bad news. The apache2 that comes with CoolStack doesn't come with the mod_proxy.so modules, which means that I can't use it for proxying. I tried copying the&amp;nbsp; original mod_proxy.so modules to the coolstack one and loading it up, but when I tried to access the wiki, my system pretty much froze and the disks churned like mad. Had to kill the webserver to get things back to normal.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;How did I fix? I reverted to the original Nevada supplied webserver, and configured the CoolStack based one to run on a different port which I can use when I want to use phpPgAdmin. At some point I'm going to have to solve the problem permanently, probably some further investigation, and trying to figure out exactly what's going wrong. But for now, its doing what I need, I just hope I don't want to run a php based app anytime soon.&amp;nbsp;&lt;/p&gt;
  &lt;pre&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Sun+Solaris+CoolStack+AMP"&gt;Sun Solaris CoolStack AMP&lt;/a&gt;&lt;/small&gt;&lt;/pre&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/cec2007_here_we_come</id>
        <title type="html">CEC2007: Here we come</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/cec2007_here_we_come" />
        <published>2007-08-10T06:34:16-07:00</published>
        <updated>2008-08-06T07:15:22-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt; &lt;/p&gt;
  &lt;p&gt;&amp;nbsp;Its that time of year again. CEC2007 will be in Las Vegas this year. I've never been, and I'm half looking forward to it, but as I think I have an addictive character, I'm a little scared of of Vegas.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;At the minimum, I'm going to leave my credit cards in the hotel room when I go out, so that I don't end up losing more than just my shirt at the poker tables.&amp;nbsp;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;More importantly, I think the conference is going to be great. I've seen the list of some of the topics that will be presented. &lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;The theme this year is &amp;quot;Shift Our Universe, Our World, Your Move&amp;quot;, sub themes being: Shift to &lt;a href="/gseDivas/entry/redshifting"&gt;red&lt;/a&gt;: (all the groovy bleeding edge stuff that &lt;a href="/gregp/"&gt;GregP&lt;/a&gt; talks about, Shift to &lt;a href="/enviro/"&gt;green:&lt;/a&gt; (all the nice eco-friendly stuff we've been doing), and Shift to &lt;a href="/jonathan/"&gt;grow&lt;/a&gt;&lt;small&gt;: (which focusses on all the things we need to do to enable our growth (and our customer's as well))&lt;/small&gt;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;As per last year, I'll be blogging my perspectives of the conference again.&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Sun+suncec2007"&gt;Sun suncec2007&lt;/a&gt;&lt;/small&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/new_jet_resource</id>
        <title type="html">New JET Resource</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/new_jet_resource" />
        <published>2007-08-10T06:15:47-07:00</published>
        <updated>2008-08-06T07:14:56-07:00</updated> 
        <category term="/General" label="General" />
        <category term="jumpstart" scheme="http://roller.apache.org/ns/tags/" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wiki" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Sun has just launched http://wikis.sun.com, which is great because it allows me to use it for putting all the JET info there rather than here.&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;I have created a space there called JET, which will become the primary Sun location for all information relating to the Jumpstart Enterprise Toolkit.&lt;/p&gt;
  &lt;p&gt;Have a look: &lt;a href="http://wikis.sun.com/display/JET"&gt;Jet wiki&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt; &lt;br /&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+Jumpstart+JET"&gt;Solaris Jumpstart JET&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/home_server_tweaking</id>
        <title type="html">Home Server tweaking</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/home_server_tweaking" />
        <published>2007-08-01T03:47:23-07:00</published>
        <updated>2008-08-06T07:14:28-07:00</updated> 
        <category term="/General" label="General" />
        <category term="liveupgrade" scheme="http://roller.apache.org/ns/tags/" />
        <category term="printing" scheme="http://roller.apache.org/ns/tags/" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;I've been working on my home server again (remember.. the Ultra40 I won at CEC last year) . I've been lazy for the past few months, and been stuck at Nevada Build 63 for a while. While I've been live-upgrading my laptop with every Nevada release, I kept on finding really good excuses to NOT upgrade my home server.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;The main issue is that it actually does real work. It's my home DHCP, SMTP, Samba, Web, Jumpstart, (and JET development) and print server. The household tends to notice when it's down. (especially since all the home directories are mounted off it, which means that everything stops when its down. We get real tears in our house when people can't do their homework!)&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;The fact that I use Live Upgrade means that downtime is usually just a reboot. Chris Gerhard, who has a similar home set up upgraded before me and found a samba problem, which caused me to delay upgrading until I knew it had been fixed, then we had a minor problem with gnome-terminal character corruption, finally, gaim was replaced by pidgin, and in doing so, support for one of the IM protocols was kind of accidentally broken.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;I don't have a problem being on the bleeding edge on my laptop, cos I can work around most of the issues, especially since I do most of my work on my home server.&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;Anyway, the long and short of it was that I was just about to do some other work on my Ultra40, namely try and get apache with php working (among other things), and decided it would be prudent to upgrade to Nevada Build 69 before I did anything.... just to be sure.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;Happy to report that it all went swimmingly (as usual), and downtime was in fact reduced to a single reboot, which them indoors didn't even notice.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;One interesting point. On rebooting and starting gnome, it automatically detected my USB plugged in HP printer, and gave me a pretty little &amp;quot;Add Printer Queue&amp;quot; window which allowed me to add my printer. Unfortunately it didn't detect that I had already added it manually many months previously. I suppose one can expect that to happen as new features begin to overlap manual workarounds. I'm pretty sure that printing should just work straight out of the box on a fresh Build 69 install without any manual intervention.. but I'm not going to bother to try.&amp;nbsp;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;I then proceeded to get my AMP working... topic for my next article.&lt;/p&gt;
  &lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86+LiveUpgrade+AMP"&gt;Solaris SUN X86 LiveUpgrade AMP&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/do_you_tiddlywikle</id>
        <title type="html">Do you Tiddlywikle?</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/do_you_tiddlywikle" />
        <published>2007-05-31T02:47:14-07:00</published>
        <updated>2008-08-06T07:14:02-07:00</updated> 
        <category term="/General" label="General" />
        <category term="wiki" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Bruce Porter just sent me a link to something called &lt;a target="_blank" href="http://www.tiddlywiki.com"&gt;TiddlyWiki&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;It's author JeremyRuston, describes it as: &lt;span tiddler="SiteSubtitle" refresh="content" class="siteSubtitle"&gt;a reusable non-linear personal web notebook.&lt;/span&gt;&lt;/p&gt;
  &lt;p&gt;In short its a wiki on an html page. You don't need ay server-side logic, just a web browser.&lt;/p&gt;
  &lt;p&gt;And the way it works is pretty cool too!&amp;nbsp;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/printing_on_nevada_b56</id>
        <title type="html">Printing on Nevada b56</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/printing_on_nevada_b56" />
        <published>2007-01-29T14:16:12-08:00</published>
        <updated>2008-08-06T07:13:36-07:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;I got asked in a comment in my previous article to describe EXACTLY how I got printing working.&lt;/p&gt;
  &lt;p&gt;I've got an HP5150 USB printer. I plugged it into a convenient USB port on my Solaris server, and then used the printmgr gui to set it up. I selected Use PPD, and in the&amp;nbsp; Printer--&amp;gt;New Attached Printer form, filled in the following:&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;pre&gt;Printer Name: unix
Printer Port: /dev/printers/0
Printer Make: HP
Printer Model: HP DeskJet 5150
Printer Driver: Foomatic/hpijs (recommended)

&lt;/pre&gt;
  &lt;p&gt;This allowed standard Unix printing to work. (In short, it pretends to be a standard postscript printer, and you can send pretty much anything to it)&lt;/p&gt;
  &lt;h2&gt;Solaris - Solaris&lt;br /&gt; &lt;/h2&gt;
  &lt;p&gt;I also turned on the ipp-listener service using svcadm. On a remote Solaris client (my laptop, also running Solaris Nevada b56), I used printmgr again, and did Printer--&amp;gt;Add Access to Printer. This uses the ipp service by default if available. lpstat -v shows:&lt;/p&gt;
  &lt;pre&gt;# lpstat -v
system for unix: zaphod (as ipp://zaphod/printers/unix)


&lt;/pre&gt;
  &lt;p&gt;The printer name is &amp;quot;unix&amp;quot; and my server is called &amp;quot;zaphod&amp;quot;. With that, I could print from my laptop to my printer attached to my home server.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;h2&gt;Samba Printing&lt;/h2&gt;
  &lt;p&gt;The Samba printing was a little more troublesome. In short, all the Windows machines, and any machine for that matter trying to print natively&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to my &amp;quot;unix&amp;quot; queue had difficulties because it was expecting either Postscript or plain text. I could have set all my printers up as generic Postscript printers, but decided I'd rather print natively. To do this I could have probably played with the filters so that it passed through everything, but that seemed too much like hard work. Instead a set up a different queue (to the same printer) which would act as a &amp;quot;raw&amp;quot; queue.&lt;/p&gt;
  &lt;pre&gt;#!/bin/sh
lpadmin -p hp5150 -v /dev/printers/0 -T unknown -I any
accept hp5150
enable hp5150
lpadmin -p hp5150 -o nobanner

&lt;/pre&gt;
  &lt;p&gt;I think my smb.conf was already pretty much properly configured for printing, but I'll repeat the relevent bits just in case:&lt;/p&gt;
  &lt;pre&gt;# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
   load printers = yes

# NOTE: If you have a BSD-style print system there is no need to 
# specifically define each individual printer
[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
# Set public = yes to allow user 'guest account' to print
   guest ok = no
   writable = no
   printable = yes

&lt;/pre&gt;
  &lt;p&gt;To set up the printer on the local side, I had to manually install the HP5150 drivers, and then add the printer using the Add Printer wizard in Windows. The key to getting this to work properly, is to set it up as a &amp;quot;Local Printer&amp;quot;, then select a Local Port, and specify the Local port as (in my case)&amp;nbsp; as: \\zaphod\hp5150&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;h2&gt;Summary&lt;/h2&gt;
  &lt;p&gt;I actually configured all of this when both my home server and my laptop were running Nevada B54, so it is possible that it is no longer necessary to set up 2 queues, but I've LiveUpgraded and the settings were retained, so I've had no need to change. A lot of things seem to have changed in the Solaris printing model in Solaris Nevada, but I've found it is now a lot easier than it ever was. (And it is the expectation that it is going to be really difficult that makes you do more than you need to). If you trust that it just works, and use the printmgr tool, I think it is difficult to go wrong.&lt;br /&gt;&lt;/p&gt;
  &lt;pre&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86+samba+printing"&gt;Solaris SUN X86 samba printing&lt;/a&gt; 
&lt;/small&gt;&lt;/pre&gt;</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/it_just_works_zones_zfs</id>
        <title type="html">It just works!: Zones + ZFS + BrandZ + LiveUpgrade</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/it_just_works_zones_zfs" />
        <published>2007-01-26T11:06:33-08:00</published>
        <updated>2007-01-26T11:06:33-08:00</updated> 
        <category term="/General" label="General" />
        <category term="brandz" scheme="http://roller.apache.org/ns/tags/" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <category term="zfs" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
&lt;p&gt;&lt;p&gt;I've successfully LiveUpgraded my home server twice so far. (I've been slightly lazy and decided to do alternate builds, so I've gone from Nevada b52 to b54 to b56. Apart from the minor zfs issues which require me to:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Create an exclude file for the lucreate so that it doesn't try to copy my zfs partitions.&lt;/li&gt;&lt;li&gt;Manually empty mountpoints where some of my zfs filesystems mount.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;it all works really well.&lt;/p&gt;&lt;p&gt;I'd shied away from creating zones because LiveUpgrade didn't support zones in the earlier builds, but I've now been assured that it works fine now.&lt;/p&gt;&lt;p&gt;Zones + ZFS. WOW&lt;/p&gt;&lt;p&gt;It just works. When you create a zone, if it detects that your zonepath is on a zfs filesystem, it'll automatically create a new zfs dataset for you for the zones you are creating. You don't need to do anything special, it just does the &amp;quot;Right Thing(tm)&amp;quot;.&lt;/p&gt;&lt;p&gt;Furthermore, if you decide to clone a zone, and it's on a zfs filesystem, it simply creates a snapshot of the cloned zone for you.&amp;nbsp; You don't need to do anything special, it just does the &amp;quot;Right Thing(tm)&amp;quot;.&lt;/p&gt;&lt;p&gt;This means that once you've created your first zone, all your additional zones can be created and booted in a matter of seconds. Talk about rapid provisioning!&lt;/p&gt;&lt;p&gt;The icing on the cake: BrandZ&lt;/p&gt;&lt;p&gt;I've simply followed the instructions &lt;a href="http://www.opensolaris.org/os/community/brandz/install/" target="_blank" title="OpenSolaris BrandZ"&gt;here&lt;/a&gt; and I've now got CentOS running in a zone, running on top of Solaris. Got Skype working!!&lt;/p&gt;&lt;p&gt;I love it when a plan comes together. We've now got some really clever integration of some individual cool Solaris technologies. The combined benefit is compelling.&lt;/p&gt;&lt;p&gt;Just waiting for ZFS boot to become available (well, more available than it is), and my home server aspirations will be complete.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86+ZFS+BrandZ"&gt;Solaris SUN X86 ZFS BrandZ&lt;/a&gt;&amp;nbsp;&lt;/small&gt;&lt;br/&gt;
&lt;/p&gt;&lt;/p&gt;

</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/addendum%3A_building%2Finstalling%2Fconfiguring....</id>
        <title type="html">Addendum: Building/Installing/Configuring....</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/addendum%3A_building%2Finstalling%2Fconfiguring...." />
        <published>2006-11-22T06:55:12-08:00</published>
        <updated>2006-11-22T06:55:12-08:00</updated> 
        <category term="/General" label="General" />
        <content type="html">
&lt;p&gt;&lt;p&gt;I've been checking my spamassassin scores, and wasn't particularly happy with it's ability to rate SPAM. Given it's reputation I was pretty sure that it was due to a configuration error on my part.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I had a sneeky suspicion that not all the &amp;quot;tests&amp;quot; I was running were actually happening. I ran spamd in debug mode, and started seeing a bunch of interesting errors. In short, I was missing Net::DNS, so anything that required any sort of DNS lookup was failing.&lt;/p&gt;&lt;p&gt;Simply did the perl -MCPAN -e 'install Net::DNS' thing and that got DNS lookups working.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Then started to debug the other errors in the log. Apparently the bayes plugin was having problems talking to my bayes files because I didn't have DB_File. Tried the CPAN trick again, which failed because it couldn't find db.h. Turns out I didn't have Berkeley DB installed. Short trip to sunfreeware.com later:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;db-4.2.52.NC-sol10-intel-local&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;It installs in /usr/localBerkeleyDB.4.2 . Given that CPAN was looking in /usr/local/BerkeleyDB, I created the link, and hey presto perl -MCPAN -e 'install DB_File' worked fine.&lt;/p&gt;&lt;p&gt;At that point I ran sa-learn against my Junk folder to generate some content, and checked the permissions of the bayes files. (Note: bayes_path in the local.cf for spamassassin needs to contain the prefix of the bayes files.&amp;nbsp; e.g.:&lt;/p&gt;&lt;pre&gt;use_bayes 1&lt;br /&gt;bayes_path /export/home/spamd/bayes/bayes&lt;br /&gt;bayes_file_mode 0666&lt;br /&gt;&lt;br /&gt;# ls /export/home/spamd/bayes/&lt;br /&gt;bayes_journal  bayes_seen     bayes_toks     bayes.mutex&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Now that its all sorted, I'm getting much higher SPAM scores, and it seems much more accurate.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Some would say I should have just used Blastwave, but this was more fun, and a good learning experience.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86+spamassassin"&gt;Solaris SUN X86 spamassassin&lt;/a&gt;&lt;/small&gt;&lt;br/&gt;
&lt;/p&gt;&lt;/p&gt;

</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/btconnect_and_dynamic_ip_smtp</id>
        <title type="html">BTConnect and Dynamic IP SMTP server problems.</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/btconnect_and_dynamic_ip_smtp" />
        <published>2006-11-21T09:54:59-08:00</published>
        <updated>2006-11-21T10:42:02-08:00</updated> 
        <category term="/General" label="General" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
&lt;p&gt;&lt;p&gt;So, I've got Exim working really nicely... I think.&lt;/p&gt;&lt;p&gt;I've got a &amp;quot;dynamic&amp;quot; IP address from my BTConnect business broadband connection. This means that I have trouble connecting directly to SMTP servers from my server because their reverse lookup of my name doesn't match... i.e. it resolves to a dynamic BT address, and some SMTP servers are rightfully suspicious of that and punt me away.&lt;/p&gt;&lt;p&gt;So I've configured Exim to relay to mail.btconnect.com. This works because I've registered my 2 domain names with them, and their mail relay will accept stuff coming from those domains.&lt;/p&gt;&lt;p&gt;However, I also forward e-mail for my sister, and have a couple of little mailing lists configured, and these get bounced because I retain the name of the original sender on my outgoing forwards.&lt;/p&gt;&lt;p&gt;Hmmm. This should be solvable by authenticating myself on BT's mail server.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Trawl of the BT Broadband site tells me that:&lt;/p&gt;&lt;p&gt;1: BT Connect, (the business one) doesn't allow SMTP authentication:&lt;/p&gt;&lt;pre&gt; # telnet mail.btconnect.com 25&lt;br /&gt;Trying 194.73.73.217...&lt;br /&gt;Connected to mail.btconnect.com.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;220 C2bthomr06.btconnect.com ESMTP Mirapoint 3.7.4b-GA; Tue, 21 Nov 2006 17:50:20 GMT&lt;br /&gt;ehlo &amp;lt;mydomain&amp;gt;&lt;br /&gt;250-C2bthomr06.btconnect.com Hello host&amp;lt;nnn&amp;gt;.btcentralplus.com [xx.yy.zz.aa], pleased to meet you&lt;br /&gt;250-8BITMIME&lt;br /&gt;250-SIZE 52428800&lt;br /&gt;250-DSN&lt;br /&gt;250-ETRN&lt;br /&gt;250 HELP&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;2: BTInternet, (the consumer one) does:&lt;/p&gt;&lt;pre&gt;# telnet mail.btinternet.com 25&lt;br /&gt;Trying 217.146.188.192...&lt;br /&gt;Connected to pop-smtp1-f.bt.mail.vip.ird.yahoo.com.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;220 smtp808.mail.ird.yahoo.com ESMTP&lt;br /&gt;ehlo &amp;lt;mydomain&amp;gt;&lt;br /&gt;250-smtp808.mail.ird.yahoo.com&lt;br /&gt;250-AUTH LOGIN PLAIN XYMCOOKIE&lt;br /&gt;250-PIPELINING&lt;br /&gt;250 8BITMIME&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Phone call to the BTConnect helpline. They understood my problem. Were slightly sympathetic, but confirmed that the only way to send none BT domain e-mail via their BTConnect server was by pre-registering EVERY domain with them. Clearly impractical. (Heck, I don't know who's going to send my sister an e-mail)&lt;/p&gt;&lt;p&gt;Phone call to the BTInternet helpline. I used to have an account. It was suspended due to lack of use. Got it re-instated. But they said I had to dial up at least once every 6 months to keep it going. I don't have a dialer at home, I'm bound to forget, and I'm not crazy about plain text authentication. But I reconfigured Exim to use mail.btinternet.com as my smart relay, and started authenticating. Thankfully, my sister's e-mail stopped bouncing at that point.&lt;/p&gt;&lt;p&gt;I wasn't particularly happy with the solution. I had a couple of long term fixes in mind:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Convert to Static IP from BT, which means I could register my name in the rev-arpa tables. Costs money. (Though they should really do it for free, my &amp;quot;dynamic&amp;quot; IP address has not changed in about 3 months.)&lt;/li&gt;&lt;li&gt;Sign up for BTInternet's premium e-mail solution @ 1.50 a month, which means I could continue to use the mail.btinternet.com mailserver. Costs money, and not happy with plaintext auth.&lt;/li&gt;&lt;li&gt;Something Else.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I ended up doing something else.&amp;nbsp; I had a rant about this to one of my friends who happens to be my secondary MX (for when I break my machine), and he chuckled and reminded me that when he set the MX up, including my account on his server he also enabled encrypted SMTP authentication for me. All I needed to to is point at his server in the first place. (Which I am now doing)&lt;/p&gt;&lt;p&gt;The only other thing I want to do is set Exim up so that outgoing mail from my domain sent to mail.btconnect.com, otherwise to use my friend's mailserver. I know it's possible, I just need to write the rules. Here they are:&lt;/p&gt;&lt;pre&gt;# Use this one for mail originating from my domain so I don't overload smart_route2&lt;br /&gt;smart_route1:&lt;br /&gt;  driver = manualroute&lt;br /&gt;  domains = !+local_domains&lt;br /&gt;  senders = *@&amp;lt;mydomain&amp;gt;&lt;br /&gt;  transport = remote_smtp&lt;br /&gt;  route_list = * mail.btconnect.com&lt;br /&gt;&lt;br /&gt;# Use this one for mail NOT originating from my domain. (i.e. mailing list/alias expansion)&lt;br /&gt;smart_route2:&lt;br /&gt;  driver = manualroute&lt;br /&gt;  domains = !+local_domains&lt;br /&gt;  transport = remote_smtp&lt;br /&gt;  route_list = * &amp;lt;my friend's smtp server&amp;gt;&lt;br /&gt;&lt;br /&gt;(obviously &amp;lt;mydomain&amp;gt; is my actual domain)&lt;br /&gt;&lt;pre&gt;&lt;p&gt;Exim is COOL.&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86+SMTP+Exim"&gt;Solaris SUN X86 SMTP Exim&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;/p&gt;

</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/vncviewer_trick</id>
        <title type="html">VNCviewer trick</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/vncviewer_trick" />
        <published>2006-11-17T08:04:00-08:00</published>
        <updated>2006-11-17T08:04:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
&lt;p&gt;&lt;p&gt;I've been using &amp;quot;VNC Viewer Free Edition 4.1.1 for X&amp;quot; so that I can remote control other machines in the house, but if the machine I try to connect to is down/unavailable/switched off etc, the vncviewer command kind of hangs and I can't do anything on my desktop (except wiggle my mouse) until it times out after a few minutes. Needless to say, this was annoying me. Wrote a simple script called vncsafe:&lt;/p&gt;&lt;pre&gt;#!/bin/sh&lt;br /&gt;ping $1 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;if [ $? = 0 ]; then&lt;br /&gt;        vncviewer $1 &amp;amp;&lt;br /&gt;else&lt;br /&gt;        zenity --error --text=&amp;quot;$1 is not responding.&amp;quot;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Works a treat&lt;br&gt;&lt;br /&gt;&lt;/br&gt;&lt;small&gt;&lt;/small&gt;&lt;/p&gt;&lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86+VNC"&gt;Solaris SUN X86 VNC&lt;/a&gt;&lt;/small&gt;&lt;br/&gt;
&lt;/p&gt;&lt;/p&gt;

</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/i_ate_all_the_spam</id>
        <title type="html">I ate all the SPAM</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/i_ate_all_the_spam" />
        <published>2006-11-16T14:04:44-08:00</published>
        <updated>2006-11-16T14:04:44-08:00</updated> 
        <category term="/General" label="General" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
&lt;p&gt;&lt;p&gt;I was chatting to &lt;a href="http:/blogs.sun.com/chrisg"&gt;Chris&lt;/a&gt; about my spamassassin setup, and he was saying that he's configured his with .forward files for all his users (family), and explained the reason for doing so.&lt;/p&gt;&lt;p&gt;Basically, he wanted to set a low SPAM threshold, and have all the SPAM delivered to himself so he could check it. Given that I have 4 daughters under the age of 12, I thought that would be a GOOD THING(tm) as well.&lt;/p&gt;&lt;p&gt;I also wanted to configure it so that I could vary the level of SPAM detection based on the user.&lt;/p&gt;&lt;p&gt;I created a .forward file in each user's account that looks like this:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre&gt;# Exim filter&lt;br /&gt;&lt;br /&gt;if&lt;br /&gt;        $header_X-Spam-Score: does not begin -&lt;br /&gt;then&lt;br /&gt;        if $header_X-Spam-Score: is above 10&lt;br /&gt;        then&lt;br /&gt;                deliver &amp;lt;to me&amp;gt;&lt;br /&gt;        endif&lt;br /&gt;endif&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;I had to change the exim configuration to write the X-Spam-Score calculated by spamassassin in the acl_check_data filter to $spam_score_int because the user filter stuff in exim doesn't like decimals.&lt;/p&gt;&lt;p&gt;Finally, I wrote a filter in Thunderbird which puts all mail that's in my inbox that's NOT addressed to me in a folder called SPAM. That means I can check for false positives, forward the e-mails to my offspring if required, and add a rule to the whitelist to allow in the future.&lt;/p&gt;&lt;p&gt;The .forward file allows me to specify varying limits of SPAM checking to different people. e.g. the 7 year old twins have a setting of 5 (i.e. .5), while my wife has a setting of 1.&lt;/p&gt;&lt;p&gt;Need to let this run for a while so I can tweak between too much or too little as required.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86+spamassassin"&gt;Solaris SUN X86 spamassassin&lt;/a&gt;&lt;/small&gt; &lt;br/&gt;
&lt;/p&gt;&lt;/p&gt;

</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/building%2Finstalling%2Fconfiguring_apps_on_solaris_home</id>
        <title type="html">Building/Installing/Configuring apps on Solaris Home server</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/building%2Finstalling%2Fconfiguring_apps_on_solaris_home" />
        <published>2006-11-16T04:26:14-08:00</published>
        <updated>2006-11-16T11:55:33-08:00</updated> 
        <category term="/General" label="General" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
&lt;p&gt;&lt;p&gt;I've diverted slightly from &lt;a href="http://blogs.sun.com/chrisg"&gt;Chris Gerhard's&lt;/a&gt; home server implementation by deciding to NOT use the &lt;a href="http://www.blastwave.org"&gt;blastwave&lt;/a&gt; packages, and instead either use the &lt;a href="http:/www.sunfreeware.com"&gt;sunfreeware&lt;/a&gt; stuff, or compile it myself.&lt;/p&gt;&lt;p&gt;I've got a few reasons for doing it this way:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Many of these packages have compile time options which allow me to include/exclude things. I kind of like the ability to be able to do that, rather than having to stick with the &amp;quot;defaults&amp;quot; compiled by someone else.&lt;/li&gt;&lt;li&gt;Using blastwave (which is really great) means that you need to install a bunch of &amp;quot;dependent&amp;quot; libraries. It just kind of irks me that a lot of the libraries/applications dependencies that I install are already sitting in /usr/sfw. I then start getting really confused, and run into complications about LD_LIBRARY_PATHs and making sure things are seeing the right library etc. I think it's difficult to use blastwave without sort of subscribing to it wholesale. It's a bit like buying a &amp;quot;kit car&amp;quot; fully assembled. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;The sunfreeware stuff tries to make use of existing Solaris libraries as much as possible, so should reduce the number of additional packages I had to download.&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Additional Software Installed on my home server:&lt;/h2&gt;&lt;h3&gt;From Blastwave:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;xineui (and whatever it needed to get that working.. about 81MB)&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;From Sunfreeware:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;imap-2004g-sol10-x86-local&amp;nbsp;&amp;nbsp;&amp;nbsp; (had manually update /etc/inetd.conf and run inetconv, then update /etc/services. Also need to generate a certificate as this is the SSL version, so wouldn't let me do plain text authentication.)&lt;br /&gt; &lt;/li&gt;&lt;li&gt;openssl-0.9.8d-sol10-x86-local&lt;/li&gt;&lt;li&gt;libiconv-1.9.2-sol10-x86-local &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;From CPAN:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;spamassissin&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;    (# perl -MCPAN -e 'install Mail::SpamAssassin' , download the dependents listed as well.)&lt;br /&gt;&lt;/pre&gt;&lt;h3&gt;From Source:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Exim 4.63&lt;/li&gt;&lt;li&gt;Clamav-0.88.6&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Building Exim&lt;/h3&gt;&lt;p&gt;Building Exim was pretty straightforward. Grab the tar.bz2, unzip, untar, copy src/EDITME to Local/Makefile. Edit the Makefile. It is well commented and lets you turn on/off options, specify where you want the spool, bin directory and config files to go. I created zfs filesystems for /usr/exim and /var/spool/exim. Also elected to make sure I had all the content scanning and TLS/SSL options turned ON. I've got &lt;a href="http://developers.sun.com/sunstudio/index.jsp"&gt;Sun Studio 11&lt;/a&gt; installed, and it used this complier when I ran the make. Then ran make install to stick everything in the right place.&lt;/p&gt;&lt;p&gt;Before actually running exim, I had to make sure that clamav and spamassassin were all up and running, so I got those to the point where the clamd and spamd daemons were running, then simply editted the /usr/exim/configure file to set things up. &lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Building Clamav&lt;/h3&gt;&lt;p&gt;Clamav is cool because it has the &amp;quot;configure&amp;quot; script. So I ran it, it found everything it wanted, and then I ran make and it just compiled. Followed by &amp;quot;make install&amp;quot; to put it all in /usr/local (which is also a zfs filesystem). &lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Plugging it all in&lt;/h3&gt;&lt;p&gt;I kind of cheated and hacked the /lib/svc/method/smtp-sendmail file. I did this because there are dependencies on sendmail which I need to maintain. I cheated a little bit more by having this same file star clamd, freshclam and spamd. It gives me less granularity of control, but the reality is that I usually manage all of these as a group anyway.&lt;/p&gt;&lt;p&gt;The other tiny problem I had was that spamd didn't honour the LD_LIBRARY_PATH variable because bits of it are setuid. (Its a Solaris security thing). Anyway, this meant that I had to use &lt;a href="http://docs.sun.com/app/docs/doc/816-5165/6mbb0m9dq?q=crle&amp;amp;a=view"&gt;crle&lt;/a&gt; to&amp;nbsp; make sure that all the apps had /usr/sfw/lib and /usr/local/lib in their paths.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;In my next blog&lt;/h3&gt;&lt;p&gt;I'll cover in some more detail the settings I used for exim, and the fun I had with outgoing SMTP e-mail.&lt;/p&gt;&lt;p&gt;&lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86"&gt;Solaris SUN X86&lt;/a&gt;&lt;/small&gt; &lt;/p&gt;&lt;/p&gt;

</content>
    </entry>
    <entry>
        <id>http://blogs.sun.com/mramcha/entry/more_home_server_stuff</id>
        <title type="html">More home server stuff</title>
        <author><name>mramcha</name></author>
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/mramcha/entry/more_home_server_stuff" />
        <published>2006-11-16T03:24:35-08:00</published>
        <updated>2006-11-16T11:55:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="solaris" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
&lt;p&gt;&lt;h1&gt;Almost there...&lt;/h1&gt;&lt;p&gt;My &amp;quot;services&amp;quot; configurations are almost done now. I'm currently learning about the interactions among: &lt;a href="http://www.sun.com/software/solaris/liveupgrade/"&gt;Live Upgrade&lt;/a&gt; (which is REALLY cool), &lt;a href="http://www.opensolaris.org/os/community/volume_manager/"&gt;SVM&lt;/a&gt; mirrored root disks, &lt;a href="http://www.sun.com/bigadmin/features/articles/grub_boot_solaris.html"&gt;GRUB menus&lt;/a&gt;, and &lt;a href="http://www.opensolaris.org/os/community/zfs/"&gt;ZFS&lt;/a&gt;. (oh, it'll be so much easier when zfs boot is available, but until then.....). The problem kind of starts with the fact that the boot failsafe doesn't recognise /dev/md devices, which means I need to break my mirrors if I need to fix a booting problem.... unless I've got Live Upgrade working which means I'll ALWAYS have a bootable environment. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The man page of lucreate suggests that I use lucreate to do my mirroring.&lt;/p&gt;&lt;p&gt;So, I've currently got the following:&lt;/p&gt;&lt;p&gt;2 boot disks partitioned as follows: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;slice0=7GB&lt;/li&gt;&lt;li&gt;slice1=2GB&lt;/li&gt;&lt;li&gt;slice3=7GB&lt;/li&gt;&lt;li&gt;slice4=free&lt;/li&gt;&lt;li&gt;slice7=32MB&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Solaris nv Build 52 installed on c1d0s0, with an intent to mirror onto c2d0s0. My ABE for lu is going to be slice3 mirrored.&lt;/p&gt;&lt;p&gt;The lucreate man page says I simply need to type:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;# lucreate -c slice0 -m /:/dev/md/dsk/d30:ufs,mirror \&lt;br /&gt;-m /:/dev/dsk/c1d0s3,d31:attach \&lt;br /&gt;-m /:/dev/dsk/c2d0s3,d32:attach -n slice3&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;which doesn't work due to a couple of &amp;quot;issues&amp;quot; with the interaction between LU and SVM. They are almost all fixed now, and the syntax of the command required is slightly different. I adopted the quick and easy workaround... simply create the metadevices manually first.&lt;/p&gt;&lt;pre&gt;# metadb -a -f -c 3 c1d0s7 c2d0s7&lt;br /&gt;# metainit d31 1 1 /dev/dsk/c1d0s3&lt;br /&gt;# metainit d32 1 1 /dev/dsk/c2d0s3&lt;br /&gt;# metainit d30 -m d31&lt;br /&gt;# metattach d30 d32&lt;br /&gt;# lucreate -c slice0 -m /:/dev/md/dsk/d30:ufs -n slice3&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;This fails after about 30 mins. My filesystem is full. No room to write the GRUB config stuff. Hmm, my slice0 is only 54% full. Slice3 is 100%. It's gone and copied all my data that's mounted via zfs. Referring to the Manual again and I learn how lucreate decides what to put into the BE or not. It looks in vfstab. Zfs filesystems aren't listed there, so it figures that my /opt/SUNWspro (which is a zfs filesystem) is on the / partition, and dutifully copies it. Hmm. Need to exclude all my zfs filesystems. (There are a couple of bugs logged against this as well, as one would think that lu would be clever enough to do this by itself... and it does kind of.)&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;# zfs list | awk '{print $5}' | grep -v \- &amp;gt; /luexcludefile (edit it so that I only list top level directories)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Try the lucreate command again with the -f /luexcludefile . This fails because of package dependencies. (i.e. I'm excluding filesystems that are in the sadm/package files.). Need to use the -I flag. I need to clean up the configuration before I start again, ludelete doesn't work properly because the process failed. Manually delete by editting /etc/lutab file, and simply getting rid of the partially created BE. (ludelete is preferred, only do this if you think you know what you are doing) My final, successful lucreate command was:&lt;/p&gt;&lt;pre&gt;# lucreate -I -l /data/downloads/luerror -m /:/dev/md/dsk/d30:ufs -n slice3 -f /data/downloads/luexclude&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;So, I luactive that and reboot. df -k shows I've forgotten to mirror the swap disk. oops.&lt;/p&gt;&lt;pre&gt;# mkfile 1024m /var/tmp/swapfile&lt;br /&gt;# swap -a /var/tmp/swapfile&lt;br /&gt;# swap -d /dev/dsk/c1t0s1&lt;br /&gt;# metainit d21 1 1 /dev/dsk/c1t0s1&lt;br /&gt;# metainit d22 1 1 /dev/dsk/c2t0s1&lt;br /&gt;# metainit d20 -m d21&lt;br /&gt;# metattach d20 d22&lt;br /&gt;# swap -a /dev/md/dsk/d20&lt;br /&gt;# swap -d /var/tmp/swapfile&lt;br /&gt;# rm /var/tmp/swapfile&lt;br /&gt;# (vi /etc/vfstab and change swap location to the md device.)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;I'm now running off my mirrored BE: slice3. I ludelete the single sliced slice0, and repeat the process I've just done, rebuilding the slice0 BU as a mirrored slice.&lt;/p&gt;&lt;p&gt;I feel a lot safer now. I've got 2 mirrored bootable partitions on my system. I'd need to to a LOT of stuff wrong for me to get into an unbootable position (again).&lt;/p&gt;&lt;p&gt;Did I mention that the motivation for getting this all to work was that I managed to break my boot environment? (Don't ask, I'm too embarrassed to say how). And that the only way for me to recover was to re-jumpstart the system from my laptop? The whole system ended up being down for about 3 hours, as it took that long to get all the services reconfigured and ready to go again. &lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;br /&gt; &lt;small&gt;tags: &lt;a rel="tag" href="http://www.technorati.com/tag/Solaris+SUN+X86"&gt;Solaris SUN X86&lt;/a&gt;&lt;/small&gt; &lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/p&gt;

</content>
    </entry>
</feed>
