VMware vSphere 7.x Study Guide for VMware Certified Professional – Data Center Virtualization certification. This article covers Section 1: Architectures and Technologies. Objective 1.3.4 – Describe basic storage concepts in K8s, vSAN, and vSphere Virtual Volumes (vVols)
This article is part of the VMware vSphere 7.x - VCP-DCV Study Guide. Check out this page first for an introduction, disclaimer, and updates on the guide. The page also includes a collection of articles matching each objective of the official VCP-DCV.
Describe basic storage concepts in K8s, vSAN, and vVols
The target of objective 1.3.4 is to describe basic storage concepts in K8s, vSAN, and vVols. vVols is critical, and in this objective, we go deep into its concepts, components, and architecture. This is the only objective to clearly refer to vVols. Here we study key storage concepts of vSphere with K8s, which is now known as vSphere with Tanzu. Finally, we should explore vSAN, but it has already been overviewed in previous objectives, and it will be deep-dived in others.
1. vSphere Virtual Volumes (vVols)
With Virtual Volumes, abstract storage containers replace traditional storage volumes based on LUNs or NFS shares. In vCenter Server, the storage containers are represented by Virtual Volumes datastores. Virtual Volumes datastores store virtual volumes, objects that encapsulate virtual machine files.
More about vVols in Objective 1.3.1 – Describe storage datastore types for vSphere.
1.1 vVols Highlights
Virtual Volume Objects
Virtual volumes are encapsulations of virtual machine files, virtual disks, and their derivatives.
Virtual Volumes Storage Providers
VASA provider is a software component that acts as a storage awareness service for vSphere. The provider mediates out-of-band communication between vCenter Server and ESXi hosts on one side and a storage system on the other.
See more about VASA provider in Objective 1.3.2: Explain the importance of advanced storage configuration (VASA, VAAI, etc.)
Virtual Volumes Storage Containers
Virtual Volumes uses a storage container. It is a pool of raw storage capacity or aggregation of storage capabilities that a storage system can provide to virtual volumes.
ESXi hosts use a logical I/O proxy, called the protocol endpoint, to communicate with virtual volumes and virtual disk files that virtual volumes encapsulate. ESXi uses protocol endpoints to establish a data path on demand from virtual machines to their respective virtual volumes.
Binding and Unbinding Virtual Volumes to Protocol Endpoints
At the time of creation, a virtual volume is a passive entity and is not immediately ready for I/O. To access the virtual volume, ESXi or vCenter Server send a bind request.
Virtual Volumes Datastores
A Virtual Volumes datastore represents a storage container in vCenter Server and the vSphere Client.
Virtual Volumes and VM Storage Policies
A virtual machine that runs on a Virtual Volumes datastore requires a VM storage policy.
1.2 Types of Virtual Volumes
The system creates the following types of virtual volumes for the core elements that make up the virtual machine:
A data virtual volume that corresponds directly to each virtual disk .vmdk file. As virtual disk files on traditional datastores, virtual volumes are presented to virtual machines as SCSI disks. Data-vVol can be either thick or thin-provisioned.
A configuration virtual volume, or a home directory, represents a small directory that contains metadata files for a virtual machine.
- The files include a .vmx file, descriptor files for virtual disks, log files, and so forth.
- The configuration virtual volume is formatted with a file system.
- When ESXi uses the SCSI protocol to connect to storage, configuration virtual volumes are formatted with VMFS.
- With NFS protocol, configuration virtual volumes are presented as an NFS directory. Typically, it is thin-provisioned.
Created when a VM is first powered on. It is a virtual volume to hold copies of VM memory pages that cannot be retained in memory. Its size is determined by the VM’s memory size. It is thick-provisioned by default.
A virtual memory volume to hold the contents of virtual machine memory for a snapshot. Thick-provisioned.
Typically, a VM creates a minimum of three virtual volumes, data-vVol, config-vVol, and swap-vVol. The maximum depends on how many virtual disks and snapshots reside on the VM.
1.3 vVols Architecture - (cool) Recap
While creating this content, I remembered that a couple of years ago I did some cool study and presentation about vVols. This was for one of the storage companies that have worked. Even though I am picky with my article's style and consistency I want to keep the original images for this one; taken from a PowerPoint presentation.
Here is a recap and more information on some of the key concepts and components to understand vVols.
Types of Virtual Volumes
vVols Implementation and Key Components
vVols Data Plane
SPBM: VMFS vs vVols
2. vSphere with Tanzu (Kubernetes - K8s)
This topic should be separate, as Tanzu is a big and kind of different topic. Nevertheless, here are some key concepts to vSphere with Tanzu, formerly known as vSphere with Kubernetes (K8s).
This section is only focused on the storage part of vSphere with Tanzu..
vSphere with Tanzu uses storage policies to integrate with shared datastores available in your environment, including VMFS, NFS, vSAN, or vVols datastores.
- The policies represent datastores and manage the storage placement of such objects as control plane VMs, pod ephemeral disks, container images, and persistent storage volumes.
- If you use Tanzu Kubernetes clusters, the storage policies also dictate how the Tanzu Kubernetes cluster nodes are deployed.
- Before you enable vSphere with Tanzu, create storage policies to be used by the Supervisor Cluster and namespaces.
- Depending on your vSphere storage environment and the needs of DevOps, you can create several storage policies to represent different classes of storage.
2.1 Ephemeral Virtual Disks
Ephemeral, or transient, storage lasts as long as the pod continues to exist. Ephemeral data persists across container restarts, but once the pod reaches the end of its life, the ephemeral virtual disk disappears.
2.2 Container Image Virtual Disks
Containers inside the pod use images that contain the software to be run. The pod mounts images used by its containers as image virtual disks. When the pod completes its life cycle, the image virtual disks are detached from the pod.
2.3 Persistent Storage Virtual Disks
Certain Kubernetes workloads require persistent storage to store data permanently. To provision persistent storage for Kubernetes workloads, vSphere with Tanzu integrates with Cloud Native Storage (CNS), a vCenter Server component that manages persistent volumes.
Persistent storage can be used by vSphere Pods, Tanzu Kubernetes clusters, and VMs.
2.4 How vSphere with Tanzu Integrates with vSphere Storage
vSphere with Tanzu uses several components to integrate with vSphere storage.
Cloud Native Storage (CNS) on vCenter Server
The CNS component resides in vCenter Server.
- It is an extension of vCenter Server management that implements provisioning and lifecycle operations for persistent volumes.
- When provisioning container volumes, the component interacts with the vSphere First Class Disk functionality to create virtual disks that back the volumes.
- In addition, the CNS server component communicates with the Storage Policy Based Management to guarantee a required level of service to the disks.
First Class Disk (FCD)
Also called Improved Virtual Disk. It is a named virtual disk unassociated with a VM.
- These disks reside on a VMFS, NFS, or vSAN datastore and back ReadWriteOnce persistent volumes.
- The FCD technology performs lifecycle operations related to persistent volumes outside of a lifecycle of a VM or pod.
Storage Policy Based Management
Storage Policy Based Management (SPBM) is a vCenter Server service that supports provisioning of persistent volumes and their backing virtual disks according to storage requirements described in a storage policy. After provisioning, the service monitors compliance of the volume with the storage policy characteristics.
See more about SPBM in previous Objective 1.3.3 – Describe storage policies.
The vSphere CNS-CSI component conforms to Container Storage Interface (CSI) specification, an industry standard designed to provide an interface that container orchestrators like Kubernetes use to provision persistent storage.
- The CNS-CSI driver runs in the Supervisor Cluster and connects vSphere storage to Kubernetes environment on a vSphere Namespace.
- The vSphere CNS-CSI communicates directly with the CNS control plane for all storage provisioning requests that come from vSphere Pods and pods that runs in a Tanzu Kubernetes cluster on the namespace.
Paravirtual CSI (pvCSI)
The pvCSI is the version of the vSphere CNS-CSI driver modified for Tanzu Kubernetes clusters.
- The pvCSI resides in the Tanzu Kubernetes cluster and is responsible for all storage related requests originating from the Tanzu Kubernetes cluster.
- The requests are delivered to the CNS-CSI, which then propagates them to CNS in vCenter Server.
- The pvCSI does not have direct communication with the CNS component, but instead relies on the CNS-CSI for any storage provisioning operations.
VMware vSAN is a software-defined, enterprise storage solution that supports hyper-converged infrastructure (HCI) systems. vSAN is fully integrated with VMware vSphere, as a distributed layer of software within the ESXi hypervisor.
vSAN aggregates local or direct-attached data storage devices, to create a single storage pool shared across all hosts in a vSAN cluster. A hybrid vSAN cluster uses flash devices for the cache tier and magnetic drives for the capacity tier. An all-flash vSAN cluster uses flash devices for both the cache tier and the capacity tier. This architecture creates a flash-optimized, resilient shared datastore designed for the software-defined data center (SDDC).
To avoid overlapping content, study more about vSAN in the following topics/objectives:
- Objective 1.3.1 – Describe storage datastore types for vSphere.
- Objective 1.9 – Describe the basics of vSAN as primary storage
The topic reviewed in this article is part of the VMware vSphere 7.x Exam (2V0-21.20), which leads to the VMware Certified Professional – Data Center Virtualization 2021 certification.
Section 1 - Architectures and Technologies.
Objective 1.3.4 – Describe basic storage concepts in K8s, vSAN, and vSphere Virtual Volumes (vVols)