Well after thinking all was good and working, during the week again I started to see the same error messages at boot. That is wrong.
So I decided to get rid of that HD once and for all.
The original plan was to setup an asymetric RAID 1 array with a new HD and the old one but it looks like a bad idea right now.
The hardware
First of all I had this two drives:Original disk 1.5TB 32MB cache, 7200 512/512 (logical/physical)
New disk 2.0TB 64MB cache, 7200 512/4096 (logical/physical)
So I went to the store and got another HD of the same model of the new disk so I can get an efficient easy to setup and manage RAID1 array without any "special cases".
Procedure
The Archlinux Wiki have a really good article regarding to Convert a single drive system to RAID and as always, it is a good idea to follow it. Most of what I did was following that tutorial almost verbatim so I will not try to reproduce it here. I will just mention some of the variations I used to setup my box.
The original disk have the partitions as follows:
/dev/sda1 NTFS
/dev/sda2 /boot
/dev/sda3 /
/dev/sda4 /home
/dev/sda5 swap
To windows or not to Windows?
As you can see, I had an NTFS patition, there I had installed Windows with the only purpose to be able to play StarCraft II with all the power of my graphic card. I only boot that partition to play and fight with the annoying Windows updates that keeps failing keeping me away from playing when I want.
After searching a little in the web I found that it is reported to actually run very well from Wine. I found the Wine page and also an article from the ArchWiki.
I have been told (and it makes a lot of sense because it is a broken system) that Windows doesn't like to be moved from one HD to another, it will detect the different device and bitch all the way up to force me to do a fresh install, which will break all my partitions and provide me with a full dose of pain.
All said, I decided to not install a Windows partition and use that space in disk for something more useful than storing Windows (like being there just empty).
Prepare the disk
First of all, I needed to decide how I wanted to partition my disk. I decided to keep the partition schema for my base system as it was, with /boot, / and /home split and adding the 500GB extra from this new drive to the /home partition.I noticed that I didn't had a partition to install and play with other distributions or OS (I have an eye on ArchBSD and FreeBSD as a way to get away from Lennart's rule). So I will change the NTFS partition o another ext* one.
That said, it is time to setup the partitions...
But it looks like there is an option to MBR partition scheme: GPT. WTF is it and, do I want it?
TL;DR, GPT does not have the 4 primary partition limit that MBR has. And after asking the ArchWiki about Choosing between GPT and MBR it ends up It doesn't matter since I will not boot Windows nor use Grub Legacy as boot loader, plus I want more than 4 partitions without being bitched at some legacy problems.
So I decided to use GPT, all in all, it was a pleasant the bigger difference was using the GPT tools which are the same as the good old ones but with a nice 'g' in there: gdisk, sgdisk, cgdisk. They all are part of the gptfdisk package
Setup the RAID1
After having the disk setup done, I needed to follow the tutorial and wait for A LONG time to rsync my partitions.
Once again, I needed to execute the testdisk && fdisk trick from the last post to get working one of my partitions that keeps breaking up. And after that, all worked just flawlessly.
Setting up Grub2
I guess it worth to mention that Grub2 was a little tricky to install, not because of the GPT particularities. but because Grub2 is too different to Grub (legacy) which was really straight forward to configure by editing the menu.lst file.
All you have to do is:
- Install Grub2 to the GPT BIOS Boot Partition
- Tell Grub2 to load the mdraid module to be able to boot from a raid device by adding
GRUB_PRELOAD_MODULES="mdraid"
- Tell Grub2 to load the GPT support by adding the "part_gpt" module.
GRUB_PRELOAD_MODULES="part_gpt mdraid"
Success
Once this little changes are done, it is all about following the tutorial and wait a lot of time for 2TB to sync. =)
Today I do have my system running over an RAID1 array make my data a little more "secure" against HD failures.
Now I need to figure out what can I do with a 1.5TB HD with some broken blocks that I don't know if will fail again soon. Any ideas?