This is just a small, semi-budgeted home file server/nas build.
Main objective/usage for this server is to serve movies (including hd-dvd), music, pictures to all my client PCs over a gigabit network. I first installed Windows Server 2003 standard as the OS, but have no moved onto unRaid, which provides a backup for a single disk failure.
» The Hardware
LIAN LI PC-A16B (Good pictures and review here)
Asus P5B-VM DO
SeaSonic M12 500W
Athena Power Sata Back Plane
Promise SATA300 TX4
Intel Core 2 Duo E4300
G.Skill 2GB DDR2 800
Samsung Spinpoint 500GB
D-Link DGS-2208 Switch
There will not be a CD/DVD drive installed in this build, so I'm just going to grab a drive from one of my other PC's for the initial OS install. Other than that, just Artic Silver 5, some sata cables (10", 18"), and Cat6 network cables were purchased.
Here is the Newegg Wish List with most of the parts listed. Not all parts were purchased from newegg, Monoprice, Directron, and some other vendors were used. Pricegrabber comes in handy!
» Windows Server 2003 Standard - Installation
There's nothing much new about Windows install, I'm sure anyone building a server has installed a Windows OS before, its really straight forward.
When using hotswap and Intel's chipset sata ports, AHCI needs to be enabled on your motherboard. Also, drivers need to be installed using the F6 method before installing the OS (there is a workaround if you've already installed your OS and want to enabled AHCI). I slipstreamed Intel's Matrix Storage Manager and Promise SATA300 TX4 drivers into my OS Installation CD using nLite so I wouldn't have to deal with the F6 method, as I didn't have a floppy drive laying around.
For the OS install, I partitioned 30GB for the OS, and the rest for data. After installation, the latest chipset and lan drivers were gotten from their respective sites (both intel) and installed (which can also be integrated using nLite).
The drives were then formatted and shared so they would be available over the network.
» unRaid OS - Installation
I've never worked with Linux before, but this installation could not have gone any smoother. Basic instructions for creating a bootable usb flash drive and motherboard BIOS settings can be found here.
Before booting up the OS, take a sheet of paper and write down each serial number on the back of the HDDs and its location of where its going inside your case, it will help later when you're assigning the parity drive and disk drives, so they will show up logically according to its physical position of the drives in your case.
For example, in my situation, my parity drive is the first slot in the lower hot-swap bay, followed by disk1, disk2, disk3, disk4. Disk5 is the first drive in the top hot-swap bay, followed by disk6, disk7, and disk8. If I didn't know the serial numbers for the hard drives, I wouldn't have been able to assign them in that logical order.
You can now boot into unraid, and once its booted up, you can go to the web configuration through any of your client PCs web browser (http://tower is default which you can change). Now comes the part where you assign your parity drive and disk drives.
In my situation, I had a lot of data in my existing drives and I did not want to format my drives before I transferred all the data over to the unraid array. To do this, you need atleast 1 empty drive. I did NOT assign a parity drive at this time, instead i assigned and formatted the empty disk i had (disk1) and left the party drive as unassigned. At this time, you have a couple of options as to how you want to transfer your data from your NTFS drives over to your newly formatted unraid drive.
1. You could take the drive out, put it in a windows machine, and transfer all the files through the network share for disk1 that we just assigned to the array.
Another little quirk I ran into is that for user shares to work properly, top level folders need to be at a minimum...so instead of having all dvd folders as top level, i created a top level folder called DVDs moved all my dvds one level down, into that folder.
That was about it, pretty easy to setup and now i have the peace of mind that if one drive fails, i would not have to re-rip all my movies and not lose any data.
» Pictures

The build was pretty simple, and the case is simple amazing to work with and offers more than enough space. The Athena Power backplanes are also built very nicely, the hard drives slide into place w/o any effort.
All in all, this was a fun project w/o any hitches or bumps (touch wood) and hopefully will help someone along the way to their own server build or give then ideas.
Thanks
Main objective/usage for this server is to serve movies (including hd-dvd), music, pictures to all my client PCs over a gigabit network. I first installed Windows Server 2003 standard as the OS, but have no moved onto unRaid, which provides a backup for a single disk failure.
» The Hardware
LIAN LI PC-A16B (Good pictures and review here)
This case is comprised of 9 5.25" bays, which can house 9 internal HDDs using their 3in3 drive cage. Extra drive cages can be purchased separately if needed. Each of these cages has a fan in the front to draw in air over the hard drives.
But buying those would be a waste, as the reason for buying this case was it's ease of installation, its good looks, and of course, fitting it w/ hot-swap bays
But buying those would be a waste, as the reason for buying this case was it's ease of installation, its good looks, and of course, fitting it w/ hot-swap bays
Asus P5B-VM DO
This board was chosen because of 7 sata2 ports as well as an eSata port on the back, onboard video, gigabit lan. This board is also capable of RAID 0/1/0+1/5 on 6 of its 7 available sata ports, but won't be used by me. This is a full featured board in a small mATX package (which is another plus, takes up less space
).
Extra SATA controller cards can be bought if you run out of the 7 onboard sata ports.
Extra SATA controller cards can be bought if you run out of the 7 onboard sata ports.
SeaSonic M12 500W
I've used SeaSonic in the past, and I continue to use them. They're dependable, quiet, and highly efficient. You don't really need a modular PSU, especially for a server build, but I like the clean look it offers.
Also, 500W should be more than enough, even if running 9-15 drives, as there is no gfx card, sound card, etc to be powered, and the cpu+hdd's will not be at 100% usage to draw that much wattage anyway.
Also, 500W should be more than enough, even if running 9-15 drives, as there is no gfx card, sound card, etc to be powered, and the cpu+hdd's will not be at 100% usage to draw that much wattage anyway.
Athena Power Sata Back Plane
I came across many sata backplanes, but this was the cheapest of them all. Majority of them looked to be the same cage with a different face plate. The case has room for 3 of these cages, but I only bought 2 for now for my build.
Some of the other backplanes included AMS, SuperMicro, and ICY Dock. A Google Search lists many of the other brands available.
Some of the other backplanes included AMS, SuperMicro, and ICY Dock. A Google Search lists many of the other brands available.
Promise SATA300 TX4
A 4 port PCI sata2 controller card. It's cheap and adds more sata2 ports. Yes, it's PCI 2.2 based, but for a home server, it's more than enough bandwidth. If running any kind of software raid, PCI will slow it down b/c of its bandwidth limitations (due to it writing/reading parity information from all drives), so in that case you might want to consider a PCIe based controller card.
Intel Core 2 Duo E4300
The cheapest Core 2 Duo processor I could find.
Got it for about $100, and I believe the E4300's are being discontinued now.
G.Skill 2GB DDR2 800
Compatible 2GB of RAM at a good price.
Samsung Spinpoint 500GB
I've never used Samsung HDD's before, but these were hard to pass up for $100. They have good reviews and run cool and quiet.
D-Link DGS-2208 Switch
I've had a D-Link DGL-4300 router for the past 2 years and it's been running flawlessly, so I decided to stick with D-Link for my gigabit switch. Good reviews and good price.
There will not be a CD/DVD drive installed in this build, so I'm just going to grab a drive from one of my other PC's for the initial OS install. Other than that, just Artic Silver 5, some sata cables (10", 18"), and Cat6 network cables were purchased.
Here is the Newegg Wish List with most of the parts listed. Not all parts were purchased from newegg, Monoprice, Directron, and some other vendors were used. Pricegrabber comes in handy!
» Windows Server 2003 Standard - Installation
There's nothing much new about Windows install, I'm sure anyone building a server has installed a Windows OS before, its really straight forward.
When using hotswap and Intel's chipset sata ports, AHCI needs to be enabled on your motherboard. Also, drivers need to be installed using the F6 method before installing the OS (there is a workaround if you've already installed your OS and want to enabled AHCI). I slipstreamed Intel's Matrix Storage Manager and Promise SATA300 TX4 drivers into my OS Installation CD using nLite so I wouldn't have to deal with the F6 method, as I didn't have a floppy drive laying around.
For the OS install, I partitioned 30GB for the OS, and the rest for data. After installation, the latest chipset and lan drivers were gotten from their respective sites (both intel) and installed (which can also be integrated using nLite).
The drives were then formatted and shared so they would be available over the network.
» unRaid OS - Installation
I've never worked with Linux before, but this installation could not have gone any smoother. Basic instructions for creating a bootable usb flash drive and motherboard BIOS settings can be found here.
Before booting up the OS, take a sheet of paper and write down each serial number on the back of the HDDs and its location of where its going inside your case, it will help later when you're assigning the parity drive and disk drives, so they will show up logically according to its physical position of the drives in your case.
For example, in my situation, my parity drive is the first slot in the lower hot-swap bay, followed by disk1, disk2, disk3, disk4. Disk5 is the first drive in the top hot-swap bay, followed by disk6, disk7, and disk8. If I didn't know the serial numbers for the hard drives, I wouldn't have been able to assign them in that logical order.
You can now boot into unraid, and once its booted up, you can go to the web configuration through any of your client PCs web browser (http://tower is default which you can change). Now comes the part where you assign your parity drive and disk drives.
In my situation, I had a lot of data in my existing drives and I did not want to format my drives before I transferred all the data over to the unraid array. To do this, you need atleast 1 empty drive. I did NOT assign a parity drive at this time, instead i assigned and formatted the empty disk i had (disk1) and left the party drive as unassigned. At this time, you have a couple of options as to how you want to transfer your data from your NTFS drives over to your newly formatted unraid drive.
1. You could take the drive out, put it in a windows machine, and transfer all the files through the network share for disk1 that we just assigned to the array.
This is very tedious and I already had the drives installed in my hot-swap bays. This was not an option for me
2. You mount your NTFS drives in linux and transfer all the files over.Here we go, this is what I was looking for, and here are the steps to do exactly that (a sample wiki for this as well):
First, DO NOT assign the disk drives to the unraid array, instead write down their disk assignment slots. Remember the step above where we wrote down the serial numbers for each HDD, each of those serials will have a disk assignment slot in the drop down box of the disks page in the web config. For example, (sda, sdb, sdc, etc), write those down next to the serial numbers you wrote before.
Next, you need to telnet into your unraid box. Start -> Run and type in "telnet tower". This will bring up the telnet console and ask you for username, which is "root" by default. If you've assigned a password thru the web config, it will prompt you for that as well. In Vista, telnet is not loaded by default, you need to go to control panel and enable telnet client for vista.
Now, since the latest unraid doesn't load the NTFS kernel by default, you need to temporarily enable it by using the following command in the telnet console:
It's time to mount one of the NTFS drives you have w/ the data you want to migrate by issuing the following commands (note: the array needs to be started for this to work with only disk1 assigned and we're assuming the NTFS disk we want to copy data from is labled as sdb)
The first line simple creates a new folder, which you will mount your ntfs drive to, you don't have to name it old_data.
In the 2nd line, the -r flag mounts the drive as Read Only.
-t flag defines the type of the drive, in this case, ntfs
/dev/sdb1 says to mount the first partition of the drive, if you had multiple partitions you would need to come back to this step after you copied the files over from this partition. The basic format would be /dev/sdbx where x is the partition of the disk.
/mnt/old_data specifies where you want to mount the ntfs drive, which was the folder we just created
To copy the files, use the following commands:
The first line changes directories to /mnt/old_data. You can view the contents of your mounted ntfs drive now by typing dir.
-r flag says to copy all files/folder recursively
* denotes everything in the old_data directory is to be copied
/mnt/disk1 is the destination of where to copy
Now, depending on how much data you have, this might take a while to copy, let it finish, after its done, you will again have access to the console prompt, type:
first line goes back to root level
umount (yes umount not uNmount) unmounts the mounted ntfs drive. You can now go to disk1 and check its contents.
One little quirk I had was that it marked all the files/folders I copied over as read only, to change this i had to chmod all folders/files in the directory, to do this type:
This will change the read/write/execute attributes of all files/folders in the directory.
Now you can go back to your web config, stop the array, assign the NTFS disk you just copied your data off of, format it, and it will be added to the array.
You continue these steps for as many NTFS drives as you have data on that you need to transfer, copying one at a time. After all of it is done, you can then assign your parity drive and build the parity information. Remember the parity drive has to be the largest (or same size as the largest) drive in your array.
First, DO NOT assign the disk drives to the unraid array, instead write down their disk assignment slots. Remember the step above where we wrote down the serial numbers for each HDD, each of those serials will have a disk assignment slot in the drop down box of the disks page in the web config. For example, (sda, sdb, sdc, etc), write those down next to the serial numbers you wrote before.
Next, you need to telnet into your unraid box. Start -> Run and type in "telnet tower". This will bring up the telnet console and ask you for username, which is "root" by default. If you've assigned a password thru the web config, it will prompt you for that as well. In Vista, telnet is not loaded by default, you need to go to control panel and enable telnet client for vista.
Now, since the latest unraid doesn't load the NTFS kernel by default, you need to temporarily enable it by using the following command in the telnet console:
Code:
modprobe ntfs
It's time to mount one of the NTFS drives you have w/ the data you want to migrate by issuing the following commands (note: the array needs to be started for this to work with only disk1 assigned and we're assuming the NTFS disk we want to copy data from is labled as sdb)
Code:
mkdir /mnt/old_data
mount -r -t ntfs /dev/sdb1 /mnt/old_data
In the 2nd line, the -r flag mounts the drive as Read Only.
-t flag defines the type of the drive, in this case, ntfs
/dev/sdb1 says to mount the first partition of the drive, if you had multiple partitions you would need to come back to this step after you copied the files over from this partition. The basic format would be /dev/sdbx where x is the partition of the disk.
/mnt/old_data specifies where you want to mount the ntfs drive, which was the folder we just created
To copy the files, use the following commands:
Code:
cd /mnt/old_data
cp -r * /mnt/disk1
-r flag says to copy all files/folder recursively
* denotes everything in the old_data directory is to be copied
/mnt/disk1 is the destination of where to copy
Now, depending on how much data you have, this might take a while to copy, let it finish, after its done, you will again have access to the console prompt, type:
Code:
cd
umount /dev/sdb1
umount (yes umount not uNmount) unmounts the mounted ntfs drive. You can now go to disk1 and check its contents.
One little quirk I had was that it marked all the files/folders I copied over as read only, to change this i had to chmod all folders/files in the directory, to do this type:
Code:
cd /mnt/disk1
chmod 755 *
Now you can go back to your web config, stop the array, assign the NTFS disk you just copied your data off of, format it, and it will be added to the array.
You continue these steps for as many NTFS drives as you have data on that you need to transfer, copying one at a time. After all of it is done, you can then assign your parity drive and build the parity information. Remember the parity drive has to be the largest (or same size as the largest) drive in your array.
Another little quirk I ran into is that for user shares to work properly, top level folders need to be at a minimum...so instead of having all dvd folders as top level, i created a top level folder called DVDs moved all my dvds one level down, into that folder.
That was about it, pretty easy to setup and now i have the peace of mind that if one drive fails, i would not have to re-rip all my movies and not lose any data.
» Pictures

The build was pretty simple, and the case is simple amazing to work with and offers more than enough space. The Athena Power backplanes are also built very nicely, the hard drives slide into place w/o any effort.
All in all, this was a fun project w/o any hitches or bumps (touch wood) and hopefully will help someone along the way to their own server build or give then ideas.
Thanks