<?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>Thinkway</title>
	<atom:link href="http://www.thinkway.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thinkway.info</link>
	<description>NetApp, Linux Experience Shares</description>
	<lastBuildDate>Tue, 15 May 2012 03:04:27 +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>Netapp 32bit aggregate upgrade to 64bit</title>
		<link>http://www.thinkway.info/2012/05/netapp-32bit-aggregate-upgrade-to-64bit/</link>
		<comments>http://www.thinkway.info/2012/05/netapp-32bit-aggregate-upgrade-to-64bit/#comments</comments>
		<pubDate>Tue, 15 May 2012 03:03:15 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[NetApp]]></category>
		<category><![CDATA[32bit to 64bit]]></category>
		<category><![CDATA[64bit-upgrade]]></category>
		<category><![CDATA[aggregate upgrade]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=124</guid>
		<description><![CDATA[Netapp released 8.1GA on May 2012, with quite a number of improvement and the most eye catching is capability to upgrade aggregate from 32bit to 64bit. I have been waiting for 6 months and eager to try with 8.1RC , but RC is not a good choice for production. Always remember not to risk your production NAS! Back to the story, 32bit to 64bit is a great feature provided. Why so? Because you do not need to perform migration , &#8230; <a href="http://www.thinkway.info/2012/05/netapp-32bit-aggregate-upgrade-to-64bit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Netapp released 8.1GA on May 2012, with quite a number of improvement and the most eye catching is capability to upgrade aggregate from 32bit to 64bit. I have been waiting for 6 months and eager to try with 8.1RC , but RC is not a good choice for production. Always remember not to risk your production NAS!</p>
<p>Back to the story, 32bit to 64bit is a great feature provided. Why so? Because you do not need to perform migration , doing QSM from 32bit aggregate to 64bit aggregate. Getting downtime from the client is another pain too. This is a beautiful feature and I must praise Netapp for doing great job!</p>
<p>Here is my test plan:<br />
1. Get a NAS with Ontap 8.0.2 &#8211; 7 Mode<br />
2. Create 32bit &#8220;newaggr&#8221; and dump in the disk to make it become 15-16TB<br />
3. Upgrade Ontap 8.1 &#8211; 7 Mode<br />
4. Perform upgrade to &#8220;newaggr&#8221; from 32bit to 64bit</p>
<p></p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><strong>Useful Command </strong></span></p>
<p style="padding-left: 60px;"><em><strong>aggr</strong> <strong>add</strong> aggrname</em><br />
<em> [ <strong>-f</strong> ]</em><br />
<em> [ <strong>-n</strong> ]</em><br />
<em> [ <strong>-g</strong> {raidgroup | <strong>new</strong> | <strong>all</strong>} ]</em><br />
<em> [ <strong>-c</strong> checksum-style ]</em><br />
<em> [ <strong>-64bit-upgrade</strong> {<strong>check</strong> | <strong>normal</strong>} ] { ndisks[@size]</em></p>
<p style="padding-left: 60px;"><em>|</em></p>
<p style="padding-left: 60px;"><em><strong>-d</strong> disk1 [ disk2 ... ] [ <strong>-d</strong> diskn [ diskn+1 ... ] ] }</em></p>
<p style="padding-left: 60px;"><em> ## add an additonal disk to aggregate pfvAggr, use &#8220;aggr status&#8221; to get group name </em><br />
<em> aggr status pfvAggr -r </em><br />
<em> aggr add pfvAggr -g rg0 -64bits-upgrade normal -d v5.25 normal</em></p>
<p><em> ## Add 4 300GB disk to aggregate aggr1</em></p>
<p style="padding-left: 60px;"><em>aggr add aggr1 -64bits-upgrade check 4@300</em></p>
<p style="padding-left: 60px;"><em>Adds disks to the aggregate named aggrname. Specify the disks in the same way as for the <strong>aggr</strong> <strong>create</strong> command. If the aggregate is mirrored, then the <strong>-d</strong> argument must be used twice (if at all).</em></p>
<p style="padding-left: 60px;"><em>If the size option is used, it specifies the disk size in GB. Disks that are within approximately 20% of the specified size will be selected. If the size option is not specified, existing groups are appended with disks that are the best match by size for the largest disk in the group, i.e., equal or smaller disks are selected first, then larger disks. When starting new groups, disks that are the best match by size for the largest disk in the last raidgroup are selected. The size option is ignored if a specific list of disks is specified.</em></p>
<p style="padding-left: 60px;"><em>If the <strong>-g</strong> option is not used, the disks are added to the most recently created RAID group until it is full, and then one or more new RAID groups are created and the remaining disks are added to new groups. Any other existing RAID groups that are not full remain partially filled.</em></p>
<p style="padding-left: 60px;"><em>The <strong>-g</strong> option allows specification of a RAID group (for example, rg0) to which the indicated disks should be added, or a method by which the disks are added to new or existing RAID groups.</em></p>
<p style="padding-left: 60px;"><em>If the <strong>-g</strong> option is used to specify a RAID group, that RAID group must already exist. The disks are added to that RAID group until it is full. Any remaining disks are ignored.</em></p>
<p style="padding-left: 60px;"><em>If the <strong>-g</strong> option is followed by <strong>new</strong>, Data ONTAP creates one or more new RAID groups and adds the disks to them, even if the disks would fit into an existing RAID group. Any existing RAID groups that are not full remain partially filled. The name of the new RAID groups are selected automatically. It is not possible to specify the names for the new RAID groups.</em></p>
<p style="padding-left: 60px;"><em>If the <strong>-g</strong> option is followed by <strong>all</strong>, Data ONTAP adds the specified disks to existing RAID groups first. Disks are added to an existing RAID group until it reaches capacity as defined by raidsize. After all existing RAID groups are full, it creates one or more new RAID groups and adds the remaining disks to the new groups. If the disk type or checksum style or both is specified then the command would operate only on the RAID groups with matching disk type or checksum style or both.</em></p>
<p style="padding-left: 60px;"><em>The <strong>-n</strong> option can be used to display the command that the system will execute, without actually making any changes. This is useful for displaying the automatically selected disks, for example.</em></p>
<p style="padding-left: 60px;"><em>The <strong>-c</strong> checksum-style argument specifies the checksum style of disks to use when adding disks to an existing aggregate. Possible values are: <strong>block</strong> for Block Checksum and <strong>advanced_zoned</strong> for Advanced Zoned Checksum (azcs).</em></p>
<p style="padding-left: 60px;"><em><span style="color: #ff0000;">If the <strong>-64bit-upgrade</strong> option is followed by <strong>check</strong>, Data ONTAP displays a summary of the space impact which would result from upgrading the aggregate to 64-bit. This summary includes the space usage of each contained volume after the volume is upgraded to 64-bit and the amount of space that must be added to the volume to successfully complete the 64-bit upgrade. This option does not result in an upgrade to 64-bit or addition of disks.</span></em></p>
<p style="padding-left: 60px;"><em><span style="color: #ff0000;">If the <strong>-64bit-upgrade</strong> option is followed by <strong>normal</strong>, Data ONTAP upgrades the aggregate to 64-bit if the total aggregate size after adding the specified disks exceeds 16TB. This option does not allow Data ONTAP to automatically grow volumes if they run out of space due to the 64-bit upgrade.</span></em></p>
<p style="padding-left: 60px;"><em>By default, the filer fills up one RAID group with disks before starting another RAID group. Suppose an aggregate currently has one RAID group of 12 disks and its RAID group size is 14. If you add 5 disks to this aggregate, it will have one RAID group with 14 disks and another RAID group with 3 disks. The filer does not evenly distribute disks among RAID groups.</em></p>
<p style="padding-left: 60px;"><em>You cannot add disks to a mirrored aggregate if one of the plexes is offline.</em></p>
<p style="padding-left: 60px;"><em>The disks in a plex are not permitted to span disk pools. This behavior can be overridden with the <strong>-f</strong> flag when used together with the <strong>-d</strong> argument to list disks to add. The <strong>-f</strong> flag, in combination with <strong>-d</strong>, can also be used to force adding disks that have a rotational speed that does not match that of the majority of existing disks in the aggregate. </em></p>
<p>Before Upgrade</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mynas02<span style="color: #000000; font-weight: bold;">&amp;</span>gt; aggr status
           Aggr State           Status            Options
          aggr0 online          raid_dp, aggr     root
                                <span style="color: #000000;">32</span>-bit
    sata64_bk11 online          raid_dp, aggr     <span style="color: #007800;">raidsize</span>=<span style="color: #000000;">20</span>
                                <span style="color: #000000;">64</span>-bit
        newaggr online          raid_dp, aggr     <span style="color: #007800;">raidsize</span>=<span style="color: #000000;">10</span>
                                <span style="color: #000000;">32</span>-bit</pre></div></div>

<p>Perform upgrade check</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mynas02<span style="color: #000000; font-weight: bold;">&amp;</span>gt; aggr add newaggr <span style="color: #660033;">-64bit-upgrade</span> check <span style="color: #660033;">-d</span> 1a.38.22 1a.38.21
File system <span style="color: #c20cb9; font-weight: bold;">size</span> <span style="color: #000000;">16.97</span> TB exceeds maximum <span style="color: #000000;">15.99</span> TB
Checking <span style="color: #000000; font-weight: bold;">for</span> additional space required to upgrade all writable <span style="color: #000000;">32</span>-bit
volumes <span style="color: #000000; font-weight: bold;">in</span> aggregate newaggr <span style="color: #7a0874; font-weight: bold;">&#40;</span>Ctrl-C to interrupt<span style="color: #7a0874; font-weight: bold;">&#41;</span>......
&nbsp;
Adding the specified disks and upgrading the aggregate to
<span style="color: #000000;">64</span>-bit will add 1489GB of usable space to the aggregate.
&nbsp;
To initiate the <span style="color: #000000;">64</span>-bit upgrade of aggregate newaggr, run this
<span style="color: #7a0874; font-weight: bold;">command</span> with the <span style="color: #ff0000;">&quot;normal&quot;</span> option.</pre></div></div>

<p>After upgrade</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mynas02<span style="color: #000000; font-weight: bold;">&amp;</span>gt; aggr add newaggr <span style="color: #660033;">-64bit-upgrade</span> normal <span style="color: #660033;">-d</span> 1a.38.22 1a.38.21
File system <span style="color: #c20cb9; font-weight: bold;">size</span> <span style="color: #000000;">16.97</span> TB exceeds maximum <span style="color: #000000;">15.99</span> TB
Checking <span style="color: #000000; font-weight: bold;">for</span> additional space required to upgrade all writable <span style="color: #000000;">32</span>-bit
volumes <span style="color: #000000; font-weight: bold;">in</span> aggregate newaggr <span style="color: #7a0874; font-weight: bold;">&#40;</span>Ctrl-C to interrupt<span style="color: #7a0874; font-weight: bold;">&#41;</span>......
File system <span style="color: #c20cb9; font-weight: bold;">size</span> <span style="color: #000000;">16.97</span> TB exceeds maximum <span style="color: #000000;">15.99</span> TB
Addition of <span style="color: #000000;">2</span> disks to the aggregate has completed.
mynas02<span style="color: #000000; font-weight: bold;">&amp;</span>gt; Checking <span style="color: #000000; font-weight: bold;">for</span> additional space required to upgrade all writable <span style="color: #000000;">32</span>-bit
volumes <span style="color: #000000; font-weight: bold;">in</span> aggregate newaggr <span style="color: #7a0874; font-weight: bold;">&#40;</span>Ctrl-C to interrupt<span style="color: #7a0874; font-weight: bold;">&#41;</span>......
Mon MayMon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">35</span> MYT <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>: <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:raid.vol.disk.add.done:notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>: Addition of Disk <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0<span style="color: #000000; font-weight: bold;">/</span>rg2<span style="color: #000000; font-weight: bold;">/</span>1a.38.21 Shelf <span style="color: #000000;">38</span> Bay <span style="color: #000000;">21</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>NETAPP   X302_HJUPI01TSSM NA02<span style="color: #7a0874; font-weight: bold;">&#93;</span> S<span style="color: #000000; font-weight: bold;">/</span>N <span style="color: #7a0874; font-weight: bold;">&#91;</span>N01RBR3L<span style="color: #7a0874; font-weight: bold;">&#93;</span> to aggregate newaggr has completed successfully
<span style="color: #000000;">12</span>:<span style="color: #000000;">35</span> MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:raid.vMon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">35</span> ol.diskMYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:raid.vol.disk.add.done:notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>: Addition of Disk <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0<span style="color: #000000; font-weight: bold;">/</span>rg2<span style="color: #000000; font-weight: bold;">/</span>1a.38.22 Shelf <span style="color: #000000;">38</span> Bay <span style="color: #000000;">22</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>NETAPP   X302_HJUPI01TSSM NA02<span style="color: #7a0874; font-weight: bold;">&#93;</span> S<span style="color: #000000; font-weight: bold;">/</span>N <span style="color: #7a0874; font-weight: bold;">&#91;</span>N01RGUYL<span style="color: #7a0874; font-weight: bold;">&#93;</span> to aggregate newaggr has completed successfully
.add.done:notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>: Addition of Disk <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0<span style="color: #000000; font-weight: bold;">/</span>rg2<span style="color: #000000; font-weight: bold;">/</span>1a.38.21 Shelf <span style="color: #000000;">38</span> Bay <span style="color: #000000;">21</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>NETAPP   X302_HJUPI01TSSM NA02<span style="color: #7a0874; font-weight: bold;">&#93;</span> S<span style="color: #000000; font-weight: bold;">/</span>N <span style="color: #7a0874; font-weight: bold;">&#91;</span>N01RBR3L<span style="color: #7a0874; font-weight: bold;">&#93;</span> to aggregate newaggr has completed successfully
Mon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">35</span> MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02Mon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">3</span>:raid.v5 MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:wafl.scan.64bit.upgrade.start:notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>: The <span style="color: #000000;">64</span>-bit upgrade scanner has started running on aggregate newaggr.
ol.disk.add.done:notiMon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">35</span> MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:wafl.scan.start:info<span style="color: #7a0874; font-weight: bold;">&#93;</span>: Startingce<span style="color: #7a0874; font-weight: bold;">&#93;</span>: Ad 64bit upgrade on aggregate newaggr.
dition of Disk <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0<span style="color: #000000; font-weight: bold;">/</span>rg2<span style="color: #000000; font-weight: bold;">/</span>1a.38.22 Shelf <span style="color: #000000;">38</span> Bay <span style="color: #000000;">22</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>NETAPP   X302_HJUPI01TSSM NA02<span style="color: #7a0874; font-weight: bold;">&#93;</span> S<span style="color: #000000; font-weight: bold;">/</span>N <span style="color: #7a0874; font-weight: bold;">&#91;</span>N01RGUYL<span style="color: #7a0874; font-weight: bold;">&#93;</span> to aggregate newaggr has completed successfully
Mon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">35</span> MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:wafl.scan.64bit.upgrade.start:notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>: The <span style="color: #000000;">64</span>-bit upgrade scanner has started running on aggregate newaggr.
Mon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">35</span> MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:wafl.scan.start:info<span style="color: #7a0874; font-weight: bold;">&#93;</span>: Starting 64bit upgrade on aggregate newaggr.
 <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:Mon May <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">12</span>:<span style="color: #000000;">37</span> MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:wafl.scan.64bit.upgrade.completed:notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>: The <span style="color: #000000;">64</span>-bit upgrade scanner has completed running on aggregate newaggr.
<span style="color: #000000;">12</span>:<span style="color: #000000;">37</span> MYT <span style="color: #7a0874; font-weight: bold;">&#91;</span>mynas02:wafl.scan.64bit.upgrade.completed:notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>: The <span style="color: #000000;">64</span>-bit upgrade scanner has completed running on aggregate newaggr.
&nbsp;
mynas02<span style="color: #000000; font-weight: bold;">&amp;</span>gt; aggr show_space <span style="color: #660033;">-h</span> newaggr
Aggregate <span style="color: #ff0000;">'newaggr'</span>
&nbsp;
    Total space    WAFL reserve    Snap reserve    Usable space       BSR NVLOG           A-SIS          Smtape
           16TB          1738GB             0KB            15TB             0KB             0KB             0KB
&nbsp;
This aggregate does not contain any volumes
&nbsp;
Aggregate                       Allocated            Used           Avail
Total space                           0KB             0KB            15TB
Snap reserve                          0KB             0KB             0KB
WAFL reserve                       1738GB          1392KB          1738GB
&nbsp;
mynas02<span style="color: #000000; font-weight: bold;">&amp;</span>gt; aggr status newaggr
           Aggr State           Status            Options
        newaggr online          raid_dp, aggr     <span style="color: #007800;">raidsize</span>=<span style="color: #000000;">10</span>
                                <span style="color: #000000;">64</span>-bit
                Volumes: 
&nbsp;
                Plex <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0: online, normal, active
                    RAID group <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0<span style="color: #000000; font-weight: bold;">/</span>rg0: normal, block checksums
                    RAID group <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0<span style="color: #000000; font-weight: bold;">/</span>rg1: normal, block checksums
                    RAID group <span style="color: #000000; font-weight: bold;">/</span>newaggr<span style="color: #000000; font-weight: bold;">/</span>plex0<span style="color: #000000; font-weight: bold;">/</span>rg2: normal, block checksums</pre></div></div>

<p>So we have seen that the upgrade is very successful and option for &#8220;-64bit-upgrade&#8221; is only required once, after you got the aggregate to 64bit,  you just keep increasing the disk depending on your budget!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2012/05/netapp-32bit-aggregate-upgrade-to-64bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netapp Volume Migration</title>
		<link>http://www.thinkway.info/2012/03/netapp-volume-migration/</link>
		<comments>http://www.thinkway.info/2012/03/netapp-volume-migration/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 09:20:30 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[NetApp]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[migrate]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[quiesce]]></category>
		<category><![CDATA[Snapmirror]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=115</guid>
		<description><![CDATA[As a storage admin , volume migration is always an active routine that need to go through every months or quarters. I was involving in most storage migration using lots of method for the past few years and here is my finding. Always use snapmirror for volume migration! This is the best way to migrate data in the most consistent way. Avoid using rsync for huge volume with multiple sessions(directory too huge and you have to split it to multiple &#8230; <a href="http://www.thinkway.info/2012/03/netapp-volume-migration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As a storage admin , volume migration is always an active routine that need to go through every months or quarters. I was involving in most storage migration using lots of method for the past few years and here is my finding.</p>
<ol>
<li>Always use snapmirror for volume migration! This is the best way to migrate data in the most consistent way.</li>
<li>Avoid using rsync for huge volume with multiple sessions(directory too huge and you have to split it to multiple sessions).</li>
<li>Detailed plan and down time needed.</li>
</ol>
<div></div>
<div>Let me share with you my own best practice:</div>
<div>
<ol>
<li><strong>Source filer</strong></li>
<ul>
<li>Identify Volume</li>
<li>Volume Size</li>
<li>Aggregate type (32bit or 64bit)</li>
</ul>
<li><strong>Destination filer</strong></li>
<ul>
<li>Identify new volume (with new volume name)</li>
<li>New volume size (must be greater than source volume during transfer to minimize the chances of failing during transfer. snapshot might take up additional space on the migration)</li>
<li>Aggregate balanced space . Aggregate free space is important for performance , best recommended free space of 15%-20%.</li>
<li>Aggregate type (32bit or 63bit)</li>
</ul>
<li><strong>Getting downtime</strong></li>
<ul>
<li>Engage with customer to get the downtime. Usually the downtime i request is less than 2 hours as the final sync is usually less than 10minutes because i have scheduled snapmirror running daily for the incremental changes.</li>
</ul>
<p></p>
<li><strong>Cut over plan</strong></li>
<ul>
<li>Always schedule snapmirror schedule to update daily during off hour(or when the filer is free).</li>
<li>Run manual snapmirror update for few time an hour before the final sync.</li>
<li>restrict source volume after the migration to prevent new data writing in.</li>
<li>Test the access in new destination (NFS/CIFS/iSCSI)</li>
</ul>
</ol>
</div>
<div><span id="more-115"></span></div>
<div><span style="text-decoration: underline;">5 snapmirror options that you need to know:</span></div>
<div>
<div>
<ol>
<li>&#8220;snapmirror <span style="color: #3366ff;">initialize</span> -S filername:vol_source filername:vol_destination&#8221; to establish relationship ( this is only for volume, qtree would be slightly different).</li>
<li>&#8220;snapmirror <span style="color: #3366ff;">status</span>&#8221; to check status</li>
<li>&#8220;snapmirror <span style="color: #3366ff;">update<span style="color: #000000;"> -S filername:vol_source </span></span> filername:vol_destination  &#8221; to update manually or use /etc/snapmirror.conf to schedule it.</li>
<li>&#8220;snapmirror <span style="color: #3366ff;">quiesce   </span>filername:vol_destination &#8221; to halt snapmirror progress.</li>
<li>&#8220;snapmirror <span style="color: #3366ff;">break </span> filername:vol_destination  &#8221; to break the relationship , so your destination is writable.</li>
</ol>
</div>
</div>
<div></div>
<div><span style="text-decoration: underline;">Example:</span></div>
<div></div>
<div>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">filer1<span style="color: #000000; font-weight: bold;">&gt;</span>snapmirror initialize <span style="color: #660033;">-S</span> source_filer:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>icd_sync<span style="color: #000000; font-weight: bold;">/</span>data1 filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
&nbsp;
=========================================================================================
&nbsp;
filer1<span style="color: #000000; font-weight: bold;">&gt;</span>snapmirror status
&nbsp;
Snapmirror is on.
Source Destination State Lag Status
source_filer:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>icd_sync<span style="color: #000000; font-weight: bold;">/</span>data1 filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1 Snapmirrored <span style="color: #000000;">21</span>:<span style="color: #000000;">48</span>:<span style="color: #000000;">37</span> Idle
&nbsp;
&nbsp;
=========================================================================================
&nbsp;
filer1<span style="color: #000000; font-weight: bold;">&gt;</span>snapmirror update <span style="color: #660033;">-S</span> source_filer:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>icd_sync<span style="color: #000000; font-weight: bold;">/</span>data1 filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
&nbsp;
Transfer started.
Monitor progress with <span style="color: #ff0000;">'snapmirror status'</span> or the snapmirror log.
&nbsp;
=========================================================================================
&nbsp;
filer1<span style="color: #000000; font-weight: bold;">&gt;</span>snapmirror status <span style="color: #660033;">-l</span> filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
Snapmirror is on.
&nbsp;
Source: source_filer:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>icd_sync<span style="color: #000000; font-weight: bold;">/</span>data1
Destination: filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
Status: Transferring
Progress: <span style="color: #000000;">278300</span> KB
State: Snapmirrored
Lag: <span style="color: #000000;">21</span>:<span style="color: #000000;">54</span>:<span style="color: #000000;">21</span>
Mirror Timestamp: Thu Mar <span style="color: #000000;">15</span> 02:<span style="color: #000000;">46</span>:<span style="color: #000000;">55</span> PDT <span style="color: #000000;">2012</span>
Base Snapshot: filer1<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">1873880973</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>_dr_temp_data1_data1-dst.2
Current Transfer Type: Update
Current Transfer Error: -
Contents: Transitioning
Last Transfer Type: Initialize
Last Transfer Size: <span style="color: #000000;">4967070104</span> KB
Last Transfer Duration: <span style="color: #000000;">14</span>:05:<span style="color: #000000;">50</span>
Last Transfer From: source_filer:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>icd_sync<span style="color: #000000; font-weight: bold;">/</span>data1
=========================================================================================
&nbsp;
filer1<span style="color: #000000; font-weight: bold;">&gt;</span>snapmirror status <span style="color: #660033;">-l</span> filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
Snapmirror is on.
&nbsp;
Source: source_filer:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>icd_sync<span style="color: #000000; font-weight: bold;">/</span>data1
Destination: filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
Status: Idle
Progress: -
State: Snapmirrored
Lag: 01:08:<span style="color: #000000;">52</span>
Mirror Timestamp: Fri Mar <span style="color: #000000;">16</span> 00:<span style="color: #000000;">49</span>:03 PDT <span style="color: #000000;">2012</span>
Base Snapshot: filer1<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">1873880973</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>_dr_temp_data1_data1-dst.4
Current Transfer Type: -
Current Transfer Error: -
Contents: Replica
Last Transfer Type: Update
Last Transfer Size: <span style="color: #000000;">20705884</span> KB
Last Transfer Duration: 01:08:<span style="color: #000000;">10</span>
Last Transfer From: source_filer:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>icd_sync<span style="color: #000000; font-weight: bold;">/</span>data1
&nbsp;
=========================================================================================
&nbsp;
filer1<span style="color: #000000; font-weight: bold;">&gt;</span>snapmirror quiesce filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
&nbsp;
snapmirror quiesce: <span style="color: #000000; font-weight: bold;">in</span> progress
This can be a long-running operation. Use Control - C <span style="color: #7a0874; font-weight: bold;">&#40;</span>^C<span style="color: #7a0874; font-weight: bold;">&#41;</span> to interrupt.
snapmirror quiesce: <span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1 : Successfully quiesced
&nbsp;
=========================================================================================
filer1<span style="color: #000000; font-weight: bold;">&gt;</span>snapmirror <span style="color: #7a0874; font-weight: bold;">break</span> filer1:<span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1
&nbsp;
snapmirror <span style="color: #7a0874; font-weight: bold;">break</span>: Destination <span style="color: #000000; font-weight: bold;">/</span>vol<span style="color: #000000; font-weight: bold;">/</span>dr_temp_data1<span style="color: #000000; font-weight: bold;">/</span>data1 is now writable.</pre></td></tr></table></div>

</div>
<div></div>
<div id="-chrome-auto-translate-plugin-dialog" style="opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; position: absolute !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; display: none; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;">
<div style="max-width: 300px !important; color: #fafafa !important; opacity: 0.8 !important; border-color: #000000 !important; border-width: 0px !important; -webkit-border-radius: 10px !important; background-color: #363636 !important; font-size: 16px !important; padding: 8px !important; overflow: visible !important; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #000), color-stop(50%, #363636), color-stop(100%, #000)); z-index: 999999 !important; text-align: left  !important;"></div>
<p><img style="position: absolute !important; z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; -webkit-border-radius: 20px; background-color: rgba(200, 200, 200, 0.3) !important; padding: 3px 5px 0 !important; margin: 0 !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2012/03/netapp-volume-migration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snapmirror alert script</title>
		<link>http://www.thinkway.info/2012/03/snapmirror-alert-script/</link>
		<comments>http://www.thinkway.info/2012/03/snapmirror-alert-script/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 06:10:01 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[NetApp]]></category>
		<category><![CDATA[alert]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Snapmirror]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=105</guid>
		<description><![CDATA[Snapmirror is very cool and fantastic tool command used for migration and mirroring. You can run the snapmirror using schedule (snapmirror.conf) and let it run. However, the draw back of snapmirror is keep the information for last transfer only. No more history more than last transfer. NO Alert sent when the job fail due to destination space is full (&#38; others reason) . &#160; That is a pain in axx , i have a backup mirror failed for weeks without &#8230; <a href="http://www.thinkway.info/2012/03/snapmirror-alert-script/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Snapmirror is very cool and fantastic tool command used for migration and mirroring. You can run the snapmirror using schedule (snapmirror.conf) and let it run.</p>
<p>However, the draw back of snapmirror is</p>
<ul>
<li>keep the information for last transfer only. No more history more than last transfer.</li>
<li>NO Alert sent when the job fail due to destination space is full (&amp; others reason) .</li>
</ul>
<p>&nbsp;<br />
<span id="more-105"></span><br />
That is a pain in axx , i have a backup mirror failed for weeks without me realizing it. So i have written a simple script to check on the activity.<br />
</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
 
&nbsp;
<span style="color: #666666; font-style: italic;">#Target NAS</span>
<span style="color: #007800;">nas</span>=<span style="color: #ff0000;">&quot;nas01&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Target Volume</span>
<span style="color: #007800;">volume</span>=<span style="color: #ff0000;">&quot;sync_backup&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Define acceptable threshold , 24 hours is acceptable but 48 hours to play safe in case not able to finish the mirror within 24 hours.</span>
<span style="color: #007800;">threshold</span>=<span style="color: #ff0000;">&quot;48&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Email to list.</span>
<span style="color: #007800;">mail_user_list</span>=<span style="color: #ff0000;">&quot;group1@testmail.com&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Email CC list</span>
<span style="color: #007800;">mail_cc_list</span>=<span style="color: #ff0000;">&quot;group2@testmail.com&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Command to get snapmirror lag time</span>
<span style="color: #007800;">mirror_hour</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #007800;">$nas</span> snapmirror status <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #007800;">$volume</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $4}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-f1</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">&quot;:&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Simple mail content.</span>
<span style="color: #007800;">message</span>=<span style="color: #ff0000;">'Perform snapmirror status to check from $nas
NAS = $nas
volume = $volume
threshold = $threshold
Lag time of snapmirror = $mirror_hour'</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$mirror_hour</span> <span style="color: #660033;">-gt</span> <span style="color: #007800;">$threshold</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$message</span> <span style="color: #000000; font-weight: bold;">|</span> mail <span style="color: #660033;">-s</span> <span style="color: #ff0000;">&quot;[Alert]snapmirror for syncbackup lag time greater than <span style="color: #007800;">$threshold</span> hours!&quot;</span> <span style="color: #660033;">-c</span> <span style="color: #007800;">$mail_cc_list</span> <span style="color: #007800;">$mail_user_list</span> <span style="color: #660033;">--</span> <span style="color: #660033;">-r</span> <span style="color: #ff0000;">&quot;tiwlim@testmail.com&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></td></tr></table></div>

<p></p>
<p>&nbsp;</p>
<p>My script will eventually check on the &#8220;Lag&#8221; time of snapmirror status. Lag time = last successful snapmirror activity till now. if you set a daily snapmirror happening once every day, you should not be getting lag time more than 24 hours. If it did, something is wrong and you may want to check more detail using &#8220;snapmirror status -l <Destination path>&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2012/03/snapmirror-alert-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>awk print output to 1 line</title>
		<link>http://www.thinkway.info/2011/12/awk-print-output-to-1-line/</link>
		<comments>http://www.thinkway.info/2011/12/awk-print-output-to-1-line/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 06:36:41 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=103</guid>
		<description><![CDATA[awk '{printf("%s ",$1) }' &#60;file name&#62;]]></description>
			<content:encoded><![CDATA[<p><code>awk '{printf("%s ",$1) }' &lt;file name&gt;</code></p>
<div id="-chrome-auto-translate-plugin-dialog" style="opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; position: absolute !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; display: none; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;">
<p><img style="position: absolute !important; z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; background-color: rgba(200, 200, 200, 0.3) !important; padding: 3px 5px 0 !important; margin: 0 !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2011/12/awk-print-output-to-1-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designsync dword</title>
		<link>http://www.thinkway.info/2011/12/designsync-dword/</link>
		<comments>http://www.thinkway.info/2011/12/designsync-dword/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 00:27:12 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[A-la-carte]]></category>
		<category><![CDATA[designsync]]></category>
		<category><![CDATA[dword]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=100</guid>
		<description><![CDATA[I have no result found from Google regarding Designsync dword and i think i should share it out after getting the info from Designsync support. Command: grep -H ServerMaintenanceMode=dword:1 /&#60;path&#62;/&#60;port_number&#62;/PortRegistry.reg dword:1 = Normal operation dword:2 = Set server to read-only mode dword:3 = block all read and write access to server]]></description>
			<content:encoded><![CDATA[<p>I have no result found from Google regarding Designsync dword and i think i should share it out after getting the info from Designsync support.</p>
<p>Command:</p>
<p>grep -H ServerMaintenanceMode=dword:1 /&lt;path&gt;/&lt;port_number&gt;/PortRegistry.reg</p>
<p>dword:1 = Normal operation</p>
<p>dword:2 = Set server to read-only mode</p>
<p>dword:3 = block all read and write access to server</p>
<div id="-chrome-auto-translate-plugin-dialog" style="opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; position: absolute !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; display: none; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;">
<div style="max-width: 300px !important; color: #fafafa !important; opacity: 0.8 !important; border-color: #000000 !important; border-width: 0px !important; background-color: #363636 !important; font-size: 16px !important; padding: 8px !important; overflow: visible !important; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #000), color-stop(50%, #363636), color-stop(100%, #000)); z-index: 999999 !important; text-align: left  !important;"></div>
<p><img style="position: absolute !important; z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; background-color: rgba(200, 200, 200, 0.3) !important; padding: 3px 5px 0 !important; margin: 0 !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2011/12/designsync-dword/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Simple Home NAS solution</title>
		<link>http://www.thinkway.info/2011/11/simple-home-nas-solution/</link>
		<comments>http://www.thinkway.info/2011/11/simple-home-nas-solution/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 03:30:50 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cheap nas]]></category>
		<category><![CDATA[fedora nas]]></category>
		<category><![CDATA[Home nas]]></category>
		<category><![CDATA[simple nas]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=94</guid>
		<description><![CDATA[I have been thinking on having my home NAS and i did survey for a few market product like QSNAP or SYNOLOGY will cost me near to 1000USD , if i were to get a RAID-5 + hot swap features. I struggled for a while and decided to use the simplest + cheap solution for home NAS to host my photo + movie + mp3. Step 1 &#8211; Identify OS: 1. Freenas &#8211; FreeBSD based , i like FreeBSD because &#8230; <a href="http://www.thinkway.info/2011/11/simple-home-nas-solution/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been thinking on having my home NAS and i did survey for a few market product like QSNAP or SYNOLOGY will cost me near to 1000USD , if i were to get a RAID-5 + hot swap features. I struggled for a while and decided to use the simplest + cheap solution for home NAS to host my photo + movie + mp3.</p>
<p><strong><span style="text-decoration: underline;">Step 1 &#8211; Identify OS:</span></strong></p>
<p>1. Freenas &#8211; FreeBSD based , i like FreeBSD because it was the core for Netapp too.</p>
<p>2. Openfiler &#8211; CentOS based, customized for NAS.</p>
<p>3. Fedora + Samba</p>
<p>I picked number 3 which is Fedora + Samba , as i still need my NAS OS to be a multi purpose server and i love YUM~</p>
<p><strong><span style="text-decoration: underline;"> Step2 &#8211; Hardware</span></strong></p>
<p>1. 2 years old HP 110 Netbook</p>
<p>2. 2TB Seagate External Harddisk</p>
<p>Finally&#8230;. the combination!</p>
<p><strong><span style="text-decoration: underline;"></p>
<div id="attachment_95" class="wp-caption aligncenter" style="width: 160px"><a href="http://www.thinkway.info/log/wp-content/uploads/2011/11/hp110.jpg"><img class="size-thumbnail wp-image-95" title="hp110" src="http://www.thinkway.info/log/wp-content/uploads/2011/11/hp110-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">HP 2 years old 110</p></div>
<div id="attachment_96" class="wp-caption aligncenter" style="width: 160px"><a href="http://www.thinkway.info/log/wp-content/uploads/2011/11/seagate2tb.jpg"><img class="size-thumbnail wp-image-96" title="seagate2tb" src="http://www.thinkway.info/log/wp-content/uploads/2011/11/seagate2tb-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">2TB Seagate External Disk</p></div>
<div id="attachment_98" class="wp-caption aligncenter" style="width: 160px"><a href="http://www.thinkway.info/log/wp-content/uploads/2011/11/fedora-logo.png"><img class="size-thumbnail wp-image-98" title="fedora-logo" src="http://www.thinkway.info/log/wp-content/uploads/2011/11/fedora-logo-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">Fedora 15</p></div>
<p></span></strong></p>
<div id="-chrome-auto-translate-plugin-dialog" style="opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; position: absolute !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; display: none; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;">
<div style="max-width: 300px !important; color: #fafafa !important; opacity: 0.8 !important; border-color: #000000 !important; border-width: 0px !important; background-color: #363636 !important; font-size: 16px !important; padding: 8px !important; overflow: visible !important; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #000), color-stop(50%, #363636), color-stop(100%, #000)); z-index: 999999 !important; text-align: left  !important;"></div>
<p><img style="position: absolute !important; z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; background-color: rgba(200, 200, 200, 0.3) !important; padding: 3px 5px 0 !important; margin: 0 !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2011/11/simple-home-nas-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to check if there is packet drop in Netapp filer</title>
		<link>http://www.thinkway.info/2011/10/how-to-check-if-there-is-packet-drop-in-netapp-filer/</link>
		<comments>http://www.thinkway.info/2011/10/how-to-check-if-there-is-packet-drop-in-netapp-filer/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 08:00:54 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[NetApp]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=91</guid>
		<description><![CDATA[Command: netstat -I e4a -d Output: Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Collis Drop e4a 9000 none none 2007724074 1 2991841358 0 0 0 &#160; 0 is the one you are looking for.]]></description>
			<content:encoded><![CDATA[<p>Command: netstat -I e4a -d</p>
<p>Output:<br />
Name   Mtu   Network             Address             Ipkts  Ierrs  Opkts  Oerrs  Collis   <span style="color: #ff0000;">Drop</span><br />
e4a     9000 none                none         2007724074      1  2991841358      0       0     <span style="color: #ff0000;">0</span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;">0 is the one you are looking for.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2011/10/how-to-check-if-there-is-packet-drop-in-netapp-filer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proper way to delete snapvault relationship</title>
		<link>http://www.thinkway.info/2011/08/proper-way-to-delete-snapvault-relationship/</link>
		<comments>http://www.thinkway.info/2011/08/proper-way-to-delete-snapvault-relationship/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 09:13:42 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[NetApp]]></category>
		<category><![CDATA[relationship]]></category>
		<category><![CDATA[snapvault]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=83</guid>
		<description><![CDATA[I have problem with my backup in Netapp Protection Manager, the backup using snapvault technology just hang and unable to run any backup at all. This is a bug according to them and will be fixed in 8.0.2(hopefully). I always wanted to know the proper way to remove snapvault relation shop and i am doing this today. Note: create case in Netapp to assist you in case you are uncertain of anything, this guideline is just for information sharing and &#8230; <a href="http://www.thinkway.info/2011/08/proper-way-to-delete-snapvault-relationship/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have problem with my backup in Netapp Protection Manager, the backup using snapvault technology just hang and unable to run any backup at all. This is a bug according to them and will be fixed in 8.0.2(hopefully). I always wanted to know the proper way to remove snapvault relation shop and i am doing this today.<br />
Note: create case in Netapp to assist you in case you are uncertain of anything, this guideline is just for information sharing and my own references.<br />
<br />
<code><br />
########################################################<br />
To list out the dfpm data set for job id(check from source snapshot)<br />
########################################################<br />
C:\Documents and Settings\admin1>dfpm dataset list -m 23953<br />
Id         Node Name            Dataset Id Dataset Name         Type            Name<br />
---------- -------------------- ---------- -------------------- --------------- -------------------------------------------------------<br />
     20538 filerSource               23953 VOL A Dataset new volume          filerSource:/volumeA<br />
     23955 filerDest                23953 VOL A Dataset new volume          filerDest:/volume_A_Dataset_new_backup<br />
     24400 filerDest                23953 VOL A Dataset new volume          filerDest:/volume_A_Dataset_new_backup_1</p>
<p>C:\Documents and Settings\admin1>dfpm dataset list -x 23953<br />
Id:                              23953<br />
Name:                            VOL A Dataset new<br />
Policy:                          Backup Policy For PG t28<br />
Description:<br />
Owner:<br />
Contact:<br />
Volume Qtree Name Prefix:<br />
DR Capable:                      No<br />
Requires Non Disruptive Restore: No</p>
<p>Node details:</p>
<p>   Node Name:           filerSource<br />
   Resource Pools:<br />
   Provisioning Policy:<br />
   Time Zone:<br />
   DR Capable:          No<br />
   vFiler:</p>
<p>   Node Name:           filerDest<br />
   Resource Pools:      PG DRNAS BACKUP 02<br />
   Provisioning Policy: No Dedupe Policy for Secondary<br />
   Time Zone:<br />
   DR Capable:          No<br />
   vFiler:</p>
<p>==========================</p>
<p>After</p>
<p>C:\Documents and Settings\admin1>dfpm dataset snapshot list 23953<br />
Id   Name            Unique Id    Volume          Timestamp            Versioned  Dependencies    % of Total Blocks<br />
---- --------------- ------------ --------------- -------------------- ---------- --------------- ----------<br />
75019592 dfpm_base(dataset-id-23953)conn1.3 1306675183   filerSource:/volumeA 29 May 2011 21:19:43 No         SnapVault       33%  (19%)<br />
83770083 dfpm_base(dataset-id-23953)conn1.0 1310908962   filerSource:/volumeA 17 Jul 2011 21:22:42 No         SnapVault,acs   13%  (11%)<br />
86355690 dfpm_base(dataset-id-25559)conn1.1 1311686499   filerSource:/volumeA 26 Jul 2011 21:21:39 No         Busy - SnapVault 3%  (2%)<br />
86355689 dfpm_base(dataset-id-25559)conn1.0 1311772921   filerSource:/volumeA 27 Jul 2011 21:22:01 No         Busy - SnapVault,acs 0%  (0%)<br />
86377105 nightly.0       1311782476   filerSource:/volumeA 28 Jul 2011 00:01:16 No         None            0%  (0%)</p>
<p>########################################################<br />
To delete snapshot in source from OM databse<br />
########################################################<br />
C:\Documents and Settings\admin1>dfpm dataset snapshot delete 23953 "filerSource:/volumeA" 75019592<br />
Dataset dry run results<br />
----------------------------------<br />
Do: Delete snapshots 'dfpm_base(dataset-id-23953)conn1.3' of volume filerSource:/volumeA (20538).<br />
Effect: Selected snapshots will be deleted.<br />
Following snapshots have applications dependent on them:<br />
dfpm_base(dataset-id-23953)conn1.3 - SnapVault</p>
<p>Started job 13340 to delete snapshot(s) of the volume 'filerSource:/volumeA' of the dataset 'VOL A Dataset new' (23953).</p>
<p>C:\Documents and Settings\admin1>dfpm dataset snapshot delete 23953 "filerSource:/volumeA" 83770083<br />
Dataset dry run results<br />
----------------------------------<br />
Do: Delete snapshots 'dfpm_base(dataset-id-23953)conn1.0' of volume filerSource:/volumeA (20538).<br />
Effect: Selected snapshots will be deleted.<br />
Following snapshots have applications dependent on them:<br />
dfpm_base(dataset-id-23953)conn1.0 - SnapVault, acs</p>
<p>Started job 13341 to delete snapshot(s) of the volume 'filerSource:/volumeA' of the dataset 'VOL A Dataset new' (23953).</p>
<p>########################################################<br />
To delete snapshot at destination, take few hours.<br />
########################################################</p>
<p>[root@linux tiwlim]# rsh filerDest snapvault stop filerDest:/vol/volume_A_Dataset_new_backup_1/t28lp_ip<br />
Stopping /vol/volume_A_Dataset_new_backup_1/t28lp_ip is permanent.<br />
The secondary qtree will be deleted.<br />
Further incremental updates will be impossible.<br />
Data already stored in snapshots will not be deleted.<br />
This may take a long time to complete.<br />
Are you sure you want to do this? y<br />
Snapvault configuration for the qtree has been deleted.<br />
</code><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2011/08/proper-way-to-delete-snapvault-relationship/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>python script for simple write and delete test</title>
		<link>http://www.thinkway.info/2011/06/python-script-for-simple-write-and-delete-test/</link>
		<comments>http://www.thinkway.info/2011/06/python-script-for-simple-write-and-delete-test/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 08:38:06 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[write test]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=72</guid>
		<description><![CDATA[Have been interested for python script and finally i got a chance to play with it. So the mission for today is to create the write and delete test for my environment. Local machine  &#8212;-COPY&#8212;&#62;  Mounted filesystem in NAS Why i am doing so? to get a baseline for my write and delete operation.I will make use of &#8220;time&#8221; command to get total runtime for the script to complete the operation. So here goes the simple script(Feel free to provide &#8230; <a href="http://www.thinkway.info/2011/06/python-script-for-simple-write-and-delete-test/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Have been interested for python script and finally i got a chance to play with it.</p>
<p>So the mission for today is to create the write and delete test for my environment.</p>
<p>Local machine  &#8212;-COPY&#8212;&gt;  Mounted filesystem in NAS</p>
<p>Why i am doing so? to get a baseline for my write and delete operation.I will make use of &#8220;time&#8221; command to get total runtime for the script to complete the operation. So here goes the simple script(Feel free to provide your code if you have idea, i am a noob in python:) )<br />
<br />
BTW, Nanako is just an echo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">shutil</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#set source path &amp; file name</span>
src = <span style="color: #483d8b;">&quot;/usr2/&quot;</span>
file_name = <span style="color: #483d8b;">&quot;testfile.txt&quot;</span>
source_file_path = src + file_name
&nbsp;
<span style="color: #808080; font-style: italic;">#set destination path</span>
dest = <span style="color: #483d8b;">&quot;/data/tingwei/test_copy/&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#set number of copies for the copying progress</span>
copies = <span style="color: #ff4500;">1000</span>
dir_copies = <span style="color: #ff4500;">10</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>dir_copies<span style="color: black;">&#41;</span>:
    dirname = dest + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">isdir</span><span style="color: black;">&#40;</span>dirname<span style="color: black;">&#41;</span>:
        <span style="color: #dc143c;">os</span>.<span style="color: black;">mkdir</span><span style="color: black;">&#40;</span>dirname<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Nanako: mkdir &quot;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>dirname<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;">#start progress</span>
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Nanako: Ready to copy &quot;</span> + <span style="color: #66cc66;">`</span>copies<span style="color: #66cc66;">`</span> + <span style="color: #483d8b;">&quot; files.&quot;</span>
        <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>copies<span style="color: black;">&#41;</span>:
                new_file_name = file_name + <span style="color: #66cc66;">`</span>i<span style="color: #66cc66;">`</span>
                dest_file_path = dirname + <span style="color: #483d8b;">&quot;/&quot;</span> + new_file_name
                <span style="color: #dc143c;">shutil</span>.<span style="color: black;">copyfile</span> <span style="color: black;">&#40;</span>source_file_path, dest_file_path<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Nanako: Done copying &quot;</span> + <span style="color: #66cc66;">`</span>copies<span style="color: #66cc66;">`</span> + <span style="color: #483d8b;">&quot; files.&quot;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Nanako: Preparing to cleanup &quot;</span> + dest
&nbsp;
<span style="color: #808080; font-style: italic;">#this line is to remove the files &amp; directories created</span>
<span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">listdir</span><span style="color: black;">&#40;</span>dest<span style="color: black;">&#41;</span>:
   <span style="color: #dc143c;">shutil</span>.<span style="color: black;">rmtree</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>dest,x<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#just in case you want to see is there any left over in the destination</span>
<span style="color: #ff7700;font-weight:bold;">def</span> listdir_fullpath<span style="color: black;">&#40;</span>d<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>d, f<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> f <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">listdir</span><span style="color: black;">&#40;</span>d<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> listdir_fullpath<span style="color: black;">&#40;</span>dest<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span> i</pre></td></tr></table></div>

<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2011/06/python-script-for-simple-write-and-delete-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ndmpcopy duration</title>
		<link>http://www.thinkway.info/2010/12/ndmpcopy-duration/</link>
		<comments>http://www.thinkway.info/2010/12/ndmpcopy-duration/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 10:36:35 +0000</pubDate>
		<dc:creator>TingWei</dc:creator>
				<category><![CDATA[NetApp]]></category>

		<guid isPermaLink="false">http://www.thinkway.info/?p=69</guid>
		<description><![CDATA[I have to migrate a volume from filerA to filerB , instead of using snapmirror, i will give ndmpcopy a chance. Like snapmirror it is a block level transfer(lot faster than rsync). The benefit for this would be the single file/directory that we are able to move. snapmirror transfer entire volume while ndmpcopy, we can copy a single directory within a volume, and yet still using block level. Below is just the example output i have for references: I am &#8230; <a href="http://www.thinkway.info/2010/12/ndmpcopy-duration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have to migrate a volume from filerA to filerB , instead of using snapmirror, i will give ndmpcopy a chance.<br />
Like snapmirror it is a block level transfer(lot faster than rsync). The benefit for this would be the single file/directory that we are able to move. snapmirror transfer entire volume while ndmpcopy, we can copy a single directory within a volume, and yet still using block level.</p>
<p>Below is just the example output i have for references:<br />
I am copying from a FAS3170 to FAS960<br />
Directory size: 1.5TB<br />
<span style="font-family: mceinline;"> ~45MBps!!!!</span><br />
Time taken: 9 hours 15 minute<br />
Ndmpcopy: filerA: Log: DUMP: dumping (Pass V) [ACLs]<br />
Ndmpcopy: filerA: Log: DUMP: 1563223738 KB<br />
Ndmpcopy: filerB: Log: RESTORE: RESTORE IS DONE<br />
Ndmpcopy: filerB: Log: RESTORE: The destination path is /vol/vol_restore/re                                                                             store/<br />
Ndmpcopy: filerB: Notify: restore successful<br />
Ndmpcopy: filerA: Log: DUMP: DUMP IS DONE<br />
Ndmpcopy: filerA: Log: DUMP: Deleting &#8220;/vol/fc_loan/../snapshot_for_                                                                          backup.195&#8243; snapshot.<br />
Ndmpcopy: filerA: Notify: dump successful<br />
Ndmpcopy: Transfer successful [ 9 hours 15 minutes 47 seconds ]<br />
Ndmpcopy: Done</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkway.info/2010/12/ndmpcopy-duration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

