As shown here on the right, SoftNAS® operates within the VMware virtualization environment, typically on a VMware host that is dedicated as a NAS storage server. VMware virtualization provides the broadest range of device and resources, resulting in superior management and administration. And because SoftNAS runs within VMware, it inherits all the features and support that comes from VMware, including vCenter and other administration tools.
On the VMware host for SoftNAS, one or more SoftNAS virtual machines are deployed using standard VMware best practices. As shown below, from 4 to 32 (or more) cores and hyper threads are allocated to the SoftNAS VM(s) for storage management. Large amounts of ECC memory (from 4 GB up to 2 TB) are allocated to the SoftNAS VM, providing large amounts of RAM cache, which dramatically increases read performance.
Any desired network topology can be supported via the VMware physical and virtual network switching layers - from 1 GbE to 10 GbE and InfiniBand for high throughput. It's common to deploy 1 GbE ports for administration of VMware and SoftNAS, plus 10 GbE or InfiniBand bonded ports for high-speed storage access. And since all networking flows through VMware, all vSwitch functionality, including load-balancing, VLANS, throttling and more are all available.
For extremely high-IOPS deployments (e.g., VDI, databases, etc.), a combination of RAM, Flash Cache PCIE memory cards and/or SSD's can be deployed for maximum performance. The SoftNAS VM runs as an x64 version of the robust, secure and stable CentOS 6.x Linux operating system. Linux provides a broad range of standard services, including NFS, CIFS (Samba) and iSCSI for NAS client connectivity.
Virtualization adds a minor amount of overhead (less than 5%) versus bare metal operation. The additional CPU and memory available more than compensate for this nominal virtualization overhead. Of course, virtualization provides SoftNAS storage many of the same benefits that workload VM's enjoy by being virtualized (e.g., ease of administration and management, and unparalleled flexibility and device compatibility).
A minimum of 4 vCPUs is required for proper operation. ZFS includes 256-bit block checksums, which consume some CPU. If you choose to use data compression and/or deduplication, additional CPU power may be required.
The ZFS storage engine makes very effective use of RAM for caching. As RAM is relatively inexpensive, it is recommended to provide the SoftNAS VM with as much RAM as you can make available for optimal performance. Always use ECC RAM with SoftNAS, as you want to ensure there are no errors accidentally introduced into your data by memory read/write cycles (and ECC will detect and correct any such errors immediately).