Thursday, May 23, 2013

Software RAID5 Expansion on my 64-Bit Fedora 18 system (mdadm)

First off, I want to be clear that there are many (far better) tutorials for this type of procedure available on the web. Most notably, the following links go to the primary two sites that I utilized when attempting this RAID 5 expansion procedure.

It is prudent to mention that all credit to any accuracy I am able to represent should be directed to one or both of these sources, and that any errors should be attributed to my amateurish attempt at reconstructing the procedure for my particular system. Also, the reader should keep in mind that I haven't yet taken any of my required Unix courses. I've been using Linux for about seven years, but my Terminal proficiency is still admittedly that of a n00b.

This procedure is for the growing of a software RAID 5 array with mdadm in Fedora 18. It assumes an existing, functioning, RAID 5 array on a Fedora 18 system using the ext4 filesystem. (The procedure is similar for Debian and Ubuntu derivatives, but the location of 'mdadm.conf' is different, and they use the 'apt-get' software management package instead of Fedora's 'yum'.) This entire blog entry has the singular function as my personal reference for what works on my system, and I am NOT RESPONSIBLE for any problems (data loss, etc.) associated with any attempts at replicating this procedure, all of which are strongly discouraged.


The system consists of:


  • CPU: Intel Core2Quad Q6600 @ 2.4 GHz
  • RAM: 3x 2GB Corsair XMS3 DDR3 1600 MHz (I recently had a 4th stick test bad in PC-Check and Memtest, though this is unrelated)
  • GPU: NVidia GeForce GTX 650 (2GB GDDR5) on PNY XLR8 PCIe x16 card (1x 6pin PCIe power connection)
  • PSU: BFG 550W (modular)
  • Board: Intel Extreme Edition DP45SG
  • HDDs: 4x WD Green 500GB 7200rpm (3.5" SATA)
    • 1x WD Black 500GB 7200rpm (3.5" SATA)
    • 1x WD Blue 500GB 7200rpm (2.5" SATA)
  • Additional Hardware: 
    • Rosewill RC-209-EX (w/ 4x internal SATA connections for (3x of the Green-series drives) and (the Blue-series drive.))
      • Chipset: Silicon Image SiI3114 SATA controller chip
    • ASUS SATA DVD-RW drive
Applicable Software:
  • OS: Fedora 18 x86_64
  • Software RAID (/ FakeRAID): mdadm (current as of 05/22/2013)


  1. Physically install new drive (It is generally recommended, but not strictly required, that all drives be of the same size and speed)
  2. Boot
  3. Open a Terminal window and type (each line followed by [Enter]):
    1. su
    2. [Type Password]
    3. yum install gparted
    4. y
    5. yum update
    6. [Close Terminal after update is complete]
  4. Open GPartEd
  5. Format new drive with the same filesystem as used when the array was initially created.
    1. (I'm using ext4, which I understand is recommended over ext3 for arrays within the >1TB range)
  6. Once complete, close GPartEd and Open another Terminal Window and type (each line followed by Enter):
    1. su
    2. [Type Password]
    3. mdadm /dev/md[X] --add /dev/sd[Y]1
      1. Where: "[X]" is the number of the md-device. Mine is [X]=127.
      2. And Where: "[Y]" is the letter of the new drive that was just formatted. Mine is [Y]=b.
        1. So: my command is "mdadm /dev/md127 --add /dev/sdb1"
    4. mdadm /dev/md[X] -- grow --raid-devices=[Z]
      1. Where "[Z]" is the number of drives that will be involved in the array AFTER the new one is fully added. Mine is [Z]=6.
        1. So: my command is "mdadm /dev/md127 --grow --raid-devices=6"
      2. This typically takes a very long time (in my case, when adding the sixth drive the grow operation took approximately 8 hours).
      3. The progress can be monitored with the (recommended) following command:
        1. cat /proc/mdstat
    5. [When complete, I left the Terminal window open and opened a new tab ((File -> New Tab) (or) ([Ctrl] + [Shift] + [T])) and typed (each line followed by [Enter]):]
      1. su
      2. [Type Password]
      3. e2fsck -f /dev/md127
      4. resize2fs /dv/md127
      5. mdadm --detail --scan > /etc/mdadm.conf
  7. Then close Terminal 
    1. it asked whether I was sure, so, since both Terminal tabs had returned to the "$" line where its ready for a new command, I was confident in my decision to continue closing Terminal)
  8. Reboot
  9. Open Terminal and type (followed by [Enter]):
    1. mount /dev/md[X]
  10. [/end]

Tuesday, November 8, 2011

Google Music Beta

I've been using the Google Music Beta for about 3 months now, and I can't say I've seen or heard of a better option to enjoy all (or at least up to 20,000) of my songs without lugging a storage device large enough to hold all the files. The elimination of the need to have my iPod or mp3-player on me in order to enjoy my music is a paradigm example of the direction in which the current cloud-based technology is advancing. Prior to trying the Music beta, I had been expecting to have to hold out for a flash-memory-based media player in the 120-160GB capacity range to drop to a more affordable price before I'd be able to have the bulk of my music library available on the go, without relying on the questionable life-span integrity of many hard-drive-based devices.

Since the web-app is obviously still in 'beta,' you have to request an invitation from Google via the website and have an Android device in order to use the mobile app, but if you can get the invite and have a 'droid, you can use it free of charge.

Music is uploaded via the Music Manager application (installed on the computer with the music) which is now available for 32 and 64-bit versions of Windows, Mac OS X, and Linux (.deb and .rpm), and can be accessed from the main Google Music page via the "Upload music" link once you have logged into your account. Also included (at the time of this writing) are offers to add additional music to your collection (also free of charge) from Google's database.

Since the music is stored in the cloud, you can upload additional music from other computers (with the Music Manager application linked to your account) on top of the other songs already there. Access to your collection is limited to 8 devices (other than computers), but if you attempt to connect a 9th, it gives you the option to revoke access from another device and grant it to the new one, so you aren't left hanging. You can also log in to your Google Music account and play your music via your web browser on any number of computers as well.

The only potential snag with the mobile device playback, is that if your data connection is weak, it may take a bit of buffering-time to get started, although no more than your average YouTube video, from my experience. Also, since your files are streaming over your data connection (similar to streaming Pandora), it will eat up your monthly data allotment more quickly than many other types of mobile web activity, unless you have an unlimited data plan as I do.

Overall, I am very impressed with the Music Beta from Google, and eagerly anticipate the release candidate. It took less than a week for me to get my invitation when I requested one, but I'm not sure of their current degree of availability. Give it a shot if it seems like something that may interest you; even if you don't have an Android phone, the browser availability is rather convenient.

Saturday, May 21, 2011

Banshee Remote

I finally got around to setting up the Banshee Remote Android application today, and I must say, its quite an impressive ~40KB apk. It was developed by Nikitas Stamatopoulos, and instructions for setup, as well as download links for the .apk and source code, etc. are available on his website.

Banshee Remote on the Android Market is currently version 4.0, and you'll want the newest Banshee release (v2.0).

I have the Remote set up on my HTC Evo 4G using the WiFi connection to my 2Wire UVerse gateway allowing me control over the Banshee instance on my Ubuntu 11.04 desktop. I'm doing everything over the local network, in my case, without dealing with any external IP settings.

Overall, I'm very satisfied with the quality and simplicity of this application, and would recommend it to any music-lover with an Android device and a Linux PC. Props to Nikitas and his associates on a job well done. It would also be awesome to see some playlist integration and/or different shuffle options in a later release.