Home Server, With a Twist (Brainstorming)

It all began with reading an article, THIS one to be precise. I've always wanted to build my own case. I've seen plenty of other more complex builds, but something about this one just did it for me. I'm not sure what, but it's inspired me to start working on a project of my own.

Now I'm a student, who is moving this fall, so money is tight to say the least. This is all essentially just me rummaging through my head trying to pull a bunch of ideas into one material object, and I won't be starting on anything for some time. I'm just looking for some input as well as some suggestions as to what I should do.

Here's what I've decided so far:

- It has to run Linux (duh!). The OS must be Open-Source. Most likely Ubuntu or some derivation of BSD.
- It has to be small. Either Pico-, Nano-, or Mini-ITX. I've found three boards, just trying to decide what features I NEED, and what would be nice to have. Most likely the Flex-ATX board from SuperMicro linked by linux_0. Will utilize existing mATX rig.
- It has to be quiet. I don't want what will essentially be a noise box that I have to put up with 24/7.
- It has to be efficient. This isn't something I usually care about, but less power = less heat, and I figure it will make things more interesting.
- It must have A LOT of storage. I have a lot of junk, and I need a place for all that junk to be held. There's only gonna be more and more of it as time goes on.

- Zero peripherals. Must be accessible by SSH/WebMin.
- Will server as some of the following things. Not necessarily all, and not limited to the below listed. :
- DHCP/DNS Server
- Database Server
- Web Server
- Mail Server
- Subversion Server
- Backup Server
- iSCSI Target



Those are the "Must-Have's" for this project. Pretty simple, in my opinion. Now comes the fun stuff.

I'd like for this to be kind of an "Ultimate-at-home-network-tool", also serving as a Firewall, Proxy, Router, etc. Not necessarily all those things, but you get the point. I want it to do everything possible. I'm not sure how feasible this part is. At the very least I'd like for it to serve as a Firewall, just because I'm paranoid and I like my security. I know that Linux can be used as a router, but if that doesn't seem appropriate for this project than just let me know and I'll just continue using my current router. I don't know if a Proxy is worth my while, but if it is and can be hosted, then why not!

If you're starting to get my point (which you should be, I already told you earlier), I just want this thing to do all that it's capable of to have a secure, fast, convenient network.

I'm looking for a few things out of you guys.

1) What should it serve as? All those things, as well as anything I missed that might be beneficial would be fine with me. I'm open for anything.
2) What should I look into for the Operating System? Doesn't have to be specific, but a certain type of OS, or just some pointers would be awesome.
2.5) Considering going with FreeBSD for this. Yay/Nay?
3) What kind of software is available to do the things that I'm wanting (so that I can start what I feel will be an overwhelming amount of research).

Thanks to everybody who contributes, and I'm looking forward to hearing your feedback and suggestions.


- Jesse

