Ubuntu 12.04, Amahi, and Linux Not Detecting Hard Disks

amahi_6.1_ubuntu

It’s been quite a long time since I’ve had this much trouble with Linux detecting a hard drive.  It brought me back to Ye Olde Linux days when 14 floppy disks housed your distribution and more times than not you didn’t have compatible hardware and had to find out via BBS what modem worked with what kernel…sometimes, it was a major pain…and that was the fun in it :)

In today’s installation of Linux…I thought I’d left those days behind.  I was wrong, unfortunately.

I downloaded Ubuntu 12.04 to install so that I could put Amahi on my video/picture/file/tv/movie share Linux machine.  Amahi is pretty much the best program on the face of the planet to use for this purpose…I’d put it up against any ‘samba-like’ distribution of Linux out there and I think it would come out on top.  Anyway, I went to install Ubuntu 12.04 and I immediately hit a problem:  it wasn’t detecting my hard drive.  I got out my notes for when I last installed an operating system on this server and it happened to be the last release of Amahi on Fedora…which was Fedora 14.  In that instance, I had to pass the nodmraid option in order for my hard drive to detect.

Easy enough.  I went into the Ubuntu options for booting.  Chose F6 and then selected nodmraid.  It booted fine and I went to a desktop.  Once there, I clicked the install icon.  Things were looking good until I went to the part of the installer where you choose a hard disk…which didn’t give me any hard disks.  I tried this process again and again…often times putting in other options such as noapic, nolapic and other awesome boot parameters using the F6 portion of the boot prompt.  No joy on any of these tries.  What could it be?

After a few minutes of brainstorming, I realized that Ubuntu wasn’t actually honoring the boot parameter for nodmraid.  Since this was the case, the hard drive wasn’t detecting.  In order to get the hard drive detecting, I should remove the dmraid information from my hard drive and see if this made a difference.  So, here’s how I fixed this problem:

  1. Instead of booting to install Ubuntu, select the option to Try it first
  2. Once there, hit up the dashboard, click on all applications, and search through all 78 until you find Terminal
  3. Once the terminal is up, type sudo su and hit enter.  You’re now root.
  4. type fdisk -l and take note of the letter designation of your hard drive that is having problems detecting (sda in my case).
  5. type dmraid -E -r /dev/sdX where ‘X’ is the letter designation of your hard drive.
  6. Answer yes to the question it asks of if you wish to remove the dmraid information on the drive.
  7. Reboot and Install Ubuntu.  It should now detect.

Not a hard thing to figure out…but it might be for some new users…and I’m almost certain Amahi users will run across this…because many of them are converts from Windows Home Server.  In this case, they’d probably be pretty freaked out having to drop down to a command line and issue commands.  Hopefully, this article will be a handy tool for them to use in order to get Ubuntu and subsequently, Amahi installed on their computer.  Thanks for reading!

Interesting Statistics

Very interesting statistics that I’ve noticed since moving the site to a Linode VPS.

If you take a look at the graphic below, the spike in the middle will probably stick out quite a bit.  Oddly enough, the spike I noticed in CPU percentage used (which is regulated for VPS at Linode) also spiked up disk usage…mainly because I began to swap when cpu/ram use skyrocketed.  All of this happened with Ubuntu 10.04 installed.  CentOS was the first distro I tried but I quickly switched to Ubuntu when I spotted a really nice how-to in the Linode document library.  Oh, and please excuse my horrible gimp skills on the image below…it was a quick and dirty editing of the image:

cpu usage

After switching to Ubuntu, I began receiving alarms for my account due to the high usage of CPU and disk.  I attempted to tweak settings and configuration files for about a week and realized it just wasn’t going to work for me.  I switched to Debian Lenny and the move was a positive as is reflected in these pictures.

disk usage

I was hoping Ubuntu 10.04 would fit for me since it is a long term support (LTS) release.  CentOS is my normal server distribution of choice and I really wanted to branch out and go with something different.  I used a Linode Stackscript for WordPress for CentOS but elected for vanilla installs of Ubuntu and Debian aftwards (I didn’t like NOT knowing what was installed when I first logged in…call me a control freak).

I just found it interesting that Ubuntu 10.04 did so horribly in this instance.  After investigating, I found a couple of likely suspects:

  1. Default Apache install in Ubuntu leaves a lot to be desired..even after tweaking both it and PHP for days I couldn’t get them to lay off the resources.  Even switching to mpm_worker and FastCGI did little to settle things down.
  2. Ubuntu swappiness is bad…it is set at 60 (I use 10 normally) and it swapped every chance it could get…it’s set by default to swap more than it should.
  3. mod_php on Ubuntu is hungry for all your cpu and ram and disk; be warned!

