The ScaleIO virtual SAN consists of 3 software components
===================
Meta Data Manager (MDM):
Configures and monitors the ScaleIO system. The MDM can be configured in a redundant Cluster Mode with three members on three servers or in a Single Mode on a single server.
An MDM cluster consists of three components:
- Primary MDM
- Secondary MDM
- Tie-Breaker
ScaleIO Data Server (SDS):
Manages the capacity of a single server and acts as a backend for data access. The SDS is installed on all servers contributing storage devices to the ScaleIO system. These devices are accessed through the SDS.
ScaleIO Data Client (SDC):
A lightweight device driver that exposes ScaleIO volumes as block devices to the application residing on the same server on which the SDC is installed.
Figure 1. ScaleIO architecture
Storage Definitions
===================
Protection Domain:
A Protection Domain is a subset of SDSs. Each SDS belongs to one (and only one) Protection Domain. Thus, by definition, each Protection Domain is a unique set of SDSs.
Storage Pool
A Storage Pool is a subset of physical storage devices in a Protection Domain. Each storage device belongs to one (and only one) Storage Pool. When a Protection Domain is generated, by default it has one Storage Pool (Default).
When a volume is configured over the virtualization layer the volume is distributed over all devices residing in the same Storage Pool. This allows more than one failure in the system without losing data. Since a Storage Pool can withstand the loss of one of its members, having two failures in two different Storage Pools will not cause data loss.
Storage Tiers
Storage Pools allow the generation of different storage tiers in the ScaleIO system. When generating a Protection Domain, it is recommended to have SDSs which have the same storage media associated with them (though usually that is the case in most
datacenters since the servers are commonly cloned).
The same goes for a Storage Pool. The best practice would be having the same storage devices in the same pool. This ensures that the volumes will be distributed over the same type of storage.
Note: Mixing different types of media in the same pool is allowed, but one should be aware that due to the distribution of the data, performance will be as good as the least-performing member of the Storage Pool.
ScaleIO Physical Layer
========================
1. MDM. 3 nodes for a redundant management cluster in Cluster MDM, or a single node in case of a Single MDM.
2. SDS. Identify all the nodes which will contribute some, or all, of their physical storage. Install an SDS component on them. Divide the SDSs (nodes) into Protection Domains. Each SDS can be a member of only one Protection Domain. Divide the SDSs (nodes) into Protection Domains. Each SDS can be a member of only one Protection Domain.
3. Identify all the nodes on which the application will access the data exposed by the ScaleIO volumes. Install an SDC component on them. As for communication, the system utilizes the already existing LAN. The components communicate over the LAN using standard TCP/IP. The SDS may have multiple IP addresses, allowing wider bandwidth and better IO performance and redundancy.
As for communication, the system utilizes the already existing LAN. The components communicate over the LAN using standard TCP/IP. The SDS may have multiple IP addresses, allowing wider bandwidth and better IO performance and redundancy.
ScaleIO Virutalization Layer
=======================
In this layer, users can:
- Define volumes.
- Map volumes
ScaleIO over VMware
=======================
In a VMware environment, ScaleIO provides a ScaleIO SCSI target. This target is enclosed, as all the other components, in a virtual machine (VM) that is specific to ScaleIO, known as ScaleIOVM. The ScaleIO SCSI target exposes LUNs to the hypervisor‘s SCSI initiator. These LUNs are in-turn used by other virtual machines through the data-store.
Figure 3 ScaleIO VM architecture
参考资料
========================
EMC ScaleIO User Guide v1.20.1 for Linux and VMware
https://support.emc.com/docu50195_ScaleIO-User-Guide-1.20.1.pdf
ScaleIO 1.2 基础