
i had made a thread on doing this sometime ago but that thread was removed
now id like to share this information... maybe this thread will be a work in progress and then i can create a more official guide but for now lets start.
My Fileserver....
Its great! i love it!
basically nas4free is a freeBSD installation that has been made easy-to-use..
the process is that u download the iso of the liveCD and burn the disc.. then insert the disc into the machine and boot from it.. then u can install the system to either a hard drive or a usb key.. be sure to use a 8gb usb thumbdrive.. if u use a 4gb drive it can work but u may run out of space so its reccommended to use 8gb or above to be sure to avoid that problem.
actually u can run it from the livecd even i think if u dont have a usb stick.. but then it doesnt save anything about your config and u would have to reconfig everytime u boot.. which may not be that often but u could do this in a crunch.
once u boot up u then config the network card ip and then access it from a browser to use the gui to config + set up.
basically u install the os to the usb thumdrive.. in a way thats called "Embedded" which means that every boot. it copies the filesystem from the usb drive to memory and runs purely from ram. using a usb drive also is desired to free up all available ports for storage drives!
you can use any motherboard that takes between 2gb ram + 8gb ram + up
more than 8gb of ram is a bit overkill for a fileserver.. my system hovers at about 27% ram used most of the time.. of the 8gb ddr3 1333 that i have installed
the motherboard i have used is a Intel Core 2 Duo Gigabyte board..
http://www.gigabyte.com/products/product-page.aspx?pid=3960#ovbut u could even use as far back as an old Pentium III board or Athlon AMD board that supports 2-3gb of ram if u really wanted to, using UFS which requires less ram then ZFS. also if u use a non64 bit system u would need a "X86" 32bit install of the live cd to install from, rather then the usual "x64" 64bit one.
a couple of tips that i would like to pass on that ive learned painfully:
if u plan to use any PCI sata controllers (Be they pci-express or conventional)
its best to have them installed in the box and populated with hard drives FIRST (instead of adding it later on after)
before the ports on the motherboard because for some reason when u add a controller
card the ports get added in a way that offsets all the other ports..
say for example if i had 4 drives connected to the ICH sata ports on the intel board, they would show as ADA0, ADA1, ADA2, ADA3.. adding a card would then offset + shift the installed drives to be starting from ADA2, ADA3 etc (if the added card added 2 ports that is)
this isnt a huge problem but it recently caused me the problem of the gui not being able to properly target the brand new blank drives that i added to format them. i solved this problem last night after alot of rebooting and replugging of drives into different sata ports to make sure that my original drives were connected to the first few ports in the ADA# scheme .. it was a huge pain in the ass so ill say it again, its best to have your board + number of drives figured out, if u want to leave yourself some ports to add to in the future.. make sure to plug your drives into the addon card BEFORE the built in ports on the motherboard!! will make things easier.
NAS4FREE uses 2 different file systems.
1) UFS - standard unix file system for FreeBSD (upon which NAS4FREE runs)
2) ZFS - advanced file system supporting software RAID + more
SETTING UP WITH ZFS
ZFS offers enhanced performance + requires more ram/resources than UFS
in my box right now i have 3 x 1TB drives which i formatted as a ZFS RAIDZ1 array..
when u create a zfs, u have to create a virtual device first, which is basically grouping 2 or more drives together and selecting the type of RAID that u want to use.. then, u have to create a "pool" which is the next tier in the setup config basically.. and after creating a pool, you have to create a "dataset" which is where your data will live.. basically u can think of this as a partition, its not a partition, but its going to be used by u to copy your files to in the same way as a partition gets used/shared.
after your dataset is created u have to add the dataset to a service.. the services are many.. but the ones that i use are FTP, SMB, + AFP. AFP is the one u want to setup if u are connecting with legacy macs.. SMB if you are conecting from modern macs + windows machines.. setting up both is a good idea. your data is then accessible from literally any machine, old or new, legacy or modern.
SETTING UP UFS
with ufs its alot simpler .. not that zfs is any more dificult, but rather can be confusing because its unfamiliar.. when formatting your disks you choose "SOFTWARE RAID" as the formatting option rather then "ZFS storage device" (duh).
after thats done u go to the Software raid section and select the tab for which raid level u want to run, raid0, raid1 or raid5. i am using mirroring for my UFS drives.. So I select RAID1.. and create a RAID1.
after the raid1 array is created it has to be formatted with the UFS filesystem, so u go back to the format menu and select UFS and the Raid array.. i called mine "2tbMirror" and it will show up in the drop down menu to format it on the format page under "Disks" dropdown in the gui.
also UFS is an older filesystem with more support on other operating systems than ZFS.. for example i choose to use UFS RAID1 Mirroring for my really important data because theres a utility called UFS explorer for windows which will let u recover data from a UFS partition .. I have done this just the other day, i had formatted the partition accidentally and it STILL let me recover my files copying off via USB 2.0 to my windows machine.. i recovered about 800GB of data perfectly! which is pretty amazing considering the partition was formatted!!