Hi guys. We are a small company with a network of 5 local and 5 remote pc's (connected via VPN). Our current server (or better to say, kinda-server, since I built it up on a regular pc) is not enough for us anymore so we plan to upgrade to a real server.

Our idea is to setup a HP Proliant ML350 G6 server (E5620 Xeon + 10-12 gb ram) with VMware vSphere Hypervisor (free version) and build a homemade NAS with 5 x WD Caviar Black 1 tb hard drives (we have looooots of stuff that we plant to put in a CMS software, possibly Alfresco.)

Regarding storage, our current data volume is around 600-700 gb, so I would like to setup a 5 discs RAID-Z2 system, which will provide 3 TB storage capacity that will be enough for us for at least 3-4 years. (It will be based on FreeNAS)

Configuration in my mind for NAS server is; something like a hardcore mainboard with enough SATA ports + i5 Series processor (something like 2500 or higher) + 8 gb ram (I will use ZFS for file system)

In server side, my idea is to install 6-7 virtual machines for each application we mainly use. They will include:

- Windows Server (as Active Directory server and SQL server for our ERP)
- Ubuntu 10.04 LTS with no GUI (Alfresco CMS)
- CentOS 5.4 (IceWarp communications server)
- Ubuntu 10.04 LTS (Backup Server - Bacula)
- Ubuntu 10.04 LTS (Local web server for toying with on web applications)
- Possibly another machine for IM server

We will hook up the NAS and HP Server each other with gigabit ethernet.

I know there will be suggestions to get a real NAS and get some professional service for setting it up and all. Let me say in advance, we don't have that kind of budget for this project. Besides, we are somehow experienced in setting up these kind of stuff and we like toying with all these (we built and configured our current server from scratch, with all VM's in it). Plus, we have enough time to build and test our new configuration for different kind of scenarios and get it ready for production. Also, when you build the system on your own, you exactly know what can go wrong when something goes wrong and we can fix it ourselves instead of waiting for the support to come. (Apart from the physical failures in real HP server of course.)

Now, I really need and appreciate suggestions about following points:

- Do you think Proliant ML 350 is a good choice for this kind of purpose? (10 user and 6-7 virtual machines / E5620 Xeon processor + 10/12 gb ram)

- Is FreeNAS a good solution for this or you suggest another solution (Like OpenFiler or Windows Storage Server)

- Should I consider to build a rack solution? We have no space problem since there will be one more server on the future at maximum and we will end up probably 2 servers and 2 NAS boxes tops, which we have plenty of space for. Is there any other advantages on rack solutions?

- About data configuration, (for example, putting the mySQL data files on NAS) which one do you suggest to use? Creating file shares in NAS server or creating iSCSI shares and connecting to it directly from the virtual machines individually? Or vSphere can connect to the iSCSI directly and makes it available to hosts as a local disk? I'm a bit confused in here about which type of shares / access method should I use. It seems iSCSI configuration is a bit more challenging, since I already setup one, but if it has advantages over regular shares we can do it.

Thanks in advance for any kind of suggestions and comments.

Dani AI

Generated

Short, practical guidance building on ’s plan and ’s concerns — focused on keeping data safe and avoiding common ZFS pitfalls while getting reasonable VM performance.

ZFS / NAS hardware: give ZFS direct control of disks (use an HBA or set a RAID card to true JBOD/passthrough) and plan for ECC memory. TrueNAS (FreeNAS’s successor) documents an absolute minimum of 8 GB RAM for basic use and recommends adding memory as the pool and services grow; ECC avoids in‑flight memory corruption that ZFS can’t detect otherwise. Mixing a hardware RAID layer under ZFS prevents ZFS self‑healing and is not recommended. (cdn.truenas.com)

Pool layout and VM/databases: RAIDZ2 (double parity) gives two‑disk fault tolerance (a 5×1 TB RAIDZ2 vdev yields roughly 3 TB usable) but RAIDZ vdevs trade random‑IO (especially writes) for space efficiency. For VM datastores and transactional databases, prefer block LUNs presented to ESXi (zvol/iSCSI → VMFS or vVols, or well‑tested RDM setups) and consider mirror vdevs or more spindles if IOPS matter. Snapshots are great for quick rollbacks, but snapshots + ZFS are not a substitute for off‑system backups. (openzfs.github.io)

Networking and operational checks: isolate storage traffic (dedicated NICs or VLANs), enable multipathing, and test jumbo frames only end‑to‑end if used; consider 10 GbE for competitive iSCSI performance if budget allows. Regularly run scrubs, test resilver/rebuild times on a filled pool, and validate full restore from backups — the rebuild window is the real risk, not just drive count.

Quick checklist (practical next steps):

  • Use a true HBA / JBOD for disks; do not let hardware RAID hide disks from ZFS.
  • Fit ECC RAM and target 16–32 GB if hosting iSCSI for VMs; follow TrueNAS sizing notes.
  • Present block LUNs (zvol/iSCSI) to ESXi for DB VMs; avoid SMB/NFS inside guests for DB files.
  • Separate storage network, enable multipathing, test jumbo frames/throughput.
  • Test: full backup restore, simulated disk failure + resilver, and measure service impact.

These points fill gaps in the thread (memory sizing, RAIDZ tradeoffs, HBA vs RAID, storage protocol for DBs, and network practice) and match production best practices for small server+NAS virtualization setups. (cdn.truenas.com)

Recommended Answers

All 4 Replies

Looking at the number of VM and process, I personally would aim for a dual quad based machine with at least 16GB, as to storage, with that many VM running, RAID 5 or RAID 6 may be a better option. Coming to the NAS, never been keen on software based RAID even though on paper it looked like the same protection level as a RAID6 setup, if data are important, best get a proper RAID6 card to handle the tasks.

Looking at the number of VM and process, I personally would aim for a dual quad based machine with at least 16GB, as to storage, with that many VM running, RAID 5 or RAID 6 may be a better option. Coming to the NAS, never been keen on software based RAID even though on paper it looked like the same protection level as a RAID6 setup, if data are important, best get a proper RAID6 card to handle the tasks.

Thanks for your opinions. Apart from the RAID issue, what is your opinion about the homemade NAS machine? How much can we rely on it? We have a proper backup routine with periodic incremental and full backup turnovers, plus we have another machine on our network solely for backing up main server hooked up with 2 x 1 TB external drives. I think I got it all covered but I don't have so much experience with RAID and ZFS file systems. Backing the data up is the one thing, but what is the worst case scenario when we build up a NAS and use it with freeNAS + ZFS + RAID card?

Are you going to use the NAS for live data storage or just for backup storage ?

Are you going to use the NAS for live data storage or just for backup storage ?

I plan to use this new NAS as live data storage, I have another box for backup purposes already.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.