<?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>Tech4Him - Technology with Integrity &#187; ubuntu</title>
	<atom:link href="http://blog.tech4him.com/tags/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tech4him.com</link>
	<description>A Christian technology chaos wrangler and his thoughts</description>
	<lastBuildDate>Wed, 24 Mar 2010 23:15:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linode StackScripts and LAMP Servers</title>
		<link>http://blog.tech4him.com/2010/03/linode-stackscripts-and-lamp-servers/</link>
		<comments>http://blog.tech4him.com/2010/03/linode-stackscripts-and-lamp-servers/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 03:16:45 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=891</guid>
		<description><![CDATA[On February 8th, 2010 Linode.com announced the availability of StackScripts. The StackScripts are described as:
StackScripts™ provide a  flexible way to customize our distribution templates. They’re very easy  to use — find a StackScript, answer its questions, and click deploy.  When the deployment is first booted, the script is executed and does its [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.tech4him.com/wp-content/uploads/20103008-StackScript-Start.png"><img class="alignleft size-medium wp-image-895" style="border: 1px solid black; margin: 8px;" title="StackScript Start" src="http://blog.tech4him.com/wp-content/uploads/20103008-StackScript-Start-300x204.png" alt="" width="300" height="204" /></a>On February 8th, 2010 <a href="http://blog.linode.com/2010/02/09/introducing-stackscripts/">Linode.com announced the availability of StackScripts</a>. The StackScripts are described as:</p>
<blockquote><p><a href="http://www.linode.com/stackscripts/">StackScripts</a>™ provide a  flexible way to customize our distribution templates. They’re very easy  to use — find a StackScript, answer its questions, and click deploy.  When the deployment is first booted, the script is executed and does its  thing. You can even watch its progress by viewing the console.</p>
<p><span id="more-891"></span></p></blockquote>
<p>As so many things with Linode.com and its community there is a public library of the <a href="http://www.linode.com/stackscripts/">Stackscripts</a> available for a variety of purposes. Anything a from a standard LAMP setup to WordPress, Drupal and TRAC/SVN setups.</p>
<p>Already having a Linode up and running, I have also been thinking about re-doing the setup of ourLAMP server. Seeing this as an opportunity to both rebuild our LAMP server and test StackScripts, I set out to give it a try.</p>
<p>We already had a Linode configuration and a disk image actively running. The good news was that when you choose to deploy a new distribution via a stackscript, it will create both a new Linode configuration as well as a new disk image. Doing so keeps you from having to remove the currently running setup.</p>
<p><a href="http://blog.tech4him.com/wp-content/uploads/20100308-Stackscript-LAMP.png"><img class="alignright size-medium wp-image-892" style="border: 1px solid black; margin: 8px;" title="Stackscript LAMP" src="http://blog.tech4him.com/wp-content/uploads/20100308-Stackscript-LAMP-300x195.png" alt="" width="300" height="195" /></a>One of the standard Linode LAMP StackScripts provide a form like the image to the left when executed to deploy a new distribution. MySQL user and password, creation of a default database, as well as root O/S password and such. dec</p>
<p>Once the configuration is created, you now only need to boot into the new configuration. If you are logged into your LISH console, you will see the distribution go through the automated process of the StackScript. In our test case, an Ubuntu 8.04 LTS kernel was booted and installed, system updates installed and applied, postfix installed for local loopback only, MySQL installed and tuned, php installed and tuned and apache2 installed and tuned.</p>
<p>Pretty cool so far. Now, there is plenty left to do to get a fairly decent LAMP going that in our case would run Drupal.</p>

<p>Create a new non-root admin  user account called myadminuser and add to the admin group:</p>
<pre>adduser myadminuser
usermod -G admin myadminuser</pre>
<blockquote><p>NOTE: Looks like the admin group is already part of sudoers so your new account has sudo privileges.</p></blockquote>
<p>Update the timezone:</p>
<pre>sudo dpkg-reconfigure tzdata</pre>
<p>Secure MySQL services in a quick fashion:</p>
<pre>sudo mysql_secure_installation</pre>
<p>Enable a few Apache2 modules:</p>
<pre>sudo a2enmod deflate
sudo a2enmod expires
sudo a2enmod cache
sudo /etc/init.d/apache2 force-reload</pre>
<p>Add a few PHP tools:</p>
<pre>sudo apt-get install php5-gd
sudo apt-get install php5-curl
sudo apt-get install php5-cli</pre>
<p>Secure SSH daemon by changing the port for SSH and disallow root login:</p>
<pre>sudo vim /etc/ssh/sshd_config
-- # Protocol 1
-- Protocol 2
-- ListenAddress 10.54.55.104 #your IP
-- Port 5502 # New port different than 22 and &lt; 65535
-- PermitRootLogin no
-- X11Forwarding no

sudo /etc/init.d/ssh restart</pre>
<p>Install the firewall and configure:</p>
<pre>sudo apt-get install ufw
sudo ufw default deny
sudo ufw allow http/tcp
sudo ufw allow 5502/tcp
sudo ufw enable
sudo ufw status verbose</pre>
<p>Configured PostFix by following pieces of our<a href="http://blog.tech4him.com/2009/08/linode-setup-domain-email-forwarding/"> previous post on PostFix and domain forwarding</a>.</p>
<pre>sudo vim main.cf
-- See article referenced
sudo vim virtual
-- See article referenced
sudo postmap virtual
sudo ufw allow 25/tcp
sudo postconf -e "inet_interfaces = all"
sudo /etc/init.d/postfix restart</pre>

<p>Lastly upon reboot we noticed that mysqld was failing. The problem was that mysqld was not binding correctly. We editing the my.cnf file and added BindAddress 127.0.0.1 above our existing BindAddress 10.54.55.104. This allows mysqld to bind and listen to both local loopback and the external IP (if needed)</p>
<p>At this point, we had not installed APC or MemCached yet. Performance was quite good with this setup and the minimal memory available to this test Linode. We ran six(6) Drupal , one (1) WordPress and one (1) CMS Made simple site with sub-second response times under fairly good load.</p>
<p>Kudos to Linode.com on their StackScript concept. I can certainly see this being very appealing for providers needing to crank out Linodes with a standard configuration for customers.</p>
<p>Blessings.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=891&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2010/03/linode-stackscripts-and-lamp-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Stopped Starting Upon Reboot &#8211; Ubuntu</title>
		<link>http://blog.tech4him.com/2009/09/mysql-stopped-starting-upon-reboot-ubuntu/</link>
		<comments>http://blog.tech4him.com/2009/09/mysql-stopped-starting-upon-reboot-ubuntu/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 03:31:22 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=771</guid>
		<description><![CDATA[Okay, so here is a quick tip. After making some system changes on an Ubuntu 8.04 LTS box with MySQL 5, a problem occurred. Upon starting the system up, MySQL failed to automatically start as it had been doing.

The tip is to reset all the system startup scripts for MySQL run the following commands:

sudo update-rc.d [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, so here is a quick tip. After making some system changes on an Ubuntu 8.04 LTS box with MySQL 5, a problem occurred. Upon starting the system up, MySQL failed to automatically start as it had been doing.</p>
<p><span id="more-771"></span></p>
<p>The tip is to reset all the system startup scripts for MySQL run the following commands:</p>
<pre>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 50px; text-align: left;" dir="ltr">sudo update-rc.d -f mysql remove
sudo update-rc.d mysql defaults</pre>
</pre>
<p>After that, reboot and if the problem was in those system startup scripts, I bet your problem is resolved.</p>
<p>Blessings.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=771&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/09/mysql-stopped-starting-upon-reboot-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linode Setup &#8211; Domain Email Forwarding</title>
		<link>http://blog.tech4him.com/2009/08/linode-setup-domain-email-forwarding/</link>
		<comments>http://blog.tech4him.com/2009/08/linode-setup-domain-email-forwarding/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 01:51:33 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=722</guid>
		<description><![CDATA[Previously I talked about our adventure moving to the Linode.com service. Now that the websites have been running spectacularly for a few a week, I noticed that emails were not being sent or received properly from some of the domains. Doh! See how we fixed it.

For our sites, we like Gmail. So I want all [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-725" href="http://blog.tech4him.com/2009/08/linode-setup-domain-email-forwarding/2228964249_b1f77e5564_o/"><img class="alignright size-full wp-image-725" style="margin: 8px;" title="Postfix" src="http://blog.tech4him.com/wp-content/uploads/2228964249_b1f77e5564_o.jpg" alt="Postfix" width="256" height="192" /></a><a href="http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/">Previously</a> I talked about our adventure moving to the Linode.com service. Now that the websites have been running spectacularly for a few a week, I noticed that emails were not being sent or received properly from some of the domains. Doh! See how we fixed it.</p>
<p><span id="more-722"></span></p>
<p>For our sites, we like Gmail. So I want all my domains to be sent to my Gmail account. This is where we need to setup postfix to forward email for these domain names to a few Gmail account. Below we talk about how we made it happen.</p>
<p>To back up a few steps, I&#8217;ll explain what was already installed. We chose to use postfix instead of sendmail because of the security issues surrounding sendmail.</p>
<p><code>sudo apt-get install postfix</code></p>
<p><code>sudo dpkg-reconfigure postfix</code></p>

<h2>Setup Domain Catch-all Aliases</h2>
<p>We chose the Internet Site option, set postfix mail domain to our domain name (e.g. example.com). Hmmmm&#8230;. so why is it not working. Remember in the previous article I said it had been many moons since I did Unix or Linux admin? Well, I guess I should have added that I have never setup a mail server on Linux.</p>
<p>Thanks to the first two sections of <a href="http://www.24hourapps.com/2009/01/linode-ubuntu-mail-server-part-2.html" target="_blank">this article</a> we got email working.</p>
<h3>Step 1.</h3>
<p><code>sudo vi /etc/postfix/main.cf</code></p>
<p>and change this to myhostname to localhost</p>
<p><code>myhostname = localhost</code></p>
<h3>Step 2</h3>
<p>Add the following lines to the main.cf file as well.</p>
<p><code>virtual_alias_domains = example1.com example2.com<br />
virtual_alias_maps = hash:/etc/postfix/virtual</code></p>
<p>The virtual_alias_domains is a space separated list of the domain names that you want postfix to handle mail for.</p>
<h3>Step 3</h3>
<p>Now we need to create the virtual alias map file</p>
<p><code>cd /etc/postfix<br />
sudo vi virtual<br />
</code></p>
<p>Now you have just created the file named virtual. Add a mapping of where to send the emails for the various domains and email addresses.</p>
<p>First we will deal with the catch all forwarding. The format is the domain name then a space and then the email address you want all emails to go to if they don&#8217;t match a particular email address.</p>
<p><code>@example1.com myusername@gmail.com<br />
@example2.com myusername@gmail.com</code></p>
<p>Next you can add specific email address mappings instead of the catch alls. This format is similar and starts with the specific domain email address, a space and then the forwarder email address.</p>
<p><code>admin@example1.com myusername@gmail.com<br />
webmaster@example1.com otheruser@gmail.com</code></p>
<h3>Step 4</h3>
<p>Now we need to create the hash map the speeds up how postfix reads these virtual mappings.</p>
<p><code>cd /etc/postfix<br />
sudo postmap virtual</code></p>
<h3>Step 5</h3>
<p>Finally we restart postfix</p>
<p><code>sudo /etc/init.d/postfix restart</code></p>
<h2>Networking</h2>
<p>Woohoo, we are now sending email&#8230;.short-lived celebration though. Still not receiving email to these addresses from outside the server. hmmmm&#8230;.</p>
<p>Okay, I&#8217;m not a rocket scientist. After about 15 minutes of checking config files, logs and such I finally just tried to telnet to port 25 on the server. Yup, no answer at all.</p>
<p>In my haste to lock down the server last week, I had not opened port 25. A quick change to the firewall and we are good to go. Sending and receiving emails for the mapped domains works wonderful.</p>
<p><code>sudo ufw allow 25/tcp<br />
</code></p>
<p>You could stop here, but again, I&#8217;m a bit paranoid.</p>
<p><a href="http://www.spamhelp.org/shopenrelay/" target="_blank">Use this tool</a> to ensure you are not a bad netizen by providing an open relay server.</p>
<h2>Blacklist with Linode IP?</h2>
<p>Now, this last bit was specific to our Linode service and the IP address assign in the specific datacenter we are located in. Your mileage may vary. It was noticed that when sending email to a particular user, the message was returned with a 554 message rejected response.</p>
<p>A bit more investigation and we found that the reason was due to our ip address being listed in the <a href="http://www.us.sorbs.net/overview.shtml" target="_blank">SORBS</a> database. Apparently our IP is registered as being a Dynamic User/Host List (DUHL). Essentially, they think it is a dynamically assigned IP address such as those used for home ISP users. A little bit of reading and we submitted our request to have our IP address de-listed. I guess we&#8217;ll have to wait a bit to see what happens.</p>
<p>Blessings.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=722&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/08/linode-setup-domain-email-forwarding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal can Fly&#8230;.on a Linode</title>
		<link>http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/</link>
		<comments>http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 01:52:37 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=694</guid>
		<description><![CDATA[Yup, I learned this week just how well Drupal can fly. Well, maybe not measured in feet above the earth but certainly in terms of response time. Come take a look at a new setup were are testing out.

This week we got fed up with such terribly sporadic performance on a MediaTemple grid server account. [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-702" href="http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/linodecom/"><img class="alignleft size-full wp-image-702" style="margin: 8px;" title="linodecom" src="http://blog.tech4him.com/wp-content/uploads/linodecom.png" alt="linodecom" width="295" height="73" /></a>Yup, I learned this week just how well Drupal can fly. Well, maybe not measured in feet above the earth but certainly in terms of response time. Come take a look at a new setup were are testing out.</p>
<p><span id="more-694"></span></p>
<p>This week we got fed up with such terribly sporadic performance on a <a href="http://www.mediatemple.net/webhosting/gs/" target="_blank">MediaTemple grid server account</a>. After many months of watching performance go from acceptable to abysmal, we finally said &#8220;enough&#8221; with a few sites that were running on this account.</p>
<p>We had just finished doing a major migration of another few of sites to a new <a href="http://www.mediatemple.net/webhosting/dv/pricing.php" target="_blank">MediaTemple Rage dedicated virtual server</a>. The DV&#8217;s at MediaTemple are fantastic. After a day of tuning and tweaking, those sites are humming. But, I think this is what really caused the decision to leave the grid server account for some other sites. Grid server performance was terrrible if you site was not a significantly active site.</p>
<p>After a bit of digging, I decide to try my hand at the <a href="http://www.linode.com/" target="_blank">Linode.com VPS</a> route. Linode.com has long been praised in Drupal circles for their value/performance proposition. Essentially a Linode is a linux virtual server in a Xen environment. Now, please note that this is not for the faint of heart. These are raw server distributions. No web server, mysql, php, control panel pre-installed. You are building your linux server from scratch. Be fore-warned.</p>
<p>It&#8217;s been many moons since I did Unix admin work, let alone Linux. I&#8217;ve been spoiled by Plesk and cPanel with most hosts. So this was certainly a challenge. Linode provides some very basic tutorials for getting your LAMP server setup in your choice of linux distributions. Again, these tutorials are very basic and will not suffice for long term hosting and certainly don&#8217;t secure your server.</p>
<p><a rel="attachment wp-att-710" href="http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/linodedashboard/"><img class="aligncenter size-medium wp-image-710" title="linodedashboard" src="http://blog.tech4him.com/wp-content/uploads/linodedashboard-300x108.png" alt="linodedashboard" width="300" height="108" /></a></p>
<p>One nice thing about Linode.com is a very active community in both their forums and IRC (#linode). I popped into irc and asked a few basic questions. I got some decent help right away, along with the usual, &#8220;stupid noobie&#8221; style remarks. Oh well, ignore the chaff.</p>
<p>Upon signing up for my Linode 540 I had a running server in about 34 minutes. Of course, I learned a few things, trashed it and made a new server. Man, my command line Apache2 skills have vastly improved in the last 24 hours. <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Luckily I could just &#8220;rsync&#8221; all the files for a site from the old grid server, directly to my new linode super fast. Mysql db backup and then resotred to the linode server. Then I edited my /windows/system32/drives/etc/host file to point www.myexample.com to the new linode IP. This let me test the site on the linode server without changing DNS for the time being. (Heck, you don&#8217;t want your sites down, right?)</p>

<p>I typed the url into my browser and in less than 1 second the page was rendering. Wow! Now compare that to the 15 second lag time on the grid server for a first time hit. Incredible. Of course, I had to run through lots of site pages just to keep seeing that great response time.</p>
<p>Now for my test installation I went with Ubuntu 8.04 LTS OS image. Then, <a title="Aegir server preparation" href="http://groups.drupal.org/node/25482" target="_blank">this great Aegir prep article</a> on <a title="Drupal.org" href="http://drupal.org" target="_blank">Drupal.org</a> was used as a basis for the install. The only difference was that that instead of manually installing Apache2 and Mysql I installed the lamp-server^ package which does this and more for you. (Don&#8217;t forget the ^ carrot as part of the package name.)</p>
<p><code>sudo apt-get install lamp-server^</code></p>
<p>I also found that a particular plugin for Wordpress needed curl instead of wget. So a quick install of php5-curl did the trick.</p>
<p><code> sudo apt-get install php5-curl</code></p>
<p>For those that don&#8217;t want to deal with command line might want to look at the <a href="http://www.virtualmin.com/download" target="_blank">VirtualMin GPL</a> product which provides a web based interface to manage your hosting sever. The automatic install is a breeze but you&#8217;ll need to do some reading to understand how to create your first virtual server and such. For us, we stuck to the command line.</p>
<p>One thing that I guess I didn&#8217;t get right away was that one linode package equals a single linux server. The reason for this is that I&#8217;m used to VMware environments where it is nothing to bring up a new VM on any one host. For some reason my brain was thinking of the linode as the host, not the guest. Oh well. My bad for adding a second ip address to my account, create new disk images and then realize, &#8220;How do I boot this second system?&#8221;. Doh! You can&#8217;t.</p>
<p>Of course, it is easy enough order another linode and move disk images between linodes. Also, Linode bills per month (or annually) but you get credit for days not used. So&#8230;you can add a linode to create a new &#8220;hosting server&#8221;, set it up the way you want it, migrate everything from your current linode and then delete the old linode. Doing this, will credit you for the unused days in the billing cycle for the old linode. Essentially, you pay for each days use which is great for minimal cost + flexibility.</p>
<blockquote><p><em>On average, a Linode 360 host has 40 Linodes on it. A Linode 540 host has on average 30.  Linode 720 host: 20 Linodes; Linode 1080 host: 15; Linode 1440 host: 10; Linode 2880: 5.</em></p></blockquote>
<p>Another exciting item is the announced Linode API. This new api is clean and provides 30+ methods for managing Linode accounts. I am interested at looking into this more and could easily see someone building a module for Aegir to provision more Linodes as needed for new Drupal sites, etc&#8230; This has got to have quite a big potential for folks wanting to automate Drupal hosting but want to stay away from the Plesk and cPanel type offerings.</p>
<p>As for flying, on the MediaTemple (gs) account, it would average between 2-10 seconds (2000+ ms) for TTFB for a lightly used site. Now the same site is pulling 400-800 ms TTFB. Now that&#8217;s a difference and in my opinion worth the extra administration. Even our MediaTemple (DV) rage is pulling TTFB of around 600-800 ms.</p>
<pre>Linode 540              $39.95/mo     400-800 ms TTFB
MediaTemple (gs)        $20.00/mo     &gt; 2000 ms TTFB
MediaTemple (dv) Rage   $100.00/mo    600-800 ms TTFB</pre>
<p style="text-align: center;"><a rel="attachment wp-att-705" href="http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/loadtime/"><img class="size-full wp-image-705 aligncenter" style="margin: 8px;" title="loadtime" src="http://blog.tech4him.com/wp-content/uploads/loadtime.png" alt="loadtime" width="436" height="172" /></a></p>
<p style="text-align: center;"><a rel="attachment wp-att-705" href="http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/loadtime/"></a>All in all, the linode service has been great, performance superb and freedom impressive. Only time will tell how well this will stay this way, but judging by the many others praising Linodes, the ride should be sweet.</p>
<p>Linode Drupal references:</p>
<ul>
<li><a href="http://drupal.org/node/194971" target="_blank">http://drupal.org/node/194971</a></li>
<li><a href="http://drupal.org/node/547910" target="_blank">http://drupal.org/node/547910</a></li>
<li><a href="http://www.rundrupal.com/linode-review" target="_blank">http://www.rundrupal.com/linode-review</a></li>
<li><a href="http://www.linodereview.com/linode-drupal" target="_blank">http://www.linodereview.com/linode-drupal</a></li>
<li><a href="http://hostingfu.com/article/linode-xen-vps-review" target="_blank">http://hostingfu.com/article/linode-xen-vps-review</a></li>
<li><a href="http://www.jeffbeeman.com/node/23" target="_blank">http://www.jeffbeeman.com/node/23</a></li>
</ul>
<p>Recent write-up</p>
<ul>
<li>http://www.ddj.com/hpc-high-performance-computing/219401166</li>
</ul>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=694&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/08/drupal-can-fly-on-a-linode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu 6.06 Server LTS &#8211; Adding support for SMP</title>
		<link>http://blog.tech4him.com/2008/01/ubuntu-6-06-server-lts-adding-support-for-smp/</link>
		<comments>http://blog.tech4him.com/2008/01/ubuntu-6-06-server-lts-adding-support-for-smp/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 22:29:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[386]]></category>
		<category><![CDATA[686]]></category>
		<category><![CDATA[smp]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 6.06]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>
Now that we have had our server working well following our previous instructions, it is now time to tweak some more. Actually, many folks probably thinks this is more thank a tweak and really a necessity. I'd agree with that. Why? Well you just purchased a dual, quad core Xeon server to be fast. Fast is alot of things but certainly processing power is one of those key pieces. 
</p>
<p>
Go to the shell prompt on your server and run the following command:
</p>
<p>
<i>cat /proc/cpuinfo &#124; grep '^processor' &#124; wc -l</i>
</p>]]></description>
			<content:encoded><![CDATA[<p>
Now that we have had our server working well following our previous instructions, it is now time to tweak some more. Actually, many folks probably thinks this is more thank a tweak and really a necessity. I&#8217;d agree with that. Why? Well you just purchased a dual, quad core Xeon server to be fast. Fast is alot of things but certainly processing power is one of those key pieces.
</p>
<p>
Go to the shell prompt on your server and run the following command:
</p>
<p>
<i>cat /proc/cpuinfo | grep &#8216;^processor&#8217; | wc -l</i>
</p>
<p>
Now, what number did you get back. Was it 1? Well the number you get back from that command is the number or processors the system currently sees. Yes, that&#8217;s right. In our example here, our server was only seeing a single core out of a possibility of 8 (dual, quad core, xeon processors). So you&#8217;re telling me that we are wasting 7/8 of our processing power? Essentially, YES!
</p>
<p>
Well don&#8217;t fear. There is a relatively simple way to fix this. Now, there are a few caveats but we&#8217;ll show you how we did it.
</p>
<p>
<b>NOTE</b>: If you compiled any source for any applications since your initial installation of Ubuntu, be prepared to re-compile. We are about to change the kernel and therefore your going to need to recompile against that new kernel.
</p>
<p>
From a shell prompt we need to be sure our repository information is up to date so&#8230;:
</p>
<p>
<i>sudo apt-get update</i>
</p>
<p>
Next, let&#8217;s get the 686 package which will allow our system to see more than the single processor as it does in the 386 version.
</p>
<p>
<i>sudo apt-get install linux-686</i>
</p>
<p>
Great! That was easy. You may have noticed that the installation made changes to the /boot/grub/menu.lst file. If you recalled from our previous article, this is the file that defines how grub will boot your system. With Ubuntu 6.06Server LTS and the PERC5/i controller in our box we had to make some modifications to that menu.lst file before. Well, unfortunately our work was just overwritten by the installation of the linux-686 package.
</p>
<p>
No problem, we&#8217;ll just update it again.
</p>
<p>
sudo vi /boot/grub/menu.lst
</p>
<p>
Now in this file towards the bottom are the boot menu options just like before. Change to &quot;root&quot; entries from something like hd(4,0) to hd(0,0). You are just changing that 4 to a 0 in each of the 4-6 menu option entries.
</p>
<p>
Next, the 686 kernel seems to correct the issue of how the raid array is detected and therefore named. Still in the menu.lst file, find the &quot;kernel&quot; entries for each menu option. Notice that there is something like root=/dev/sde1 in the line. Well, now the array is seen as sda not sde. So change all the sde1 pieces to sda1.
</p>
<p>
<i>/boot/vmlinuz-2.6.15-29-686 root=/dev/sde1 ro quiet splash</i>
</p>
<p>
is changed to
</p>
<p>
<i>/boot/vmlinuz-2.6.15-29-686 root=/dev/sda1 ro quiet splash</i>
</p>
<p>
Be sure you make those changes to all the entrie and then save your work.
</p>
<p>
Now all you have to do is reboot the server, but, be sure to do it form the console because you won&#8217;t have network connectivity when you reboot if you are on a Dell Poweredge 2950 like we are.
</p>
<p>
<i>sudo shutdown -r now</i>
</p>
<p>
Okay, after the reboot, log into your server at the console.
</p>
<p>
<i>sudo /etc/init.d/networking restart </i>
</p>
<p>
This should get your networking going again. There is an issue with the bnx2 / Broadcom driver in the 686 kernel that is odd but a simple restart of networking resolves the issue. This is how we came up with this temporary workaround until we find the real solution.
</p>
<p>
<i>sudo vi /etc/init.d/rc</i>
</p>
<p>
Now in this rc file, near the end add the following line which will force the networking restart after reboot.
</p>
<p>
<i># temporary resolution to networking issue under 686 kernel<br />
/etc/init.d/networking restart</i>
</p>
<p>
Then save your file.
</p>
<p>
That&#8217;s it. Now try that processor count again. Hmmmm&#8230;. we actually see 8 processors now. Now we are being good stewards of what has been provided.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=10&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2008/01/ubuntu-6-06-server-lts-adding-support-for-smp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 6.06 Server LTS Installation on Dell PE 2950 / PERC5</title>
		<link>http://blog.tech4him.com/2008/01/ubuntu-6-06-server-lts-installation-on-dell-pe-2950-perc5/</link>
		<comments>http://blog.tech4him.com/2008/01/ubuntu-6-06-server-lts-installation-on-dell-pe-2950-perc5/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 23:34:46 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[2950]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 6.06]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>
Yesterday we finished the installation of a new server. There has
been alot of discussion about how to install Ubuntu 6.06 onto a <a href="http://www.dell.com/content/products/productdetails.aspx/pedge_2950?c=us&#38;cs=04&#38;l=en&#38;s=bsd" target="_blank">Dell
PowerEdge 2950 server</a> with a PERC 5 RAID controller. Really the
discussion has been about support for the PERC 5 controller and linux
kernel's earlier than 2.6.17. The megaraid_sas driver is needed but not properly handled in Ubuntu 6.06 LTS.
</p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-121" title="pedge_2950_3_overview1" src="http://blog.tech4him.com/wp-content/uploads/pedge_2950_3_overview1-300x131.jpg" alt="pedge_2950_3_overview1" width="300" height="131" />Yesterday we finished the installation of a new server. There has<br />
been alot of discussion about how to install Ubuntu 6.06 onto a Dell<br />
PowerEdge 2950 server with a PERC 5 RAID controller. Really the<br />
discussion has been about support for the PERC 5 controller and linux<br />
kernel&#8217;s earlier than 2.6.17. The megaraid_sas driver is needed but not properly handled in Ubuntu 6.06 LTS.<span id="more-9"></span></p>
<p>We really wanted to use Ubuntu 6.06 LTS because of the long-term<br />
support through 2011 however the kernel with this version does not<br />
properly recognize the raid containers created and manager by the PERC<br />
5 controller. Luckily, we knew this before the server was ordered and<br />
had a number of contingency plans. One of the biggest threads we found<br />
about the topic is <a href="http://ubuntuforums.org/showthread.php?t=226114" target="_new">located here</a> in the Ubuntu forums.</p>
<p>So here is the disk configuration. We had four (4) 250GB SATA drives<br />
with two bays empty. We proceeded to use the <a href="http://releases.ubuntu.com/dapper/ubuntu-6.06.1-alternate-i386.iso" target="_blank" class="broken_link">Ubuntu 6.06.1 LTS Alternate<br />
CD</a> to perform the installation. The installation was done with all the<br />
primary defaults. Now when the installer is detecting the networking<br />
hardware it did not detect the two onboard GB Broadcom NICs. No<br />
problem, just continue.</p>
<p>Now came the detection of the hard disks and partitioning. The<br />
installer detected all four (4) physical drives (sda, sdb,sdc and sdd)<br />
AND the only large raid volume (sde). (Note: In Ubuntu 6.10, 7,04 and<br />
7.10, only the one large raid volume was listed and correctly so.) At<br />
this point we selected drive sde, the large raid volume and chose to<br />
use all the available space. This allowed the installer to<br />
automatically create the necessary partitions.</p>
<p>The installation continued until the cd was ejected and the message<br />
to hit enter to continue appeared. At this point, DO NOT hit continue.<br />
Instead we need to modify the grub menu list. So we need to goto a<br />
console by hitting Alt + F2.</p>
<p>We are following some of the items listed in reply #20 of the above<br />
thread. You can use his code as a script or do what we did and do it<br />
manually in order to be sure we had everything correct.</p>
<blockquote><p>chroot /target</p>
<p>echo megaraid_sas &gt;&gt; /etc/mkinitramfs/modules<br />
cp /boot/initrd.img-2.6.15-26-386 /boot/initrd.img-2.6.15-26-386.old<br />
mkinitramfs -o /boot/initrd.img-2.6.15-26-386 2.6.15-26-386</p>
<p>grub-install /dev/sde</p></blockquote>
<p>Here is where we change (hd4,0) to (hd0,0) in menu.lst</p>
<blockquote><p>grep hd4 /boot/grub/menu.lst<br />
cp /boot/grub/menu.lst /boot/grub/menu.lst.orig<br />
sed -e &#8217;s/hd4/hd0/g&#8217; /boot/grub/menu.lst.orig &gt; /boot/grub/menu.lst</p>
<p><code><br />
</code></p></blockquote>
<p>Finally, remember that the two (2) onboard nics were not detected.<br />
The nice things is all we need to do is to add the entries for the<br />
interfaces are added and the bnx2 module driver will be automatically<br />
loaded. The thread mentioned above has you do the following in your script:</p>
<blockquote><p>echo &#8216;<br />
# The Ethernet network interface<br />
auto eth0<br />
iface eth0 inet dhcp</p>
<p>auto eth1<br />
iface eth1 inet dhcp<br />
&#8216; &gt;&gt; /etc/network/interfaces</p>
<p>touch /etc/resolv.conf</p></blockquote>
<p>We simply did the following and decided to goahead and put all the static IP information for the server in now and add the dns servers to the resolv.conf</p>
<blockquote><p>vi /etc/network/interfaces</p>
<p>auto eth0<br />
iface eth0 inet static<br />
address xxx.xxx.xxx.xxx<br />
netmask 255.255.255.0<br />
network xxx.xxx.xxx.0<br />
broadcast xxx.xxx.xxx.255<br />
gateway xxx.xxx.xxx.xxx</p>
<p>auto eth1</p>
<p>iface eth1 inet static<br />
address xxx.xxx.xxx.xxx<br />
netmask 255.255.255.0<br />
network xxx.xxx.xxx.0<br />
broadcast xxx.xxx.xxx.255<br />
gateway xxx.xxx.xxx.xxx</p></blockquote>
<p>And now the resolv.conf</p>
<blockquote><p>touch /etc/resolv.conf</p>
<p>nameserver xxx.xxx.xxx.xxx<br />
nameserver xxx.xxx.xxx.xxx</p></blockquote>
<p>This biggest things is to get the &#8216;root&#8217; entries in the menu.lst<br />
file correct. Below is the last part of our menu.lst file. Notice that<br />
the three &#8216;root&#8217; etries are using hd0,0 instead of what was originally<br />
there, hd4,0.</p>
<blockquote><p>/boot/grub/menu.lst<br />
&#8230;<br />
## ## End Default Options ##</p>
<p>title           Ubuntu, kernel 2.6.15-26-386<br />
root            (hd0,0)<br />
kernel          /boot/vmlinuz-2.6.15-26-386 root=/dev/sde1 ro quiet splash<br />
initrd          /boot/initrd.img-2.6.15-26-386<br />
savedefault<br />
boot</p>
<p>title           Ubuntu, kernel 2.6.15-26-386 (recovery mode)<br />
root            (hd0,0)<br />
kernel          /boot/vmlinuz-2.6.15-26-386 root=/dev/sde1 ro single<br />
initrd          /boot/initrd.img-2.6.15-26-386<br />
boot</p>
<p>title           Ubuntu, memtest86+<br />
root            (hd0,0)<br />
kernel          /boot/memtest86+.bin<br />
boot</p>
<p>### END DEBIAN AUTOMAGIC KERNELS LIST</p></blockquote>
<p>Now press Alt+ F1 to go back to the installer window and hit enter to reboot. That should be it! Now, if for some reason it does not work, don&#8217;t panic. If GRUB is loading but not finding the /root filesystem just go back to the GRUB menu, hit &#8216;e&#8217; to edit the primary menu selection. This takes you to the command line editor, check and be sure (hd0,0) is in the line and not (hd4,0). If not, changeit right there and then hit &#8216;enter&#8217;. When back at the grub menu, hit &#8216;b&#8217; to boot that selection.</p>
<p>Blessings.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=9&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2008/01/ubuntu-6-06-server-lts-installation-on-dell-pe-2950-perc5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 6.06 Server LTS Part II &#8211; Configure The Network with Static IP</title>
		<link>http://blog.tech4him.com/2007/12/ubuntu-6-06-server-lts-part-ii-configure-the-network-with-static-ip/</link>
		<comments>http://blog.tech4him.com/2007/12/ubuntu-6-06-server-lts-part-ii-configure-the-network-with-static-ip/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 04:05:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 6.06]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>
By default, the Ubuntu installer has configured our system to get
its IP address and other network settings via DHCP. This is not what we
want so we have to change the server to have a static IP address. Edit <i>/etc/network/interfaces </i>and adjust it per your requirements. For this example we are using an IP address of 192.168.167.210 for this server.
</p>
<p>
<br />
Now,
there are a myriad of examples on the web and I am including a few
links to them for convenience sake in case they explain this better.
(they probably do) ;o)
</p>]]></description>
			<content:encoded><![CDATA[<p>
By default, the Ubuntu installer has configured our system to get<br />
its IP address and other network settings via DHCP. This is not what we<br />
want so we have to change the server to have a static IP address. Edit <i>/etc/network/interfaces </i>and adjust it per your requirements. For this example we are using an IP address of 192.168.167.210 for this server.
</p>
<p>
<br />
Now,<br />
there are a myriad of examples on the web and I am including a few<br />
links to them for convenience sake in case they explain this better.<br />
(they probably do) ;o)
</p>
<p class="command">
vi /etc/network/interfaces
</p>
<div align="center">
<table style="border: 1pt outset black; background: #cccccc none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="border: 1pt inset black; padding: 1.5pt">
<p>
			# This file describes the network interfaces available on your system<br />
			# and how to activate them. For more information, see interfaces(5).<br />
			<br />
			# The loopback network interface</p>
<p>			auto lo<br />
			<br />
			iface lo net loopback</p>
<p>			# The primary network interface</p>
<p>			auto eth0<br />
			<br />
			iface eth0 net static<br />
			<br />
			    <span></span>address 192.168.167.210<br />
			<span>        </span><br />
			    netmask 255.255.255.0<br />
			<br />
			    <span></span><span></span>network 192.168.167.0<br />
			<br />
			    <span></span><span></span>broadcast 192.168.167.255<br />
			<span>        </span><br />
			    gateway 192.168.167.1
			</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
Now, restart your network:
</p>
<p class="command">
<i>/etc/init.d/networking restart </i>
</p>
<p>
Then edit <span class="system">/etc/hosts</span>.<br />
We are telling the server what names it is going to answer to and to<br />
which IP addresses those names belong. This is somewhat analogous to<br />
the Windows hosts file if you are familiar with Windows:
</p>
<p class="command">
vi /etc/hosts
</p>
<div align="center">
<table style="border: 1pt outset black; background: #cccccc none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="border: 1pt inset black; padding: 1.5pt">
			127.0.0.1<span>       </span>localhost.localdomain localhost<br />
			<br />
			192.168.0.100<span>   </span>server1.example.com<span>     </span>server1</p>
<p>			# The following lines are desirable for IPv6 capable hosts<br />
			<br />
			::1<span>     </span>ip6-localhost ip6-loopback<br />
			<br />
			fe00::0 ip6-localnet<br />
			<br />
			ff00::0 ip6-mcastprefix<br />
			<br />
			ff02::1 ip6-allnodes<br />
			<br />
			ff02::2 ip6-allrouters<br />
			<br />
			ff02::3 ip6-allhosts
			</td>
</tr>
</tbody>
</table>
</div>
<p>
Now execute the following commands.
</p>
<p class="command">
hostname<br />
hostname -f
</p>
<p>
The results from both commands should show <span class="system">server1.example.com</span>. If they do not, reboot the system:
</p>
<p class="command">
shutdown -r now
</p>
<p>
Log back into your server and try the hostname commands again.
</p>
<p class="command">
hostname<br />
hostname -f
</p>
<p><span>They should show <span class="system">server1.example.com</span>.</p>
<p>Now for those links I promised:</p>
<p><a href="http://www.cyberciti.biz/tips/howto-ubuntu-linux-convert-dhcp-network-configuration-to-static-ip-configuration.html">Link 1 on cyberciti.biz</a><br />
<a href="http://www.howtogeek.com/howto/ubuntu/change-ubuntu-server-from-dhcp-to-a-static-ip-address/">Link 2 on howtogeek.com</a><br />
<a href="http://www.howtoforge.com/perfect_setup_ubuntu_6.06_p3">Link 3 on howtoforge.com</a></p>
<p>Blessings</span></p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=1&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2007/12/ubuntu-6-06-server-lts-part-ii-configure-the-network-with-static-ip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 6.06 Server LTS Installation with Software RAID Support &#8211; Part I</title>
		<link>http://blog.tech4him.com/2007/12/ubuntu-6-06-server-lts-installation-with-software-raid-support-part-i/</link>
		<comments>http://blog.tech4him.com/2007/12/ubuntu-6-06-server-lts-installation-with-software-raid-support-part-i/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 01:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 6.06]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>
Well, victory is ours....sort of. See our previous post.<br />
<br />
The
long and short of it is that we ended up just removing that Promise
FastTrak TX2 controller card and placed the two drive on the built-in
motherboard controllers. Since we have some other devices we
piggybacked both drives from the same controller which is not going to
be as performance minded as put each drive on a different controller
but for this application it is fine.<br />
]]></description>
			<content:encoded><![CDATA[<p>
Well, victory is ours&#8230;.sort of. See our previous post.</p>
<p>The<br />
long and short of it is that we ended up just removing that Promise<br />
FastTrak TX2 controller card and placed the two drive on the built-in<br />
motherboard controllers. Since we have some other devices we<br />
piggybacked both drives from the same controller which is not going to<br />
be as performance minded as put each drive on a different controller<br />
but for this application it is fine.</p>
<p>I thought that I would post<br />
some articles describing in more detail our steps and experiences in<br />
case it may be of use to others. So here we go.</p>
<p><span style="font-weight: bold">Ubuntu 6.06 Server LTS Installation with Software RAID Support</p>
<p></span>
</p>
<ol style="margin-top: 0in" start="1" type="1">
<li class="MsoNormal">Boot from the      Ubuntu 6.06 LTS Bootable CD (<a href="http://www.ubuntu.com/getubuntu/download">available from here</a>)</li>
<li class="MsoNormal">Choose the Start Server Install Option</li>
<li class="MsoNormal">Follow and answer the standard prompts and entries until you get to the partitioning section</li>
<li class="MsoNormal">This<br />
	is where we did some research and manually created 4 partitions, 2 on<br />
	each drive in order to create two RAID 1 arrays. The best explanation<br />
	of this that we have found thus far <a href="http://advosys.ca/viewpoints/2007/04/setting-up-software-raid-in-ubuntu-server/trackback/">is here</a>.<br />
	We deviated a bit from this article however. Our primary difference was<br />
	in the changing of the partition sizes with the largest being the root<br />
	filesystem and the smaller being the swap space.</p>
<ol>
<li class="MsoNormal">
<p>
		So<br />
		here is our new physical partition view. (Be sure the root &quot;/&quot; mount<br />
		points are set to &quot;bootable&quot; or you won&#8217;t be able to boot into your<br />
		newly install Ubuntu Server.)
		</p>
<div align="center">
<table border="0" cellpadding="3" cellspacing="1">
<tbody>
<tr>
<th style="text-align: center; background-color: #66cccc">Drive</th>
<th style="text-align: center; background-color: #66cccc">Partition</th>
<th style="text-align: center; background-color: #66cccc">Type</th>
<th style="text-align: center; background-color: #66cccc">Mounted on</th>
<th style="text-align: center; background-color: #66cccc">Size</th>
</tr>
<tr>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">Drive0</td>
<td style="text-align: center; background-color: #c0c0c0">/dev/hda1</td>
<td style="text-align: center; background-color: #c0c0c0">Primary</td>
<td style="text-align: center; background-color: #c0c0c0">/</td>
<td style="background-color: #c0c0c0">70GB</td>
</tr>
<tr>
<td style="text-align: center; background-color: #c0c0c0">/dev/hda2</td>
<td style="text-align: center; background-color: #c0c0c0">Primary</td>
<td style="text-align: center; background-color: #c0c0c0">(swap area)</td>
<td style="background-color: #c0c0c0">10 GB
					</td>
</tr>
<tr>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">Drive1</td>
<td style="text-align: center; background-color: #c0c0c0">/dev/hdb1</td>
<td style="text-align: center; background-color: #c0c0c0">Primary</td>
<td style="text-align: center; background-color: #c0c0c0">/</td>
<td style="background-color: #c0c0c0">70 GB</td>
</tr>
<tr>
<td style="text-align: center; background-color: #c0c0c0">/dev/hdb2</td>
<td style="text-align: center; background-color: #c0c0c0">Primary</td>
<td style="text-align: center; background-color: #c0c0c0">(swap area)</td>
<td style="background-color: #c0c0c0">10 GB
					</td>
</tr>
</tbody>
</table></div>
</li>
<li class="MsoNormal">We then used the above physical partitions to create these two Multidisk devices (arrays).
<div align="center">
<table border="0" cellpadding="3" cellspacing="1">
<tbody>
<tr>
<th style="text-align: center; background-color: #66cccc">RAID device</th>
<th style="text-align: center; background-color: #66cccc">Type</th>
<th style="text-align: center; background-color: #66cccc">Mounted on</th>
<th style="text-align: center; background-color: #66cccc">Size</th>
<th style="text-align: center; background-color: #66cccc">Members</th>
</tr>
<tr>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">/dev/md0</td>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">RAID1<br />
					 mirror</td>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">/</td>
<td rowspan="2" style="background-color: #c0c0c0" align="center">70 GB</td>
<td style="text-align: center; background-color: #c0c0c0">/dev/hda1</td>
</tr>
<tr>
<td style="text-align: center; background-color: #c0c0c0">/dev/hdb1</td>
</tr>
<tr>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">/dev/md1</td>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">RAID1<br />
					 mirror</td>
<td rowspan="2" style="text-align: center; background-color: #c0c0c0">(swap)</td>
<td rowspan="2" style="background-color: #c0c0c0">10 GB
					</td>
<td style="text-align: center; background-color: #c0c0c0">/dev/hda2</td>
</tr>
<tr>
<td style="text-align: center; background-color: #c0c0c0">/dev/hdb2</td>
</tr>
</tbody>
</table></div>
</li>
<li class="MsoNormal">Once<br />
		you have the partition looking like the above, choose that you are<br />
		finished and choose &quot;yes&quot; to the warning about writing these changes to<br />
		the disks.</li>
</ol>
</li>
<li class="MsoNormal">Continue      finishing out standard server installation prompts</li>
<li class="MsoNormal">If<br />
	you want to be sure you can boot from either of the two drives in the<br />
	array (like if one goes out which is why you went to all this trouble<br />
	to begin with) then you need to follow the step to get the grub loader<br />
	install on the second disk. This is in the same article under the &quot;Make<br />
	Every Drive Bootable Section&quot;.</p>
<ol>
<li class="MsoNormal">Essentially boot the server CD again and choose &quot;Rescue a broken system&quot;</li>
<li class="MsoNormal">Follow the system prompts until you see the &quot;Device to use as root filesystem&quot; prompt. STOP!</li>
<li class="MsoNormal">Press<br />
		Alt-F2 to go to the second console (TTY2) and hit enter. Here you are<br />
		going to enter the follow command to mount the second drive</p>
<p>		           mount /dev/md0 /mnt<br />
		  chroot /mnt<br />
		  grub<br />
		  device (hd0) /dev/sda<br />
		  root (hd0,0)<br />
		  setup (hd0)<br />
		  device (hd1) /dev/sdb<br />
		  root (hd1,0)<br />
		  setup (hd1)<br />
		  quit</li>
<li class="MsoNormal">Now<br />
		reboot your server. Don&#8217;t know how??? &quot;shutdown -r now&quot; (This tells the<br />
		system shutdown. The &quot;-r&quot; says restart after the shutdown and the &quot;now&quot;<br />
		means do it now instead of in 10 minutes or whatever else you might<br />
		want to include there.)</li>
</ol>
</li>
<li class="MsoNormal">Login      as administrator or whatever you choose for the username and password in the installation sequence.</li>
<li class="MsoNormal">Perform<br />
	&quot;sudo apt-get update&quot; to have apt-get update the list of packages and<br />
	the &quot;sudo apt-get upgrade&quot; to ensure latest versions of all packages<br />
	are applied.</li>
<li class="MsoNormal">Finally I always like<br />
	to install an SSH server right away so I can finish the system<br />
	configuration form the comfort of my desk, a couch or some other comfy<br />
	place. So run the &quot;sudo apt-get install openssh-server&quot; command.</li>
</ol>
<p>A big thanks to the Ubuntu community and especially to <a href="http://advosys.ca/">Derrick Webber</a> whose <a href="http://advosys.ca/viewpoints/2007/04/setting-up-software-raid-in-ubuntu-server/trackback/">post</a> was the basis for our successful installation.</p>
<p>Now<br />
in our future new production hardware we will further distribute the<br />
&quot;/&quot; root, &quot;/var&quot; and &quot;/usr&quot; mount points to individual partitions.</p>
<p>Blessings</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=2&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2007/12/ubuntu-6-06-server-lts-installation-with-software-raid-support-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu Installation with a Promise FastTrak TX2 RAID Controller</title>
		<link>http://blog.tech4him.com/2007/12/ubuntu-installation-with-a-promise-fasttrak-tx2-raid-controller/</link>
		<comments>http://blog.tech4him.com/2007/12/ubuntu-installation-with-a-promise-fasttrak-tx2-raid-controller/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 16:17:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 6.06]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Whew....this is a bit of an enigma right now. I know I read about some potential issues with this controller card but it is what we have to use. I thought those issue were primarily around driver support and bit write issues. What I did not expect was the difficulty in installing Ubuntu 6.06 LTS onto a mirror array created with the controller. Perhaps this is a symptom of the "poor driver support" issue?
<br/><br/>]]></description>
			<content:encoded><![CDATA[<p>Whew&#8230;.this is a bit of an enigma right now. I know I read about some potential issues with this controller card but it is what we have to use. I thought those issue were primarily around driver support and bit write issues. What I did not expect was the difficulty in installing Ubuntu 6.06 LTS onto a mirror array created with the controller. Perhaps this is a symptom of the &#8220;poor driver support&#8221; issue?<br />
<br/><br/><br />
Others seem to have similar issues. <a href="http://ubuntuforums.org/showthread.php?t=472014">This one</a> with no response as of today. <a href="http://meanderingpassage.com/2006/10/20/ubuntu-not-your-typical-install/">This one</a> without the expertise to resolve. A hopeful possibility is <a href="http://opennfo.wordpress.com/2007/09/02/adventures-with-linux-raid-part-1/">this one</a> which I will try next if need be.<br />
<br/><br/><br />
When the installer gets to the partitioner section instead of seeing a single array to install on as I would expect, it see&#8217;s the two physical drives. Of course that isn&#8217;t really going to work now is it. (or&#8230;.maybe I am missing something fundamental with Linux and hardware raid controllers?)<br />
<br/><br/><br />
So, now I am starting from scratch since this is a temporary production rebuild. As I write this I deleted the old array, created a new mirror RAID 1 array from the two disks, select one as the primary image and the controller is copying the image. Once that finishes, I will attempt to do one more installation of Ubuntu Server 6.06 LTS and see what happens.<br />
<br/><br/><br />
If anyone has any ideas or thoughts, I welcome them.<br />
<br/><br/><br />
UPDATE:<br />
<br/><br/><br />
Finally realized that this discontinued controller is the cause of the issue and since we have to use the hardware available for this project, decided to go with software raid. Really not much performance difference since the controller wasn&#8217;t offloading the array needs anyhow.<br />
<br/><br/><br />
<a href="http://advosys.ca/viewpoints/2007/04/setting-up-software-raid-in-ubuntu-server/trackback/">Found this post</a> describing how to perform the manually partitioning for the installation although I disagree with a 10 GB root volume and a 100+ GB swap volume. So I flipped them around as we are going to be using this machine as a VMWare Server host. (Small installation).<br />
<br/><br/><br />
Worked like a charm and I&#8217;m ready to start updating the system and getting the VMWare server installation cooking. We&#8217;ve already done this numerous times in our test environment. Too bad we didn&#8217;t have this controller card in the test environment to had spotted this issue sooner. No harm, no foul. Time to move on.<br />
<br/><br/><br />
Blessings!</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=3&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2007/12/ubuntu-installation-with-a-promise-fasttrak-tx2-raid-controller/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adding Gnome Desktop to Ubuntu 6.06 Dapper Server Installation</title>
		<link>http://blog.tech4him.com/2007/08/adding-gnome-desktop-to-ubuntu-6-06-dapper-server-installation/</link>
		<comments>http://blog.tech4him.com/2007/08/adding-gnome-desktop-to-ubuntu-6-06-dapper-server-installation/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 00:12:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
Okay, first, don't ask why I would want to load Gnome Desktop onto a server installation. I just did. ;o)<br />
<br />
If you wanted to do this it is <a href="http://ubuntuforums.org/archive/index.php/t-186298.html">really pretty simple</a>. Just know that it adds quite a bit to your &#34;server&#34; installation.<br />
<br />
<br />
sudo apt-get install ubuntu-desktop<br />
sudo apt-get install gdm<br />
sudo /etc/init.d/gdm start<br />
sudo dpkg-reconfigure xserver-xorg<br />
]]></description>
			<content:encoded><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
Okay, first, don&#8217;t ask why I would want to load Gnome Desktop onto a server installation. I just did. ;o)</p>
<p>If you wanted to do this it is <a href="http://ubuntuforums.org/archive/index.php/t-186298.html">really pretty simple</a>. Just know that it adds quite a bit to your &quot;server&quot; installation.</p>
<p>
sudo apt-get install ubuntu-desktop<br />
sudo apt-get install gdm<br />
sudo /etc/init.d/gdm start<br />
sudo dpkg-reconfigure xserver-xorg</p>
<p>Just a reminder that ubuntu-desktop is really an alias for a number of packages.</p>
<p>Voila. Have fun.</p>
<p>P.S. Want a slimmed down gnome desktop? This should get you started: http://doc.gwos.org/index.php/LightweightGnome
</div>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=6&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2007/08/adding-gnome-desktop-to-ubuntu-6-06-dapper-server-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
