EMC ScaleIO is a flexible software-only solution that leverages host-based internal storage media to make a scalable virtual storage pool.
In that respect, there are three primary components that make up EMC ScaleIO:
Data Client (SDC)ScaleIO Data Server (SDS)ScaleIO - Metadata Manager (MDM)
The ScaleIO Data Client (SDC) is a block device driver that exposes ScaleIO storage volumes to applications. The SDC runs locally on any application server that requires access to the block storage volumes. The blocks that the SDC exposes can be blocks from any device in the ScaleIO storage pool. This enables the local application to issue an I/O request and the SDC fulfills it regardless of where the particular blocks reside.
The ScaleIO Data Server (SDS) possesses local storage that contributes to the ScaleIO storage pools. An instance of the SDS runs on every server that contributes some or all of its local storage space. The role of the SDS is to perform I/O operations as requested by an SDC on the local or another server within the cluster.
The Metadata Manager (MDM) holds the cluster-wide mapping information and is responsible for decisions regarding migration, rebuilds, and all system-related functions. It manages the ScaleIO system. The MDM is installed on at least three servers and functions as a quorum; a primary MDM server, a secondary MDM server, and a tie-breaker . The ScaleIO monitoring dashboard communicates with the MDM to retrieve system information for display in the ScaleIO GUI. The MDM is not on the ScaleIO data path, reads and writes never traverse the MDM.