What is VMware vSAN?
There are many answers to that question: some would say it’s a hyper-converged storage solution, while others would insist on calling it a software based distributed storage solution; it’s not hard to also find names such as software defined storage or hypervisor converged.
The truth is, VMware vSAN is a storage solution fully integrated with VMware vSphere. If you know how to enable High Availability, Fault Tolerance or DRS, then you know how to configure a vSAN.
Why should I go for VMware vSAN?⌗
Ok, that was simple enough but now the real question is - why would you go for a vSAN when there are thousands upon thousands of other storage solution out there?
vSAN is software defined – No need to switch/upgrade hardware; as long as it is on the HCL, it’s good to go.
vSAN is flexible – Scale as needed and when needed. It is completely fine to either add more hosts or more disks as both scaling up and scaling out are possible.
vSAN is simple – Take a look at any vSAN configuration wizard or try reading through the documentation; you’ll quickly notice how different it is from other storage systems.
vSAN is automation friendly – Policy based management for individual VMs and virtual disks, VMDK level granularity
vSAN is Hyper-Converged – With VMware vSAN, you can create building block style solutions.
According to multiple stories from the IT world and customer satisfaction reports, VMware vSAN is usually the “go to” solution because of its simplicity. One of the most “selling” features of vSAN is the vSAN Health Check Report, which at once glance provides you with its working status. If something’s broken or will break soon - vSAN will report it in the Health Check.
What vSAN is used for?⌗
Production/Business Critical Applications⌗
Exchange, Oracle, SQL, anything that requires superb speed and reliability. vSAN is most commonly used for hosting business and/or production critical virtual machines. Multiple reports proved vSAN to be the most secure and stable, while at the same time fastest storage solution of its type.
Management clusters are the second most common part of infrastructure element benefiting from vSAN. The “Software Defined Storage” approach has proven to be more reliable than standard storage solutions - even when the NAS, SAN or tape drive controller is down, you still can access your management tools hosted on local disks grouped together into vSAN volumes.
Scale out model, using predictive (performance etc) repeatable infrastructure blocks lowers costs and simplifies operations. No more endless discussions about expanding user-end of the infrastructure - expanding a vSAN cluster can cost even 90% less than a similarly big upgrade (in terms of GBs) to a SAN environment. For this very reason, vSAN is included in all editions of VMware Horizon.
DMZ & Test⌗
If VMware NSX isolates a DMZ from the world from a networking/security point of view, vSAN does the same from a storage perspective. Separate your storage into multiple clusters and avoid having your production storage go down during a DDoS attack. Cheaper, easier to upgrade, scale-out and scale-up than the regular storage - vSAN is not only the best storage solution for production but also for a development environment. Increasing the amount of space for ever-disk-space-hungry developers was never easier!
Disaster recovery target⌗
Again, vSAN being much cheaper than regular storage, can be an excellent DR target. For example, Veeam Backup & Replication software is even fine-tuned to use vSAN as its backup repository! This gives vSAN-provided storage space an extra edge over the competition.
As you can see from the long list above - VMware vSAN is absolutely amazing in terms of its versatility. I can’t really think of anything which wouldn’t be possible or make sense with vSAN. If you have never heard anything about this technology before, you might think it’s some kind of a fraud or “indiegogo” level scam, but trust me, it’s no magic - it’s just the tech of today.
When vSAN is enabled, a single shared datastore is presented to all hosts which are part of the vSAN-enabled cluster. Typically all hosts will contribute performance and capacity to this shared datastore:
- Performance - SSD disks; these are used for caching and you’d need at least 1 SSD for every 1 HDD on each host to setup a vSAN.
- Capacity - either SSD or traditional HDDs; these are used for the “main” storage. There are multiple ways you can configuration options you can choose from (full 1:1 replication on all disks, partial, multi-PoF and so on).
That way, you can expect your datastores to grow whenever the cluster grows from a compute perspective. This is not a must however, as there can be hosts in the cluster which just consume the datastore (seeing it just as regular SAN/NAS resource). Clusters with vSAN enabled support the same limits as vSphere: 64 hosts in a single cluster and 31 in a stretched one.
The flash storage requirement shouldn’t be surprising to anyone familiar with the current storage solutions on the market. Every write I/O goes to the flash cache first, and then eventually gets saved in the capacity tier. vSAN supports different types of flash devices ranging from SATA SSDs to 3D XPoint NVMe based devices. The capacity layer of vSAN supports of course regular spinning disks as well - from SAS to 15k RPM.
Storage policies configured with vSAN support can be applied on both virtual machine and virtual disk level. These policies can be used to define availability and performance aspects of your workloads. The only two key features of vSAN which are not controlled by policies are “Deduplication and Compression” and “Encryption”, which can only be enabled on a cluster level.
After setting up vSAN, but before setting up any VMs, you will typically create a storage policy where you will define what the configuration of the workload should be. Most of the time, such a policy is used to configure one, critical setting which is “Failure to tolerate” - setting it to a value of “1" would require vSAN to keep 2 copies of the data and 1 witness for every associated VM. After defining a 1 host failure to tolerate, or a 3 host failure to tolerate, vSAN will ensure enough replicas of your objects are created within the cluster.
Speaking of VMs - these can be seen as an object and each copy of the data and the witness can be seen as components. Objects are placed and distributed across the cluster as specified in your policy. This way, vSAN does not require a local RAID set - a bunch of local disks attached to a passthrough disk controller will do just fine.
In order to provide the best performance, while still making sure the data is safe, vSAN has an in-memory read cache which is used to serve the most recent blocks from memory. Blocks which are not in the memory cache will need to be fetched from other hosts which can be used to serve the data component. Worth noting is that any given block always comes from the same host for reads. That way, vSAN is optimizing the flash based read cache. Writes on the other hand, are straight forward. Every write is synchronously pushed to the hosts that contain data components for a VM being saved. This process is usually referred to as “replication” or “mirroring”.
All of that traffic has to be served somehow so it comes as no surprise that vSAN does indeed require some good networking base for its daily operations. At the very minimum vSAN will need a dedicated 1Gbps NIC port for hybrid (SSD+HDD) configurations, and 10GbE (again, as a minimum!) for all-flash configurations.
VMware vSAN in definitely a technology you should be interested in and I think I’m positive that if you’ve never heard about it before, you will be excited to learn more about after reading through this quick introduction.
I’m planning to focus more on VMware vSAN and VMware NSX in the next couple of months, so if I you’re interested in any of these technologies, you can expect more post about them coming very, very soon.
For now, please let me know what do you think about VMware vSAN, or if you already used it before - tell me what did you found interesting and/or exciting about it! Find me on Twitter by @wilk_it_wizard or #sshguru