Tampilkan postingan dengan label RAID. Tampilkan semua postingan
Tampilkan postingan dengan label RAID. Tampilkan semua postingan

Selasa, 03 Maret 2009

RAID 1 and Ubuntu Server 8.10

Since I have recently acquired another 80 GB drive I decided to put it to good use in one of my older computers. It already had an 80 GB drive and what better way to use two equal size hard drives than to set up a RAID 1 array. For some reason when I used to hear the word RAID I assumed that in order to set that up one would need to know a lot. In all reality, setting up a RAID 1 array was quite easy. Since this computer will be a back-up server to my other computers it is nice to know that even if one drive fails I won't lose my data.

I will assume that the reader knows the basics of installing the Ubuntu Server. First of all you will need to download the Server ISO and burn it to disk. Once you have that, the only other item you will need is a computer to test it out on that is ready to have a RAID 1 array put on it. In order for it to be ready it will need to have at least 2 drives of equal size. If you don't happen to have a physical computer you could set up a virtual host will two small drives of equal size. Either way you will need a system that you can do a fresh install of Ubuntu Server 8.10. The screenshots you will see will be from a virtual machine.

Initial Set-up and the /boot partition
  1. Proceed as normal through the installation steps until you get to the part where you need to partition your drive.
  2. Choose Manual
  3. We want to create these partitions: 100 MB for /boot; 256 MB for swap; the rest for /;
  4. Select the first hard drive.
  5. If it asks you to create an empty partition table choose "Yes."
  6. Repeat four and five for the other drive as well and now you should have something like this.
  7. Now we are going to make the partitions on each drive. Select the first drive to partition it's free space.
  8. Choose create a new partition.
  9. Enter 100 MB for its size.
  10. Choose Primary.
  11. Choose Beginning.
  12. Now select the Use as: option and change it to "physical volume for RAID." Also turn the bootable flag on. (This is going to be the /boot partition remember).
  13. Then choose "Done setting up the partition."
  14. Repeat 8 through 13 for the other drive as well.
Setting up the Swap partition
  1. Now we need to set up the swap partition. Select the "FREE SPACE" on the first drive.
  2. Choose Create a new Partition.
  3. Enter 256 MB for the size.
  4. Choose Primary.
  5. Choose Beginning.
  6. Select the Use as: option but this time choose "swap area."
  7. Select "Done setting up the partition"
  8. Repeat steps 2 through 7 for the other drive.
