I'm looking to replace my hard-drives with bigger-ones and I would like to know what are the best practices in doing this. I have a HP ProLiant with its 256MB version of RAID controller:
03:00.0 RAID bus controller: Hewlett-Packard Company Smart Array G6 controllers (rev 01)
I also have a pair of 10.000 rpm 146GB SAS drives in RAID 1. The OS is Ubuntu 10.04, 64-bit. I'm not using LVM.
zduric@pbksrv002:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/cciss/c0d0p1 130G 119G 9.7G 93% / none 3.0G 192K 3.0G 1% /dev none 3.0G 0 3.0G 0% /dev/shm none 3.0G 64K 3.0G 1% /var/run none 3.0G 0 3.0G 0% /var/lock none 3.0G 0 3.0G 0% /lib/init/rw zduric@pbksrv002:~$ mount /dev/cciss/c0d0p1 on / type ext4 (rw,errors=remount-ro)
We experienced a huge growth in content stored there and now I need to replace this array with another pair, 300GB disks. Ubuntu 10.04 is up there with a tomcat and a document management application (which is filling up most of the drive). I'm looking for the best way to do it.
I was thinking that I could do one of the following:
Option I: replacing a drive at a time. Basically, I'd do something like this:
- Replace drive 1 with the new drive.
- Rebuild the array to put the data on the new drive.
- Replace drive 2 with the new drive.
- Rebuild the array.
I don't like the two-times rebuilding part about it. I also don't know, if that would work at all and even worse, how much downtime is that. (around 115GB data, OS included.)
Option II: Create a new array. The idea here is that I would add the new disks and create a second array. I could then migrate my tomcat application to the new array - this would mean a simple cp operation.
I like this option much better, because it would also leave me the first array to use solely for the OS and I could do OS upgrades more easily in the future.
Is the option II doable at all? Where could I find some good resources on doing this whole procedure?
Are there other, better, smarter options I should try?
Thanks in advance.