Debian, as the parent distribution of Ubuntu, would most likely suffer from the same problems…except it doesn’t.  Things are working great with it and I’d recommend it for any of your server needs!  Has anyone else seen this oddity with Ubuntu 10.04?  If so, please drop me a comment below.

Rethinking Home Servers

Since my first home-built server (a PI 75Mhz behemoth) I’ve used Red Hat based distributions as my home server.  This lasted until around 2002-3 when I moved into a 4 bedroom house with 3 of my Air Force buddies and one of them wanted to learn Linux.

I knew from experience in the mid-nineties that Slackware was probably the most Unix-like distribution out there…I felt at home there quite a bit after learning the *nix ropes on Solaris 2.0.  So we configured a Slackware 8.1 dual processor tower server he was lucky enough to acquire as our home firewall-all-around-great-linux box.  He took his beginning steps there and flourished since our Air Force job already had us jumping around in a VAX/VMS mainframe.  We had many late night hacking sessions attempting to get things to work or compile there.  We also had a multi GB shared hard disk (unheard of at the time!) shared over samba.

After I got moved out, I continued to keep the Slackware box up to date.  I moved onward to Slackware 9.  Samba operated like a champ and Slackware was a great routing system and dhcp server.  Then I discovered ClarkConnect and loved the web interface.  I could do things in half the time!  I could do them over the web from work without SSH tunneling!  All this appealed to me at the time.

I continued to run ClarkConnect from that point on and have continued to all the way up to when it changed to ClearOS this past year.  Indeed, I have ClearOS now as my central server.

The only problem is that I’ve suffered 2 of the most catastrophic losses of files in my samba shares when running ClarkConnect/ClearOS…and I didn’t draw the lines together  on these separate incidents until just recently.

The first loss came when an entire samba share was completely eradicated…13GB of music was just gone.  The second loss happened just the other day when tons of scanned pictures just VANISHED into thin air.  Each time these happened, I was using ClarkConnect/ClearOS.  Each time it happened a few users reported instability in the forums of those distributions.  I am not sure how it could have happened and I was caught completely off guard on the second time…my backups were not yet configured since it was a new server.  The first time it happened…I didn’t know the value of having a good backup routine.  So each time, no backups :(  Lesson learned the hard way but learned nonetheless.

I recall running Slackware on my server and NEVER having the problems I have had with ClarkConnect/ClearOS.  This got me rethinking my home server design.  Servers should be the epitome of stability.  One should be able to migrate from one version of the operating system to the next with few hiccups.  When considering each of these it is very apparent that I should be running Slackware core on my main samba server.

I will be making that transition in the next week or two and moving to a Slackware core based server.  I’m not sure what to use for backups across the network (I usually mirror the drive to an NTFS drive in my Windows based multimedia server) nor backups locally to other hard drives.  If you have any suggestions, I’d really like to hear them.  Also, I’d like to know what readers consider using for a server.  Please vote for your favorite below and drop me a comment letting me know specifics and thanks for your help!

[poll id=”3″]

Are you looking for Linux Hosting?

Host Your Own Domain, Website and Webserver

This post was originally published on 13 July, 2006.  This version has been updated.

I have a problem with facebook, myspace, and other social networking websites out there.  The problem is when I upload my data to their webservers….I don’t own it anymore.  They do.  And they can do whatever they want with it once it is there.

With this in mind, I’d rather setup my own twitter using Status.net or my own digg using Pligg.  But I’d do it on MY OWN SERVER.  That way, any content I upload is MINE.  It doesn’t reside on some server in California or DC and get recycled to advertisements.

I like to control my own stuff.  I don’t like to be cut out of the loop.  If you’re like me, then you’ll want to host your own domain, website and webserver so that your friends/family/shrink can quickly and easily connect up to see new photos, find out the latest family developments, and understand why you wear tinfoil hats every Thursday after 4pm.

Normally, to host your own webpage you would need to spend around 7 bucks to purchase a domain.  Next you would need a hosting plan that usually runs around 3-15 dollars per month to serve up your web pages.

What most don’t realize is that you can skip these steps all together…you don’t need to get dedicated hosting (this blog is hosted on dedicated hosting…but started out in my apartment!) to serve pages up to your friends and family.  You absolutely do not need to get domain name services through a provider.  You can even host your own webserver using a dialup connection (that’s right…I said dialup) although. I don’t recommend it (but I’ve done it using 56.6kbps).

Why would you want to do this?  The answer might be to stay connected to friends and family…perhaps install a gallery so that your grandparents can see pics of your new dog/car/tinfoil hat.  Sure, you could waste my time with MyWaste..er..space and facebook and be barraged daily by advertisers and solicitors and be inundated with the minutiae of what all your friends had to eat for the day …or you could roll your own web host, install a gallery or website, and provide media to your friends and family without costing yourself a dime.  That’s right, NO COST (except time spent getting it running).  Just remember, your website might not survive a digging or slashdotting if you run it yourself.  Keep that in mind :)  So without more chatter, let’s get to the meat and potatoes of things:

