<?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>Easy to Read Articles &#187; ubuntu</title>
	<atom:link href="http://www.easyreadarticles.com/Tags/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.easyreadarticles.com</link>
	<description>Best Technical Writing Online , Easy Reading Books and much more!</description>
	<lastBuildDate>Fri, 10 Feb 2012 03:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Canonical bringing HUD to Ubuntu 12.04, company&#8217;s assault on menus continues</title>
		<link>http://www.easyreadarticles.com/news/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-menus-continues/#utm_source=articlesfeed&#038;utm_medium=articlesfeed&#038;utm_campaign=articlesfeed</link>
		<comments>http://www.easyreadarticles.com/news/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-menus-continues/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 03:19:00 +0000</pubDate>
		<dc:creator>EasyReadArticles.com</dc:creator>
				<category><![CDATA[Engadget]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[12.04]]></category>
		<category><![CDATA[contextual]]></category>
		<category><![CDATA[head up display]]></category>
		<category><![CDATA[Head-upDisplay]]></category>
		<category><![CDATA[hud]]></category>
		<category><![CDATA[intent-driven interface]]></category>
		<category><![CDATA[Intent-drivenInterface]]></category>
		<category><![CDATA[intenterface]]></category>
		<category><![CDATA[LTS]]></category>
		<category><![CDATA[Mark Shuttleworth]]></category>
		<category><![CDATA[MarkShuttleworth]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[menus]]></category>
		<category><![CDATA[nested menus]]></category>
		<category><![CDATA[NestedMenus]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Ubuntu 12.04]]></category>
		<category><![CDATA[Ubuntu 12.04 LTS]]></category>
		<category><![CDATA[Ubuntu12.04]]></category>
		<category><![CDATA[Ubuntu12.04Lts]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.engadget.com/2012/01/24/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-men/</guid>
		<description><![CDATA[ Canonical -- shepherd of the popular Linux distribution Ubuntu -- generally doesn't rock the boat with its LTS releases, but things are going to be different this time around. With 12.04LTS the company is taking its assault on contextual menus to the ...]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"> <a rel="nofollow" href="http://www.engadget.com/2012/01/24/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-men/"><img alt="Canonical bringing HUD interface to Ubuntu 12.04 LTS, company's assault on contextual menus continues" src="http://www.blogcdn.com/www.engadget.com/media/2012/01/2012-01-24ubuntu-hud-menus.jpg" style="border-width: 0px; border-style: solid; margin: 0px;" /></a></div>
<p>Canonical &#8212; shepherd of the popular Linux distribution Ubuntu &#8212; generally doesn&#8217;t rock the boat with its <a rel="nofollow" href="http://www.engadget.com/2010/04/29/ubuntu-10-04-lucid-lynx-arrives-on-the-scene/">LTS</a> <a rel="nofollow" href="http://www.engadget.com/2011/10/20/ubuntu-turns-7-canonical-gets-to-work-on-precise-pangolin/">releases</a>, but things are going to be different this time around. With <a rel="nofollow" href="http://www.engadget.com/2011/11/08/canonical-gets-a-little-more-precise-about-whats-in-store-for-u/">12.04LTS</a> the company is taking its assault on contextual menus to the next level by launching HUD. <a rel="nofollow" href="http://www.engadget.com/tag/markshuttleworth">Mark Shuttleworth&#8217;s</a> obsession with simplifying user interactions began with the <a rel="nofollow" href="http://www.engadget.com/2011/04/28/ubuntu-11-04-natty-narwhal-brings-new-unity-ui-controversy-to/">controversial</a> <a rel="nofollow" href="http://www.engadget.com/2010/05/10/canonical-shows-off-unity-desktop-ubuntu-light-for-oems/">Unity UI</a> in Ubuntu 10.10, and will continue with the Head-Up Display. &#8220;Menus require you to read a lot when you probably already know what you want,&#8221; the distro&#8217;s founder wrote, &#8220;HUD solves many of these issues.&#8221; Those that have used the search feature in Apple&#8217;s &#8220;Help&#8221; menus, or launcher apps like Quicksilver and Alfred, will immediately recognize the goal &#8212; to keep a user&#8217;s fingers on the keyboard, remove clutter and facilitate quick access to available actions. Listening to music and in the mood for The King? Invoke HUD, type the artist&#8217;s name and you&#8217;re presented with your Elvis catalog. It also uses &#8220;fuzzy matching&#8221; and will remember the actions you most commonly perform to further refine your experience. If you&#8217;re having a hard time envisioning how HUD works, fear not; there is a three minute video demo awaiting your inspection after the break. Death to menus!
<p><a rel="nofollow" href="http://www.engadget.com/2012/01/24/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-men/" rel="bookmark">Continue reading <em>Canonical bringing HUD to Ubuntu 12.04, company&#8217;s assault on menus continues</em></a></p>
<p style="padding:5px;background:#ddd;border:1px solid #ccc;clear:both;"><a rel="nofollow" href="http://www.engadget.com/2012/01/24/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-men/">Canonical bringing HUD to Ubuntu 12.04, company&#8217;s assault on menus continues</a> originally appeared on <a rel="nofollow" href="http://www.engadget.com">Engadget</a> on Tue, 24 Jan 2012 23:19:00 EDT.  Please see our <a rel="nofollow" href="http://www.weblogsinc.com/feed-terms/">terms for use of feeds</a>.</p>
<h6 style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"></h6>
<p><a rel="nofollow" href="http://www.engadget.com/2012/01/24/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-men/" rel="bookmark" title="Permanent link to this entry">Permalink</a>&nbsp;<img class="img_label" src="http://www.blogsmithmedia.com/www.engadget.com/media/post_label_VIA.gif" alt=""/><span class="caption"><a rel="nofollow" href="http://www.theregister.co.uk/2012/01/24/ubuntu_hud/">The Register</a><!--//--></span> &nbsp;|&nbsp; <img class="img_label" src="http://www.blogsmithmedia.com/www.engadget.com/media/post_label_source.gif" alt="source"/><span class="caption"><a rel="nofollow" href="http://www.markshuttleworth.com/archives/939">Mark Shuttleworth</a><!--//--></span> &nbsp;|&nbsp;<a rel="nofollow" href="http://www.engadget.com/forward/20155928/" title="Send this entry to a friend via email">Email this</a>&nbsp;|&nbsp;<a rel="nofollow" href="http://www.engadget.com/2012/01/24/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-men/#comments" title="View reader comments on this entry">Comments</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.easyreadarticles.com/news/canonical-bringing-hud-to-ubuntu-12-04-companys-assault-on-menus-continues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu demonstrated running on Galaxy Tab 10.1, summarily dubbed &#8216;Tabuntu&#8217; (video)</title>
		<link>http://www.easyreadarticles.com/linux/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed-tabuntu-video/#utm_source=articlesfeed&#038;utm_medium=articlesfeed&#038;utm_campaign=articlesfeed</link>
		<comments>http://www.easyreadarticles.com/linux/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed-tabuntu-video/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 12:35:00 +0000</pubDate>
		<dc:creator>EasyReadArticles.com</dc:creator>
				<category><![CDATA[Engadget]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[galaxy tab]]></category>
		<category><![CDATA[Galaxy Tab 10.1]]></category>
		<category><![CDATA[GalaxyTab]]></category>
		<category><![CDATA[GalaxyTab10.1]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[max lee]]></category>
		<category><![CDATA[MaxLee]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.engadget.com/2011/06/29/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed/</guid>
		<description><![CDATA[
	
Sure, you can run Linux on robots and on desktops and, apparently, on small cats, and we've also seen it on plenty of tablets before, but this one is a little different. Max Lee over at Galaxy Tab Hacks created the video below to demonstrate a Samsu...]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;">
	<a rel="nofollow" href="http://www.engadget.com/2011/06/29/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed/"><img alt="Ubuntu demonstrated running on Galaxy Tab 10.1, summarily dubbed 'Tabuntu' (video)" src="http://www.blogcdn.com/www.engadget.com/media/2011/06/galaxy-tab-10.1-ubuntu-1-600.jpg" style="border-width: 1px; border-style: solid; margin: 4px;" /></a></div>
<p>Sure, you can run <a rel="nofollow" href="http://www.engadget.com/2011/05/11/robodynamics-luna-the-5-foot-tall-personal-robotic-platform-tha/">Linux on robots</a> and on desktops and, apparently, on <a rel="nofollow" href="http://www.engadget.com/2011/03/09/canonical-christens-ubuntu-11-04-oneiric-ocelot/">small cats</a>, and we&#8217;ve also seen it on <a rel="nofollow" href="http://www.engadget.com/tag/linux,tablet">plenty of tablets</a> before, but this one is a little different. Max Lee over at <em>Galaxy Tab Hacks</em> created the video below to demonstrate a Samsung Galaxy Tab 10.1 running Ubunbu, but doing it on top of Android such that the tablet&#8217;s native OS is running Linux in the background and then using a VM client to launch the UI. In other words: it&#8217;s running both operating systems at once, and despite that we think the results are quite usable, even loading up this very website with aplomb. It&#8217;s demonstrated after the break and if after watching you just gotta get a piece of <em>that</em> the full instructions are on the other end of the source link below.
<p><a rel="nofollow" href="http://www.engadget.com/2011/06/29/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed/" rel="bookmark">Continue reading <em>Ubuntu demonstrated running on Galaxy Tab 10.1, summarily dubbed &#8216;Tabuntu&#8217; (video)</em></a></p>
<p style="padding:5px;background:#ddd;border:1px solid #ccc;clear:both;"><a rel="nofollow" href="http://www.engadget.com/2011/06/29/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed/">Ubuntu demonstrated running on Galaxy Tab 10.1, summarily dubbed &#8216;Tabuntu&#8217; (video)</a> originally appeared on <a rel="nofollow" href="http://www.engadget.com">Engadget</a> on Wed, 29 Jun 2011 08:35:00 EDT.  Please see our <a rel="nofollow" href="http://www.weblogsinc.com/feed-terms/">terms for use of feeds</a>.</p>
<h6 style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"></h6>
<p><a rel="nofollow" href="http://www.engadget.com/2011/06/29/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed/" rel="bookmark" title="Permanent link to this entry">Permalink</a>&nbsp; &nbsp;|&nbsp; <img class="img_label" src="http://www.blogsmithmedia.com/www.engadget.com/media/post_label_source.gif" alt="source"/><span class="caption"><a rel="nofollow" href="http://galaxytabhacks.com/galaxy-tab-10-1-hacks/how-to-install-ubuntu-linux-on-galaxy-tab-10-1-tabuntu/">Galaxy Tab Hacks</a><!--//--></span> &nbsp;|&nbsp;<a rel="nofollow" href="http://www.engadget.com/forward/19979206/" title="Send this entry to a friend via email">Email this</a>&nbsp;|&nbsp;<a rel="nofollow" href="http://www.engadget.com/2011/06/29/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed/#comments" title="View reader comments on this entry">Comments</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.easyreadarticles.com/linux/ubuntu-demonstrated-running-on-galaxy-tab-10-1-summarily-dubbed-tabuntu-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a High Availability NAS/SAN using Openfiler</title>
		<link>http://www.easyreadarticles.com/applications/setting-up-a-high-availability-nassan-using-openfiler/#utm_source=articlesfeed&#038;utm_medium=articlesfeed&#038;utm_campaign=articlesfeed</link>
		<comments>http://www.easyreadarticles.com/applications/setting-up-a-high-availability-nassan-using-openfiler/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 01:47:52 +0000</pubDate>
		<dc:creator>The-Mesh.Org</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ha]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[openfiler]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.easyreadarticles.com/?p=150</guid>
		<description><![CDATA[Installing and Configuring Openfiler with DRBD and Heartbeat]]></description>
			<content:encoded><![CDATA[<p>This HowTo focuses on setting up the <span class="wiki">OpenSource</span> NAS/SAN <a rel="nofollow" class="wiki external" rel="external" href="http://www.openfiler.com/" target="_blank">Openfiler</a> as a High Availability storage. There currently does not appear to be a lot of documentation available on setting it up in version 2.3, so we thought we would document it here.</p>
<p>We will follow the version 2.2 HowTo from <a rel="nofollow" class="wiki" href="http://wiki.hyber.dk/doku.php" target="_blank">http://wiki.hyber.dk/doku.php</a> with a few modifications and comments on the setup process.</p>
<h2 id="Requirements" class="showhide_heading">Requirements</h2>
<p id="Hardware" class="showhide_heading"><strong>Hardware</strong></p>
<ul>
<li> 2 x boxes that meet the minimum spec of Openfiler&#8217;s hardware specifications.</li>
<li> 2 x ethernet interfaces in each box</li>
<li> Openfiler 2.3 installation media.</li>
<li> Both boxes should have the same size drives in each to avoid any replication inconsistencies.</li>
</ul>
<p id="Software" class="showhide_heading"><strong>Software</strong></p>
<ul>
<li> Install Openfiler 2.3 on both boxes utilising a disk setup such as the following:
<ul>
<li> 3gig /</li>
<li> 512meg swap</li>
<li> 300meg partition for cluster_metadata DRBD</li>
<li> Data partition configured as an unmounted LVM (this will be DRBD vg0_drbd)</li>
</ul>
</li>
</ul>
<pre class="codelisting" style="overflow: auto;" dir="ltr"><strong>[root@filer1 ~]#</strong> fdisk -l

Disk /dev/hdb: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1   *           1         382     3068383+  83  Linux
/dev/hdb2             383        4206    30716280   8e  Linux LVM
/dev/hdb3            4207        4239      265072+  82  Linux swap / Solaris
/dev/hdb4            4240        4276      297202+  83  Linux</pre>
<h2 class="showhide_heading">Network</h2>
<p>As you are using two network interfaces on each box, you need to select a range of IP addresses you want to use. The first interface is used to talk to your network&#8230; this is what your computers will see when they talk to your NAS/SAN.</p>
<p>The second interface is used for the DRBD data replication (dedicated interface) between the two filers. Ideally this interface has at least a gigabit of bandwidth, but it does work on 100mbit (depending on how much data you are putting through your NAS/SAN).</p>
<p>One thing to note in High Availability is you will need three IP addresses allocated to your cluster. The first IP address is the address that all of the computers on your network will talk to. Depending on which of your filers is Primary at the time, it will be configured to use this IP address. In an event of a fail over, the Secondary filer will become Primary and take over this IP address.</p>
<p>The other two IP addresses are used purely for administration, so you can directly communicate with each filer.</p>
<p>So, as an example, we will use a 192.168.8.0/24 subnet on our first interfaces, and 192.168.9.0/29 on the second interface.</p>
<p>So we can allocate the following:</p>
<ul>
<li> filer1
<ul>
<li> LAN Interface (eth0) 192.168.8.11</li>
<li> Replication Interface (eth1) 192.168.9.11</li>
</ul>
</li>
</ul>
<ul>
<li> filer2
<ul>
<li> LAN Interface (eth0) 192.168.8.12</li>
<li> Replication Interface (eth1) 192.168.9.12</li>
</ul>
</li>
</ul>
<ul>
<li> HA NAS/SAN Address (eth0) 192.168.8.10</li>
</ul>
<p><strong>Note:</strong> The Heartbeat service controls the HA Address, so DO NOT declare this address in your network config scripts&#8230; it will be declared when we configure Heartbeat.</p>
<h2 id="Hostname_setup" class="showhide_heading">Hostname setup</h2>
<p>We want both filers to be able to recognise each other. As Openfiler works off it&#8217;s FQDN (Fully Qualified Domain Name), we will use that.</p>
<p><strong>On filer1:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> hostname &#8211;fqdn<br />
filer1</div>
<p>Modify our /etc/hosts (on filer1):</p>
<div class="simplebox">
<pre class="codelisting" style="overflow: auto;" dir="ltr"># Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               filer1 localhost.localdomain localhost
192.168.8.12             filer2</pre>
</div>
<p><strong>On filer2:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> hostname &#8211;fqdn<br />
filer2</div>
<p>Modify our /etc/hosts (on filer2):</p>
<div class="simplebox">
<pre class="codelisting" style="overflow: auto;" dir="ltr"># Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               filer2 localhost.localdomain localhost
192.168.8.11             filer1</pre>
</div>
<h2 id="SSH_Shared_keys" class="showhide_heading">SSH Shared keys</h2>
<p>We wan the two boxes to talk to each other without having to use a password. So, we will use SSH shared keys as mentioned in the <span class="wiki external">Openfiler 2.2 Howto</span>:</p>
<p><strong>On filer1:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span># </strong>ssh-keygen -t dsa</div>
<p>Hit enter at the prompts (we don&#8217;t want to set a password on the key).</p>
<p><strong>On filer2:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> ssh-keygen -t dsa</div>
<p>Hit enter at the prompts (we don&#8217;t want to set a password on the key).</p>
<p>The above command will generate a file called &#8220;id_dsa.pub&#8221; in ~/.ssh/, which is the public key we need to copy over to our other filer:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span># </strong>scp ~/.ssh/id_dsa.pub root@filer2:~/.ssh/authorized_keys2</div>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> scp ~/.ssh/id_dsa.pub root@filer1:~/.ssh/authorized_keys2</div>
<h2 id="Configure_DRBD" class="showhide_heading">Configure DRBD</h2>
<p><a rel="nofollow" class="wiki external" rel="external" href="http://www.drbd.org/" target="_blank">DRBD</a> is what we will use to keep the data between the two filers consistent. DRBD allows us to run a RAID-1 (mirror) over the network, so if one host goes down, the other can come up in it&#8217;s place without having inconsistent data (that&#8217;s the theory anyway).</p>
<p><strong>On filer1:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> mv /etc/drbd.conf /etc/drbd.conf.org</div>
<p>Then we make our drbd.conf (version <img src='http://www.easyreadarticles.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> like the following:</p>
<div class="simplebox">
<pre class="codelisting" style="overflow: auto;" dir="ltr">global {
    # minor-count 64;
    # dialog-refresh 5; # 5 seconds
    # disable-ip-verification;
    usage-count ask;
}

common {
  syncer { rate 100M; }
}

resource cluster_metadata {

  protocol C;

  handlers {
    pri-on-incon-degr "echo O &gt; /proc/sysrq-trigger ; halt -f";
    pri-lost-after-sb "echo O &gt; /proc/sysrq-trigger ; halt -f";
    local-io-error "echo O &gt; /proc/sysrq-trigger ; halt -f";
#    outdate-peer "/usr/sbin/drbd-peer-outdater";
  }

 startup {
    # wfc-timeout  0;
    degr-wfc-timeout 120;    # 2 minutes.
  }

  disk {
    on-io-error   detach;

  }

  net {
    after-sb-0pri disconnect;
    after-sb-1pri disconnect;
    after-sb-2pri disconnect;
    rr-conflict disconnect;
  }

  syncer {
#    rate 10M;
#    after "r2";
    al-extents 257;
  }

  on filer1 {
    device     /dev/drbd0;
    disk       /dev/sda3;
    address    192.168.9.11:7788;
    meta-disk internal;
 }

   on filer2 {
    device    /dev/drbd0;
    disk      /dev/sda3;
    address   192.168.9.12:7788;
    meta-disk internal;
  }
}

resource vg0_drbd {

  protocol C;
  startup {
    wfc-timeout         0;  ## Infinite!
    degr-wfc-timeout  120;  ## 2 minutes.
  }

  disk {
    on-io-error detach;
  }

  net {
    # timeout           60;
    # connect-int       10;
    # ping-int          10;
    # max-buffers     2048;
    # max-epoch-size  2048;
  }

  syncer {
  after "cluster_metadata";
  }

 on filer1 {
  device     /dev/drbd1;
  disk       /dev/sda5;
  address    192.168.9.11:7789;
  meta-disk internal;
  }

  on filer2 {
  device    /dev/drbd1;
  disk      /dev/sda5;
  address   192.168.9.12:7789;
  meta-disk internal;
  }
}</pre>
</div>
<p>Take note of the &#8220;disk&#8221; variable, as these partitions may be different on your filers. Basically just need to make sure the 300meg partitions are used for cluster_metadata and the LVM partition is used for our vg0_drbd.</p>
<p>We get to use /dev/drbd1 as a PV (Physical Volume) for our LVM, which may not sound that exiting if you&#8217;re not used to using LVMs, but it allows us to have a dynamic volume control of our data volumes, on top of a network RAID1 device (/dev/drbd1).</p>
<ul>
<li> More information on LVM <a rel="nofollow" class="wiki external" rel="external" href="http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29" target="_blank">here</a>.</li>
</ul>
<p>Both hosts need the SAME drbd.conf, so we overwrite filer2&#8242;s config with our modified filer1 configuration:</p>
<div class="simplebox"><strong><span class="wiki">r</span><span class="wiki">oot@filer1 ~</span>#</strong> scp /etc/drbd.conf root@filer2:/etc/drbd.conf</div>
<p>Initialise metadata on /dev/drbd0 (cluster_metadata) and /dev/drbd1 (vg0_drbd) on both filers:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> drbdadm create-md cluster_metadata</div>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> drbdadm create-md vg0_drbd</div>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> drbdadm create-md cluster_metadata</div>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> drbdadm create-md vg0_drbd</div>
<div class="simplebox">Note: if you get errors about needing to zero out the file system you can use the following command:</div>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> dd if=/dev/zero of=/dev/hdb2</div>
<div class="simplebox">Please be careful with this command and make sure its on the correct drive</div>
<p>We can now start DRBD on both hosts:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> service drbd start</div>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> service drbd start</div>
<p>If all goes well, they should connect and you should be able to run &#8220;service drbd status&#8221; and get a result similar to the following:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 /</span>#</strong> service drbd status<br />
drbd driver loaded OK; device status:<br />
version: 8.0.12 (api:86/proto:86)<br />
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 build by phil@mescal, 2008-04-24 13:29:44<br />
m:res               cs         st                   ds                         p  mounted  fstype<br />
0:cluster_metadata  Connected  Secondary/Secondary  Inconsistent/Inconsistent  C<br />
1:vg0_drbd          Connected  Secondary/Secondary  Inconsistent/Inconsistent  C</div>
<p>So, once both drbd resources are connected and both filers are in Secondary state (as above), we need to set a Primary filer&#8230; which we will make filer1:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> drbdsetup /dev/drbd0 primary -o<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> drbdsetup /dev/drbd1 primary -o</div>
<p>This should give you a status result of something like the following:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 /</span>#</strong> service drbd status<br />
drbd driver loaded OK; device status:<br />
version: 8.0.12 (api:86/proto:86)<br />
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 build by phil@mescal, 2008-04-24 13:29:44<br />
m:res               cs           st                 ds                     p  mounted  fstype<br />
&#8230;                 sync&#8217;ed:     17.9%              (247232/297152)K<br />
0:cluster_metadata  SyncSource Primary/Secondary  UpToDate/Inconsistent  C<br />
1:vg0_drbd          PausedSyncS Primary/Secondary  UpToDate/Inconsistent  C</div>
<p>Enable DRBD to startup at boot:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> chkconfig &#8211;level 2345 drbd on</div>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> chkconfig &#8211;level 2345 drbd on</div>
<p>We now create our cluster_metadata filesystem. We use this 300meg partition to keep all of the Openfiler configuration data and the data for the services we want to be available in HA (eg. NFS, iSCSI, SMB).</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> mkfs.ext3 /dev/drbd0</div>
<p>We don&#8217;t add this partition to an /etc/fstab, as like our HA Interface, this is managed by Heartbeat&#8230; we will configure this shortly.</p>
<h2 id="Configure_LVM_Partition" class="showhide_heading">Configure LVM Partition</h2>
<p>As mentioned before, we create our /dev/drbd1 as a PV (Physical Volume) for our data volume group, which we then use to create Logical Volumes for our data.</p>
<p>First we need to edit /etc/lvm/lvm.conf and modify the filter line:<br />
From:</p>
<div class="simplebox">
<pre class="codelisting" style="overflow: auto;" dir="ltr">filter = [ "a/.*/" ]</pre>
</div>
<p>To:</p>
<div class="simplebox">
<pre class="codelisting" style="overflow: auto;" dir="ltr">filter = [ "r|/dev/sda5|" ]</pre>
</div>
<p><strong>Note:</strong> Change /dev/sda5 to reflect the partition of your LVM, as it may be different. Also remember to apply these changes on both filer1 and filer2.</p>
<p>My understanding of this is so when the host scans for LVM partitions, it excludes our LVM partition, as this seems to cause problems with drbd consistency when this filter is not enabled.</p>
<p>Create our LVM Physical Volume (we only do this on our Primary filer, as it will replicate to the Second filer via drbd):</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 /</span>#</strong> pvcreate /dev/drbd1<br />
Physical volume &#8220;/dev/drbd1&#8243; successfully created</div>
<h2 id="Configure_Heartbeat" class="showhide_heading">Configure Heartbeat</h2>
<p>As mentioned before, Heartbeat controls our fail_over between hosts. Basically the two filers run the Heartbeat service, that sends out a heartbeat pulse on our secondary interface (eth1). If one of the filers dies, then Heartbeat detects this and roles over the surviving filer to Primary (if it wasn&#8217;t already) using startup scripts available in /etc/ha.d/resources.d.</p>
<p>We need to make modifications to /etc/ha.d/ha.cf and /etc/ha.d/authkeys. Make sure you make these changes on both filers.</p>
<p>In /etc/ha.d/authkeys, add:</p>
<div class="simplebox">auth 2<br />
2 crc</div>
<p>You may have to actually create the /etc/ha.d/authkeys file, as it does not appear to exist in Openfiler 2.3.</p>
<p>We also need restrict permissions to authkeys to just &#8220;root&#8221;:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> chmod 600 /etc/ha.d/authkeys</div>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> chmod 600 /etc/ha.d/authkeys</div>
<p>Now we create a /etc/ha.d/ha.cf on both filers (needs to be identical on both, just like /etc/drbd.conf.</p>
<div class="simplebox">debugfile       /var/log/ha-debug<br />
logfile         /var/log/ha-log<br />
logfacility     local0<br />
bcast           eth1<br />
keepalive       5<br />
warntime        10<br />
deadtime        120<br />
initdead        120<br />
udpport         694<br />
auto_failback   off<br />
node            filer1<br />
node            filer2</div>
<p>Enable Heartbeat to startup at boot:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 </span><span class="wiki">~</span>#</strong> chkconfig &#8211;level 2345 heartbeat on</div>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> chkconfig &#8211;level 2345 heartbeat on</div>
<h2 id="Openfiler_data_configuration" class="showhide_heading">Openfiler data configuration</h2>
<p>As mentioned above, we have created a 300meg partition to keep our configuration and HA services available when we do a fail_over. To get this working, we copy our services and Openfiler config data over to our new partition &#8211; symbolically linking it back to it&#8217;s original location. If this does not make much sense now, it should be a little clearer when we start testing the fail_over of services.</p>
<p><strong>filer1:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> mkdir /cluster_metadata<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mount /dev/drbd0 /cluster_metadata<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mv /opt/openfiler/ /opt/openfiler.local<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mkdir /cluster_metadata/opt<br />
<strong><span class="wiki">root@filer1 ~</span># </strong>cp -a /opt/openfiler.local /cluster_metadata/opt/openfiler<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/opt/openfiler /opt/openfiler<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> rm /cluster_metadata/opt/openfiler/sbin/openfiler<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /usr/sbin/httpd /cluster_metadata/opt/openfiler/sbin/openfiler<br />
<strong><span class="wiki">root@filer1 ~</span># </strong>rm /cluster_metadata/opt/openfiler/etc/rsync.xml<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /opt/openfiler.local/etc/rsync.xml /cluster_metadata/opt/openfiler/etc/</div>
<p>We then edit our /opt/openfiler.local/etc/rsync.xml file:</p>
<div class="simplebox">&lt;xml version=&#8221;1.0&#8243; &gt;<br />
&lt;rsync&gt;<br />
&lt;remote hostname=&#8221;192.168.9.12&#8243;/&gt; ## IP address of peer filer.<br />
&lt;item path=&#8221;/etc/ha.d/haresources&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/ha.d/ha.cf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/ldap.conf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/openldap/ldap.conf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/ldap.secret&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/nsswitch.conf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/krb5.conf&#8221;/&gt;<br />
&lt;/rsync&gt;</div>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> mkdir -p /cluster_metadata/etc/httpd/conf.d</div>
<p><strong>filer2:</strong></p>
<p><strong><span class="wiki">root@filer2 ~</span>#</strong> mkdir /cluster_metadata<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> mv /opt/openfiler/ /opt/openfiler.local<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> ln -s /cluster_metadata/opt/openfiler /opt/openfiler</p>
<p>Change the /opt/openfiler.local/etc/rsync.xml to reflect below:</p>
<div class="simplebox">&lt;xml version=&#8221;1.0&#8243; &gt;<br />
&lt;rsync&gt;<br />
&lt;remote hostname=&#8221;192.168.9.11&#8243;/&gt; ## IP address of peer filer.<br />
&lt;item path=&#8221;/etc/ha.d/haresources&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/ha.d/ha.cf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/ldap.conf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/openldap/ldap.conf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/ldap.secret&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/nsswitch.conf&#8221;/&gt;<br />
&lt;item path=&#8221;/etc/krb5.conf&#8221;/&gt;<br />
&lt;/rsync&gt;</div>
<h2 id="Heartbeat_Cluster_configuration" class="showhide_heading">Heartbeat Cluster configuration</h2>
<p>We then modify the /cluster_metadata/opt/openfiler/etc/cluster.xml config file. This config file generates our /etc/ha.d/haresources file, which tells Heartbeat what we want it to do in an event of a fail_over.</p>
<p><strong>filer1 Only:</strong></p>
<div class="simplebox">
<pre class="codelisting" style="overflow: auto;" dir="ltr">&lt;xml version="1.0" &gt;
&lt;cluster&gt;
   &lt;clustering state="on" /&gt;
   &lt;nodename value="filer1" /&gt;
   &lt;resource value="MailTo::root@localhost::ClusterFailover"/&gt;
   &lt;resource value="IPaddr::192.168.8.10/24" /&gt;
   &lt;resource value="drbddisk::" /&gt;
   &lt;resource value="LVM::vg0_drbd" /&gt;
   &lt;resource value="Filesystem::/dev/drbd0::/cluster_metadata::ext3::defaults,noatime" /&gt;
   &lt;resource value="MakeMounts" /&gt;
&lt;/cluster&gt;</pre>
</div>
<p>Note how we have declared the HA IP Address here (192.168.8.10). As mentioned before, Heartbeat controls both the setup of the network interface and the mounting of our LVM VG and /cluster_metadata.</p>
<h2 id="Samba_and_NFS_Support" class="showhide_heading">Samba and NFS Support</h2>
<p>Modify Samba and NFS so it&#8217;s available on our /cluster_metadata drbd resource.</p>
<p><strong>filer1:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> mkdir /cluster_metadata/etc<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mv /etc/samba/ /cluster_metadata/etc/<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/etc/samba/ /etc/samba<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mkdir -p /cluster_metadata/var/spool<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mv /var/spool/samba/ /cluster_metadata/var/spool/<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/var/spool/samba/ /var/spool/samba<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mkdir -p /cluster_metadata/var/lib<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mv /var/lib/nfs/ /cluster_metadata/var/lib/<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/var/lib/nfs/ /var/lib/nfs<br />
<strong><span class="wiki">root@filer1 ~</span># </strong>mv /etc/exports /cluster_metadata/etc/<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/etc/exports /etc/exports</div>
<p><strong>Note:</strong> We have moved /var/spool/samba into /cluster_metadata, which is only a 300meg partition. So, if you put some large print jobs through Samba, you will find the free space on this volume will get eaten up pretty quickly. So, if this is the case, you may want to create a separate DRBD resource for your /var directory. Or you may want to reconsider hosting your print services on a server that isn&#8217;t your SAN/NAS. <img src="http://the-mesh.org/img/smiles/icon_wink.gif" alt="wink" /></p>
<p><strong>filer2:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> rm -rf /etc/samba/<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> ln -s /cluster_metadata/etc/samba/ /etc/samba<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> rm -rf /var/spool/samba/<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> ln -s /cluster_metadata/var/spool/samba/ /var/spool/samba<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> rm -rf /var/lib/nfs/<br />
<strong><span class="wiki">root@filer2 ~</span># </strong>ln -s /cluster_metadata/var/lib/nfs/ /var/lib/nfs<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> rm -rf /etc/exports<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> ln -s /cluster_metadata/etc/exports /etc/exports</div>
<h2 id="iSCSI_Support" class="showhide_heading">iSCSI Support</h2>
<p><strong>filer1:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span># </strong>mv /etc/ietd.conf /cluster_metadata/etc/<br />
<strong><span class="wiki">root@filer1 ~</span># </strong>ln -s /cluster_metadata/etc/ietd.conf /etc/ietd.conf<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> mv /etc/initiators.allow /cluster_metadata/etc/<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/etc/initiators.allow /etc/initiators.allow<br />
<strong><span class="wiki">root@filer1 ~</span># </strong>mv /etc/initiators.deny /cluster_metadata/etc/<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/etc/initiators.deny /etc/initiators.deny</div>
<p><strong>filer2:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> rm /etc/ietd.conf</p>
<p><strong><span class="wiki">root@filer2 ~</span>#</strong> ln -s /cluster_metadata/etc/ietd.conf /etc/ietd.conf<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> rm /etc/initiators.allow<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> ln -s /cluster_metadata/etc/initiators.allow /etc/initiators.allow<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> rm /etc/initiators.deny<br />
<strong><span class="wiki">root@filer2 ~</span># </strong>ln -s /cluster_metadata/etc/initiators.deny /etc/initiators.deny</p>
</div>
<h2 id="FTP_Support" class="showhide_heading">FTP Support</h2>
<p><strong>filer1:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> mv /etc/proftpd /cluster_metadata/etc/<br />
<strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /cluster_metadata/etc/proftpd/ /etc/proftpd</div>
<p><strong>filer2:</strong></p>
<div class="simplebox"><strong><span class="wiki">root@filer2 ~</span>#</strong> rm -rf /etc/proftpd<br />
<strong><span class="wiki">root@filer2 ~</span>#</strong> ln -s /cluster_metadata/etc/proftpd/ /etc/proftpd</div>
<h2 id="Configure_Volume_Group" class="showhide_heading">Configure Volume Group</h2>
<p><strong>filer1:</strong></p>
<p>Create a Volume group from our /dev/drbd1:</p>
<div class="simplebox"><span class="wiki">root@filer1 etc</span># vgcreate vg0_drbd /dev/drbd1<br />
Volume group &#8220;vg0_drbd&#8221; successfully created</div>
<p><strong>Note:</strong> If you plan on using Windows to connect your iSCSI targets, do not use the &#8220;_&#8221; character or any other special characters when creating your Volume group.</p>
<p>Once the Heartbeat service has been configured and started (see below), you should be able to use the Openfiler web administration on <span class="wiki">https://192.168.8.10:446</span> to create LVM volumes and to export them via iSCSI etc.</p>
<h2 id="Starting_Heartbeat_and_first_time_configuration" class="showhide_heading">Starting Heartbeat and first-time configuration</h2>
<p>In order to get Openfiler to write the /etc/ha.d/haresources file based on the cluster.xml config file, we need to restart the Openfiler service and then log onto the web interface (using the Primary filer&#8217;s direct IP) and click on System -&gt; HA Cluster Setup.</p>
<p>Make sure you do this on the Primary filer (assumably filer1).</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> rm /opt/openfiler/etc/httpd/modules</div>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> ln -s /usr/lib/httpd/modules /opt/openfiler/etc/httpd/modules</div>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> service openfiler restart</div>
<p>After Openfiler restarts and you log onto the web interface, it should have a whole heap of values that reflect the clustes.xml file. With any luck, Openfiler has written this file out to /etc/ha.d/haresources. If haresources exist, you should be right to copy it over to filer2.</p>
<p>Before we can start Heartbeat we must create a volume for our heartbeat to start (Otherwise HA will fail to start).</p>
<div class="simplebox">[<strong>root@filer1 ~#</strong> lvcreate -L 50M -n StartVolume vg0_drbd</div>
<p>When you log onto the web interface and activate a service such as NFS or iSCSI. this will force Openfiler to rewrite the /etc/ha.d/haresources file. You will then need to scp this file over to the second filer as follows:</p>
<div class="simplebox"><strong><span class="wiki">root@filer1 ~</span>#</strong> scp /etc/ha.d/haresources root@filer2:/etc/ha.d/haresources</div>
<p>Since we have added heartbeat to our start up scripts earlier, we should be right to reboot filer1 then after that to reboot filer2.</p>
<p>If all goes to plan you should be able to access the primary filer with your web browser via <span class="wiki">https://192.168.8.10:446</span> (the High Available ip address). You can then remove the &#8216;StartVolume&#8217; you created above and create any other volumes you need via the web interface (Make sure you add one in before restarting otherwise HA will fail to start)</p>
<p>If the webserver does not work for any reason a good place to look for errors is in /var/log/ha-log this should allow you to work out where the problem may be.</p>
<h2 id="Note_" class="showhide_heading">Note:</h2>
<p>The rsync configuration is meant to synchronise changes between the two filers, but from observation this does not appear to happen. So, if you update your clusters.xml file, make sure you put the re-generated haresources file on both filers. Do not modify /etc/ha.d/haresources directly, as it will get overwritten. Always use /cluster_metadata/opt/openfiler/etc/cluster.xml.</p>
<p>Also it is a good idea to copy over the /etc/ha.d/haresources file everytime you change your lvm volumes as this can alter the haresources file and prevent the second filer from failing over.</p>
<p>We have filed a bug report which has since been fixed, I am yet to try just updating this file to see if it works or not.</p>
<p><a rel="nofollow" class="wiki" href="https://project.openfiler.com/tracker/ticket/791" target="_blank">https://project.openfiler.com/tracker/ticket/791</a></p>
<h2 id="Software_updates" class="showhide_heading">Software updates</h2>
<p>Note from the <a rel="nofollow" class="wiki external" rel="external" href="http://wiki.hyber.dk/doku.php/openfiler_2.2_ha-cluster_guide" target="_blank">2.2 HA Cluster Guide</a>:</p>
<div class="simplebox">When updating Openfiler, you need to run ‘conary updateall –replace-files’ on the primary active filer in the cluster (the one with /cluster_metadata currently mounted.) Running the update on the secondary filer in the cluster will fail because /cluster_metadata (which /opt/openfiler is symlinked to) does not exist.</div>
<p>Not sure if the second filer is meant to be updated by becoming Primary and updating as the note above suggests for the first filer. Assumably this would not cause any problems, but at this stage it is something we have not tested.</p>
<h2 id="Credits" class="showhide_heading">Credits</h2>
<p>We would like to acknowledge that this HowTo is heavily based on the <a rel="nofollow" class="wiki external" rel="external" href="http://wiki.hyber.dk/doku.php/openfiler_2.2_ha-cluster_guide" target="_blank">Openfiler 2.2 HA Cluster Guide</a>. Please make sure this is signified in all reproductions of this documentation. We have copied information from the 2.2 HA Cluster Guide with an understanding it is a public domain document. If this is not the case, please notify us and we will correct this.</p>
<p style="text-align: center;">The article is licensed under the terms of the <a rel="nofollow" href="http://the-mesh.org/tiki-index.php?page=GNU%20FDL&amp;copyrightpage=HomePage">GNU FDL</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.easyreadarticles.com/applications/setting-up-a-high-availability-nassan-using-openfiler/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Moblin v2.0 beta for Netbooks and Nettops &#8211; It&#8217;s here&#8230;</title>
		<link>http://www.easyreadarticles.com/internet/moblin-v20-beta-for-netbooks-and-nettops-its-here/#utm_source=articlesfeed&#038;utm_medium=articlesfeed&#038;utm_campaign=articlesfeed</link>
		<comments>http://www.easyreadarticles.com/internet/moblin-v20-beta-for-netbooks-and-nettops-its-here/#comments</comments>
		<pubDate>Mon, 25 May 2009 22:10:33 +0000</pubDate>
		<dc:creator>EasyReadArticles.com</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Moblin]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[nettops]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.easyreadarticles.com/?p=82</guid>
		<description><![CDATA[The Moblin steering committee is happy to release the Moblin v2.0 beta for Netbooks and Nettops for developer testing.]]></description>
			<content:encoded><![CDATA[<blockquote><p>The Moblin steering committee is happy to release the Moblin v2.0 beta for Netbooks and Nettops for developer testing. With this release, developers can begin to experience and work with the source code of the visually rich, interactive user interface designed for Intel Atom based Netbooks. The Moblin v2.0 user experience has been designed from the ground up to provide unique ways to engage with the internet, aggregate your social networking activity, and enjoy your media content. The new user experience and core applications were developed using the Clutter animation framework, leveraging heavily from GL and the physics engine.</p></blockquote>
<p><a rel="nofollow" href="http://moblin.org/community/blogs/imad/2009/moblin-v20-beta-netbooks-and-nettops-its-here">Read More..</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.easyreadarticles.com/internet/moblin-v20-beta-for-netbooks-and-nettops-its-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

