EntBlog
Code, 3D, Games, Linux and much more...
Building a NAS
July 9, 2007 @ 3:22 | In Hardware, Linux | 6 Comments |
I have been building a NAS in my spare time for the last months. I wanted this machine for backing up my other machines, storing movies and TV series for my media center, storing recordings from the TV, etc etc. I could have bought a specific machine for this purpose, but I found more interesting and funny building it on my own. These were the objectives I had in mind when designing the machine:
- A 24/7 machine (running all the day)
- Small
- Quiet
- Low power consumption
- Easily expandable with new disks without losing data
- RAID 5
- Break the TB barrier
- Being able to transfer saturating the Gigabit ethernet port
- With a customized Linux OS
And well, I think that I have been able to get all my objectives. This is my first modding, so I encountered lot of problems. Sure the next time I will do it better.
The following sections are a worklog of how I made this machine. Enjoy it.
The Hardware
This is the list of the hardware components I finally chose for the machine.
| Component | price / € |
|---|---|
| Motherboard Mini-ITX AOPEN I945GTT 479 | 257,50 |
| CPU Intel Celeron-M 420 1.60GHZ | 54,00 |
| Memory DDR2 SODIMM 512MB | 39,00 |
| Hard Disk ControllerHighPoint-RocketRAID 2310 RAID PCIe SATA2 | 129,00 |
| Case Morex Venus 669 Case | 105,33 |
| Rack 5 HD ICY Dock Black Plane SATA | 158,50 |
| Sharkoon SE Fan 1000 – 8.9 dB | 9,00 |
| CompactFlash IDE Adapter | 25,00 |
| CompactFlash 64Mb | 5,00 |
| 4 x Samsung 500GB Sata2 | 416,00 |
| Total | 1198,33€ |
For the modding of this machine I have been highly inspired in one of the Mashie Designs. Credits for him and its useful web page. There is lot of information in the forums. I spent several nights reading them.
The motherboard, Mini-ITX, is really small as you can see in this photo. The power supply is external and the unique fan I needed was the one for the CPU. The Celeron-M processor consumption is very low (it is a mobile cpu) and so is the dissipated heat. I could have unmount the fan but it was so quiet that I decided to keep it and reduce the temperature a bit.
![]() |
For the controller, I went with the HighPoint 2310. It supports 4xHDD SataII and RAID 5. It is not a pure hardware SATAII controller (it is CPU assisted) but in this machine, the Celeron will be exclusively helping the controller, so the final performance was very good and I didn’t need to buy an expensive hardware SATAII controller.
![]() |
I didn’t find a smaller case for the NAS. Next time, probably, I will made my own case. Anyway, I had to do lot of modifications to the Venus case. Mainly, I used the dremel to cut the metal so the RACK fit in.
![]() |
![]() |
The RACK in its final position. This model fits five drives within a three (5.25”) bay fitting. It’s equipped with a hot swappable fan that may be detached. The fan was too noisy to me so I tried the machine without the fan but the temp of the HDDs reached 55º. So, finally, I decided to buy a new fan that was almost inaudible (a 8.9 dB Sharkoon fan). This fan and the CPU fan are the unique fans in the machine.
![]() |
![]() |
As you can see in this photo, the controller is really small and there is enough space for the sata cables.
![]() |
I needed a new front panel for the case. I made it with two layers. The first one was cut from a Styroglass sheet (7,5mm)
![]() |
For the second layer I used a 1mm aluminium sheet. Both layers were glued with epoxy.
![]() |
This is a photo of the front panel before being painted.
![]() |
The front panel was sanded, primed and painted in black 3 times. I made a hole for inserting a keylock and another one for a power led.
![]() |
And… the final look of the machine, the monster.
![]() |
The hard disks are hot-swappables. I inserted the four hard disks in the rack and the machine was ready for installing the operating system.
![]() |
I used this power meter to determine an approximation of what it costs to have this machine running 24h per day. When the disks are not being used the meter reports 60w. This is 43Kwh in a month = 4.07 €/month. Something my electricity bill can afford without too much worries.
![]() |
The Software
For the operating system, I used a customized Gentoo distribution. I followed this guide to create the image. The operating system was installed in a 64Mb Compact Flash card. That way all the RAID is exclusively for data storage.
The image I generated is about 45Mb with the following packages:
- Metalog for logging
- Openssh for remote access
- Smartmontools for S.M.A.R.T monitoring of the hard disks
- Dhcpcd, a DHCP client
- Lm_sensors to control system temperatures
- Net-snmp, a SNMP server to allow my main server gather information and generate graphs for this machine
- Ntp for time synchronization with my server
- Samba for sharing the folders.
The kernel I chose was the 2.6.19. The drivers distributed by HightPoint were perfectly compatible with this kernel. I can’t say the same about the tools. They are distributed as rpm (only binaries) and lot of problems appeared. This really sucks. Sources and tar.gz should be distributed to be compatible with all the linux distros.
If you want the image I am using, email me and I will send it to you (with all the sources if you want).
And that is all for my new RAID5 1′5TB machine. It has been a hard work but I have learned a lot. Don’t hesitate to write here if you want more information, discuss details, give your opinion, etc.
Thanks for reading, see you in the next article.
Sat, 07 Nov 2009 19:26:59 +0100 / 29 queries. 1.572 seconds / 6 Users Online
|
|
|
|
Theme modified from Pool theme. Valid XHTML and CSS














About
Categories
Good job!
Comment by Fran
July 9, 2007 @ 10:33 #
Great box! What kind of performance are you getting from the Gigabit connection?
Comment by Eric Fortier
July 9, 2007 @ 20:23 #
I want a CVS account!
Comment by Zalo
July 9, 2007 @ 21:45 #
Eric, the performance:
—–HDD performance——————
nas ~ # hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 1674 MB in 2.00 seconds = 836.98 MB/sec
Timing buffered disk reads: 376 MB in 3.01 seconds = 125.05 MB/sec
—–Network performance——————
————————————————————
Client connecting to 192.168.0.189, TCP port 5001
TCP window size: 244 KByte
————————————————————
[1920] local 192.168.0.2 port 2040 connected with 192.168.0.189 port 5001
[ ID] Interval Transfer Bandwidth
[1920] 0.0-10.0 sec 919 MBytes 770 Mbits/sec
—–Samba performance——————
I used SiSoft Sandra for testing the NetBIOS connection getting
51Mb/s (408Mbit/s) in the buffered read test.
I think that NetBIOS protocol is having some sort of problem to get the maximum performance. I will write here the performance that I am getting using FTP whenever I have more spare time to do the tests.
Comment by ent
July 12, 2007 @ 21:39 #
[...] own home (code repository, wiki, bug tracking service, build machines, web server, backup machines, NAS servers, etc). As you can imagine, we try to optimize our time and bandwidth as much as possible. I [...]
Pingback by Tangential Software Usage | EntBlog
September 30, 2008 @ 9:31 #
i have started building a higher powered gaming version of machies design.
J&W am2+ itx board, phenom X4 9150e 4gb ddr2, ati hd4850, 5xsata hotswap rack with 2x 1tb drives, 500gb, 320gb, 250gb drives, watercooling
Comment by geofrancis
October 19, 2009 @ 5:49 #