<?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: Aligning ASM Disks on Linux</title>
	<atom:link href="http://www.pythian.com/news/411/aligning-asm-disks-on-linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/</link>
	<description>News and views from Pythian DBAs</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:01:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>By: Moluccan &#187; Blog Archive &#187; disk partitions</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-565419</link>
		<dc:creator>Moluccan &#187; Blog Archive &#187; disk partitions</dc:creator>
		<pubDate>Mon, 04 Jul 2011 17:26:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-565419</guid>
		<description>[...] (Where ?? are the characters used to identify the device.) The reason we are using 32768 as the start block for the device is because of the way scsi/san volume mapping uses the first few blocks of a device and subsequently causes excessive write I/O. This is better explained in the following link: http://www.pythian.com/news/411/aligning-asm-disks-on-linux [...]</description>
		<content:encoded><![CDATA[<p>[...] (Where ?? are the characters used to identify the device.) The reason we are using 32768 as the start block for the device is because of the way scsi/san volume mapping uses the first few blocks of a device and subsequently causes excessive write I/O. This is better explained in the following link: <a href="http://www.pythian.com/news/411/aligning-asm-disks-on-linux" rel="nofollow">http://www.pythian.com/news/411/aligning-asm-disks-on-linux</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amir Riaz</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-517287</link>
		<dc:creator>Amir Riaz</dc:creator>
		<pubDate>Fri, 04 Mar 2011 18:34:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-517287</guid>
		<description>nice article,  thanks for sharing</description>
		<content:encoded><![CDATA[<p>nice article,  thanks for sharing</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christo Kutrovsky</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-400887</link>
		<dc:creator>Christo Kutrovsky</dc:creator>
		<pubDate>Wed, 27 Jan 2010 19:11:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-400887</guid>
		<description>Yuri,

With metaluns and etc it quickly becomes far more complicated than one can measure reliably. At least at this point.

The goal here is to ensure Oracle&#039;s reads are aligned to some power of 2 with the LUN.

The process I described exists due to old style legacy disk partitioning (cylinders/heads). Today, we rely on LBAs, and just treat the space linearly.

fdisk (and others) however still operates under legacy assumptions for disks &gt; 32 GB, and thus tries to align on something that doens&#039;t exist anymore (cylinders).

Thus we align on power of two on LBA under the assumption that the underling storage will be able to better serve us , and be able to better optimize it&#039;s caching blocks internally .</description>
		<content:encoded><![CDATA[<p>Yuri,</p>
<p>With metaluns and etc it quickly becomes far more complicated than one can measure reliably. At least at this point.</p>
<p>The goal here is to ensure Oracle&#8217;s reads are aligned to some power of 2 with the LUN.</p>
<p>The process I described exists due to old style legacy disk partitioning (cylinders/heads). Today, we rely on LBAs, and just treat the space linearly.</p>
<p>fdisk (and others) however still operates under legacy assumptions for disks > 32 GB, and thus tries to align on something that doens&#8217;t exist anymore (cylinders).</p>
<p>Thus we align on power of two on LBA under the assumption that the underling storage will be able to better serve us , and be able to better optimize it&#8217;s caching blocks internally .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yury Velikanov</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-398207</link>
		<dc:creator>Yury Velikanov</dc:creator>
		<pubDate>Fri, 15 Jan 2010 04:27:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-398207</guid>
		<description>Hi Christo,

It is very cool article thank you for sharing it with us. I do have few questions/doubts about the approach and the way to validate it.

-- In Enterprise SAN infrastructure LUN-s are provided from Storage Backend to Oracle – consumer  without any relatable information (I assume here please correct me if I am wrong) about physical lay out of the underlying disks. I mean that SAN infrastructure hides the information such us cylinders/sectors/etc as each LUN isn&#039;t a separate physical disk anymore. It is combination of disks and stripe technology used by particular vendor (with hopefully their own optimization). By the time a LUN presented to Linux/fdisk (I assume) it is far way from being a simple disk. Therefore I even assuming that we making a right offset to avoid double IO in certain cases I would like to have some good method to verify my configuration (see second point)

-- Let&#039;s imagine we made a 16MB offset creating our partition. We made an assumption that it will help us to increase IO performance by 12%. Question is there any good way to validate our assumption? I would like to be certain that I am releasing a storage chunk to my production space consumers in best possible configuration. Could you think about a simple test to validate our suggested assumption? I am guessing that iostat couldn&#039;t be used in that case as we are talking about lower level IO split on device driver layer or in case of SAN it is going to be hidden somewhere in IO backend controllers.

-- It looks like the way you put the suggestion it applies to fdisk only. Most probably the other volume managers (like Veritas etc) might have the same issue however it should be checked separately (with vendor support etc). 

-- If the reason to introduce fdisk activity is &quot;make explicit that something exists&quot;, I would introduce an additional maintenance procedures for the technical stuff and would make sure that everybody aware about the configuration chosen and would go with direct device usage (/dev/sdc rather then /dev/sdc1) to avoid an additional IO layer (partition) and risks of loosing 12% of IO performance. Are there other reasons to use partitions? I assume here that fdisk doesn&#039;t help to address devices permissions and naming issue.

Thank you in advance,
Yury</description>
		<content:encoded><![CDATA[<p>Hi Christo,</p>
<p>It is very cool article thank you for sharing it with us. I do have few questions/doubts about the approach and the way to validate it.</p>
<p>&#8211; In Enterprise SAN infrastructure LUN-s are provided from Storage Backend to Oracle – consumer  without any relatable information (I assume here please correct me if I am wrong) about physical lay out of the underlying disks. I mean that SAN infrastructure hides the information such us cylinders/sectors/etc as each LUN isn&#8217;t a separate physical disk anymore. It is combination of disks and stripe technology used by particular vendor (with hopefully their own optimization). By the time a LUN presented to Linux/fdisk (I assume) it is far way from being a simple disk. Therefore I even assuming that we making a right offset to avoid double IO in certain cases I would like to have some good method to verify my configuration (see second point)</p>
<p>&#8211; Let&#8217;s imagine we made a 16MB offset creating our partition. We made an assumption that it will help us to increase IO performance by 12%. Question is there any good way to validate our assumption? I would like to be certain that I am releasing a storage chunk to my production space consumers in best possible configuration. Could you think about a simple test to validate our suggested assumption? I am guessing that iostat couldn&#8217;t be used in that case as we are talking about lower level IO split on device driver layer or in case of SAN it is going to be hidden somewhere in IO backend controllers.</p>
<p>&#8211; It looks like the way you put the suggestion it applies to fdisk only. Most probably the other volume managers (like Veritas etc) might have the same issue however it should be checked separately (with vendor support etc). </p>
<p>&#8211; If the reason to introduce fdisk activity is &#8220;make explicit that something exists&#8221;, I would introduce an additional maintenance procedures for the technical stuff and would make sure that everybody aware about the configuration chosen and would go with direct device usage (/dev/sdc rather then /dev/sdc1) to avoid an additional IO layer (partition) and risks of loosing 12% of IO performance. Are there other reasons to use partitions? I assume here that fdisk doesn&#8217;t help to address devices permissions and naming issue.</p>
<p>Thank you in advance,<br />
Yury</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-325965</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Wed, 07 Jan 2009 16:17:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-325965</guid>
		<description>Why is your text so pale?  Use plain BLACK, not gray.  Don&#039;t make your text hard to read.</description>
		<content:encoded><![CDATA[<p>Why is your text so pale?  Use plain BLACK, not gray.  Don&#8217;t make your text hard to read.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben M.</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-299072</link>
		<dc:creator>Ben M.</dc:creator>
		<pubDate>Wed, 12 Nov 2008 17:04:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-299072</guid>
		<description>Great post indeed! Very hard to find information about this topic.

An other great page is the following:
http://insights.oetiker.ch/linux/raidoptimization.html

What would be great is a complete post on how to optimize the whole thing... 

HW RAID -&gt;Â Partitioning -&gt; LVM -&gt;Â File system option (Ext3 like stride, fs-type largefile4, etc)

About the following:

 &gt; Essentially, I â€œwasteâ€ 16 MBs, but gain aligned
 &gt; I/O for stripe width of up to 16 MB.&quot;

Based on the following page, I suspect &quot;stripe width&quot; isn&#039;t rightly used here...

&quot;Stripe width refers to the number of parallel stripes that can be written to or read from simultaneously. This is of course equal to the number of disks in the array.&quot;

http://www.storagereview.com/guide2000/ref/hdd/perf/raid/concepts/perfStripe.html</description>
		<content:encoded><![CDATA[<p>Great post indeed! Very hard to find information about this topic.</p>
<p>An other great page is the following:<br />
<a href="http://insights.oetiker.ch/linux/raidoptimization.html" rel="nofollow">http://insights.oetiker.ch/linux/raidoptimization.html</a></p>
<p>What would be great is a complete post on how to optimize the whole thing&#8230; </p>
<p>HW RAID -&gt;Â Partitioning -&gt; LVM -&gt;Â File system option (Ext3 like stride, fs-type largefile4, etc)</p>
<p>About the following:</p>
<p> &gt; Essentially, I â€œwasteâ€ 16 MBs, but gain aligned<br />
 &gt; I/O for stripe width of up to 16 MB.&#8221;</p>
<p>Based on the following page, I suspect &#8220;stripe width&#8221; isn&#8217;t rightly used here&#8230;</p>
<p>&#8220;Stripe width refers to the number of parallel stripes that can be written to or read from simultaneously. This is of course equal to the number of disks in the array.&#8221;</p>
<p><a href="http://www.storagereview.com/guide2000/ref/hdd/perf/raid/concepts/perfStripe.html" rel="nofollow">http://www.storagereview.com/guide2000/ref/hdd/perf/raid/concepts/perfStripe.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hai Wu</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-48151</link>
		<dc:creator>Hai Wu</dc:creator>
		<pubDate>Wed, 09 May 2007 23:11:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-48151</guid>
		<description>Ok. thanks for the confirmation. I will go with 2048 (1mb) then.</description>
		<content:encoded><![CDATA[<p>Ok. thanks for the confirmation. I will go with 2048 (1mb) then.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Edwards</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-48054</link>
		<dc:creator>David Edwards</dc:creator>
		<pubDate>Wed, 09 May 2007 18:43:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-48054</guid>
		<description>[Editorial Note: Christo pointed out that the sidebar on this page was getting pushed to the very bottom in IE browsers.  The culprit was the long raw URL in the first comment (by LSC).  To fix it, I edited the comment, condensing the URL into the words &quot;this paper from Oracle&quot;.  The rest of that comment is untouched.]</description>
		<content:encoded><![CDATA[<p>[Editorial Note: Christo pointed out that the sidebar on this page was getting pushed to the very bottom in IE browsers.  The culprit was the long raw URL in the first comment (by LSC).  To fix it, I edited the comment, condensing the URL into the words "this paper from Oracle".  The rest of that comment is untouched.]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christo Kutrovsky</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-48042</link>
		<dc:creator>Christo Kutrovsky</dc:creator>
		<pubDate>Wed, 09 May 2007 17:36:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-48042</guid>
		<description>It&#039;s all good. However, consider this. ASM does it&#039;s allocations in 1mb &quot;blocks&quot;. I wouldn&#039;t go under 1mb.

However, given what I know so far, 256k will be fine. Remembe we&#039;re talking about saving ~760 kb here ...</description>
		<content:encoded><![CDATA[<p>It&#8217;s all good. However, consider this. ASM does it&#8217;s allocations in 1mb &#8220;blocks&#8221;. I wouldn&#8217;t go under 1mb.</p>
<p>However, given what I know so far, 256k will be fine. Remembe we&#8217;re talking about saving ~760 kb here &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hai Wu</title>
		<link>http://www.pythian.com/news/411/aligning-asm-disks-on-linux/#comment-48014</link>
		<dc:creator>Hai Wu</dc:creator>
		<pubDate>Wed, 09 May 2007 16:00:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/411/aligning-asm-disks-on-linux#comment-48014</guid>
		<description>Thanks Christo. Since we aren&#039;t going to get any stripe size that would be different from 128KB in this case, I guess I could configure the first sector to be 256 (128K) instead of 32768 (16M), so that it would do alignment for 128K stripe size. Do you see any issues in doing this?
Thanks,
Hai</description>
		<content:encoded><![CDATA[<p>Thanks Christo. Since we aren&#8217;t going to get any stripe size that would be different from 128KB in this case, I guess I could configure the first sector to be 256 (128K) instead of 32768 (16M), so that it would do alignment for 128K stripe size. Do you see any issues in doing this?<br />
Thanks,<br />
Hai</p>
]]></content:encoded>
	</item>
</channel>
</rss>