***Updates to Post are in Italics***
29 answers Last reply
More about home server twist brainstorming
  1. I have a home server setup like this. In my case:

    1) I use it as DHCP and DNS server, database server, web server for various internal stuff, mail server, subversion server, backup server, and iSCSI target. I don't really see the point in using it as a router as I already have one that does the job just fine. (And therefore I don't use it as a firewall for the network.)

    2) For a server I prefer FreeBSD, but Linux is fine also.

    3) The software is pretty standard stuff, MySQL and Postgresql databases (the latter is need as a central store for VisualWorks Smalltalk), Apache web server, Exim and Dovetail mail servers, that sort of stuff. Backups are handled by BackupPC which automatically backs up connected computers. iSCSI target is istgt which, unlike some, works fine with VirtualBox VMs.
  2. Ijack said:
    I have a home server setup like this. In my case:

    1) I use it as DHCP and DNS server, database server, web server for various internal stuff, mail server, subversion server, backup server, and iSCSI target. I don't really see the point in using it as a router as I already have one that does the job just fine. (And therefore I don't use it as a firewall for the network.)


    Awesome, looks like I have a little bit of homework to do to figure out what all those things mean :D (I know a few of them :p ). I figure I'll just keep using my router as well.

    Ijack said:
    2) For a server I prefer FreeBSD, but Linux is fine also.


    I had a feeling that would come up. I should have made the requirements "Any Open-Source OS" :)

    Ijack said:
    3) The software is pretty standard stuff, MySQL and Postgresql databases (the latter is need as a central store for VisualWorks Smalltalk), Apache web server, Exim and Dovetail mail servers, that sort of stuff. Backups are handled by BackupPC which automatically backs up connected computers. iSCSI target is istgt which, unlike some, works fine with VirtualBox VMs.


    Lots of stuff there, so I'll worry about that at a later date.

    Just out of curiosity, what kind of specs does your server have? Just comparing it's power to what mine will have :)

    Thanks for all your help,


    - Jesse
  3. My server is a fairly low end Athlon dual core (can't remember the exact spec) with 2GB RAM and a 1TB hard disk (WD Green - nice and quiet). The two things I intend to do at some stage to beef it up a bit are to double the RAM and to put in another 1TB disk as a mirror. CPU normally isn't a big deal on a server (unless it's doing heavy database stuff or you intend to run VMs on it). My main priority was a quiet machine - unless the hard disk is working a lot mine is virtually silent. Oh, forgot to add, the m/b is a cheap FoxConn one with on-board graphics. But I don't have monitor, keyboard or mouse attached. Everything is done via Webmin or an SSH session. But I can always plug a monitor in if necessary.

    Compared to the first server that I managed at work, which served as a file and print server for about 200 people, my home one is a pretty sophisticated beast! But that was about 20 years ago.
  4. Ijack said:
    My server is a fairly low end Athlon dual core (can't remember the exact spec) with 2GB RAM and a 1TB hard disk (WD Green - nice and quiet). The two things I intend to do at some stage to beef it up a bit are to double the RAM and to put in another 1TB disk as a mirror. CPU normally isn't a big deal on a server (unless it's doing heavy database stuff or you intend to run VMs on it). My main priority was a quiet machine - unless the hard disk is working a lot mine is virtually silent. Oh, forgot to add, the m/b is a cheap FoxConn one with on-board graphics. But I don't have monitor, keyboard or mouse attached. Everything is done via Webmin or an SSH session. But I can always plug a monitor in if necessary.

    Compared to the first server that I managed at work, which served as a file and print server for about 200 people, my home one is a pretty sophisticated beast! But that was about 20 years ago.


    Cool :) The board I was looking at (not necessarily what I'm getting, but I'm just using it as a basis) has a dual-core Atom running at 1.6GHz with a fanless heatsink. That should be plenty powerful I figure. The board can handle up to 4GB of RAM, so I'll probably run that much. Still undecided on hard drives, but I'd like to run a multi-drive setup of some sort (not sure which raid type I'd go with) that's at least 1 TB, probably more ;).

    I'd also like to have mine accessible via Webmin or SSH, just so that I can stow away the server somewhere that's out of the way, and not need another monitor/mouse/keyboard.

    Thanks again for the help :)
  5. What kind of boards are you looking at?

    It's luck of the draw, some mobos have a really bad track record, especially some mini-ITX ones, they're pretty awful.

    There's some fanless boards that I've had that run very hot which in turn can cause them to get all toasted because of all the heat. What I usually do is add large but very quiet 120mm fans on top.

    Good luck :)
  6. linux_0 said:
    What kind of boards are you looking at?

    It's luck of the draw, some mobos have a really bad track record, especially some mini-ITX ones, they're pretty awful.

    There's some fanless boards that I've had that run very hot which in turn can cause them to get all toasted because of all the heat. What I usually do is add large but very quiet 120mm fans on top.

    Good luck :)


    Unfortunately my choices will probably cause me a bit of problems. I've mostly been looking at Mini-ITX embedded solutions, just because I want something small. I was even looking at a couple Pico-ITX/Nano-ITX/ECX Boards, but I'm not really too sure what I'm doing yet. I honestly can't remember which board I was looking at, as I'm at school and not at home, so I'll post a link later on. Anything I need to look for in particular to ensure compatibility?

    I was planning on having a pair of large fans, just so that I can get maximum airflow with minimal noise. I've actually designed a small circuit that I need to start prototyping that will adjust the speed of the fans depending on the temperature.

    Thanks,


    - Jesse
  7. Vantec's got some 120mm fans with a built-in temp sensor which'll save you the trouble of making your own, although DIY's gotta be more fun :D

    I think it's this one over here http://www.newegg.com/Product/Product.aspx?Item=N82E16835110014

    http://www.newegg.com/Product/Product.aspx?Item=N82E16813182205

    This board on newegg doesn't look too bad and they're known for making real "server" boards, all other boards are "consumer" boards.

    Good luck :)
  8. Thanks! You are correct about DIY being more fun :D The one thing about that fan is that it's an ambient sensor, and I'd like to be able to pull temps from certain locations. For example, the CPU heatsink could be toasty and the ambient would remain within the same limits. We'll see though, I'll definitely consider that fan.

    As for that MoBo, it *might* actually work with my current design I've been working on. It's the same width as a Mini-ITX, and just a couple inches wider. I'll throw something together in CAD when I get home. That's cheaper than the one I was looking at as well, and has more expansion ports. Win-win situation :D

    Thanks a bunch for those suggestions,


    - Jesse
  9. It's not mini-ITX though, but that's a good thing because you'll get two onboard ethernet ports plus 3 slots instead of only 1.

    Semper Fi :)
  10. Since you're thinking of making a router out of it the two onboard ethernet ports and the extra slots will probably come in handy :)

    It's cheaper than many of the "consumer" boards because it doesn't have ION graphics or wireless which is a bad idea for a server board.

    If you're going to raid it try to find a real hardware raid controller, either new or gently used with very good Linux support, onboard raid aka FakeRAID aka BIOSRaid sucks sooooo bad.

    Good luck :)
  11. http://www.supermicro.com/support/resources/OS/Atom.cfm

    And to top it all off it's got real support for Linux :)

    SATA (w/o RAID, AHCI mode)
  12. I was definitely planning on going with hardware RAID. I would never even think of using software for that. :)

    If I do decide to make it a router (which I'm still unsure whether I want to or not) than I'll probably just get a 4xRJ45 LAN card for one of the PCI slots. Or something like that :)
  13. Alright, whipped up a new layout for a case. I'm happy with it, still extremely small, and now has way more features. That's what I like to see. :)
  14. Do you have any suggestions for inexpensive RAID cards? I think I'm probably gonna have 4 drives in there (although I'm unsure at this point in time, could use 2 I suppose). I've found a few, but I don't really know what to look for, as I've never dealt with RAID. I don't need blazing performance, but I don't want it to be sluggish either.
  15. Made a bunch of revisions to the original post in an attempt to have a somewhat organized log of this project. If there's anyways suggestions remaining, feel free to throw them this way. Below I've copied/pasted some questions that have not been answered (by you guys or my research) that are of moderate importance. If you know any of the answers, your input is greatly appreciated.

    Thanks,


    - Jesse :)


    1) What type of software will I need to do said things mentioned in the first post?

    2) What are some good, budget RAID cards? Will have somewhere in between 4 and 8 drives, depending on costs/technologies when I go about doing this project.
  16. I've just made a baffling discovery that I'm kicking myself for not realizing previously. I have a mATX rig sitting in my closet with a dead PSU. I could cut the cost of this thing by a fraction, mind you with an overall size increase of ~4x. Mind you, this wouldn't be so bad.

    Specs:

    AMD Athlon II Dual Core X2 245 @ 2.9GHz
    2GB DDR3

    Now, I could get an inexpensive case, such as THIS, buy an inexpensive PSU, and then I'm left with just needed a RAID Controller and some Hard Drives. I'm thinking I may just go this route, as it'd say me a couple hundred dollars, and mATX is still plenty small to tuck away in a closet somewhere. This could free up some money to put towards rebuilding my main PC as well :)
  17. One word of advice that many will echo: dont skimp on the power supply
  18. skittle said:
    One word of advice that many will echo: dont skimp on the power supply


    Yeah, I realized that with the previous supply that I had. I figured "This case comes with a PSU, it'll be fine." I now regret that mentality. When I said inexpensive PSU, I meant something that didn't cost oodles of cash, but still performed well enough and was reliable.
  19. You may want to look at the project i'm currently working on; creating a web-interface for FreeBSD to manage ZFS and other stuff. Screenshot:



    It already can do quite some nice things, but it is still in early development.
    Either way, if you want ZFS but prefer a nice interface, this could be a project to watch for. I'm quite excited myself. =)
  20. sub mesa said:
    You may want to look at the project i'm currently working on; creating a web-interface for FreeBSD to manage ZFS and other stuff. Screenshot:

    http://submesa.com/images/mesa-sneakpreview12.png

    It already can do quite some nice things, but it is still in early development.
    Either way, if you want ZFS but prefer a nice interface, this could be a project to watch for. I'm quite excited myself. =)


    Very nice! I'll be sure to keep my eye on it :)
  21. Hey just another thought of something you might wanna play around with is ESX/ESXi 4.0.

    http://www.vladan.fr/esx-4-and-vms-with-hardware-version-7/

    It allows you to split your system into several virtual machines without having a host OS. ESX 4 sits right on your hardware and may allow you to set up several machines each tuned for their specific purpose using whatever OS you need to support it. I have to say I am a student myself and this is just something one of my teachers brought up in class. I have no experience using it but he's explained it a few times and I've read a few articles. I don't really know what you might need to use it for but it's another good thing to play with and learn about.
  22. While that is interesting, I'm not sure it's what I want to use for this project. I think BSD or Ubuntu will be able to handle whatever I need from it.
  23. I've run into a bit of a roadblock with my research. The classic "Software vs. Hardware RAID" debate.

    I don't quite understand what the reasoning for choosing one or the other is. Here on Tom's, you guys seem to suggest Hardware, hands down. I trust you guys more than the general consensus on other forums, but it seems that they all say "Just go software RAID, it's easier." What I don't understand is if hardware RAID is [supposedly] superior, why do so many people suggest software RAID?

    Thanks,


    - Jesse
  24. Hardware independence is the main reason. You can move an array to a new system and just configure the software. For absolute throughput HW is the answer but for home use I'd be inclined to take a small performance hit for huge flexibility.
  25. Theoretically software RAID is superior without a doubt. This is because it has the most potential to achieve high performance. The hardware RAID generally does this quite well; but software RAID implementations vary from simple Windows-only onboard RAID drivers which are generally of low quality, to advanced Filesystem/RAID-engine hybrids like ZFS.

    ZFS can do things no RAID can do: dynamic stripe sizes. For that to work, the RAID engine has to know things about the Filesystem, and vice-versa. So this can only work with a product like ZFS.

    Regular software RAID options under Linux and FreeBSD are also of much higher quality than those available on Windows, where array splits and other trouble is quite common, even with the disks being fine.

    So don't judge RAID0 or RAID5 - judge individual implementations of those RAID-levels. The RAID5 is just a spec on how to store data on disk; the driver will actually determine how much of the performance potential can be utilized and how well it scales.
  26. Awesome, thanks for the explanations. So I assume that ZFS is kind of "The Option" as far as software based RAID goes? How would this compare to the regular RAID options under Linux and FreeBSD that you mentioned? ZFS is compatible on both systems as well, is it not?
  27. ZFS only runs well on FreeBSD and OpenSolaris at the moment; Linux has to do with the FUSE layer as ZFS and Linux license are incompatible to mix. However, there is another project which aims at porting an OpenSolaris module to make a real kernel-level implementation under Linux possible.

    For the moment, you better choose between FreeBSD and Opensolaris. You can move pools between these two systems, as long as the pool version does not exceed that which is supported on both. For example you cannot export an OpenSolaris ZFS v14 pool to FreeBSD 8.0 which has pool version 13. But you can export that array to FreeBSD 8.1 which has ZFS version 14.

    ZFS is as good as it gets regarding software RAID; it manages to really use the extra performance potential, but also loses performance because of the many safety features like checksums and authenticated metadata. All this is to protect the filesystem from corruption; something other filesystems lack.

    The regular Software RAID options under both Linux and FreeBSD do very well too; are extremely fast when properly setup, but imply a 'traditional' filesystem such as Ext3/4, XFS, JFS or UFS in the case of FreeBSD. ZFS is just a totally different class of filesystem in that comparison; not only because it does the RAID part itself.

    My web-interface is nearing a first release; it is in testing phase at the moment and most core features of managing ZFS pools (expansion and other stuff) already works. But the install procedure is long and much less convenient than FreeNAS for example.

    Still, you could try by setting up a Virtualbox VM and install FreeBSD to it according to my online how-to guides:
    http://submesa.com/data/bsd

    Then you can set up the webserver and my scripts, and do all ZFS configuring via the web-interface instead. You may still need shell access, for other things than sharing files like a mailserver, but it might simplify your maintenance. Creating snapshots for example.

    To read why ZFS is so great, this thread also has a lot of information:
    http://hardforum.com/showthread.php?t=1500505

    And wikipedia, of course:
    http://en.wikipedia.org/wiki/ZFS
  28. Awesome, I've got some reading to do :) Thank you very much.
  29. An alternative to ZFS for linux (although not quite as mature) is BTRFS which implements (differently) many of the same features as ZFS (and some of its own ;) )
Ask a new question

Read More

Product