<?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; storage</title>
	<atom:link href="http://andyleonard.com/category/storage/feed/" rel="self" type="application/rss+xml" />
	<link>http://andyleonard.com</link>
	<description>qstat -u aleonard -s z</description>
	<lastBuildDate>Fri, 30 Jul 2010 17:47:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>NexentaStor in front of a NetApp FC LUN using MPxIO</title>
		<link>http://andyleonard.com/2010/05/28/nexentastor-in-front-of-a-netapp-fc-lun-using-mpxio/</link>
		<comments>http://andyleonard.com/2010/05/28/nexentastor-in-front-of-a-netapp-fc-lun-using-mpxio/#comments</comments>
		<pubDate>Fri, 28 May 2010 17:35:13 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[ALUA]]></category>
		<category><![CDATA[fc]]></category>
		<category><![CDATA[fcp]]></category>
		<category><![CDATA[fibre channel]]></category>
		<category><![CDATA[lun]]></category>
		<category><![CDATA[mpio]]></category>
		<category><![CDATA[mpxio]]></category>
		<category><![CDATA[netapp]]></category>
		<category><![CDATA[nexenta]]></category>
		<category><![CDATA[nexentastor]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=489</guid>
		<description><![CDATA[
Create a Fibre Channel LUN on your NetApp and map it to your NexentaStor machine (I&#8217;m using version 3.0.2 in this example).  For this example, I&#8217;ve created a 10GB LUN on a filer running ONTAP 7.2:

netapp01&#62; lun show /vol/nexenta01/lun01/lun
        /vol/nexenta01/lun01/lun      10g (10737418240) [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Create a Fibre Channel LUN on your NetApp and map it to your NexentaStor machine (I&#8217;m using version 3.0.2 in this example).  For this example, I&#8217;ve created a 10GB LUN on a filer running ONTAP 7.2:
<pre class="brush: bash; light: true;">
netapp01&gt; lun show /vol/nexenta01/lun01/lun
        /vol/nexenta01/lun01/lun      10g (10737418240)   (r/w, online, mapped)
</pre>
<p>There are eight paths from our NetApp to our NexentaStor appliance, so the LUN appears eight times on the &#8220;qlc&#8221; adapter (lines 9-16 below):</p>
<pre class="brush: bash; highlight: [9,10,11,12,13,14,15,16];">
nmc@nexenta01:/$ lunsync
Cleanup obsolete (dangling) device links?  Yes
Re-enumerating LUNs... done.

nmc@nexenta01:/$ show lun
LUN ID      Device    Type         Size       Volume     Mounted Attach GUID
c0t0d0      sd0       disk         272.3GB    syspool    no      mega_sas 60024e805102c100118a3fa70ae8937a
c1t0d0      sd128     cdrom        No Media              no      ata    -
c2t5*DDDd0  sd6       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c2t5*DDDd0  sd4       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c2t5*DDDd0  sd7       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c2t5*DDDd0  sd5       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd3       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd2       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd8       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd1       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
syspo~/swap           zvol         1.0GB      syspool    no
</pre>
</li>
<p><span id="more-489"></span></p>
<li>In <a href="http://kb.hurricane-ridge.com/storage/nexenta/getting-acces-to-a-shell-in-nexentastor">NexentaStor &#8220;expert&#8221; mode</a>, enable MPxIO for your Fibre Channel HBA (schedule this for a maintenance window, as it requires a reboot):
<pre class="brush: bash; light: true;">
root@nexenta01:/volumes# stmsboot -L
stmsboot: MPXIO disabled
root@nexenta01:/volumes# stmsboot -e -D fp
WARNING: This operation will require a reboot.
Do you want to continue ? [y/n] (default: y)
updating //platform/i86pc/boot_archive
updating //platform/i86pc/amd64/boot_archive
The changes will come into effect after rebooting the system.
Reboot the system now ? [y/n] (default: y)
</pre>
<p>Note that this will not have any immediately noticable effect after rebooting:</p>
<pre class="brush: bash; light: true;">
nmc@nexenta01:/$ lunsync
Cleanup obsolete (dangling) device links?  Yes

Re-enumerating LUNs... done.

nmc@nexenta01:/$ show lun
LUN ID      Device    Type         Size       Volume     Mounted Attach GUID
c0t0d0      sd0       disk         272.3GB    syspool    no      mega_sas 60024e805102c100118a3fa70ae8937a
c1t0d0      sd128     cdrom        No Media              no      ata    -
c2t5*DDDd0  sd6       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c2t5*DDDd0  sd4       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c2t5*DDDd0  sd7       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c2t5*DDDd0  sd5       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd3       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd2       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd8       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
c3t5*DDDd0  sd1       disk         10GB                  no      qlc    60a98000486e542f5034577076716469
syspo~/swap           zvol         1.0GB      syspool    no             -
</pre>
<p>However, in expert mode, you will now see the following:</p>
<pre class="brush: bash; light: true;">
root@nexenta01:/volumes# stmsboot -L
stmsboot: No STMS devices have been found
</pre>
</li>
<li>Enable ALUA (Asymmetric Logical Unit Access) on the initiator group on the NetApp:
<pre class="brush: bash; light: true;">
netapp01&gt; igroup show -v nexenta01
    nexenta01 (FCP):
        OS Type: solaris
        Member: 21:00:00:aa:bb:cc:dd:ee (logged in on: 0b, 0d, vtic)
        Member: 21:01:00:aa:bb:cc:dd:ee (logged in on: 0b, 0d, vtic)
netapp01&gt; igroup set nexenta01 alua yes
netapp01&gt; igroup show -v nexenta01
    nexenta01 (FCP):
        OS Type: solaris
        Member: 21:00:00:aa:bb:cc:dd:ee (logged in on: 0b, 0d, vtic)
        Member: 21:01:00:aa:bb:cc:dd:ee(logged in on: 0b, 0d, vtic)
        ALUA: Yes
</pre>
</li>
<li>Reconfigure and re-scan your NexentaStor HBA; note that the LUN is now attached to &#8220;mpxio&#8221; where it was previously attached to &#8220;qlc&#8221;:
<pre class="brush: bash; highlight: [10];">
nmc@nexenta01:/$ lunsync -r
Cleanup obsolete (dangling) device links?  Yes
Re-scanning HBAs... done.
Re-enumerating LUNs... done.

nmc@nexenta01:/$ show lun
LUN ID      Device    Type         Size       Volume     Mounted Attach GUID
c0t0d0      sd0       disk         272.3GB    syspool    no      mega_sas 60024e805102c100118a3fa70ae8937a
c1t0d0      sd128     cdrom        No Media              no      ata    -
c4t6*469d0  sd9       disk         10GB                  no      mpxio  60a98000486e542f5034577076716469
syspo~/swap           zvol         1.0GB      syspool    no             -
</pre>
<p>In NexentaStor expert mode, note that <code>stmsboot</code> now shows devices:</p>
<pre class="brush: bash; light: true;">
root@nexenta01:/volumes# stmsboot -L
non-STMS device name                    STMS device name
------------------------------------------------------------------
/dev/rdsk/c3t500A09869657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
/dev/rdsk/c3t500A09889657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
/dev/rdsk/c3t500A09888657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
/dev/rdsk/c3t500A09868657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
/dev/rdsk/c2t500A09869657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
/dev/rdsk/c2t500A09889657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
/dev/rdsk/c2t500A09888657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
/dev/rdsk/c2t500A09868657ADDDd0 /dev/rdsk/c4t60A98000486E542F5034577076716469d0
</pre>
<p>You can now create a NexentaStor volume on your LUN.</li>
</ol>
<p><a href="http://twitter.com/complex/status/14855930808">Hat Tip</a> to @complex on Twitter.</p>
<p>Reference: <a href="http://www.nexenta.com/corp/index.php?option=com_content&#038;task=view&#038;id=245&#038;Itemid=119">Is it possible to use I/O multipathing? How?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2010/05/28/nexentastor-in-front-of-a-netapp-fc-lun-using-mpxio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running NetApp&#8217;s aggrSpaceCheck without turning on RSH</title>
		<link>http://andyleonard.com/2009/06/24/running-netapps-aggrspacecheck-without-turning-on-rsh/</link>
		<comments>http://andyleonard.com/2009/06/24/running-netapps-aggrspacecheck-without-turning-on-rsh/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 22:08:43 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[aggrSpaceCheck]]></category>
		<category><![CDATA[netapp]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=299</guid>
		<description><![CDATA[When upgrading a NetApp filer from a pre-7.3 release to 7.3, metadata is apparently moved from within the FlexVol into the containing aggregate.  If your aggregate is tight on space &#8211; more than 96% full &#8211; NetApp requires that you complete extra verification steps to ensure that you can complete the upgrade.  From [...]]]></description>
			<content:encoded><![CDATA[<p>When upgrading a NetApp filer from a pre-7.3 release to 7.3, metadata is apparently moved from within the FlexVol into the containing aggregate.  If your aggregate is tight on space &#8211; more than 96% full &#8211; NetApp requires that you complete extra verification steps to ensure that you can complete the upgrade.  From the <a href="http://now.netapp.com/NOW/knowledge/docs/ontap/rel7311/pdfs/ontap/rnote.pdf">Data ONTAP® 7.3.1.1 Release Notes</a> (NOW login required):</p>
<blockquote><p>If you suspect that your system has almost used all of its free space, or if you use thin provisioning, you should check the amount of space in use by each aggregate. If any aggregate is 97 percent full or more, do not proceed with the upgrade until you have used the Upgrade Advisor or aggrSpaceCheck tools to determine your system capacity and plan your upgrade.</p></blockquote>
<p>Upgrade Advisor is a great tool, and I heartily recommend you use it for your upgrade.  However, it doesn&#8217;t give you a lot of visibility into what&#8217;s being checked for here.  Lucky for us, NetApp offers an alternative tool: <a href="http://now.netapp.com/NOW/download/tools/aggrSpaceCheck/download.shtml">aggrSpaceCheck</a> (NOW login required).<br />
<span id="more-299"></span><br />
AggrSpaceCheck, as written, relies on you having rsh turned on for access to the filer &#8211; something that you probably locked down when you were still wearing acid-washed jeans.  Assuming you don&#8217;t have rsh access, you&#8217;ll see an error like this when you attempt to run aggrSpaceCheck:</p>
<pre class="brush: bash; light: true;">&gt; perl aggrSpaceCheck.pl -filer toaster01

aggrSpaceCheck V1.0.0 Copyright (c) 2008 NetApp 

Could not retrieve Aggregate free space. Could not get any aggregates in this filer
</pre>
<p>The fix is easy, however, if you&#8217;re using SSH: Edit the aggrSpaceCheck.pl file, replacing &#8220;rsh&#8221; with &#8220;ssh&#8221; (you only need to actually edit it in the line where &#8220;$remCmd&#8221; is defined, but changing rsh to ssh elsewhere won&#8217;t hurt).  You will be prompted for root&#8217;s SSH password repeatedly &#8211; once for each command run remotely on the filer:</p>
<pre class="brush: bash; light: true;">&gt; perl aggrSpaceCheck.pl -filer toaster01

aggrSpaceCheck V1.0.0 Copyright (c) 2008 NetApp
root@toaster01's password:
root@toaster01's password:
root@toaster01's password:
root@toaster01's password:
root@toaster01's password:
root@toaster01's password:
root@toaster01's password:
root@toaster01's password:
root@toaster01's password:
root@toaster01's password: 

Aggregate aggr0 requires 54.18GB for volume metadata; 137.76GB is available.
Aggregate aggr0 has enough free space for you to upgrade to
Data ONTAP 7.3 or later.
</pre>
<p>There&#8217;s a solution for this too, of course: Enable SSH key pair authentication from your management host to your filer &#8211; no more password prompts:</p>
<pre class="brush: bash; light: true;">&gt; perl aggrSpaceCheck.pl -filer toaster01

aggrSpaceCheck V1.0.0 Copyright (c) 2008 NetApp 

Aggregate aggr0 requires 54.18GB for volume metadata; 137.76GB is available.
Aggregate aggr0 has enough free space for you to upgrade to
Data ONTAP 7.3 or later.
</pre>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2009/06/24/running-netapps-aggrspacecheck-without-turning-on-rsh/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NetApp FAS2020 aggregate capacity on ONTAP 7.3.1 &#8211; now 16TB</title>
		<link>http://andyleonard.com/2009/06/23/netapp-fas2020-aggregate-capacity-on-ontap-7-3-1/</link>
		<comments>http://andyleonard.com/2009/06/23/netapp-fas2020-aggregate-capacity-on-ontap-7-3-1/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 17:41:45 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[fas2020]]></category>
		<category><![CDATA[netapp]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=289</guid>
		<description><![CDATA[My NetApp FAS 2020 Sizing post remains popular nearly a year after I wrote it.  However, with ONTAP 7.3.1 (and later releases) out, it&#8217;s also out of date.  Here&#8217;s current information from p. 33 of the ONTAP 7.3.1.1 release notes (NOW login required):
Beginning with Data ONTAP 7.3.1, FAS2020 systems support aggregates up to [...]]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://andyleonard.com/2008/08/04/netapp-fas-2020-sizing/">NetApp FAS 2020 Sizing</a> post remains popular nearly a year after I wrote it.  However, with ONTAP 7.3.1 (and later releases) out, it&#8217;s also out of date.  Here&#8217;s current information from p. 33 of the <a href="http://now.netapp.com/NOW/knowledge/docs/ontap/rel7311/pdfs/ontap/rnote.pdf">ONTAP 7.3.1.1 release notes</a> (NOW login required):</p>
<blockquote><p>Beginning with Data ONTAP 7.3.1, FAS2020 systems support aggregates up to 16 TB raw capacity,<br />
provided that the root volume is hosted in a dedicated aggregate (that is, one that contains only the root<br />
volume and no user data).</p></blockquote>
<p>The release notes go on to point out an alternative to the dedicated root aggregate &#8211; having two spare disks per controller.</p>
<p>It&#8217;s nice to see the FAS2020 finally getting a maximum aggregate size on par with the rest of NetApp&#8217;s product line.  However, in an era where 2TB drives are available from Western Digital &#8211; and presumably other manufacturers before too long &#8211; ONTAP&#8217;s 16TB aggregate limit grows increasingly anachronistic.</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2009/06/23/netapp-fas2020-aggregate-capacity-on-ontap-7-3-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SnapManager for Exchange/SnapVault Integration Requirements</title>
		<link>http://andyleonard.com/2009/06/18/snapmanager-for-exchange-requires-dfm-protection-manager/</link>
		<comments>http://andyleonard.com/2009/06/18/snapmanager-for-exchange-requires-dfm-protection-manager/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 18:00:01 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[datafabric manager]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[netapp]]></category>
		<category><![CDATA[protection manager]]></category>
		<category><![CDATA[sme]]></category>
		<category><![CDATA[snapmanager]]></category>
		<category><![CDATA[snapvault]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=282</guid>
		<description><![CDATA[Update: NetApp has a KB article in NOW addressing this: Using SnapVault to Archive SnapManager for Exchange Backups Sets.  Bottom line: You do not necessarily need ONTAP 7.3, Protection Manager and DataFabric Manager to send SnapManager for Exchange snapshots to a SnapVault secondary.
We recently acquired SnapManager for Exchange (SME) at my place of employment. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: NetApp has a KB article in NOW addressing this: <a href="https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb3990">Using SnapVault to Archive SnapManager for Exchange Backups Sets</a>.  Bottom line: You do not necessarily need ONTAP 7.3, Protection Manager and DataFabric Manager to send SnapManager for Exchange snapshots to a SnapVault secondary.</strong></p>
<p>We recently acquired SnapManager for Exchange (SME) at my place of employment.  We have an existing NetApp deployment consisting of two primary filers in a SnapVault arrangement with a third filer.  The SME install is part of an upgrade from Exchange 2003 (on DAS) to 2007 (on Fibre Channel storage).</p>
<p>What we missed prior to purchasing SME: If you want to use SnapVault with SME, you need two additional pieces of software: Protection Manager and NetApp Management Console (part of DataFabric Manager, apparently).  Here&#8217;s what p. 408 of the <a href="http://now.netapp.com/NOW/knowledge/docs/SnapManager/relsme50/pdfs/admin.pdf">SnapManager® 5.0 for Microsoft® Exchange Installation and Administration Guide</a> (NOW login required) says:</p>
<blockquote><p>The following are the software dependencies for integrating SnapManager with<br />
data set and SnapVault:</p>
<p>◆ Protection Manager 3.7 and later<br />
◆ NetApp Management Console 3.7 and later<br />
◆ SnapDrive for Windows 6.0 and later<br />
◆ Data ONTAP 7.3 or later </p></blockquote>
<p>Wish I&#8217;d known that sooner.</p>
<p>(This is the point where some random NetApp fanboy pops down to the comments and fires off something about how NetApp is the greatest storage company ever, and if I&#8217;d done appropriate due diligence, I wouldn&#8217;t have missed this requirement.  My advice: Spare us, smart guy.  I&#8217;m writing this post to make it easier for other NetApp customers to do their &#8220;due diligence&#8221;.)</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2009/06/18/snapmanager-for-exchange-requires-dfm-protection-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Duplicity to Amazon S3 on FreeBSD: Building on the work of others</title>
		<link>http://andyleonard.com/2009/03/02/duplicity-to-amazon-s3-on-freebsd-building-on-the-work-of-others/</link>
		<comments>http://andyleonard.com/2009/03/02/duplicity-to-amazon-s3-on-freebsd-building-on-the-work-of-others/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:47:53 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[freebsd]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[duplicity]]></category>
		<category><![CDATA[s3]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=226</guid>
		<description><![CDATA[(This post adds only a couple small details to work described at randys.org and cenolan.com &#8211; go there for background on this post and useful scripts for automated Duplicity backup to S3.)
First off, if you want to use Duplicity installed from FreeBSD Ports to backup to Amazon S3, be sure to also install the devel/py-boto [...]]]></description>
			<content:encoded><![CDATA[<p>(This post adds only a couple small details to work described at <a href="http://www.randys.org/2007/11/16/how-to-automated-backups-to-amazon-s-s3-with-duplicity/">randys.org</a> and <a href="http://www.cenolan.com/2008/12/how-to-incremental-daily-backups-amazon-s3-duplicity/">cenolan.com</a> &#8211; go there for background on this post and useful scripts for automated Duplicity backup to S3.)</p>
<p>First off, if you want to use Duplicity installed from FreeBSD Ports to backup to Amazon S3, be sure to also install the <code>devel/py-boto</code> and <code>security/pinentry-curses</code> ports.</p>
<p>If you attempt to run the backup script described at randys.org or cenolan.com from cron, you may run into an error similar to the following:<br />
<span id="more-226"></span></p>
<pre>2009-03-01_01:05:05: ... backing up filesystem
Cleanup of temporary directory /tmp/duplicity-gM4CN9-tempdir failed - this
is probably a bug.
Cleanup of temporary directory /tmp/duplicity-gM4CN9-tempdir failed - this
is probably a bug.
Traceback (most recent call last):
File "/usr/local/bin/duplicity", line 583, in &lt;module&gt;
with_tempdir(main)
File "/usr/local/bin/duplicity", line 577, in with_tempdir
fn()
File "/usr/local/bin/duplicity", line 558, in main
full_backup(col_stats)
File "/usr/local/bin/duplicity", line 234, in full_backup
bytes_written = write_multivol("full", tarblock_iter, globals.backend)
File "/usr/local/bin/duplicity", line 148, in write_multivol
globals.gpg_profile, globals.volsize)
File "/usr/local/lib/python2.5/site-packages/duplicity/gpg.py", line 240,
in GPGWriteFile
bytes_to_go = data_size - get_current_size()
File "/usr/local/lib/python2.5/site-packages/duplicity/gpg.py", line 232,
in get_current_size
return os.stat(filename).st_size
OSError: [Errno 2] No such file or directory:
'/tmp/duplicity-gM4CN9-tempdir/mktemp-iZknw0-2'

Traceback (most recent call last):
File "/usr/local/bin/duplicity", line 583, in &lt;module&gt;
with_tempdir(main)
File "/usr/local/bin/duplicity", line 577, in with_tempdir
fn()
File "/usr/local/bin/duplicity", line 558, in main
full_backup(col_stats)
File "/usr/local/bin/duplicity", line 232, in full_backup
sig_outfp = get_sig_fileobj("full-sig")
File "/usr/local/bin/duplicity", line 210, in get_sig_fileobj
fh = globals.backend.get_fileobj_write(sig_filename)
File "/usr/local/lib/python2.5/site-packages/duplicity/backend.py", line
354, in get_fileobj_write
fh = dup_temp.FileobjHooked(tdp.filtered_open("wb"))
File "/usr/local/lib/python2.5/site-packages/duplicity/path.py", line 716,
return gpg.GPGFile(1, self, gpg_profile)
File "/usr/local/lib/python2.5/site-packages/duplicity/gpg.py", line 112,
in __init__
'logger': self.logger_fp})
File "/usr/local/lib/python2.5/site-packages/GnuPGInterface.py", line 357,
in run
create_fhs, attach_fhs)
File "/usr/local/lib/python2.5/site-packages/GnuPGInterface.py", line 401,
in _attach_fork_exec
if process.pid == 0: self._as_child(process, gnupg_commands, args)
File "/usr/local/lib/python2.5/site-packages/GnuPGInterface.py", line 442,
in _as_child
os.execvp( command[0], command )
File "/usr/local/lib/python2.5/os.py", line 354, in execvp
_execvpe(file, args)
File "/usr/local/lib/python2.5/os.py", line 390, in _execvpe
func(fullname, *argrest)
OSError: [Errno 2] No such file or directory

Traceback (most recent call last):
File "/usr/local/bin/duplicity", line 583, in &lt;module&gt;
with_tempdir(main)
File "/usr/local/bin/duplicity", line 577, in with_tempdir
fn()
File "/usr/local/bin/duplicity", line 558, in main
full_backup(col_stats)
File "/usr/local/bin/duplicity", line 234, in full_backup
bytes_written = write_multivol("full", tarblock_iter, globals.backend)
File "/usr/local/bin/duplicity", line 148, in write_multivol
globals.gpg_profile, globals.volsize)
File "/usr/local/lib/python2.5/site-packages/duplicity/gpg.py", line 237,
in GPGWriteFile
file = GPGFile(True, path.Path(filename), profile)
File "/usr/local/lib/python2.5/site-packages/duplicity/gpg.py", line 112,
in __init__
'logger': self.logger_fp})
File "/usr/local/lib/python2.5/site-packages/GnuPGInterface.py", line 357,
in run
create_fhs, attach_fhs)
File "/usr/local/lib/python2.5/site-packages/GnuPGInterface.py", line 401,
in _attach_fork_exec
if process.pid == 0: self._as_child(process, gnupg_commands, args)
File "/usr/local/lib/python2.5/site-packages/GnuPGInterface.py", line 442,
in _as_child
os.execvp( command[0], command )
File "/usr/local/lib/python2.5/os.py", line 354, in execvp
_execvpe(file, args)
File "/usr/local/lib/python2.5/os.py", line 390, in _execvpe
func(fullname, *argrest)
OSError: [Errno 2] No such file or directory</pre>
<p>The solution to the above is simple &#8211; make sure the path includes <code>/usr/local/bin</code>, perhaps by including this at the start of the backup script:</p>
<pre>export PATH=${PATH}:/usr/local/bin</pre>
<p>Finally, when running an incremental backup, you may get this error:</p>
<pre>Fatal Error: Neither remote nor local manifest is readable.</pre>
<p>This can be solved by setting the <code>HOME</code> environment variable to <code>/root</code> assuming you&#8217;re running the backup as root (instead of the default <code>/var/log</code> for cron jobs):</p>
<pre>export HOME=/root</pre>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2009/03/02/duplicity-to-amazon-s3-on-freebsd-building-on-the-work-of-others/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Years Resolution: Stop shouting at my disk arrays</title>
		<link>http://andyleonard.com/2009/01/01/new-years-resolution-stop-shouting-at-my-disk-arrays/</link>
		<comments>http://andyleonard.com/2009/01/01/new-years-resolution-stop-shouting-at-my-disk-arrays/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 16:10:08 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[fishworks]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=188</guid>
		<description><![CDATA[Apparently, disk arrays are sensitive sorts that respond poorly when yelled at:

Makes me wonder how much engineering that I never thought about goes into designing disk shelves to keep drives insulated from vibrations.  The Fishworks analytics interface is dazzling &#8211; wish I had that yesterday when I was looking at a possible Exchange I/O [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently, disk arrays are sensitive sorts that respond poorly when yelled at:</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/tDacjrSCeq4&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/tDacjrSCeq4&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>Makes me wonder how much engineering that I never thought about goes into designing disk shelves to keep drives insulated from vibrations.  The Fishworks analytics interface is dazzling &#8211; wish I had that yesterday when I was looking at a possible Exchange I/O performance issue with perfmon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2009/01/01/new-years-resolution-stop-shouting-at-my-disk-arrays/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fishworks on the VMware HCL</title>
		<link>http://andyleonard.com/2008/12/11/fishworks-on-the-vmware-hcl/</link>
		<comments>http://andyleonard.com/2008/12/11/fishworks-on-the-vmware-hcl/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 19:29:44 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[fishworks]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=186</guid>
		<description><![CDATA[I was checking out VMware&#8217;s new online search-able HCL and I noticed that the new Sun Unified Storage Systems were on the HCL.  That was fast &#8211; and now I&#8217;m really curious as to how the systems with flash drives perform as storage for ESX.
]]></description>
			<content:encoded><![CDATA[<p>I was checking out VMware&#8217;s new <a href="http://www.vmware.com/resources/compatibility/search.php">online search-able HCL</a> and I noticed that the new <a href="http://www.sun.com/storage/disk_systems/unified_storage/">Sun Unified Storage Systems</a> were <a href="http://www.vmware.com/resources/compatibility/search.php?action=search&#038;deviceCategory=san&#038;productId=1&#038;keyBasic=Unified+Storage+System&#038;maxDisplayRows=50&#038;key=Sun&#038;release[]=-1&#038;datePosted=-1">on the HCL</a>.  That was fast &#8211; and now I&#8217;m really curious as to how the systems with flash drives perform as storage for ESX.</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/12/11/fishworks-on-the-vmware-hcl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fishworks&#8217; LDAP Schema Definition</title>
		<link>http://andyleonard.com/2008/11/18/fishworks-ldap-schema-definition/</link>
		<comments>http://andyleonard.com/2008/11/18/fishworks-ldap-schema-definition/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 00:02:44 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[fishworks]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=164</guid>
		<description><![CDATA[Quick notes on configuring LDAP in Fishworks, gleaned from my experience working with the VMware simulator:
As I noted in my &#8220;quick walk&#8221; post&#8217;s comments, I had difficulty getting LDAP working initially on my corporate Active Directory network.  The crux for me turned out to be getting the LDAP Schema Definitions correct.  Here are [...]]]></description>
			<content:encoded><![CDATA[<p>Quick notes on configuring LDAP in Fishworks, gleaned from my experience working with the VMware simulator:</p>
<p>As I noted in my <a href="/2008/11/12/a-quick-walk-through-fishworks-configuration/">&#8220;quick walk&#8221; post</a>&#8217;s comments, I had difficulty getting LDAP working initially on my corporate Active Directory network.  The crux for me turned out to be getting the LDAP Schema Definitions correct.  Here are the settings that worked correctly for me, authenticating against an AD instance with the schema extended by Microsoft&#8217;s Services for Unix add-on (other LDAP schemata will, of course, need different mappings):</p>
<p><strong>USERS</strong><br />
<strong>Search descriptor:</strong> Don&#8217;t leave this blank &#8211; according to the Fishworks documentation this &#8220;sets the LDAP search descriptor, attribute mappings and object class mappings for users and groups. By default, the search descriptor for users is ou=people,dc=example,dc=com, and for groups is ou=group,dc=example,dc=com&#8221; &#8211; so what you enter will be site-specific.</p>
<p><strong>Attribute mappings:</strong></p>
<ul>
<li>uid=msSFU30Name</li>
<li>uidNumber=msSFU30UidNumber</li>
<li>gidNumber=msSFU30GidNumber</li>
</ul>
<p><strong>Object class mappings:</strong></p>
<ul>
<li>posixAccount=User</li>
</ul>
<p><strong>GROUPS</strong><br />
<strong>Search descriptor:</strong> Again, don&#8217;t leave this blank &#8211; enter the appropriate value for your site.</p>
<p><strong>Attribute mappings:</strong></p>
<ul>
<li>gidNumber=msSFU30GidNumber</li>
<li>uniqueMember=msSFU30PosixMember</li>
</ul>
<p><strong>Object class mappings:</strong></p>
<ul>
<li>posixGroup=group</li>
</ul>
<p>How did I know that the schema definition mappings were the problem?  The logs gave it away: Maintenance -> Logs -> System, where I saw messages similar to the following: &#8220;libsldap: Status: 0 Mesg: Unable to set value: schema map already existed for &#8216;User&#8217;.&#8221;</p>
<p>How did I know that I had the schema definitions working?  Share settings that I had created using numeric UIDs and GIDs automatically became mapped to the correct user and group names.</p>
<p>I&#8217;ll update this post if I find additional configuration that may be necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/11/18/fishworks-ldap-schema-definition/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ElasticFish?</title>
		<link>http://andyleonard.com/2008/11/12/elasticfish/</link>
		<comments>http://andyleonard.com/2008/11/12/elasticfish/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 22:21:49 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[fishworks]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=161</guid>
		<description><![CDATA[(In the spirit of Joerg Moellenkamp&#8217;s thought experiments:)
That virtualized Fishworks appliance got me thinking: What if  you combined this with this?  Yeah, managing Elastic Block Store devices would require some changes, but, if you needed a NAS for your EC2 instances&#8230;
]]></description>
			<content:encoded><![CDATA[<p>(In the spirit of <a href="http://www.c0t0d0s0.eu/">Joerg Moellenkamp</a>&#8217;s thought experiments:)</p>
<p>That virtualized Fishworks appliance got me thinking: What if  you combined <a href="http://www.sun.com/storage/disk_systems/unified_storage/index.jsp">this</a> with <a href="http://www.sun.com/third-party/global/amazon/index.jsp">this</a>?  Yeah, managing Elastic Block Store devices would require some changes, but, if you needed a NAS for your EC2 instances&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/11/12/elasticfish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A quick walk through Fishworks configuration</title>
		<link>http://andyleonard.com/2008/11/12/a-quick-walk-through-fishworks-configuration/</link>
		<comments>http://andyleonard.com/2008/11/12/a-quick-walk-through-fishworks-configuration/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 21:58:33 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[storage]]></category>
		<category><![CDATA[fishworks]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://andyleonard.com/?p=127</guid>
		<description><![CDATA[A picture is worth a thousand words, right?
Below is a quick walkthrough of my experience booting and installing the Fishworks VMware appliance; my thoughts follow.

Thoughts: First off, as a VMware appliance and an introduction to Fishworks, this virtual machine is extremely well done; it gives users a low &#8220;activation energy&#8221; method to try out Fishworks. [...]]]></description>
			<content:encoded><![CDATA[<p>A picture is worth a thousand words, right?</p>
<div id="attachment_130" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/success-crop.png"><img class="size-medium wp-image-130" title="success-crop" src="http://andyleonard.com/wp-content/uploads/2008/11/success-crop-300x124.png" alt="That was easy..." width="300" height="124" /></a><p class="wp-caption-text">That was easy...</p></div>
<p>Below is a quick walkthrough of my experience booting and installing the Fishworks VMware appliance; my thoughts follow.<br />
<span id="more-127"></span></p>
<div id="attachment_128" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/boot-screen.png"><img class="size-medium wp-image-128" title="boot-screen" src="http://andyleonard.com/wp-content/uploads/2008/11/boot-screen-300x166.png" alt="Fishworks Boot Screen" width="300" height="166" /></a><p class="wp-caption-text">Fishworks Boot Screen</p></div>
<div id="attachment_132" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/initial-config.png"><img class="size-medium wp-image-132" title="initial-config" src="http://andyleonard.com/wp-content/uploads/2008/11/initial-config-300x166.png" alt="Initial network configuration" width="300" height="166" /></a><p class="wp-caption-text">Initial network configuration</p></div>
<div id="attachment_134" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/ready.png"><img class="size-medium wp-image-134" title="ready" src="http://andyleonard.com/wp-content/uploads/2008/11/ready-300x166.png" alt="Yes, Virginia, there is a command line" width="300" height="166" /></a><p class="wp-caption-text">Yes, Virginia, there is a command line - but not a conventional shell</p></div>
<div id="attachment_137" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/login.png"><img class="size-medium wp-image-137" title="login" src="http://andyleonard.com/wp-content/uploads/2008/11/login-300x251.png" alt="Web interface login screen" width="300" height="251" /></a><p class="wp-caption-text">Web interface login screen</p></div>
<div id="attachment_140" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure1-networking.png"><img class="size-medium wp-image-140" title="configure1-networking" src="http://andyleonard.com/wp-content/uploads/2008/11/configure1-networking-300x251.png" alt="Network configuration" width="300" height="251" /></a><p class="wp-caption-text">Network configuration</p></div>
<div id="attachment_142" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure2-dns.png"><img class="size-medium wp-image-142" title="configure2-dns" src="http://andyleonard.com/wp-content/uploads/2008/11/configure2-dns-300x250.png" alt="Configure DNS - pretty basic stuff" width="300" height="250" /></a><p class="wp-caption-text">Configure DNS - pretty basic stuff</p></div>
<div id="attachment_143" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure3-time.png"><img class="size-medium wp-image-143" title="configure3-time" src="http://andyleonard.com/wp-content/uploads/2008/11/configure3-time-300x251.png" alt="NTP is a good thing" width="300" height="251" /></a><p class="wp-caption-text">NTP is a good thing</p></div>
<div id="attachment_146" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure4-ns.png"><img class="size-medium wp-image-146" title="configure4-ns" src="http://andyleonard.com/wp-content/uploads/2008/11/configure4-ns-300x251.png" alt="Name service configuration choices" width="300" height="251" /></a><p class="wp-caption-text">Name service configuration choices</p></div>
<div id="attachment_144" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure4a-ad.png"><img class="size-medium wp-image-144" title="configure4a-ad" src="http://andyleonard.com/wp-content/uploads/2008/11/configure4a-ad-300x250.png" alt="Active Directory integration for CIFS shares is straightforward" width="300" height="250" /></a><p class="wp-caption-text">Active Directory integration for CIFS shares is straightforward</p></div>
<div id="attachment_147" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure5-support.png"><img class="size-medium wp-image-147" title="configure5-support" src="http://andyleonard.com/wp-content/uploads/2008/11/configure5-support-300x251.png" alt="Fishworks phone home..." width="300" height="251" /></a><p class="wp-caption-text">Fishworks phone home...</p></div>
<div id="attachment_148" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure6-storage.png"><img class="size-medium wp-image-148" title="configure6-storage" src="http://andyleonard.com/wp-content/uploads/2008/11/configure6-storage-300x250.png" alt="Storage configuration made fast and easy" width="300" height="250" /></a><p class="wp-caption-text">Storage configuration made fast and easy</p></div>
<div id="attachment_149" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/success1.png"><img class="size-medium wp-image-149" title="success1" src="http://andyleonard.com/wp-content/uploads/2008/11/success1-300x251.png" alt="All done!" width="300" height="251" /></a><p class="wp-caption-text">All done!</p></div>
<p>Thoughts: First off, as a VMware appliance and an introduction to Fishworks, this virtual machine is extremely well done; it gives users a low &#8220;activation energy&#8221; method to try out Fishworks.  There&#8217;s a lot more effort involved getting a sixty-day loaner from Sun, as neat as that program is &#8211; even the logistics of racking and cabling the machine are relatively expensive in terms of time, after all.  Of course, there are limitations inherent to a virtual machine; for example, I&#8217;d love to see how VMware ESX performs using a hybrid storage pool, but only real hardware can answer that.  However, for most of my questions about Fishworks, the VM fits the bill.</p>
<p>Once you hit the VM&#8217;s virtual power button, it boots up quickly &#8211; faster than most OpenSolaris machines, subjectively &#8211; and the initial configuration is straightforward.  Although I didn&#8217;t try it, it does appear that the machine can be completely configured from the command line, either at the console or over SSH.  Once the system is configured, you have HTTPS or SSH remote administration access; however, SSH does not give you a standard Solaris shell, such as sh or bash.  Instead, you get an interface very similar to Solaris&#8217; zonecfg &#8211; a command line interface with multiple modes.  (I suspect that a shell can be launched on the machine somewhere, somehow &#8211; it may even be documented &#8211; but I wouldn&#8217;t be stunned if it&#8217;s &#8220;unsupported.&#8221;)</p>
<p>The six-step configuration process via the web interface is smooth and consistent, and not particularly time-consuming &#8211; you get this sense that this is truly intended to be an appliance.  My only complaints: The online docs were not immediately helpful (seriously &#8211; links to Wikipedia?), and when something does go wrong, you don&#8217;t get much more immediate help than this:</p>
<div id="attachment_153" class="wp-caption aligncenter" style="width: 310px"><a href="http://andyleonard.com/wp-content/uploads/2008/11/configure4b-error.png"><img src="http://andyleonard.com/wp-content/uploads/2008/11/configure4b-error-300x251.png" alt="Uh-oh - how do I get to those log files?" title="configure4b-error" width="300" height="251" class="size-medium wp-image-153" /></a><p class="wp-caption-text">Uh-oh - how do I get to those log files?</p></div>
<p>By far, the best part of the configuration interface is step six &#8211; the storage configuration.  You see a list of your configuration choices, with availability, performance and capacity rated.  The left-hand column shows a pie-chart breakdown of your storage utilization, with the tiny &#8220;Reserved&#8221; slice surely being a jab at NetApp.  (Well, maybe not &#8211; but as a NetApp user, it sure got my attention.)  Simply pick your RAID type, click &#8220;commit&#8221; and you&#8217;re on your way.  Genius.</p>
<p>All in all, very impressive.  Makes me wish even more that I had a pair of 7410s to put behind ESX.  And Exchange.  And SQL Server.  And my CIFS and NFS users&#8230; you get the idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://andyleonard.com/2008/11/12/a-quick-walk-through-fishworks-configuration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