Meat and Potatoes

If you have Cable or DSL at home (not a business account) you have something called a dynamic connection.  Dynamic connection means that it can change every once in a while.  DSL and cable ISP’s purchase blocks of IP Addresses in the dynamic range so that they can keep consumers separate from businesses.  It’s also easier for them to manage dynamic pools of people than to have to remember static connections that don’t change for everyone.

Because of this problem…an ever changing connection for you at home…web servers and websites do not do very well.  The reason for this is because when you visit a website on a dynamic connection one day, it might be different the next day.  In order for visitors of a website to find you each and every single time, you need a “domain” or web name that points back to the address (IP Address) your internet service provider changes on a whim.  You’ll also need an update service to update your website each time your ISP decides to change things on you.

Believe it or not, there are free services out there to do that for you.  You just have to be willing to do a little extra work in the beginning to set things up.  You can also do this without spending 20-40 bucks a month on DNS service.

I’ll divide this up into 2 sections.  The first will deal with Linux hosting.  The second, Windows hosting.  This is only something that I’ve found easy to do and the price is just right (it’s free).  The only thing that I recommend is a dedicated internet connection (cable, DSL) but even this is not necessary as dialup can be used.  I recommend that you use the Linux way of doing things since it is more secure and doesn’t require a restart every time you patch it.

*note: I’m assuming that you aren’t behind a firewall/proxy of any kind and that your ISP doesn’t block port 80 traffic.  If your ISP blocks port 80, see the appendix at the end of this article.

LINUX

No matter what version of Linux you run, chances are that you’ll be able to install the apache webserver.  This is good news as over half the websites of the world are run by apache. I’m not going to address the specifics of how to set up your apache…only how to get it a fixed address without buying a domain.  So, you have your html or php pages located into your webservers public directory…good…whatever application you have is installed on your server.  Now, how to resolve your IP…lets say it is…25.24.4.166 (for our example) and you want it to have a host.name.com to bind to.  Easy to resolve.  Go to http://www.no-ip.com/index.php and sign up.  You can get a site from noip that is like yourname.theirdomain.com/.net/.info.  They have cool names like sytes.net and servebeer.org…even workisboring.com.  Other services like dyndns.org also exist and provide the free service as well.

You’ll be able to choose your own top level name…for instance, Ithink.dnsiskinky.com could be your new domain name.  Next download a client from the download tab: https://www.no-ip.com/downloads.php

The linux client is a tar.gz source and is simple to install. Follow the instructions when installing.  You may have to install compilation tools (devel packages like GCC) to install the client.  You now are the proud owner of yoursite.theirsite.com and your IP will ALWAYS update (as long as noip.com is up) each time you log on/sign on/beam up or whatever it is you do.

How does this help you?  Well, if you’re like me, you have a dynamic IP address.  If you connect to the internet via cable, dialup, or dsl…you also have a dynamic IP address.  Dynamic means that it will change from time to time without warning.  So by binding yoursite.theirsite.com to your IP address…you don’t ever have to worry about what IP address you have anymore.  Instead, you’ll always be able to connect using yoursite.theirsite.com.  You can host a webserver using Apache and a virtual host in this style as well (look for another how-to on this subject later) so that everyone can visit a shiny website at yoursite.theirsite.com.

Now you can give your friends/family/dog walker/mailman the address to your new webserver…maybe it’s Ithink.dnsiskinky.com like we used in the example above.  Now when they visit that address in their web browser, your application or web page displays for them.  You also get bragging rights at being the most technical friend/relative/dog walker client/household that everyone knows.  Now let’s cover Windows.

WINDOWS

