HomeStudy GuidesVCP-DCV for vSphere 7.xvSphere 7 - Describe Basic Storage Concepts In K8s, vSAN, and vVols

vSphere 7 - Describe Basic Storage Concepts In K8s, vSAN, and vVols

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.

- Advertisement -

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.)

- Advertisement -

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.

Protocol Endpoints

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.

- Advertisement -

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:

Data-vVol

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.

Config-vVol

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.

Swap-vVol

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.

Snapshot-vVol

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

Types of Virtual Volumes - mulcas.com
Types of Virtual Volumes

vVols Implementation and Key Components

vVols Implementation and Key Components - mulcas.com
vVols Implementation and Key Components

vVols Data Plane

vVols Data Plane - mulcas.com
vVols Data Plane

SPBM: VMFS vs vVols

SPBM - VMFS vs vVols - mulcas.com
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.
Tanzu storage policies for various classes of storage
Source VMware

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.

vSphere CNS-CSI

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.

Image_06: How vSphere with Tanzu Integrates with vSphere Storage
Source VMware

3. vSAN

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:

Resources

vSphere Storage

vSphere with Tanzu Configuration and Management

Conclusion

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)

See the full exam preparation guide and all exam sections from VMware.

More topics related to VMware

Juan Mulford
Juan Mulford
I have been active in IT for over fourteen years now. I am a solutions architect, working with storage, virtualization, and VDI solutions. For the past ten years, I have been living and working in Taiwan.

Leave a Reply

- Advertisement -

Popular Articles

mulcas.com-Raspberry-Pi

Raspberry Pi OS in a Virtual Machine with VMware

4
Although the Raspberry Pi OS is designed and optimized for the Raspberry Pi module, it is possible to test and use it without its hardware, with VMware. This solution can be useful if you are a developer (or just a curious guy) and don't have a Raspberry Pi module with you
Unable to delete inaccessible datastore

Unable to delete an "inaccessible" datastore

7
I was switching my storage array, so I migrated the VMs from that old datastore/storage to a new datastore/storage. The old datastore was shared by 3 ESXi hosts, no cluster. After migrating the VMs and unmount/delete the datastore, it was still presented in two of the ESXi hosts and was marked as inaccessible.
This is not a valid source path / URL

This is not a valid source path / URL - SourceTree and Gitlab

0
I have been working on a project with a friend who set up a repository in Gitlab but even though I was able to view all projects on it, I couldn’t really join the repository. I was using SourceTree and Gitlab.
mulcas.com-VMware-OVF-Tool

How to export a Virtual Machine using the VMware OVF Tool

9
The VMware OVF Tool is implemented by VMware for easily importing and exporting virtual machines in Open Virtualization Format (OVF) standard format. Here, I want to show you how to download and install it, and then how to use it from a Windows machine.
Couldn't load private key - Putty key format too new

Couldn't load private key - Putty key format too new

5
couldn't load private key - Putty key format too new.” This issue happens when you use PuTTygen to generate or convert to a ppk key. Here is how to fix it. 
- Advertisement -

Recent Comments