What is a ViPR virtual array?
Table of Contents
This article applies to EMC ViPR 2.0.
ViPR aggregates physical arrays or commodity nodes into virtual arrays, similarly to how vCenter aggregates multiple physical servers into an ESX cluster, but at a much larger scale. A virtual array is a ViPR abstraction for underlying physical storage (arrays and commodity nodes) and the network connectivity between hosts and the physical storage.
ViPR System Administrators use virtual arrays to partition the ViPR virtual data center into groups of connected compute, network, and storage resources for purposes of fault tolerance, network isolation, or tenant isolation. System Administrators can abstract EMC, non-EMC, and commodity storage arrays into a single or multiple virtual arrays that is presented to hosts.
With the ViPR virtual array, all the unique capabilities of the physical arrays are available, but ViPR automates the operations of all the different array tools, processes, and best practices to simplify provisioning storage across a heterogeneous storage infrastructure. In this way, ViPR can make a multivendor storage environment look like one big virtual array.
In a data center environment, virtual arrays can be large-scale enterprise SANs or computing fabric pods. A virtual array also can be hundreds of commodity nodes (HP 4540 servers) to support object storage (ViPR Object Service), or thousands of commodity hosts to support block storage (ViPR Block Service powered by ScaleIO).
Only ViPR users with a System Administrator role can create virtual arrays. Although the end users who provision storage are aware of virtual arrays, they are unaware of the underlying infrastructure components (such as shared SANs, computing fabrics, or commodity nodes). Only the System Administrator has access to this information.
The following figure shows how a System Administrator can abstract a physical file/block array or a group of Commodity nodes into a ViPR virtual array. Just like file and block arrays, large numbers of Commodity nodes can be brought into ViPR to be managed as a single Commodity virtual array. Commodity nodes (as well as file arrays) support ViPR Services.
ViPR makes it easy to create virtual arrays. When a System Administrator creates a virtual array in the ViPR UI, he or she can add an entire physical block or file array to the virtual array, which brings the storage ports, pools, networks, switches, and connected host endpoints associated with the physical array under ViPR management. A physical array can be abstracted into a virtual array with one click by the System Administrator. If desired, System administrators also can manually add storage ports, pools, and networks to virtual arrays.
Network connectivity essentially defines a virtual array. It includes:
- SAN and IP networks connecting the physical arrays and hosts
- SAN switches (fabric managers) in the SAN networks
- Host and storage ports connected to the networks
- ViPR virtual pools (virtual pools associated with the physical pools on the arrays are brought into the virtual array)
When creating a virtual array, the System Administrator should verify that all the physical arrays that participate in the virtual array are connected to the same fabrics or virtual storage area networks (VSANs) to ensure that they all have the same network connectivity to the environment. When they populate a virtual array with physical arrays and networks, System Administrators must ensure that when the virtual array presents storage to the host, the host can physically reach that storage.
After the System Administrator creates virtual arrays with their host-to-array network connectivity, the System Administrator then carves the underlying physical storage in the virtual array into policy-based virtual pools that have defined storage capabilities. By creating and defining the virtual pools in the virtual arrays, the System Administrator can build ViPR policies that are automatically applied by ViPR across heterogeneous arrays.
An Access Control List (ACL) controls tenant access to each virtual array. Only tenants in the virtual array's ACL receive access to provision to that virtual array. The System or Security Administrator sets the ACL for a virtual array. If a System or Security Administrator does not set the ACL, all tenants in the ViPR virtual data center can use the virtual array to provision.
A System Administrator can group many physical arrays into a virtual array and can also partition a single physical array into several virtual arrays.
Example 1. A virtual array includes multiple physical arrays
A virtual array can span multiple physical arrays, as the following figure shows. You can also use RecoverPoint and VPLEX Metro configurations to connect virtual arrays through disaster recovery and high-availability links.
Example 2. Multiple virtual arrays include partitions of a single physical array
The following figure shows an example where a System Administrator partitions a single physical array into two virtual arrays.
Virtual Array 1 includes Networks A and B with their collection of connected host and storage ports and Virtual Pool A on the array. All physical devices in a virtual array must be able to communicate with each other in the virtual array for ViPR to manage the storage infrastructure properly. After a user requests a volume or file system export from the array to make the storage visible on a host, ViPR determines which network in the virtual array contains the desired host initiator ports and storage ports, and then selects the switch that can manage that network.
The preceding figure depicts a scenario that has no shared networks among virtual arrays. In this scenario, all the physical storage ports and pools associated with a network are in the network's assigned virtual array. For example, the physical ports and pools in Network A are in Virtual Array 1.
However, a System Administrator can assign a network (SAN fabric or IP network) to more than one virtual array. When a System Administrator assigns a network to multiple virtual arrays, all the storage ports and pools associated with the network are automatically added to the assigned virtual array. A System Administrator can, however, choose to select a subset of ports or pools manually from a network to associate with a virtual array.
Consider the following scenario:
A System Administrator assigns Network A to two virtual arrays: Virtual Array 1 and Virtual Array 2. Network A contains four storage ports. By default, all four storage ports are automatically added to both Virtual Array 1 and Virtual Array 2.
The System Administrator decides that he or she wants to assign two ports (ports 1 and 2) manually to Virtual Array 1, as shown in the following figure.
These two ports are now exclusively in Virtual Array 1. They cannot be assigned to another virtual array.
Virtual Array 1 contains ports 1, 2, 3, and 4. (Ports 1 and 2 were manually assigned by the System Administrator, and ports 3 and 4 were automatically assigned to this virtual array when the System Administrator assigned the network to the virtual array.)
Virtual Array 2 contains ports 3 and 4.