I present to you the second part of a series of publications on VMware vSphere storage technologies. It will consider new features that have become available in version 6 of the product. Due to the large volume, the 2nd part will be split into 2 articles: part 2.1 with a description of the SPBM and VAIO technologies (this article), part 2.2 with a description of VVOL (the next article).
Storage Policy-Based Management (SPBM). Policy-based storage management
The policy-based storage management technology allows you to set storage requirements for VMs (virtual machines) and ensure the implementation of a number of services for these VMs. In conditions of large infrastructures with this approach, the process of providing storage for the VM becomes more efficient and convenient.
The administrator creates and edits a set of policies needed by the data center; after binding the desired policy to a specific VM, the virtual infrastructure selects from a set of data center storages a limited set of storages that meets the requirements of the policy. In addition, a policy can ensure that services such as caching and data replication are implemented for VMs, if appropriate rules are set in it, and I / O filters (VAIO) are deployed in the infrastructure.
Categories of rules used in policies
The rules on which SPBM policies are based are divided into 3 categories.
')
Common rules are based on data services and do not depend on the type of storage, are common to any type of storage. Services in this case are understood as manipulations with the data flow carried out by input-output filters developed on the basis of VAIO, namely caching and replication of data at the level of individual VMs.
General rules do not establish requirements for the choice of storage and its characteristics, they guarantee and ensure the application of certain services (input / output filters) to VMs. The application of common rules becomes available only with the appropriate I / O filters that must be installed on vCenter and ESXi hosts / clusters.
Rules based on storage services (Rules Based on Storage-Specific Data Services) are defined by data services that provide certain types of storage such as Virtual SAN and VVol. The key point is services specific to this particular storage.
Storage providers (storage providers, also known as VASA providers) collect information about the characteristics and capabilities (services) of the storage and provide it to vCenter. Thus, a certain storage profile is formed, containing information about all its services and, accordingly, about the quality of service it can provide.
The policy is based on the rules that guarantee a certain level of service and use of data services. Being tied to a specific VM, such a policy will guarantee its placement on the storage with a given level of service and characteristics: capacity, performance, availability, fault tolerance, etc.
Rules based on labels (Rules Based on Tags) - created on the basis of labels, which you can manually mark the various stores.
Shortcuts or tags are mainly used in 2 cases:
• If you want to mark storage not represented by providers (VASA), such as VMFS or NFS.
• To indicate characteristics not covered by VASA, such as geographic location of storage facilities or administrative affiliation.
In consequence, tags assigned to the repositories can be used when generating rules in policies.
Formation and application of policies
Policies can contain general rules and several sets of rules containing rules based on storage services and based on labels. The relationship between sets of rules in a policy is a logical “OR”, the relationship between the rules in a set is a logical “AND”. Therefore, to host a VM, you can choose one of the repositories that will fully comply with the rules of one of the sets of policies associated with this VM. Also, the general rules specified in this policy should be applied to this VM.
VAIO - vSphere APIs for IO Filtering. I / O Filtering API Kit
vSphere APIs for IO Filtering (VAIO) are designed to create third-party software components called input / output filters (I / O filters). These filters can be installed on ESXi hosts and perform additional manipulations on VM data by processing I / O requests between VMs and their virtual disks.
I / O filters gain direct access to the I / O (data) path between a VM and its virtual disk, regardless of the storage infrastructure used.
I / O filters must be created by third-party developers and distributed as packages, the components of which are installed on the vCenter server and ESXi hosts. After installing filters on ESXi hosts, the vCenter server automatically configures and registers the I / O filter storage provider (VASA provider for I / O filters) for these hosts. These VASA providers allow you to integrate the I / O filter mechanism with SPBM, with the result that the settings of the data services provided by the filters are available for management through policies - the “common” rules in the VM Storage Policies interface. Accordingly, after binding the desired policy to the VM disks, they will be subject to the I / O filter actions specified in the policy.
Theoretically, third-party developers can create any I / O filters. However, the current release of vSphere 6.2 only supports 2 categories of filters:
• Caching filters - can use local flash drives to cache VM data on virtual disks.
• Replication filters - replicate all write operations for a specific VM to external storage (host or cluster).
It is possible to install multiple filters, even of one category (for example, caching), on one ESXi host.
I / O filter components:
• VAIO Filter Framework - VMware framework for I / O filters.
• I / O Filter Plug-In is a third-party software component that intercepts and filters data between the guest OS and the VM virtual disk.
• CIM Provider is an optional third-party component for configuring and managing I / O Filter plugins.
• vSphere Web Client Plug-In is an optional third-party component for managing the CIM provider from the vSphere Web Client.
• I / O Filter Daemon - an optional third-party component, can be used as a service to interact with specific filters with the ability to establish network interaction between hosts.
Each Virtual Machine Executable (VMX) VM component contains a Filter Framework that manages the I / O Filter plugins associated with the virtual disks of the VM. The Filter Framework calls filters when I / O requests appear between the VM and its virtual disks, so that any VM disk operations are intercepted by filters.
Filters are executed sequentially in a specific order, for example, first replication filters, then caching filters. Several filters can be associated with a single virtual disk, but only in one of a certain category.
After the I / O request has been processed by all filters attached to the virtual disk, this request is sent to the destination (to the VM or its disk).
Errors caused by the operation of filters may affect the performance of the VMs to which they are attached, but they will not affect the operation of the host and other VMs.
Local Flash Cache for I / O Filters
The caching I / O filters require * local flash resources, which are formed by installing flash drives (SSD) on ESXi hosts. Installed flash drives are combined into a shared resource within the host - a virtual flash resource (virtual flash resource) formatted in VFFS. VFFS is a file system optimized for working with flash drives and is derived from the vSphere base file system - VMFS.
During I / O processing, filters form a cache for a VM and allocate it to a VFFS resource.
Features of virtual flash resources:
• Only one virtual flash resource (VFFS partition) can be placed on a single host.
• Virtual flash resources are for caching purposes only and cannot be used to host VMs or other tasks.
• Virtual flash resources can use only local flash drives.
• Virtual flash resources can be formed from various devices, including with various interfaces (SATA, SAS, PCIe, NVMe).
• Flash drives are entirely available to a virtual flash resource; they cannot be used for other purposes, for example, Virtual SAN or VMFS.
Note:
Virtual flash resources can also be used by Host swap cache and Flash Read Cache mechanisms, and one VFFS resource can be shared by both mechanisms.
Host swap cache - designed to host VM swap files. If the ESXi host does not have enough physical memory (RAM) for the VM, then the missing amounts of RAM required by the VM are transferred to the array in the form of swap files. Host swap cache allows you to move these files to resources faster than the main storage of VM disks.
Flash Read Cache - earlier than cache VAIO-filters, data caching technology for VM, supports only cache for reading. The technology appeared in vSphere 5.5 and is a built-in VMware tool. For its operation, you must specify the size of the reserved cache for each VM. The effectiveness of the technology depends on the type of load, a tangible increase in performance can be expected in the case of a large flow of reading operations.
* There is an assumption that it is not necessary to use the VFFS partition to work with caching I / O filters; the developer of VAIO filters can implement VM cache storage in another, perhaps more efficient way.Thank you for your attention, to be continued.