<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>thinking sysadmin &#187; operating systems</title>
	<atom:link href="http://andyleonard.com/category/operating-systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://andyleonard.com</link>
	<description>qstat -u aleonard -s z</description>
	<lastBuildDate>Sun, 22 Jan 2012 03:46:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Using an OpenLDAP Proxy to Work Around Solaris/Active Directory Issues</title>
		<link>http://andyleonard.com/2011/01/06/using-an-openldap-proxy-to-work-around-solarisactive-directory-issues/</link>
		<comments>http://andyleonard.com/2011/01/06/using-an-openldap-proxy-to-work-around-solarisactive-directory-issues/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 14:20:59 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[nexenta]]></category>
		<category><![CDATA[nexentastor]]></category>
		<category><![CDATA[openldap]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[vlv]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=534</guid>
		<description><![CDATA[There is a long-standing bug in (Open)Solaris and derivatives (including NexentaStor) that breaks Active Directory interoperability: Beginning with Windows Server 2003, Active Directory supports VLV searches. Every VLV search request must be accompanied by 2 request controls: the SSS control and the VLV control. However, Active Directory imposes some general criteria on the SSS control: [...]]]></description>
			<content:encoded><![CDATA[<p>There is a long-standing <a href="http://bugs.opensolaris.org/bugdatabase/view_bug.do;jsessionid=31683749e13970e4d6f574c9550d?bug_id=6636343">bug</a> in (Open)Solaris and derivatives (including NexentaStor) that breaks Active Directory interoperability:</p>
<blockquote><p>Beginning with Windows Server 2003, Active Directory supports VLV searches.  Every VLV search request must be accompanied by 2 request controls: the SSS control and the VLV control.  However, Active Directory imposes some general criteria on the SSS control:</p>
<p>1. Cannot sort based on more than one sort keys/attributes.<br />
2. Cannot sort based on the &#8220;distinguishedName&#8221; attribute (presumably Microsoft does not use the &#8220;DN&#8221; attribute).<br />
3. Cannot sort based on a constructed attribute (presumably an attribute not stored on Active Directory).</p>
<p>Unfortunately, Solaris LDAP clients use 2 sort keys/attributes: &#8220;cn&#8221; and &#8220;uid&#8221; in the SSS control.  Subsequently, when dumping a container or a naming database, Solaris LDAP clients would receive LDAP_UNAVAILABLE_CRITICAL_EXTENSION.</p>
<p>$ ldaplist passwd<br />
ldaplist: Object not found (LDAP ERROR (12): Unavailable critical extension.)</p></blockquote>
<p>This issue has been detailed elsewhere, including at <a href="http://blogs.utexas.edu/hcoyote/2009/06/24/so-some-solaris-updates/">utexas.edu</a>.  There appear to be at least four solutions:</p>
<ol>
<li>Wait for the fix from <del datetime="2010-11-02T03:12:05+00:00">Sun</del> Oracle to reach the light of day: this bug was apparently fixed in SNV 144.  (I expect the fix is out in Solaris 11 Express now, but have not tested this myself.)</li>
<li>Apply the hotfix in Microsoft&#8217;s <a href="http://support.microsoft.com/kb/886683">KB886683</a> to your domain controllers, which will disable VLV.</li>
<li>Run separate ADAM instances with VLV disabled, and point your Solaris machines at them instead of directly at your domain controllers.  From the blog post linked above, it sounds like the University of Texas chose this route.</li>
<li>Use OpenLDAP as a proxy in front of Active Directory; configure your Solaris machines to use the proxies instead of Active Directory servers.  This is the solution detailed in this blog post.</li>
</ol>
<p><span id="more-534"></span><br />
<strong>Method</strong><br />
I tested on Ubuntu 10.04 here, although adaptation for your chosen OS is probably straightforward.</p>
<p>First, build OpenLDAP; we need several options not included in the default .deb, so we&#8217;ll do this from source, with the following &#8220;configure&#8221; options:</p>
<pre class="brush: plain; light: true; title: ; notranslate">
./configure --prefix=/opt/openldap --enable-meta --enable-ldap --enable-rewrite \
--enable-rwm
</pre>
<p>(You will probably also want to take the extra step of building a package for your OS, to ease configuration management.) </p>
<p>After installing OpenLDAP, edit slapd.conf to proxy to your domain controllers.  In this example, we&#8217;re pointing the proxies at some older Windows 2003 hosts using the Microsoft Services for Unix (SFU) extensions, so we&#8217;ll take this opportunity to make make what Solaris sees closer to <a href="http://www.ietf.org/rfc/rfc2307.txt">RFC 2307</a>-compliant and eliminate the need for <a href="http://blog.scottlowe.org/2007/04/25/solaris-10-ad-integration-version-3/">attributeMap arguments to ldapclient on the Solaris host</a>:</p>
<pre class="brush: plain; title: ; notranslate">
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include  /opt/openldap/etc/openldap/schema/core.schema
include  /opt/openldap/etc/openldap/schema/cosine.schema
include  /opt/openldap/etc/openldap/schema/inetorgperson.schema
include  /opt/openldap/etc/openldap/schema/nis.schema
include  /opt/openldap/etc/openldap/schema/mssfu30.schema

# Time out connections before the proxied bind drops:
idletimeout 60

pidfile  /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args

access to dn.base=&quot;&quot; by * read
access to dn.base=&quot;cn=Subschema&quot; by * read
access to *
 by self write
 by users read
 by anonymous auth

loglevel   256

######################################################
# database definitions
######################################################

database ldap
suffix  &quot;dc=example,dc=com&quot;
uri  &quot;ldap://dc1.example.com ldap://dc2.example.com&quot;
acl-bind bindmethod=simple binddn=&quot;cn=ldapproxy,ou=Service Accounts,ou=Users,dc=example,dc=com&quot; credentials=secret

# Do mapping in OpenLDAP, instead of on client, eliminating need for
# AD schema attribute mapping:
overlay rwm
rwm-map attribute       userpassword    msSFU30Password
rwm-map attribute       memberuid       msSFU30MemberUid
rwm-map attribute       gidnumber       msSFU30GidNumber
rwm-map attribute       gecos           name
rwm-map attribute       uid             msSFU30Name
rwm-map attribute       uidnumber       msSFU30UidNumber
rwm-map attribute       homedirectory   msSFU30HomeDirectory
rwm-map attribute       loginshell      msSFU30LoginShell
rwm-map objectclass     posixGroup      group
rwm-map objectclass     posixAccount    user
</pre>
<p>Walking through this config file line-by-line, not the following (keyed by line number):</p>
<p><strong>3.</strong> Make the file owned by user &#8220;root&#8221;/group &#8220;openldap&#8221; without &#8220;other&#8221; read permissions (assuming you&#8217;ll be running OpenLDAP as user &#8220;openldap&#8221; in group &#8220;openldap&#8221; &#8211; adapt as necessary for your site), e.g.:</p>
<pre class="brush: plain; light: true; title: ; notranslate">
-r--r----- 1 root openldap 1569 2010-08-04 14:51 slapd.conf
</pre>
<p><strong>9.</strong> We need to add some schema information for the older Microsoft Services for Unix extensions; they&#8217;re available in <a href="https://gist.github.com/766424">a GitHub Gist</a>.</p>
<p><strong>30-33.</strong> Configure the connection to the Active Directory servers.  Note in particular that the database type is &#8220;ldap&#8221; meaning that another LDAP server (AD) is used as the data source, via a proxy.  Line 33 is a user in Active Directory to which you bind to the back-end servers as.</p>
<p><strong>37-47.</strong> Map the SFU attributes to their RFC 2307 equivalents.  Note that you will need to populate msSFU30MemberUid manually &#8211; <a href="http://sdgeex.blogspot.com/2009/01/opensolaris-200811-windows-2003-server.html">here&#8217;s one way to do it</a>.</p>
<p>Other than that, perhaps an <a href="https://gist.github.com/767919">init script</a> and a file for <a href="https://gist.github.com/767924">/etc/default/slapd</a> (both lightly adapted from the stock Ubuntu &#8220;slapd&#8221; .deb), and you should be good to go.</p>
<p>References: <a href="http://eldapo.blogspot.com/2007/08/openldap-as-pass-through-proxy.html">eldapo: openldap as a pass-through proxy</a></p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2011/01/06/using-an-openldap-proxy-to-work-around-solarisactive-directory-issues/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installing the F5 FirePass VPN Client on Ubuntu 10.04 AMD64</title>
		<link>http://andyleonard.com/2010/05/20/installing-the-f5-firepass-vpn-client-on-ubuntu-10-04-amd64/</link>
		<comments>http://andyleonard.com/2010/05/20/installing-the-f5-firepass-vpn-client-on-ubuntu-10-04-amd64/#comments</comments>
		<pubDate>Thu, 20 May 2010 19:12:21 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[f5]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firepass]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lucid lynx]]></category>
		<category><![CDATA[lynx]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[ssl vpn]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=474</guid>
		<description><![CDATA[Disclaimer: I am not a FirePass administrator; only an end-user and have no other relationship with F5. There may be better methods to address this issue; please comment if you know of one. See also: f5vpn-login.py, described here, and brought to my attention by sh4k3sph3r3. A CLI FirePass client is quite likely a better solution [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Disclaimer:</strong> I am not a FirePass administrator; only an end-user and have no other relationship with F5.  There may be better methods to address this issue; please comment if you know of one.</p>
<p><strong>See also:</strong> <a href="http://fuhm.net/software/f5vpn-login/">f5vpn-login.py</a>, described <a href="http://fuhm.net/software/f5vpn-login/README">here</a>, and brought to my attention by <a href="http://andyleonard.com/2010/05/20/installing-the-f5-firepass-vpn-client-on-ubuntu-10-04-amd64/#comment-439">sh4k3sph3r3</a>.  A CLI FirePass client is quite likely a better solution than separate browser instances, etc.</p>
<p><strong>Preliminaries:</strong> Although the F5 FirePass SSL VPN product supports Linux, as best as I can tell, that support is somewhat limited: My understanding is that they officially claim support for 32-bit installs only, and they do not appear to track new distribution releases particularly aggressively.  F5 has also been somewhat slow in supporting new browser versions: They <a href="http://devcentral.f5.com/weblogs/f5news/archive/2008/10/06/firepass-v6.0.3-released.aspx">announced support for Firefox 3</a> on October 6, 2008, nearly four months after its release and with only two months to go before Firefox 2 was end-of-lifed.  For Firefox 3.6 support, a comment on the post linked above states that you need to request a special hot fix from F5 (which my site has not applied).  There is no Google Chrome support that I am aware of.</p>
<p>Further, F5&#8242;s automated client installation tools have unfortunately never worked for me on Linux, even when the architecture and browser are in their support matrix.  The manual download instruction links are also broken on the FirePass install I connect to.</p>
<p><strong>Solution:</strong> Install a dedicated, 32-bit version of Firefox in a supported version; create a single-purpose Firefox profile for VPN use.  Add the FirePass client to that browser and the operating system.<br />
<span id="more-474"></span><br />
For the Firefox install, follow the &#8220;Manual Installation&#8221; instructions from the <a href="https://help.ubuntu.com/community/FirefoxNewVersion/MozillaBuilds">Ubuntu Community Documentation</a> site.  Install version 3.5 if your site does not have the hotfix mentioned above.</p>
<p>Be sure to create a new Firefox profile in your account for use with the FirePass; however, I recommend modifying the script in the Ubuntu documentation to automatically take you to your FirePass site (https://firepass.example.com/ for the purposes of this post):</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash
exec &quot;\$HOME/firefox/firefox&quot; -P mozilla-build https://firepass.example.com/
</pre>
<p>Next, download the client components from your F5 site; again, assuming firepass.example.com, retrieve and save:</p>
<p>https://firepass.example.com/vdesk/vpn/nogzip/downloads.php/linux/np_F5_SSL_VPN.so</p>
<p>and</p>
<p>https://firepass.example.com/vdesk/vpn/nogzip/downloads.php/linux/SSLVpn.tgz</p>
<p>Move np_F5_SSL_VPN.so to the plugins directory of the new Firefox installation &#8211; ~/firefox/plugins if following the Ubuntu documentation.  Based on file layout, it appears that F5 intended for you to extract SSLVpn.tgz at the root of your file system.  Instead of following this bad practice, in scratch space and as root, extract the SSLVpn.tgz tarball and manually move the files into place:</p>
<pre class="brush: bash; light: true; title: ; notranslate">
cp SSLVpn.tgz /tmp
cd /tmp
sudo tar -xvpzf SSLVpn.tgz
# inspect extracted files here...
cd /usr/local/lib
mkdir -p F5Networks/SSLVPN
cd /tmp/usr/local/lib/F5Networks/SSLVPN
cp -Rp etc svpn var /usr/local/lib/F5Networks/SSLVPN
</pre>
<p>Using the bash script above, you should now be able to launch your purpose-built FirePass browser installation and have it &#8220;just work&#8221; for Network Access.  Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2010/05/20/installing-the-f5-firepass-vpn-client-on-ubuntu-10-04-amd64/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Keeping your RHEL VMs from crushing your storage at 4:02am</title>
		<link>http://andyleonard.com/2009/11/19/keeping-your-rhel-vms-from-crushing-your-storage-at-402am/</link>
		<comments>http://andyleonard.com/2009/11/19/keeping-your-rhel-vms-from-crushing-your-storage-at-402am/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 19:39:30 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[locate]]></category>
		<category><![CDATA[mlocate]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[scientific linux]]></category>
		<category><![CDATA[slocate]]></category>
		<category><![CDATA[updatedb]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=315</guid>
		<description><![CDATA[Running a lot of Red Hat VMs in your virtual infrastructure, on shared storage? CentOS, Scientific Linux, both versions 4 and 5, they count for these purposes; Fedora should likely be included too. Do you have the slocate (version 4.x and earlier) or mlocate (version 5.x) RPMs installed? If you&#8217;re uncertain, check using the following: [...]]]></description>
			<content:encoded><![CDATA[<p>Running a lot of Red Hat VMs in your virtual infrastructure, on shared storage?  CentOS, Scientific Linux, both versions 4 and 5, they count for these purposes; Fedora should likely be included too.  Do you have the slocate (version 4.x and earlier) or mlocate (version 5.x) RPMs installed?  If you&#8217;re uncertain, check using the following:</p>
<p><code>> rpm -q slocate<br />
slocate-2.7-13.el4.8.i386</code></p>
<p>or</p>
<p><code>> rpm -q mlocate<br />
mlocate-0.15-1.el5.2.x86_64</code></p>
<p>If so, multiple RHEL VMs plus mlocate or slocate may be adding up to an array-crushing 4:02am shared storage load and latency spike for you.  Before being addressed, this spike was bad enough at my place of employment (when combined with a NetApp Sunday-morning disk scrub) to cause a Windows VM to crash with I/O errors.  Ouch.<br />
<span id="more-315"></span><br />
<strong>Details and ideas for resolution:</strong></p>
<p>By default, a line in /etc/crontab runs the scripts within /etc/cron.daily at 4:02am each morning:</p>
<p><code>02 4 * * * root run-parts /etc/cron.daily</code></p>
<p>One of those scripts &#8211; mlocate.cron or slocate.cron, depending on your OS version &#8211; launches updatedb; as the man page says, &#8220;updatedb  creates  or  updates  a  database  used by locate(1).&#8221;  (The &#8220;locate&#8221; binary is a filesystem search tool, see &#8220;man locate&#8221; for more information.)  Updatedb refreshes its database by walking the filesystem, generating a fair amount of I/O on a single system.  Imagine upwards of thirty of these running in parallel through VMDKs on one shared storage system carrying out internal maintenance at the same time, and you&#8217;re pretty much picturing the problem my employer had.</p>
<p>I see <strong>three options</strong> for addressing this issue:</p>
<p><strong>1) Uninstall mlocate or slocate.</strong>  If you don&#8217;t currently use &#8220;locate&#8221; and you&#8217;re not interested in learning to use a tool that will likely make you more effective at your job (again, see &#8220;man locate&#8221;), this is probably the best option.  (Yeah, I know, people that fit this bill generally don&#8217;t read blogs more technical than <a href="http://perezhilton.com/">this one</a>, so I could probably have skipped it here.  Consider it an option for completeness, or if you really need to strip down an install.)</p>
<p><strong>2) Disable the scheduled job by removing mlocate.cron or slocate.cron from /etc/cron.daily.</strong>  This keeps locate available for your use, but requires that you update locate&#8217;s database ad-hoc and interactively by running the following as root:</p>
<p><code># updatedb</code></p>
<p>This will take a few minutes to return, depending on the size of your file systems.</p>
<p>I don&#8217;t recommend this option either; at least it doesn&#8217;t fit the way I work.  I often find myself using locate in high-pressure situations in which I need to quickly get a file location on a system.  Waiting minutes for updatedb to return is extra painful when every second counts.</p>
<p><strong>3) Stagger when updatedb runs by inserting a random delay into the script.</strong>.  This is my preferred alternative; locate&#8217;s database is kept current automatically, and your storage doesn&#8217;t have to bear a sudden spike in load.  I implemented this by adding the lines in <strong>bold</strong> (lines 2-7 if your browser doesn&#8217;t display the bold text clearly): </p>
<p><code>#!/bin/sh<br />
<strong># sleep up to two hours before launching job:<br />
value=$RANDOM<br />
while [ $value -gt 7200 ] ; do<br />
  value=$RANDOM<br />
done<br />
sleep $value</strong><br />
nodevs=$(< /proc/filesystems awk '$1 == "nodev" { print $2 }')<br />
renice +19 -p $$ >/dev/null 2>&#038;1<br />
/usr/bin/updatedb -f "$nodevs"<br />
</code></p>
<p>The added code inserts a pseudo-random sleep delay of up to two hours before updatedb runs, with the key being the built-in Bash function <a href="http://tldp.org/LDP/abs/html/randomvar.html">$RANDOM</a>.  In our environment, this removed a 2000 IOPS spike at 4:02am, and eliminated a corresponding jump in filer latency.  Obviously, adjust the delay period as appropriate for your environment.  Additionally, be sure to add this change to your configuration management or installation management tools so that all of your RHEL and RHEL-derived VMs get the updated script.</p>
<p>Using $RANDOM to avoid this variant of the <a href="http://en.wikipedia.org/wiki/Thundering_herd_problem">thundering herd problem</a> also works nicely for a range of similar problems; I believe I first saw it at <a href="http://www.moundalexis.com/archives/000076.php">Moundalexis.com</a>.</p>
<p>(This problem may apply to other Linux distributions being run as VMs, and FreeBSD does something equivalent &#8211; weekly &#8211; with /etc/periodic/weekly/310.locate.  A similar solution can be applied to these environments, if necessary.)</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2009/11/19/keeping-your-rhel-vms-from-crushing-your-storage-at-402am/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenSolaris 2008.05 on EC2 &#8211; Why 32-bit only?</title>
		<link>http://andyleonard.com/2008/08/18/opensolaris-200805-on-ec2-why-32-bit-only/</link>
		<comments>http://andyleonard.com/2008/08/18/opensolaris-200805-on-ec2-why-32-bit-only/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 22:42:13 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[32-bit]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[amazon aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=68</guid>
		<description><![CDATA[Since Sun and Amazon removed the limit on the number of OpenSolaris 2008.05 instances able to run on EC2, I&#8217;ve been curious &#8211; and a little bothered &#8211; by the fact that the 2008.05 AMI is 32-bit only. Curious because OpenSolaris shouldn&#8217;t have any issues running on a 64-bit EC2 instance (there are other 64-bit [...]]]></description>
			<content:encoded><![CDATA[<p>Since Sun and Amazon <a href="/2008/08/14/capacity-limit-for-opensolaris-on-ec2-no-mor/">removed the limit</a> on the number of OpenSolaris 2008.05 instances able to run on EC2, I&#8217;ve been curious &#8211; and a little bothered &#8211; by the fact that the 2008.05 AMI is 32-bit only.  Curious because OpenSolaris shouldn&#8217;t have any issues running on a 64-bit EC2 instance (there are other 64-bit OpenSolaris AMIs available on EC2, after all), and a little bothered because there have been long-standing <a href="http://opensolaris.org/jive/message.jspa?messageID=266248">reports of trouble</a> running Solaris on 32-bit architectures, which makes me hesitant to invest much effort in a 32-bit OpenSolaris EC2 environment.</p>
<p>Well, perhaps a 64-bit AMI is forthcoming &#8211; I think this is still a beta program &#8211; and perhaps Sun&#8217;s just trying to save us a buck or two, since the cheapest 64-bit EC2 instance is <a href="http://www.amazon.com/Instances-EC2-AWS/b?ie=UTF8&#038;node=370375011">four times as expensive per hour</a> as the cheapest 32-bit instance.</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/08/18/opensolaris-200805-on-ec2-why-32-bit-only/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capacity Limit for OpenSolaris on EC2 no more</title>
		<link>http://andyleonard.com/2008/08/14/capacity-limit-for-opensolaris-on-ec2-no-mor/</link>
		<comments>http://andyleonard.com/2008/08/14/capacity-limit-for-opensolaris-on-ec2-no-mor/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 21:27:43 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[amazon aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=61</guid>
		<description><![CDATA[According to a blog post on blogs.sun.com, the capacity limit for OpenSolaris 2008.05 on EC2 has been removed. The blog entry makes it sound like you no longer need to register with Sun to use OpenSolaris on EC2, but that doesn&#8217;t appear to be the case &#8211; I only see the AMI in my private [...]]]></description>
			<content:encoded><![CDATA[<p>According to a blog post on <a href="http://blogs.sun.com/ec2/entry/opensolaris_2008_05_is_available">blogs.sun.com</a>, the capacity limit for OpenSolaris 2008.05 on EC2 has been removed.</p>
<p>The blog entry makes it sound like you no longer need to register with Sun to use OpenSolaris on EC2, but that doesn&#8217;t appear to be the case &#8211; I only see the AMI in my private instances, and the <a href="http://blogs.sun.com/ec2/resource/OpenSolaris-AMI-Catalog.pdf">details</a> on the image seem to confirm this.<br />
<span id="more-61"></span><br />
I&#8217;m running an instance right now; it did seem to take an extra long time for the image to come up, even by EC2 standards, and ec2-describe-instances showed the instance as &#8220;running&#8221; for a long time before I could connect using SSH.  But it&#8217;s up now, ZFS root and all:</p>
<p><code>-bash-3.2# uname -a<br />
SunOS domU-12-31-38-00-28-35 5.11 snv_91 i86pc i386 i86xpv<br />
-bash-3.2# zfs list<br />
NAME                           USED  AVAIL  REFER  MOUNTPOINT<br />
mnt                            106K   147G    18K  /mnt<br />
rpool                         2.74G  6.86G    59K  /rpool<br />
rpool/ROOT                    2.73G  6.86G    18K  /rpool/ROOT<br />
rpool/ROOT/opensolaris-1      2.73G  6.86G  2.72G  legacy<br />
rpool/ROOT/opensolaris-1/opt  12.9M  6.86G  12.9M  /opt<br />
rpool/export                    37K  6.86G    19K  /export<br />
rpool/export/home               18K  6.86G    18K  /export/home<br />
swap                           450M  9.89M    18K  /swap<br />
swap/swapfile                  450M   460M    16K  -<br />
</code></p>
<p>One curiosity:</p>
<p><code>-bash-3.2# pkg image-update<br />
pkg:  "image-update" option currently not supported on Amazon EC2. Please check out http://blogs.sun.com/ec2 for more details.<br />
</code></p>
<p>I must have missed those details&#8230;</p>
<p><strong>Update:</strong> Here&#8217;s the reason why you can&#8217;t run &#8220;pkg image-update&#8221; from the <a href="http://blogs.sun.com/ec2/resource/Sun_AmazonEC2_GettingStartedAug08Update.pdf">Getting Started Guide for Amazon EC2</a>: &#8220;pkg image-update &#8211; This command is currently not supported on Amazon EC2 since it modifies the kernel and ramdisk files resulting in non-bootable AMI. As we know, in the EC2 environment modifying the kernel and ramdisk is not permitted. In certain cases, if the user wants to enable this command, then the user can edit the /usr/bin/pkg file appropriately.&#8221;  (Which makes sense.)</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/08/14/capacity-limit-for-opensolaris-on-ec2-no-mor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Luck with a Quick-n-Dirty BFU of SXCE 79 on EC2</title>
		<link>http://andyleonard.com/2008/06/25/no-luck-with-a-quick-n-dirty-bfu-of-sxce-79-on-ec2/</link>
		<comments>http://andyleonard.com/2008/06/25/no-luck-with-a-quick-n-dirty-bfu-of-sxce-79-on-ec2/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 14:19:10 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[bfu]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[sxce]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=40</guid>
		<description><![CDATA[For grins, I tried a quick-and-dirty BFU of a SXCE 79 instance running on EC2 to the latest nightly build this morning. I roughly followed Ben Rockwood&#8217;s BFU instructions and didn&#8217;t do anything to resolve conflicts beyond running acr. On reboot, it looks like the system panicked &#8211; I presume the reason is probably somewhere [...]]]></description>
			<content:encoded><![CDATA[<p>For grins, I tried a quick-and-dirty <a href="http://www.opensolaris.org/os/community/on/devref_toc/devref_5/#5_3_using_bfu_to_install_on">BFU</a> of a <a href="http://www.opensolaris.org/os/downloads/on/">SXCE</a> 79 instance running on EC2 to the <a href="http://dlc.sun.com/osol/on/downloads/current/">latest nightly build</a> this morning.  I roughly followed <a href="http://www.cuddletech.com/blog/pivot/entry.php?id=802">Ben Rockwood&#8217;s BFU instructions</a> and didn&#8217;t do anything to resolve conflicts beyond running <code>acr</code>.  On reboot, it looks like the system panicked &#8211; I presume the reason is probably somewhere in <a href="http://opensolaris.org/os/community/on/flag-days/">here</a>.  Console dump after the jump for the curious.<br />
<span id="more-40"></span><br />
<code>v3.0.3-rc5-8.1.14.e chgset 'unavailable '<br />
WARNING: Found hypervisor version: v3.0.3-rc5-8.1.14.e but need at least version v3.0.4<br />
SunOS Release 5.11 Version snv_79 32-bit<br />
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.<br />
Use is subject to license terms.<br />
NOTICE: xdf@0: failed to read feature-barrier<br />
Hostname: ip-10-250-11-159<br />
Reading ZFS config: *done.<br />
ip-10-250-11-159 console login: syslogd: line 45: WARNING: loghost could not be resolved<br />
syncing file systems... done<br />
rebooting...<br />
v3.0.3-rc5-8.1.14.e chgset 'unavailable '<br />
WARNING: Found hypervisor version: v3.0.3-rc5-8.1.14.e but need at least version v3.0.4<br />
SunOS Release 5.11 Version snv_79 32-bit<br />
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.<br />
Use is subject to license terms.<br />
NOTICE: xdf@0: failed to read feature-barrier<br />
WARNING: file system 'ctfs' version mismatch<br />
WARNING: Cannot mount /system/contract<br />
/kernel/fs/procfs: undefined symbol 'schedctl_set_cidpri'<br />
WARNING: mod_load: cannot load module 'procfs'<br />
WARNING: Cannot mount /proc<br />
WARNING: file system 'mntfs' version mismatch<br />
WARNING: Cannot mount /etc/mnttab<br />
/kernel/fs/tmpfs: undefined symbol 'choose_addr'<br />
WARNING: mod_load: cannot load module 'tmpfs'<br />
WARNING: Cannot mount /etc/svc/volatile<br />
WARNING: file system 'objfs' version mismatch<br />
WARNING: Cannot mount /system/object<br />
WARNING: file system 'sharefs' version mismatch<br />
WARNING: Cannot mount /etc/dfs/sharetab<br />
/kernel/fs/procfs: undefined symbol 'schedctl_set_cidpri'<br />
WARNING: mod_load: cannot load module 'procfs'<br />
/kernel/drv/ip: undefined symbol 'uioamove'<br />
/kernel/drv/ip: undefined symbol 'dl_errstr'<br />
/kernel/drv/ip: undefined symbol 'dl_primstr'<br />
/kernel/drv/ip: undefined symbol 'dhcifname'<br />
WARNING: mod_load: cannot load module 'ip'<br />
/kernel/fs/sockfs: undefined symbol 'uioafini'<br />
/kernel/fs/sockfs: undefined symbol 'uioainit'<br />
/kernel/fs/sockfs: undefined symbol 'uioasync'<br />
/kernel/fs/sockfs: undefined symbol 'kssl_handle_mblk'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_disconnect'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_getsockname'<br />
/kernel/fs/sockfs: undefined symbol 'nd_free'<br />
/kernel/fs/sockfs: undefined symbol 'nd_load'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_create'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_close'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_listen'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_recvd'<br />
/kernel/fs/sockfs: undefined symbol 'mi_mpprintf'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_alloc_hdr'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_get_opt'<br />
/kernel/fs/sockfs: undefined symbol 'tcp_wput'<br />
/kernel/fs/sockfs: undefined symbol 'mi_sprintf'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_bind'<br />
/kernel/fs/sockfs: undefined symbol 'udp_wput'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_getpeername'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_sendmsg'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_set_opt'<br />
/kernel/fs/sockfs: undefined symbol 'sctp_connect'<br />
WARNING: mod_load: cannot load module 'sockfs'<br />
WARNING: sockfs: unable to resolve dependency, module 'drv/ip' not found<br />
/kernel/sys/c2audit: undefined symbol 'getsonode'<br />
WARNING: mod_load: cannot load module 'c2audit'<br />
WARNING: c2audit: unable to resolve dependency, module 'fs/sockfs' not found<br />
/kernel/misc/strplumb: undefined symbol 'dl_attach'<br />
/kernel/misc/strplumb: undefined symbol 'dl_phys_addr'<br />
/kernel/misc/strplumb: undefined symbol 'dhcacklen'<br />
/kernel/misc/strplumb: undefined symbol 'dhcifname'<br />
/kernel/misc/strplumb: undefined symbol 'dl_bind'<br />
WARNING: mod_load: cannot load module 'strplumb'<br />
panic[cpu0]/thread=f502c3a0: mod_hold_stub: Couldn't load stub module misc/strplumb<br />
f5056c84 genunix:mod_hold_stub+161 (f5006070, 1, f4d38f)<br />
f5056ca0 unix:stubs_common_code+9 ()<br />
syncing file systems... done<br />
skipping system dump - no dump device configured<br />
rebooting...</code></p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/06/25/no-luck-with-a-quick-n-dirty-bfu-of-sxce-79-on-ec2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Putting Ubuntu on the Eee PC</title>
		<link>http://andyleonard.com/2008/06/22/putting-ubuntu-on-the-eee-pc/</link>
		<comments>http://andyleonard.com/2008/06/22/putting-ubuntu-on-the-eee-pc/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 21:57:24 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[eee pc]]></category>
		<category><![CDATA[f5]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firepass]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=36</guid>
		<description><![CDATA[I finally got around to installing Ubuntu (Hardy) on my Eee PC this weekend. My only regret: That I waited so long to do it. I used the eeebuntu Netbook Remix RC1 build; the install went very smoothly, with the only hangup being a need to reformat my USB drive twice before I could move [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got around to installing Ubuntu (Hardy) on my Eee PC this weekend.  My only regret: That I waited so long to do it.<br />
<span id="more-36"></span><br />
I used the <a href="http://www.eeebuntu.org/">eeebuntu</a> <a href="https://launchpad.net/netbook-remix">Netbook Remix</a> RC1 build; the install went very smoothly, with the only hangup being a need to reformat my USB drive twice before I could move the ISO image onto it.  The Netbook Remix interface is pretty slick, providing both a better launcher then the stock Xandros install, and more flexibility for the power user.</p>
<p>I was expecting some hassle getting wireless going after the install.  Instead, it worked out of the box.  I did have to recreate my login keyring in seahorse for reasons that I didn&#8217;t bother to pursue; the default keyring didn&#8217;t want to unlock on login, but since I had nothing in it, I lost nothing in recreating it.</p>
<p>As far as post-install modifications, I made <code>/tmp</code>, <code>/var/tmp</code> and <code>/var/log</code> all tmpfs file systems to reduce writes to the Eee&#8217;s SSD (I also chose ext2 instead of a journaling file system during the install and mounted it <code>noatime</code> for the same reason).  I had to hunt down and install a 2.x version of Firefox in parallel to Firefox 3.x since F5&#8242;s FirePass VPN client doesn&#8217;t work in 3.x.  (Cheap shot: The reason why they call it <a href="http://www.f5.com/glossary/clientless-remote-access.html">clientless</a> is that it doesn&#8217;t actually work on any clients out there.  In seriousness, the advantage over traditional VPN clients just isn&#8217;t there.)</p>
<p>Other than the above and installing a couple stock Ubuntu packages (Thunderbird and libstdc++5 for Firefox), I haven&#8217;t had to make any tweaks to the vanilla install.  If you&#8217;ve got an Eee, I highly recommend this upgrade.</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/06/22/putting-ubuntu-on-the-eee-pc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reading List, 6/4/2008</title>
		<link>http://andyleonard.com/2008/06/04/reading-list-642008/</link>
		<comments>http://andyleonard.com/2008/06/04/reading-list-642008/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 21:15:02 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[link dump]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[netbook remix]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=24</guid>
		<description><![CDATA[Ubuntu Netbook Remix &#8211; &#8220;A &#8216;remix&#8217; of the standard Ubuntu Desktop 8.04 release to enable it to work better on devices with small screens, such as Netbooks (sub-notebooks).&#8221; I&#8217;ve been meaning to replace Xandros on my Eee with Ubuntu &#8211; it&#8217;ll be nice to have this on top of Hardy Heron. (Seen at Ars Technica, [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="https://launchpad.net/netbook-remix">Ubuntu Netbook Remix</a> &#8211; &#8220;A &#8216;remix&#8217; of the standard Ubuntu Desktop 8.04 release to enable it to work better on devices with small screens, such as Netbooks (sub-notebooks).&#8221;  I&#8217;ve been meaning to replace Xandros on my Eee with Ubuntu &#8211; it&#8217;ll be nice to have this on top of Hardy Heron.  (Seen at <a href="http://arstechnica.com/news.ars/post/20080604-hands-on-with-the-ubuntu-netbook-remix.html">Ars Technica</a>, whose post has more info and some nice screenshots.)</li>
<li><a href="http://www.nyquistcapital.com/2008/06/03/internet-traffic-growth-doesnt-matter/">Internet Traffic Growth Doesn’t Matter</a> &#8211; A look at Internet bandwidth consumption that sounds quite level-headed to me.  A few great quotes, some of them excerpted from a <a href="http://www.dtc.umn.edu/~odlyzko/talks/gilder2008.pdf">presentation</a> by Andrew Odlyzko: “Internet traffic growth rates are slowing. Hype is accelerating.”  &#8220;Telecom is the only industry that worries about it’s [sic] customers using too much product.&#8221;  &#8220;Volume is not value. SMS messages consume almost no bandwidth but bill out at $1000/Mb.&#8221;  &#8220;Traffic growth simply doesn’t matter. Period. What matters is revenue.&#8221;  And best of all: &#8220;Most people think they are special but in realty [sic] just want to watch &#8216;American Idol&#8217;.&#8221; (Seen at <a href="http://www.datacenterknowledge.com/archives/2008/Jun/04/growth_is_slowing_hype_is_accelerating.html">Data Center Knowledge</a>.)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/06/04/reading-list-642008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capacity limit on OpenSolaris 2008.05 AMI</title>
		<link>http://andyleonard.com/2008/06/04/capacity-limit-on-opensolaris-200805-ami/</link>
		<comments>http://andyleonard.com/2008/06/04/capacity-limit-on-opensolaris-200805-ami/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 18:27:55 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[sxce]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=23</guid>
		<description><![CDATA[I missed this: Apparently the OpenSolaris 2008.05 AMI on EC2 has reached a capacity limit. So, while I got Sun&#8217;s approval this morning for their OpenSolaris/SXCE.79 on EC2 beta, I don&#8217;t get to use OpenSolaris until they add more capacity; SXCE.79 is a nice consolation prize, though.]]></description>
			<content:encoded><![CDATA[<p>I missed this: Apparently the OpenSolaris 2008.05 AMI on EC2 has <a href="http://blogs.sun.com/ec2/entry/update_capacity_limit_on_opensolaris">reached a capacity limit</a>.  So, while I got Sun&#8217;s approval this morning for their OpenSolaris/SXCE.79 on EC2 beta, I don&#8217;t get to use OpenSolaris until they add more capacity; SXCE.79 is a nice consolation prize, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/06/04/capacity-limit-on-opensolaris-200805-ami/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSolaris and EC2: Control Issues, Anyone?</title>
		<link>http://andyleonard.com/2008/06/01/opensolaris-and-ec2-control-issues-anyone/</link>
		<comments>http://andyleonard.com/2008/06/01/opensolaris-and-ec2-control-issues-anyone/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 03:58:19 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=19</guid>
		<description><![CDATA[Generally, I&#8217;m a fan of Sun Microsystems. For the most part, I like their hardware and their software &#8211; and their best products show real innovation and willingness to take risks. I&#8217;m also a fan of Amazon&#8217;s EC2 product, so the announcement that Sun would be officially bundling OpenSolaris for EC2 was great news. Unfortunately, [...]]]></description>
			<content:encoded><![CDATA[<p>Generally, I&#8217;m a fan of Sun Microsystems.  For the most part, I like their hardware and their software &#8211; and their best products show real innovation and willingness to take risks.  I&#8217;m also a fan of Amazon&#8217;s EC2 product, so the announcement that Sun would be officially <a href="http://www.sun.com/aboutsun/pr/2008-05/sunflash.20080505.3.xml ">bundling OpenSolaris for EC2</a> was great news.  Unfortunately, it seems that after all the <a href="http://gigaom.com/2008/05/05/amazon-opensolaris-on-ec2/">hullabaloo</a>, Sun doesn&#8217;t really want to make it that easy for you to actually use OpenSolaris on EC2, by managing access to it <a href="https://www2.sun.de/dct/forms/reg_us_2802_447_0.jsp?">like a control freak would</a>.<br />
<span id="more-19"></span><br />
I could throw in some snarkiness here about the titanic struggles that must be going on inside Sun between those that do and don&#8217;t &#8220;get it&#8221; on the OpenSolaris team, or pontificate that Sun just doesn&#8217;t get Open Source, period.  Instead, I&#8217;ll leave you with a single thought: If one of EC2&#8242;s principal attractions is reducing friction in creating, prototyping, deploying and scaling, does Sun really expect to be successful by throwing up barriers to entry?</p>
<p>(Until I hear back from Sun &#8211; &#8220;our technical team will review your requirements and get back to you shortly&#8221; &#8211; guess I&#8217;ll just fire up a Fedora AMI.  Oh well.)</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/06/01/opensolaris-and-ec2-control-issues-anyone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