Setting up the / Partition
  1. You should have a similiar set-up as the screenshot below. We could break our root partition down into /home, /usr, /var, etc. I want this to be simple and easy to do. Once you can do this basic set-up you will know how to do the more elaborate.
  2. Choose the "FREE SPACE" on the first hard disk.
  3. Choose Create a new partition.
  4. Use the default value that is already supplied. In my case it is 8.2 GB. This will use the rest of the disk for the root partition.
  5. Choose primary.
  6. Now select the Use as: option and change it to "physical volume for RAID."
  7. Select "Done setting up the partition."
  8. Repeat steps 2 through 7 for other drive.
  9. You should have a similar screen as below. Go ahead and choose "Configure software RAID." (It's at the top)
Configuring Software RAID
  1. Your next screen will ask you if you are really sure about your partitioning. Choose "Yes."
  2. Now select "Create MD device."
  3. Choose "RAID1"
  4. Now it will ask you how many active devices for the RAID1 array. Since we only have two drives we will leave it at 2 and continue.
  5. Now it asks about spares. We don't have any so we will leave it at 0 and continue.
  6. Now we need to choose the two partitions that are going to mirror each other. In my example it will be /dev/sda1 and /dev/sdb1. Choose both using the space bar to select/deselect and then continue.
  7. That's it. You've created the MD device for the /boot partition. Repeat steps 2 through 6 but choose /dev/sda3 and /dev/sdb3 in the last step.
  8. Once you have created both MD devices you can select "Finish."
Last but not Least
  1. We still have to give those RAID1 devices a mount point and filesystem. Follow the steps below to do it.
  2. Select the partition under RAID1 device #0. Mine says "#1 98.6 MB"
  3. Select the Use as: option and choose Ext3 (or whichever one you want).
  4. Change the Mount point: to /boot
  5. Then you can select "Done setting up the partition."
  6. Now repeat steps 3 through 5 for RAID1 device #1, the 8.2 GB partition. This partition will be mounted to /, which is root.
  7. Once you have these partitions made you can select "Finish partitioning and write changes to disk"
  8. Before it makes the changes it gives a nice warning about destroying data. Choose "Yes" to write the changes to disk.
  9. You may get another screen warning about the kernel not being able to access the RAID devices. Just continue and the base system will install as normal.
Conclusion
That's really all it takes to set up a RAID1 array with two hard disks of the same size. Now you can know that if one of your drives were to fail you would still have all of the data because of the RAID1 array. Back-ups must still be made in the case of the failure of both of the drives. That's why I will use rsync and an external drive. Hope this is useful for everyone!

Jumat, 20 Juli 2007

Debian Software RAID Setup

The Problem

Over the past few years space on my server would increase based on the deals found on sites like Slickdeals. After some time this lead to a mishmash of two PATAs and one SATA at 120Gb, 160Gb, and 200Gb respectively on my personal media server. Glad as I was to have all this space it started to become disk management issue since I wanted the bulk of the space consolidated for media. Filling up one drive would require me to move data to another with more space, causing organization and software issues (NFS would not single export multiple mounts).

Remedy

Last week this all became moot when Fry's advertised a 500Gb SATAII Maxtor drive for 90$. My EPoX motherboard was capable for RAID-0 and RAID-1 so I figured it was time to upgrade to a terabyte and bought two.

The initial plan was to create a RAID-0 array (striping for performance), re-install Debian, copy all data, and remove the older drives for noise and heat reasons. With two of them PATA drives, they could stay in the system easily copy straight to the new array. The older SATA drive had the OS and I wanted to keep it around for config reference when I was re-setting up the server. Both of the SATA ports would be used for the new array, not allowing this SATA to remain in the system, this was solved by purchasing a Masscool PATA/SATA external USB enclosure and copying the data from there.

Issues

Once everything was hooked up I ran the RAID BIOS config, set the new SATAs for RAID-0, and booted up the Debian Netinst CD. Surprisingly the installer showed both 500Gb drives as /dev/sda and /dev/sdb, completely ignoring the BIOS set RAID array. After doing a bit of research online for the RAID chipset (VIA VT6420) I found that it wasn't capable for true hardware RAID and instead relied on drivers in the OS to function properly, aka "fakeraid". These drivers only really existed for Windows and not Linux. Eventually I did find ones for Linux, but they were binary only and didn't look too friendly.

I thought about using them, but then remembered that Linux can do software RAID. Having briefly heard about software RAID before I was suspicious until I read a few articles explaining it's virtues. After tracking down a how-to Software RAID for Debian before I knew it I had a software RAID-0 array running on /dev/md0. For screen shots check out this Ubuntu Server Install guide.

Debian Config

The biggest choice while running the install was which file system to us. I gave ext3 a try first, with formatted space coming up to around 870Gb. XFS came out to 932Gb which was better, but after reading XFS's disadvantages (no journaling for data blocks) I decided it wasn't the best choice. JFS was last, which I was running on one of the drives I was replacing. It had worked flawlessly for the past couple of years, proving itself in the type of setup I would use. Overall JFS was the best option, giving a total of 932Gb of formatted space, For comparisons sake, a friend with the same setup ended up with 840Gb using NTFS on Windows.

I started the OS install, designating the entire drive as /, but hit a bump when it came to installing GRUB, which said it couldn't install to the MBR. I tried a few partition schemes to no avail, getting "unable to create partition" messages for everything, including swap. After a bit of frustration I split the OS and data onto separate drives; a spare 80Gb PATA for the OS and the RAID for data. I created a basic partition scheme (600Mb for /boot, 70Gb for /, and 5Gb for swap) on the OS drive and then mounted the RAID on /home, since this is where the bulk of the data would go anyway.

Results

Debian finished the install without a hitch and soon I was booting into my new clean system. A few cp -pfr and hours later I had successfully moved my server to the new drive and array. Below are some technical details:

micheal@jezebel:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 70G 4.5G 62G 7% /
tmpfs 502M 0 502M 0% /lib/init/rw
udev 10M 60K 10M 1% /dev
tmpfs 502M 0 502M 0% /dev/shm
/dev/hda1 564M 37M 499M 7% /boot
/dev/md0 932G 385G 547G 42% /home

micheal@jezebel:~$ cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sda1[0] sdb1[1]
976767872 blocks 64k chunks

unused devices: none
micheal@jezebel:~$ sudo hdparm -tT /dev/md0
/dev/md0:
Timing cached reads: 1210 MB in 2.00 seconds = 604.80 MB/sec
Timing buffered disk reads: 442 MB in 3.01 seconds = 147.07 MB/sec
Particularly impressive are results of 147 MB/sec on hdparm, which is leagues beyond the 60MB/sec seen on the original SATA drive. A few config changes over the next few days and the server was up and running normally.

Conclusion

Overall Linux's software RAID capabilities are impressive, not only can it do 0 and 1, but when re-compiling the kernel it has just as may options, if not more, than a traditional hardware card. Performance is outstanding, without being limited by the RAID hardware it mostly depends on bus and CPU speed, which are easier to upgrade than a RAID card. After this experience with software RAID I would not only recommenced it for personal use but enterprise also, proving itself in configuration, ease of use, and performance.
 
support by: infomediaku.com