I was looking into vSAN File Services this week as I had some customers asking about requirements and constraints. I wanted to list some of the things to understand about vSAN File Service as it is important when you are designing and configuring it. First of all, it is good to have an understanding of the implementation, well at least somewhat as vSAN File Services is managed/upgraded/update as part of vSAN. It is not an entity you as an admin don’t manage the appliance you see deployed. I created a quick demo about vSAN File Services which you can find here.
If you look at the diagram (borrowed from docs.vmware.com) above you can see that vSAN File Service leverages Agent/Appliance VMs and within each Agent VM a container, or “protocol stack”, is running. The protocol stack is what exposes the file system as an NFS file share. That has a few implications, and I want to make sure that people understand those before they start with vSAN File Services. Let’s list the requirements, constraints, and some of the things to know so they are obvious.
- Targeted use case: Cloud Native Applications and file services for traditional apps
- NFS v3 and NFS v4.1 are both supported for 7.0
- Kerberos authentication is supported with NFS for 7.0 U1
- SMB v2.1 and v3 are supported for 7.0 U1
- Active Directory authentication is supported with SMB for 7.0 U1
- A minimum of 3 hosts within a cluster
- A maximum of 64 hosts within a cluster
- Not supported today on 2-node
- Not supported today on a stretched cluster
- It is not supported to mount the NFS share from your ESXi host
- Maximum of 32 active FS containers/protocol stacks are provisioned
- Each host will have an FS VM, you can have more FS VMs than containers!
- FS VMs are provisioned by vSphere ESX Agent Manager
- You will have one FS VM for each host up to 32 hosts
- FS VMs are tied to a specific host from a compute and storage perspective, and they align of course!
- FS VMs are not integrated with vSAN Fault Domains
- FS VMs are powered off
and deleted(With 7.0 U1 the deletion doesn’t happen anymore!) when going into maintenance mode
- FS VMs are provisioned and powered on when exiting maintenance mode
- The IP addresses assigned to file services need to be on the same L2 segment
- On a standard and distributed (v)Switch, the following settings are enabled on the port group automatically: Forged Transmits, Promiscuous Mode
- vSAN automatically downloads the OVF for the appliance, if vCenter Server cannot connect to the internet you can manually download it
- The ovf is stored on the vCenter Appliance here, if you ever want to delete it: /storage/updatemgr/vsan/fileService/
- The FS VM has its own policy (FSVM_Profile_DO_NOT_MODIFY), which should not be modified!
- The appliance is not protected across hosts, it is RAID-0 as resiliency is handled by the container layer!
So what does this mean? Well, from a networking standpoint, I would highly recommend creating a dedicated port group for vSAN File Service! Why? Well, Forged Transmits and Promiscuous Mode or MAC Learning are enabled by default during the configuration on the port group you selected for the vSAN File Service deployment. You may ask why this needs to be enabled, well basically because a MAC address and IP address are assigned to the container within the FS VM. This allows for resilience at the container layer but means that from a networking perspective the environment needs to be aware of it.
I hope the above details will help folks when deploying vSAN File Services in their environment. Remember, some of the limitations and constructs will definitely change with upcoming releases!
** updated to include vSAN File Services 7.0 U1 details on September 22nd of 2020 **