First you need a free and clear webserver since one is not included by default with windows. You can download Apache for this as well OR try the Abyss Webserver.

Interestingly enough, Abyss is also free!  I ran it while my linux machine was being worked on (bad hard disk…it was a Quantum 200MB drive from 1913…had to upgrade) and it worked just great off of Windows XP.  Download that puppy and install it.  Make sure you read all of the documentation and familiarize yourself with how Abyss does business.

The next step…getting a hostname… is even easier than the linux method because you don’t have to manually install the noip client…they have a windows installer.  Go to http://www.no-ip.com/index.php and sign up.  Choose the domain name you would like (see above examples in Linux section).  Next, download the noip client from the download tab: https://www.no-ip.com/downloads.php but this time choose the windows client.  From there, you’ll be able to install this with a simple double click.  Fill in all of your information (pretty self explanatory) and make sure that it will run with each time you sign on.  You’re set! Your IP will now resolve to the yourchoice.theirhostname.com

CONCLUSION

You don’t have to spend a dime to keep a domain bound to your IP.  This is perfect for the home user who just wants a gallery or homepage.  It’s even good for someone who has a weblog or enthusiast site.  It’s good for someone who wants to be able to find their files and music…setup Jinzora and stream all your music library to yourself anywhere you are!  Setup Amahi and have access to all the goodness it brings.

Please remember, this wouldn’t be good for a business to have.  You will probably violate your ISP’s terms and conditions for using their connection if you tried to run a business this way.

It’s always good form to put a link of the stuff you are using on your website to direct traffic back to your software provider.  When I used noip, I included a noip link on my main page and also an abyss webserver icon as well.  It’s just good form and some companies/software providers necessitate the use of their logo or a link on sites that use their software/code.  Just be a nice person and give a link back to them.  Good luck! Have fun!

Also, please note that having hosted my own webserver for quite some time (circa 2001) I’ve found Linux and Apache as a combination to be more secure, faster, and more stable than any webserver I’ve hosted on the Windows Platform. I included information on Windows mainly to introduce you to the concept of free and open source software. If you thought getting a webserver for free was great, think about getting a whole operating system! Give it a try, you don’t even have to install it (use a Live CD).

APPENDIX

If your ISP blocks port 80 traffic, your webserver won’t work.  Before deciding that your ISP is blocking however, make sure your firewall has the appropriate rules to allow incoming traffic.  You can do a quick add to IPTABLES in the following manner:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

If you’ve opened up the appropriate ports and things still don’t work, it will be safe to say that you’ve determined the ISP is blocking port 80.  How you can get around this conundrum is to switch the listening port on the webserver to a different one and redirect traffic there.

  1. See how to do this for IIS Webservers
  2. See how to do this for Apache Webservers (normally in /etc/apache2/httpd.conf but your distro may vary.)
  3. See how to do this for Abyss Webservers

If you still have problems, drop me a line in the comments section.  I may not be able to answer all questions but I can most likely get you to a person/place/thing that can.  Have fun and thanks for reading!

Host Your Own Domain and Webserver


This article is from 2006!  The information here may not be the most current.  You can visit an updated version here!

Doesn’t sound like anything new right?  Well, some people may not know of this method.

Normally, to host your own webpage you would need to spend around 7 bucks to purchase a domain.  Next you would need a hosting plan that usually runs around 3-15 dollars per month to serve up your web pages.

What most don’t realize is that you can skip these steps all together…you don’t need to get dedicated Windows or Linux Hosting (this blog is hosted on dedicated hosting…but started out in my apartment!) to serve pages up to your friends and family.  You absolutely do not need to get domain name services through a provider.  You can even host your own webserver using a dialup connection (that’s right…I said dialup) although. I don’t recommend it (but I’ve done it using 56.6kbps).

Why would you want to do this?  My reply…to stay connected to friends and family…perhaps throw up a gallery so that your grandparents can see pics of your new dog/car/tinfoil hat.  Sure, you could waste my time with MyWaste..er..space and be barraged daily by advertisers and solicitors…or you could roll your own web host, install a gallery or website, and provide media to your friends and family without costing yourself a dime.  That’s right, NO COST (except time spent getting it running).  Just remember, your website might not survive a digging or slashdotting if you run it yourself.  Keep that in mind :)  So without more chatter, let’s get to the meat and potatoes of things:

Do you cringe at the thought of buying a domain and putting up with the headache of trying to make sure your IP address is up to date with your domain?  Do you hate the 40 dollars you spend on DNS service each year to resolve your IP address to your hostname?  Read on and learn the the flat-broke-and-busted way of maintaining a fixed hostname for your IP…even if you have dialup.

