How to build a cheap home-made NAS using Solaris

Using one of the cheapest motherboards available, the ASRock K8NF4G I built one of the most robust Network Attached Storage devices in just a few minutes.

I downloaded Solaris Express, and installed it with no problems, it even dual-boots Windows if you already have that installed. Then I attached two SATA hard disks, and typed in one command "zpool create myraid mirror c2t0p0 c3t0p0", and that's it!

Now I have two disks in a mirror arrangement so that if one disk fails I still have all my data available, and usable, whilst I repair the failed one.

But what's more, the integrity of the data on the disk is constantly monitored to detect bad sectors, and silently fixed in the background when it occurs!

If you want more details, just contact me using the link on my home page.


Details: onboard nvidia 6600 graphics supported (gnome desktop), onboard ethernet supported (dhcp client, but set hostname in /etc/nodename), onboard sata supported (since they appear as IDE channels), ftp server enabled using one command (svcadm enable network/ftp), samba server enabled using one command (svcadm enable network/samba), compression enabled using one command (zfs set compression=on).

Data recovery: if the motherboard fails the disks can be transferred to any other Solaris box and used by zpool import -f.

Data sharing: I installed NFS on my Windows PC in order to access the NAS; download the Services For Unix for free from Microsoft and install the NFS Client.

Access via a network switch (cables) is reasonably fast but access via my Belkin wireless router is troublesome. Speed is fine for a while but then it hangs for some time until a timeout occurs then it carries on. I need to snoop the packets and find out why this occurs.

ASRock k8nf6g-vsta with Solaris 10 x86

This motherboard seems almost identical to the k8nf4g-vsta (or k8nf4g-sata2), and indeed it is except that the PCI device IDs have changed (oh, and only one IDE (parallel) sockets is present).

To get solaris working on the k8nf6g you may need to edit /etc/driver_aliases to add the line:

nge "pci10de:3ef"
in order to get the ethernet chip (Realtek RTL8201CL) recognised as such. On the k8nf4g it was PCI ID 10de:0269 which is already supported in Solaris.

NewLink 2 Port ATA-133 PCI RAID card

To get this working in Solaris simply flash the BIOS from RAID back to ATAPI mode (download the BIOS), since you won't want RAID mode anyway. Reconfigure-boot and the disks will show up in the format command. If they don't you can tell Solaris to use the IDE driver for the card by one of the following (sorry I can't remember which one I used, if any!). NB the PCI ID is 1283:8212

Contact

Contact me via my home page:


BACK Back to arb's home page