<?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>SmartLogic Solutions Blog &#187; Sysadmin</title>
	<atom:link href="http://blog.smartlogicsolutions.com/category/sysadmin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.smartlogicsolutions.com</link>
	<description>News and updates from the people at SmartLogic Solutions</description>
	<lastBuildDate>Tue, 30 Nov 2010 21:39:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Using Byobu and Landscape to improve remote Ubuntu sessions</title>
		<link>http://blog.smartlogicsolutions.com/2010/01/22/ubuntu-byobu-landscape/</link>
		<comments>http://blog.smartlogicsolutions.com/2010/01/22/ubuntu-byobu-landscape/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 20:44:11 +0000</pubDate>
		<dc:creator>Nick Gauthier</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nick Gauthier]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.smartlogicsolutions.com/?p=827</guid>
		<description><![CDATA[SSHing into remote servers can be an awkward experience, but it doesn&#8217;t have to be. You can turn your ssh console into a terminal-style window manager with Byobu, and get more system information via landscape. &#8220;Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. As an open source project, [...]]]></description>
			<content:encoded><![CDATA[<p>SSHing into remote servers can be an awkward experience, but it doesn&#8217;t have to be. You can turn your ssh console into a terminal-style window manager with Byobu, and get more system information via landscape.<br />
<span id="more-827"></span></p>
<blockquote><p><em>&#8220;Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. As an open source project, Byobu is an elegant enhancement of the otherwise functional, plain, practical GNU Screen.&#8221;</em></p>
<p><a href="https://wiki.ubuntu.com/MeetingLogs/openweekKarmic/Byobu">https://wiki.ubuntu.com/MeetingLogs/openweekKarmic/Byobu</a></p></blockquote>
<p>SSH into your server and install the two packages:</p>
<blockquote><p><code><strong>sudo apt-get install byobu landscape-common update-motd</strong></code></p></blockquote>
<p>Next, run byobu-config:</p>
<div id="attachment_832" class="wp-caption aligncenter" style="width: 652px"><img class="size-full wp-image-832" title="byobu-config" src="http://blog.smartlogicsolutions.com/wp-content/uploads/2010/01/byobu-config.png" alt="Change Byobu settings with byobu-config" width="642" height="400" /><p class="wp-caption-text">Change byobu settings with byobu-config</p></div>
<p>You can change Byobu&#8217;s colors if you&#8217;d like. I like the &#8220;dark&#8221; theme.</p>
<p>The important setting to change is the last one: &#8220;<strong>Byobu currently does not launch at login</strong>&#8220;. Select that and press return. Now you can go back to the menu and exit byobu-config (tab to the exit choice and hit return).</p>
<p>Now log out and log back in again. You&#8217;ll now access Byobu automatically.</p>
<div id="attachment_841" class="wp-caption aligncenter" style="width: 652px"><img class="size-full wp-image-841" title="byobu-login" src="http://blog.smartlogicsolutions.com/wp-content/uploads/2010/01/byobu-login.png" alt="Byobu as your session manager" width="642" height="400" /><p class="wp-caption-text">Byobu as your session manager</p></div>
<p>The new MOTD (that&#8217;s &#8220;Message of the Day&#8221;, which is the text that is displayed when you login) has system information, thanks to <strong>landscape-common</strong>. This will let you know if your almost out of memory or disk space, or if you&#8217;re under heavy load.</p>
<p>Now let&#8217;s look at the information Byobu provides. The bottom row of Byobu contains, from left to right, your Distribution logo and name, uptime, load, cpu frequencies, ram amount and usage, and the date.</p>
<p>The upper row are your windows. Press <strong>F2</strong> to create a new window. Along the bottom of the screen you&#8217;ll now see two entries in the top row of the footer. Press <strong>F3</strong> to move to the previous window and <strong>F4</strong> to move to the next window.</p>
<p>Press <strong>F8</strong>, then give the window a name, like &#8220;echo&#8221;. I like to name each tab with the task I&#8217;m doing, like &#8220;console&#8221;, &#8220;mysql&#8221;, and &#8220;top&#8221;.</p>
<p>You can press <strong>F7</strong> to enter copy/scrollback mode. Use the arrow and page-up/down keys to move around your session. Press the spacebar to start copying. Now move your cursor somewhere else. Then press space again to copy the selection. Byobu doesn&#8217;t have a paste hotkey, so you have to use the screen hotkey, which is <strong>CTRL-a ]</strong> (thats <strong>CTRL-a</strong>, then let go of control and press <strong>]</strong>).</p>
<p>You can press <strong>F12</strong> to quickly lock your terminal, to grab a quick cup of coffee (or read this blog!).</p>
<p>Let&#8217;s explore how to maintain a session. Issue the following command:</p>
<blockquote><p><code><strong>echo hi</strong></code></p></blockquote>
<p>That will print out &#8220;hi&#8221; on the screen. Now let&#8217;s exit this session. Press the Byobu hotkey <strong>F6</strong> to &#8220;Detach&#8221; from Byobu.</p>
<p>You&#8217;ll notice you&#8217;re still logged in, this is because Byobu is an application that runs on top of your session. So now you have to exit again to get back to your local machine.</p>
<p>Now SSH back into your machine. You&#8217;ll notice that command is still on the screen! &#8220;Detaching&#8221; does not end your session, it just detaches you from it. That means you can log in, run a long running task, and then Detach and come back in the morning when your task is done.</p>
<p>For extended information on Byobu, check out its <a href="http://manpages.ubuntu.com/manpages/karmic/en/man1/byobu.1.html">Ubuntu Man Page</a>.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://blog.smartlogicsolutions.com/2009/06/04/mount-options-to-improve-ext4-file-system-performance/" rel="bookmark" class="crp_title">Mount options to improve ext4 file system performance</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/07/07/i-cant-upgrade-rubygems-from-111-to-120-on-ubuntu/" rel="bookmark" class="crp_title">I can&#8217;t upgrade RubyGems from 1.1.1 to 1.2.0 on Ubuntu</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/08/26/loosely-defined-link_to-may-cause-problems-when-overriding-url_helper/" rel="bookmark" class="crp_title">Loosely defined link_to may cause problems when overriding url_helper</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/11/12/watch-multiple-logs-in-a-single-terminal/" rel="bookmark" class="crp_title">Watch Multiple Logs in a Single Terminal</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/07/11/problems-with-restful_authentication-plugin-and-internet-explorer-cookies/" rel="bookmark" class="crp_title">Problems with restful_authentication Plugin and Internet Explorer Cookies</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.smartlogicsolutions.com/2010/01/22/ubuntu-byobu-landscape/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Shell Script to Upgrade Ruby Enterprise Edition while Maintaining Directory Naming Sanity</title>
		<link>http://blog.smartlogicsolutions.com/2009/06/10/shell-script-to-upgrade-ruby-enterprise-edition-while-maintaining-directory-naming-sanity/</link>
		<comments>http://blog.smartlogicsolutions.com/2009/06/10/shell-script-to-upgrade-ruby-enterprise-edition-while-maintaining-directory-naming-sanity/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 01:24:28 +0000</pubDate>
		<dc:creator>John Trupiano</dc:creator>
				<category><![CDATA[Passenger]]></category>
		<category><![CDATA[Ruby Enterprise Edition]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[ree]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.smartlogicsolutions.com/?p=685</guid>
		<description><![CDATA[As you&#8217;re likely already aware, a denial of service (DoS) vulnerability in Ruby&#8217;s BigDecimal library was uncovered, fixed and reported on June 9, 2009. Patching options include: Replacing your current ruby installation with a patched version Installing a gem to patch the code and then updating your application to load the patch. The latter approach [...]]]></description>
			<content:encoded><![CDATA[<p>As you&#8217;re likely already aware, a denial of service (DoS) vulnerability in Ruby&#8217;s BigDecimal library was <a href="http://blog.phusion.nl/2009/06/10/ruby-enterprise-edition-186-20090610-released-fixes-bigdecimal-dos-vulnerability/">uncovered, fixed and reported on June 9, 2009</a>.  Patching options include:</p>
<ul>
<li>Replacing your current ruby installation with a <a href="http://rubyforge.org/frs/download.php/58677/ruby-enterprise-1.8.6-20090610.tar.gz">patched version</a></li>
<li><a href="http://github.com/NZKoz/bigdecimal-segfault-fix/tree/master">Installing a gem</a> to patch the code and then updating your application to load the patch.</li>
</ul>
<p><span id="more-685"></span></p>
<p>The latter approach only postpones the inevitable, so I opted for the former.  If you&#8217;re using the <a href="http://blog.phusion.nl/2009/06/10/ruby-enterprise-edition-186-20090610-released-fixes-bigdecimal-dos-vulnerability/">debian packages</a>, it&#8217;s a simple call to aptitude update.  However, if you&#8217;ve installed from source, this presents a few challenges.</p>
<p>The upgrade is actually quite straightforward.  According to the <a href="http://www.rubyenterpriseedition.com/documentation.html#_upgrading">REE Documentation</a>, you simply need to run the <a href="http://www.rubyenterpriseedition.com/ruby-enterprise-1.8.6-20090610.tar.gz">new installer</a> over top of your previous installation.  This includes specifying the exact same directory name that you used to install the previous version.</p>
<p>As you may know, REE installs by default into /opt/ruby-enterprise-1.8.6-&lt;year_month_day_release&gt;.  However, after completing this, you&#8217;re left with a directory name that doesn&#8217;t reflect what&#8217;s actually installed in there.  If you&#8217;ve a little neurotic like I am, you&#8217;re going to want to rename that directory.  However, be careful.  Your <a href="http://www.modrails.com/">Passenger</a> configuration is likely pointing to the directory that you want to rename, so you&#8217;ll have to remember to update your apache/nginx configuration to reflect this.</p>
<p>When we install REE we create a symlink at /opt/ruby which points to the version of ruby that we want passenger to run.  This allows us to quickly swap in/out different versions of ruby for testing/upgrading/etc.</p>
<p>Considering we have dozens of client applications running on distinct servers each with their own versions of REE installed, I decided to write a script to minimize the manual effort required to upgrade several production servers.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #666666; font-style: italic;"># Author: John Trupiano</span>
<span style="color: #666666; font-style: italic;"># Script to upgrade an REE installation on a hot server and maintain sane directory names</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$(whoami)</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;root&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;You need to be root to run this!&quot;</span>
  <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">2</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #007800;">RF_RELEASE</span>=<span style="color: #000000;">58677</span>
<span style="color: #007800;">REE_VERSION</span>=<span style="color: #000000;">20090610</span>
<span style="color: #007800;">REE</span>=ruby-enterprise-1.8.6-<span style="color: #007800;">$REE_VERSION</span>
<span style="color: #007800;">URL</span>=http:<span style="color: #000000; font-weight: bold;">//</span>rubyforge.org<span style="color: #000000; font-weight: bold;">/</span>frs<span style="color: #000000; font-weight: bold;">/</span>download.php<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$RF_RELEASE</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$REE</span>.tar.gz
&nbsp;
<span style="color: #666666; font-style: italic;"># Determine what the most recent version of REE is that is installed</span>
<span style="color: #007800;">MOST_RECENT_REE_VERSION</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">/</span>opt <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span><span style="color: #ff0000;">&quot;-&quot;</span> <span style="color: #ff0000;">'$4 &gt; max &amp;&amp; $2 == &quot;enterprise&quot; { max=$4; maxline=$0 }; END { print max }'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">MOST_RECENT_REE</span>=ruby-enterprise-1.8.6-<span style="color: #007800;">$MOST_RECENT_REE_VERSION</span>
&nbsp;
<span style="color: #007800;">WORKING_DIR</span>=<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>src
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Going to update <span style="color: #007800;">$MOST_RECENT_REE</span> to <span style="color: #007800;">$REE</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Back up previous release&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-R</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$MOST_RECENT_REE</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$MOST_RECENT_REE</span>.bak
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Download new release&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #007800;">$WORKING_DIR</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$WORKING_DIR</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #007800;">$URL</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Untar and install over the previous release for 'upgrade' according to REE manual&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">tar</span> xzf <span style="color: #007800;">$REE</span>.tar.gz
.<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$REE</span><span style="color: #000000; font-weight: bold;">/</span>installer <span style="color: #660033;">--auto</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$MOST_RECENT_REE</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Shuffle folder names to remain sane&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$MOST_RECENT_REE</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$REE</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$MOST_RECENT_REE</span>.bak <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$MOST_RECENT_REE</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Actually symlink in the new version of REE&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>ruby <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$REE</span> <span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>ruby
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Clean up after ourselves&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #007800;">$WORKING_DIR</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$REE</span></pre></div></div>

<p>Simply upload this script to your server, su &#8211; up to root and run it.  Then restart apache/nginx so that passenger will pick up the new version of ruby.  All of your gems will be maintained, and your most recent version of REE will remain in tact at /opt/ruby-enterprise-1.8.6-&lt;old_version&gt; in case you need it again.</p>
<p><a href="http://gist.github.com/127636">View the script on github</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://blog.smartlogicsolutions.com/2009/04/26/integrity-ci-on-passenger-222-with-ruby-enterprise-edition-on-ubuntu-804/" rel="bookmark" class="crp_title">Integrity CI on Passenger 2.2.2 with Ruby Enterprise Edition on Ubuntu 8.04</a></li><li><a href="http://blog.smartlogicsolutions.com/2009/02/13/aasm-interning-empty-string-error/" rel="bookmark" class="crp_title">AASM + interning empty string error</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/07/07/i-cant-upgrade-rubygems-from-111-to-120-on-ubuntu/" rel="bookmark" class="crp_title">I can&#8217;t upgrade RubyGems from 1.1.1 to 1.2.0 on Ubuntu</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/10/15/using-swfobject-to-seamlessly-upgrade-to-flash-player-10/" rel="bookmark" class="crp_title">Using SWFObject to Seamlessly Upgrade to Flash Player 10</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/08/04/introducing-environmentalize-an-intuitive-environment-focused-config-structure-for-your-rails-applications/" rel="bookmark" class="crp_title">Introducing environmentalist: an intuitive, environment-focused config structure for your rails applications</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.smartlogicsolutions.com/2009/06/10/shell-script-to-upgrade-ruby-enterprise-edition-while-maintaining-directory-naming-sanity/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mount options to improve ext4 file system performance</title>
		<link>http://blog.smartlogicsolutions.com/2009/06/04/mount-options-to-improve-ext4-file-system-performance/</link>
		<comments>http://blog.smartlogicsolutions.com/2009/06/04/mount-options-to-improve-ext4-file-system-performance/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 15:15:26 +0000</pubDate>
		<dc:creator>Nick Gauthier</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nick Gauthier]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.smartlogicsolutions.com/?p=677</guid>
		<description><![CDATA[I recently boosted my rails test suite running time by around 30% by adding certain mount options for my ext4 partition (works for ext3 too). I thought I&#8217;d blog about it because the first time I tried my system wouldn&#8217;t boot! So here are the step by step instructions: 2) Run: > tune2fs -o journal_data_writeback [...]]]></description>
			<content:encoded><![CDATA[<p>I recently boosted my rails test suite running time by around <strong>30%</strong> by adding certain mount options for my ext4 partition (works for ext3 too). I thought I&#8217;d blog about it because the first time I tried my system wouldn&#8217;t boot! So here are the step by step instructions:</p>
<p><span id="more-677"></span></p>
<p><strong>2) Run:</strong><br />
> tune2fs -o journal_data_writeback /dev/sdXY<br />
Where /dev/sdXY is replaced by the partition that you want to boost</p>
<p><strong>4) Edit fstab</strong></p>
<p>> nano -w /mnt/sdXY/etc/fstab</p>
<p>Find the line that references sdXY. It will look something like:</p>
<p><code># /dev/sda2<br />
UUID=be2f0ac2-4683-4550-bcd1-704a1a840b3e / ext4 relatime,errors=remount-ro 0 1</code></p>
<p>The first entry is the UUID (although on your system this could just be /dev/sdXY). The second entry is the path (/ for me). Third is the fstype (ext3/4). Fourth are the options. Fifth is for dump and sixth is pass. See man fstab(5) for more info.</p>
<p>Change the options to:</p>
<p><code>noatime,data=writeback,barrier=0,nobh,errors=remount-ro</code></p>
<p>(you can leave all of yours in place, if they weren&#8217;t the same as mine.</p>
<p>The main ones are replacing atime/relatime with <strong>noatime</strong>. This causes the FS to not write read-times to a file when read. Think about it. Writing to the FS for every read of the FS? crazy!</p>
<p>Next is <strong>data=writeback</strong>. This means that metadata for files can be written lazily after the file is written. This will not cause file system corruption, but it may cause the most recent changes to be lost in the event of a crash (so you may jump back into the past a bit).</p>
<p>Next is barrier, which is slightly more dangerous:</p>
<blockquote><p>barrier=<0|1(*)> This enables/disables the use of write barriers in<br />
the jbd code. barrier=0 disables, barrier=1 enables.<br />
This also requires an IO stack which can support<br />
barriers, and if jbd gets an error on a barrier<br />
write, it will disable again with a warning.<br />
Write barriers enforce proper on-disk ordering<br />
of journal commits, making volatile disk write caches<br />
safe to use, at some performance penalty. If<br />
your disks are battery-backed in one way or another,<br />
disabling barriers may safely improve performance.</p></blockquote>
<p>Next is nobh:</p>
<blockquote><p>bh (*) ext4 associates buffer heads to data pages to<br />
nobh (a) cache disk block mapping information<br />
(b) link pages into transaction to provide<br />
ordering guarantees.<br />
&#8220;bh&#8221; option forces use of buffer heads.<br />
&#8220;nobh&#8221; option tries to avoid associating buffer<br />
heads (supported only for &#8220;writeback&#8221; mode).</p></blockquote>
<p>You can skip barrier and nobh if you&#8217;d like. noatime and data=writeback are the big ones.</p>
<p><strong>6) Reboot to your system.</strong></p>
<p>If you have any trouble booting, just boot a recovery disk and revert the fstab changes.</p>
<p>EDIT: Updated to no longer require recovery disk booting thanks to <a href="http://www.notgeeklycorrect.com/resources/2010/01/06/accelerate-your-tests-in-rails-with-ubuntu/">Nicolas Alpi&#8217;s response post</a>.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://blog.smartlogicsolutions.com/2009/01/16/ext4-on-ubuntu-904/" rel="bookmark" class="crp_title">EXT4 On Ubuntu 9.04</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/08/26/loosely-defined-link_to-may-cause-problems-when-overriding-url_helper/" rel="bookmark" class="crp_title">Loosely defined link_to may cause problems when overriding url_helper</a></li><li><a href="http://blog.smartlogicsolutions.com/2010/01/22/ubuntu-byobu-landscape/" rel="bookmark" class="crp_title">Using Byobu and Landscape to improve remote Ubuntu sessions</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/10/08/benchmark-ruby-code-with-r-rsruby-and-better-benchmark/" rel="bookmark" class="crp_title">Benchmark Ruby Code with R, rsruby and better-benchmark</a></li><li><a href="http://blog.smartlogicsolutions.com/2008/07/07/i-cant-upgrade-rubygems-from-111-to-120-on-ubuntu/" rel="bookmark" class="crp_title">I can&#8217;t upgrade RubyGems from 1.1.1 to 1.2.0 on Ubuntu</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.smartlogicsolutions.com/2009/06/04/mount-options-to-improve-ext4-file-system-performance/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

