<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: IBM DS3300 iSCSI Write Performance Solved</title>
	<atom:link href="http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/feed/" rel="self" type="application/rss+xml" />
	<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ibm-ds3300-iscsi-write-performance-solved</link>
	<description>VMware News, Views, &#38; How-To&#039;s from Josh Townsend</description>
	<lastBuildDate>Sat, 24 Jul 2010 21:00:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Free SAN Monitor for DS3300, MD3000i and others &#124; VMtoday</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-644</link>
		<dc:creator>Free SAN Monitor for DS3300, MD3000i and others &#124; VMtoday</dc:creator>
		<pubDate>Fri, 07 May 2010 21:55:12 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-644</guid>
		<description>[...] of my most popular posts to date had been IBM DS3300 Write Performance Problem Solved.  I am pleased to have upgrade my internal environment to an EMC Clariion CX4 array, but still [...]</description>
		<content:encoded><![CDATA[<p>[...] of my most popular posts to date had been IBM DS3300 Write Performance Problem Solved.  I am pleased to have upgrade my internal environment to an EMC Clariion CX4 array, but still [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Townsend</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-640</link>
		<dc:creator>Joshua Townsend</dc:creator>
		<pubDate>Wed, 05 May 2010 14:46:56 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-640</guid>
		<description>Leandro - happy to hear this was helpful for you!

-Josh</description>
		<content:encoded><![CDATA[<p>Leandro &#8211; happy to hear this was helpful for you!</p>
<p>-Josh</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leandro Cruz (Brazil_</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-637</link>
		<dc:creator>Leandro Cruz (Brazil_</dc:creator>
		<pubDate>Tue, 04 May 2010 21:20:38 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-637</guid>
		<description>Josh,

This simply saved my life! When I checked my MD3000i settings I realized the some LUNs had the status below:

Read cache:                            Enabled                        
Write cache:                           Enabled (currently suspended)

I had to set writeCacheEnabled to FALSE before setting to TRUE. The performance changed dramatically on the fly. I had a heavy Oracle write operation going on and svctm (iostat -xm 2) dropped from 20ms to near 0ms. Bandwidth went from 79Mbps to an avg of 150Mbps. The overall application performance is now at least 10 times better.


Cheers,

Leandro Cruz</description>
		<content:encoded><![CDATA[<p>Josh,</p>
<p>This simply saved my life! When I checked my MD3000i settings I realized the some LUNs had the status below:</p>
<p>Read cache:                            Enabled<br />
Write cache:                           Enabled (currently suspended)</p>
<p>I had to set writeCacheEnabled to FALSE before setting to TRUE. The performance changed dramatically on the fly. I had a heavy Oracle write operation going on and svctm (iostat -xm 2) dropped from 20ms to near 0ms. Bandwidth went from 79Mbps to an avg of 150Mbps. The overall application performance is now at least 10 times better.</p>
<p>Cheers,</p>
<p>Leandro Cruz</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Townsend</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-447</link>
		<dc:creator>Joshua Townsend</dc:creator>
		<pubDate>Tue, 19 Jan 2010 16:46:02 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-447</guid>
		<description>Jerry -

Good questions!  RAID will only protect that data that is already on disk, not data that is in the cache waiting to be written to disk.  The risk comes in when you are writing some changes to disk (say to a SQL DB) and only some of the blocks are written to disk, the remaining writes are still in cache.  If the single controller dies, the data in cache does not get flushed to disk and the SQL DB is inconsistent/corrupt.  The controllers in the DS3300 have battery-backed cache, so a power loss to the array should trigger not be an issue as the contents of the cache will be held as long as the battery can support, and written to disk once power is restored and disks are spinning.  The big risk is a catastrophic failure of the controller, but in that case you probably have bigger issues to worry about (like rebuilding your RAID sets) and/or a DR situation.

In a test/dev environment, I personally see no problem with disabling cache mirroring to enable write caching.  In a production environment, I would think twice before accepting the risk, make sure I have good monitoring, and argue long and hard for a second controller for proper redundancy.</description>
		<content:encoded><![CDATA[<p>Jerry -</p>
<p>Good questions!  RAID will only protect that data that is already on disk, not data that is in the cache waiting to be written to disk.  The risk comes in when you are writing some changes to disk (say to a SQL DB) and only some of the blocks are written to disk, the remaining writes are still in cache.  If the single controller dies, the data in cache does not get flushed to disk and the SQL DB is inconsistent/corrupt.  The controllers in the DS3300 have battery-backed cache, so a power loss to the array should trigger not be an issue as the contents of the cache will be held as long as the battery can support, and written to disk once power is restored and disks are spinning.  The big risk is a catastrophic failure of the controller, but in that case you probably have bigger issues to worry about (like rebuilding your RAID sets) and/or a DR situation.</p>
<p>In a test/dev environment, I personally see no problem with disabling cache mirroring to enable write caching.  In a production environment, I would think twice before accepting the risk, make sure I have good monitoring, and argue long and hard for a second controller for proper redundancy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jerry T</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-446</link>
		<dc:creator>Jerry T</dc:creator>
		<pubDate>Tue, 19 Jan 2010 09:56:25 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-446</guid>
		<description>Firstly this is a great article! I have followed your article and executed the commands via the SMCli. I ran SQLIO tests before and after and actually notice quite a difference. My question is that I have only 1 controller (512Mb cache) on my DS3300 and I lose that controller, i.e it fails, how can the cache be written to the disk if the controller is unavailable? I am finding it hard to see how having the setting at the default is that much of a risk? I have redundancy at the RAID level which is fine but surely just purchasing the one controller exposes you to some risk anyhow? From what you have written here, because there is no 2nd controller to mirror to, the array suspends write caching, well that&#039;s obvious?

I&#039;m failing to see why you would want to enable mirrorenabled when you have no second controller?

Cheers</description>
		<content:encoded><![CDATA[<p>Firstly this is a great article! I have followed your article and executed the commands via the SMCli. I ran SQLIO tests before and after and actually notice quite a difference. My question is that I have only 1 controller (512Mb cache) on my DS3300 and I lose that controller, i.e it fails, how can the cache be written to the disk if the controller is unavailable? I am finding it hard to see how having the setting at the default is that much of a risk? I have redundancy at the RAID level which is fine but surely just purchasing the one controller exposes you to some risk anyhow? From what you have written here, because there is no 2nd controller to mirror to, the array suspends write caching, well that&#8217;s obvious?</p>
<p>I&#8217;m failing to see why you would want to enable mirrorenabled when you have no second controller?</p>
<p>Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott C.</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-132</link>
		<dc:creator>Scott C.</dc:creator>
		<pubDate>Fri, 25 Sep 2009 21:36:58 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-132</guid>
		<description>As an ex-IBMer and current IBM Business Partner I would have to agree with you on the documentation aspect of finding things within IBM.com. Thought I might share this link with you which I often share with my customers and others which can make it a bit easier to find what you are looking for within IBM. 

http://www.ibmquicklinks.com/

The IBM website is just sooo huge and the search functionality very hit or miss, but this is a good aggregation of main links. 
Also, I&#039;d recommend contacting a skilled IBM Business Partner or two when you run into issues like this, as they are usually more eager to consult customers like yourselves and help them through issues which they&#039;ve more than likely run into multiple times in the past and may have an easy answer to based on experience. We often do this for no fee to show our value add and hopefully earn your business in the future.
While trolling the net to try and find answer may be fun at times, it&#039;s probably not the most efficient use of your time. Let me do the trolling for you, if I don&#039;t have the answer already     : )</description>
		<content:encoded><![CDATA[<p>As an ex-IBMer and current IBM Business Partner I would have to agree with you on the documentation aspect of finding things within IBM.com. Thought I might share this link with you which I often share with my customers and others which can make it a bit easier to find what you are looking for within IBM. </p>
<p><a href="http://www.ibmquicklinks.com/" rel="nofollow">http://www.ibmquicklinks.com/</a></p>
<p>The IBM website is just sooo huge and the search functionality very hit or miss, but this is a good aggregation of main links.<br />
Also, I&#8217;d recommend contacting a skilled IBM Business Partner or two when you run into issues like this, as they are usually more eager to consult customers like yourselves and help them through issues which they&#8217;ve more than likely run into multiple times in the past and may have an easy answer to based on experience. We often do this for no fee to show our value add and hopefully earn your business in the future.<br />
While trolling the net to try and find answer may be fun at times, it&#8217;s probably not the most efficient use of your time. Let me do the trolling for you, if I don&#8217;t have the answer already     : )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Townsend</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-61</link>
		<dc:creator>Joshua Townsend</dc:creator>
		<pubDate>Thu, 20 Aug 2009 14:14:39 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-61</guid>
		<description>Right you are, Andy!  There certainly is risk in over-riding the default setting in a single-controller configuration.  I weighed the risk of corruption against performance and determined that in my specific use case the risk was acceptable.  I encourage all readers to weigh the risk in their environment before making the changes I highlighted.

If the risk is unacceptable, you should add a 2nd controller (DS3300 Controller Upgrade 1726  HC3  Feature code: 4925) or accept slower-than expected writes.  If you are upgrading, you may also consider upgrading the 512MB cache in each controller to 1GB (DS3000 1GB Cache Memory Upgrade Feature Code: 4838 [$929.00 each]).  All available parts/upgrades for the DS3300 can be found here: http://www-01.ibm.com/cgi-bin/common/ssi/ssialias?infotype=an&amp;subtype=ca&amp;htmlfid=897/ENUS107-517&amp;appname=isource&amp;language=enus</description>
		<content:encoded><![CDATA[<p>Right you are, Andy!  There certainly is risk in over-riding the default setting in a single-controller configuration.  I weighed the risk of corruption against performance and determined that in my specific use case the risk was acceptable.  I encourage all readers to weigh the risk in their environment before making the changes I highlighted.</p>
<p>If the risk is unacceptable, you should add a 2nd controller (DS3300 Controller Upgrade 1726  HC3  Feature code: 4925) or accept slower-than expected writes.  If you are upgrading, you may also consider upgrading the 512MB cache in each controller to 1GB (DS3000 1GB Cache Memory Upgrade Feature Code: 4838 [$929.00 each]).  All available parts/upgrades for the DS3300 can be found here: <a href="http://www-01.ibm.com/cgi-bin/common/ssi/ssialias?infotype=an&#038;subtype=ca&#038;htmlfid=897/ENUS107-517&#038;appname=isource&#038;language=enus" rel="nofollow">http://www-01.ibm.com/cgi-bin/common/ssi/ssialias?infotype=an&#038;subtype=ca&#038;htmlfid=897/ENUS107-517&#038;appname=isource&#038;language=enus</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-60</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Thu, 20 Aug 2009 12:59:04 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-60</guid>
		<description>You&#039;re gambling with your data integrity if you enable write cache on a single controller model this way, if any component fails on the single controller you&#039;ve told the OS that the data has been committed but it&#039;s only in cache. That&#039;s OK if the cache can be moved to a replacement controller without disconnecting the battery since the replacement controller can then commit it to the disks but the DS3300 cache can&#039;t be transported with the battery attached AFAIK.

I agree about IBM&#039;s documentation, you can only find the info if you call it a FastT rather than DS3300.</description>
		<content:encoded><![CDATA[<p>You&#8217;re gambling with your data integrity if you enable write cache on a single controller model this way, if any component fails on the single controller you&#8217;ve told the OS that the data has been committed but it&#8217;s only in cache. That&#8217;s OK if the cache can be moved to a replacement controller without disconnecting the battery since the replacement controller can then commit it to the disks but the DS3300 cache can&#8217;t be transported with the battery attached AFAIK.</p>
<p>I agree about IBM&#8217;s documentation, you can only find the info if you call it a FastT rather than DS3300.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Townsend</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-54</link>
		<dc:creator>Joshua Townsend</dc:creator>
		<pubDate>Fri, 07 Aug 2009 00:30:16 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-54</guid>
		<description>Mark - I&#039;m working from memory here, but as I recall, best practice is to set flow control to Rx only on the switch.  The DS3300 should detect that the switch is receiving and will auto-set to Tx (and I think Rx but I couldn&#039;t find the documentation on this tonight).  Flow control on ESX should be auto-negotiated by default, so it too should also transmit.  Hope this helps.  Feel free to post back with additional questions or any answers that you dig up in your own research.

Josh</description>
		<content:encoded><![CDATA[<p>Mark &#8211; I&#8217;m working from memory here, but as I recall, best practice is to set flow control to Rx only on the switch.  The DS3300 should detect that the switch is receiving and will auto-set to Tx (and I think Rx but I couldn&#8217;t find the documentation on this tonight).  Flow control on ESX should be auto-negotiated by default, so it too should also transmit.  Hope this helps.  Feel free to post back with additional questions or any answers that you dig up in your own research.</p>
<p>Josh</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Breaux</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-47</link>
		<dc:creator>Mark Breaux</dc:creator>
		<pubDate>Fri, 31 Jul 2009 19:21:44 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-47</guid>
		<description>Do you set flow control on the switch, vSphere 4, and the IBM DS3300?

Thanks,
Mark</description>
		<content:encoded><![CDATA[<p>Do you set flow control on the switch, vSphere 4, and the IBM DS3300?</p>
<p>Thanks,<br />
Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Townsend</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-36</link>
		<dc:creator>Joshua Townsend</dc:creator>
		<pubDate>Mon, 06 Jul 2009 14:13:15 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-36</guid>
		<description>@Switchgott - There are several areas for you to consider in your troubleshooting:

1.) Have you reached the max performance of your unit and workload?  That is, with your current disk type, disk count, and RAID configuration, have you reached max load with your application profile (random read, sequential write, etc.)?  If so, consider changing disk type, adding disks, or changing RAID type to better match your requirements.  Use the SMCLI to capture performance stats and compare what you see to industry standard published numbers for IOPS under specific workloads.

2.) Write cache could still be disabled on your dual-controller unit.  Use the SMCLI to determine if write caching is suspended - this could happen with an incomplete batter learn cycle, for example.

3.) Do you have a configuration error?  Perhaps Jumbo Frames are enabled on the array, but not through the rest of the architecture (network switches, servers, etc.).  Poor quality switches, oversubscribed switches, incorrect flow control settings, poor quality iSCSI initiators, multi-pathing errors, etc. could all cause problems on your system.

I hope this helps - feel free to post back a reply if you have more questions and I&#039;ll do my best to help.

Josh</description>
		<content:encoded><![CDATA[<p>@Switchgott &#8211; There are several areas for you to consider in your troubleshooting:</p>
<p>1.) Have you reached the max performance of your unit and workload?  That is, with your current disk type, disk count, and RAID configuration, have you reached max load with your application profile (random read, sequential write, etc.)?  If so, consider changing disk type, adding disks, or changing RAID type to better match your requirements.  Use the SMCLI to capture performance stats and compare what you see to industry standard published numbers for IOPS under specific workloads.</p>
<p>2.) Write cache could still be disabled on your dual-controller unit.  Use the SMCLI to determine if write caching is suspended &#8211; this could happen with an incomplete batter learn cycle, for example.</p>
<p>3.) Do you have a configuration error?  Perhaps Jumbo Frames are enabled on the array, but not through the rest of the architecture (network switches, servers, etc.).  Poor quality switches, oversubscribed switches, incorrect flow control settings, poor quality iSCSI initiators, multi-pathing errors, etc. could all cause problems on your system.</p>
<p>I hope this helps &#8211; feel free to post back a reply if you have more questions and I&#8217;ll do my best to help.</p>
<p>Josh</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Switchgott</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-35</link>
		<dc:creator>Switchgott</dc:creator>
		<pubDate>Mon, 06 Jul 2009 12:40:38 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-35</guid>
		<description>Hi,
thanks for your great articel,
but what about performance problem with dual controller?</description>
		<content:encoded><![CDATA[<p>Hi,<br />
thanks for your great articel,<br />
but what about performance problem with dual controller?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vladimir</title>
		<link>http://vmtoday.com/2009/06/ibm-ds3300-iscsi-write-performance-solved/comment-page-1/#comment-34</link>
		<dc:creator>Vladimir</dc:creator>
		<pubDate>Sat, 04 Jul 2009 16:11:21 +0000</pubDate>
		<guid isPermaLink="false">http://vmtoday.com/?p=94#comment-34</guid>
		<description>Hi Joshua! You wrote a perfect article! It has very much helped me.</description>
		<content:encoded><![CDATA[<p>Hi Joshua! You wrote a perfect article! It has very much helped me.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