I’ll divide this up into 2 sections.  The first will deal with Linux.  The second, Windows.  This is only something that I’ve found easy to do and the price is just right (it’s free).  The only thing that I recommend is a dedicated internet connection (cable, DSL) but even this is not necessary as dialup can be used.  I recommend that you use the Linux way of doing things since it is more secure and doesn’t require a restart every time you patch it.

*note: I’m assuming that you aren’t behind a firewall/proxy of any kind and that your ISP doesn’t block port 80 traffic.  If your ISP blocks port 80, see the appendix at the end of this article.

LINUX

No matter what version of Linux you run, chances are that you’ll be able to install the apache webserver.  This is good news as over half the websites of the world are run by the extremely efficient and speedy apache. I’m not going to address the specifics of how to set up your website…only how to get it a fixed address without buying a domain.  So, you have your pages dropped into your webservers public directory…good.  Now, how to resolve your IP…lets say it is…25.24.4.166 (for our example) and you want it to have a host.name.com to bind to.  Easy to resolve.  Go to http://www.no-ip.com/index.php and sign up.  You can get a site from noip that is like yourname.theirdomain.com/.net/.info.  They have cool names like sytes.net and servebeer.org…even workisboring.com

You’ll be able to choose your own top level name…for instance, Ithink.dnsiskinky.com could be your new domain name.  Next download a client from the download tab: https://www.no-ip.com/downloads.php

The linux client is a tar.gz source and is simple to install. Follow the instructions when installing.  You may have to install compilation tools (devel packages like GCC) to install the client.  You now are the proud owner of yoursite.theirsite.com and your IP will ALWAYS update (as long as noip.com is up) each time you log on/sign on/beam up or whatever it is you do.

How does this help you?  Well, if you’re like me, you have a dynamic IP address.  If you connect to the internet via cable, dialup, or dsl…you also have a dynamic IP address.  Dynamic means that it will change from time to time without warning.  So by binding yoursite.theirsite.com to your IP address…you don’t ever have to worry about what IP address you have anymore.  Instead, you’ll always be able to connect using yoursite.theirsite.com.  You can host a webserver using Apache and a virtual host (also known as a Virtual Private server or VPS Hosting) in this style as well (look for another how-to on this subject later) so that everyone can visit a shiny website at yoursite.theirsite.com.

Read more

Dell Dimension E521 with Linux

I bought a Dimension E521n to replace my server last week. I previously built a system myself with an AMD Duron Processor and an add on IDE Controller so I could load it up with hard drives for a file server. The only downside to this was that the fan I bought for this server I built was loud…REALLY loud. When we moved to a different apartment this past year we lost our spare room (office) and the computer went into my bedroom.  Needless to say, it’s LOUD at night when sleeping.

To replace this loud server I bought the E521-n series so Microsoft didn’t get any of my money. For those of you who don’t know, the N series desktops from Dell come with no operating system. Dell also claims that these computers are ‘ready for Linux’…but there are some problems associated with them. I was able to get ClarkConnect back on my server and pop in the IDE Controller PCI card (E521’s are completely SATA) after solving a couple of problems.

First and foremost, you have to make sure your E521 is running BIOS version 1.1.4 (Released January 2007). If you don’t, you’ll have USB problems all over the place. Second, when booting Linux, add the boot parameter acpi=noirq. If you can’t pass this parameter to your kernel you may need to completely turn off acpi using the ‘noacpi‘ parameter. The only downside to this is that your fan will run continuously and cause a bit more noise than it should.

When installing ClarkConnect 4.0, there is a routine for adding parameters to the kernel before GRUB writes to the MBR. I used this to pass the acpi=noirq parameter and after booting everything worked. Without passing this parameter, I received Kernel panics.

It’s also been reported that some kernels cannot find the broadcom module for the onboard LAN device. With ClarkConnect, this wasn’t a problem. I’ve heard that the Fedora Xen kernel has problems with this.

I’m going to list some links here for your reference that helped me in my quest:

ClarkConnect
Dell E521 and Linux Wiki Page
Yet Another Linux Blog and the USB Problem
Hardware Support for E521 N Series @ Ubuntu Forums

Hope this information helps someone with their problems! For those of you running Ubuntu, you’ll have to add ‘noapic irqpoll pci=routeirq’ to your boot parameters to get things rocking.