ScaleIO Fundamentals – Metadata Manager (MDM)

Over the past month, I have been working with ScaleIO and wanted to share some knowledge.  The SDDC is really making waves in the industry and Software defined storage is a big part of that.  I am going to start with the Fundamentals of ScaleIO and work my way up.  Metadata Manager is a good starting point as it is the control component.

Metadata Manager (MDM) – The Metadata Manager (MDM) configures and monitors the ScaleIO system. It contains all the metadata required for system operation. MDM is responsible for data migration, rebuilds, and all system-related functions. No user data passes thru the MDMs.  Three or more instances of MDM run on different servers for high availability. The MDM can also be configured in Single Mode on a single server or in Cluster Mode for redundancy.

When you have a MDM cluster you have the options of 3 members on 3 servers or 5 members on 5 servers. Below are the key MDM members in a cluster setup.

MDM – Server that has the MDM package installed.  MDMs have a unique ID and can have a unique name as well.

Master MDM – The MDM in the cluster that controls the SDS and SDC.  The Master contains and updates the MDM repository, the database that controls the SDS config, and how data is spread across the SDSs in the system

Slave MDM – MDM in a cluster that takes over for the Master if needed.  A 3 node cluster has 1 Slave and a 5 node cluster has 2.

TieBreaker – MDM where the only role is to help determine which MDM is the Master.  A 3 node cluster has 1 TieBreaker and a 5 node cluster has 2.  There will always be an odd number of MDMs in a cluster to make sure there is a majority in electing the Master.

Standby MDM – MDM specified as a standby to a cluster.  When it is needed in the cluster it can be promoted to a Manager MDM or a TieBreaker.

Manager MDM – MDM that is a Master or a Slave in the cluster.  Manger can also be a Standby MDM.

The next blog will cover ScaleIO Data Client (SDC) and ScaleIO Data Server (SDS).