The next part of ScaleIO that I want to cover is the ScaleIO Data Server (SDS) and the ScaleIO Data Client (SDC). These components provide the storage as well as access the storage in ScaleIO. You could consider the SDS as storage and SDC as a host, but they can reside on the same server.
The ScaleIO Data Server (SDS) – A software daemon that enables a server in the ScaleIO cluster to contribute its local storage to ScaleIO Storage. An instance of the SDS runs on every server that contributes some or all of its local storage space, which can be HDDs, SSDs, or PCIe flash cards to the aggregated pool of storage within the ScaleIO virtual SAN. The SDS manages the capacity of a single server and performs the Backend I/O. You have SDS only nodes, where the node just serves out storage, or you can have a node that is both a SDS and SDC.
The ScaleIO Data Client (SDC) – A lightweight block device driver that gives the capability to access ScaleIO shared block volumes to applications. The SDC runs on the same server as the application. The SDC communicates with other node over TCP/IP-based protocol and it is fully routable. When installed in a server, it presents ScaleIO volumes as block devices to any application on the server. Note that the SDC is a Block device driver that can run alongside other Block device drivers. The only I/Os in the stack that are intercepted by the SDC are those I/Os that are directed at the volumes that belong to ScaleIO. There is no interference with I/Os directed at traditional SAN LUNs that are not part of the ScaleIO. Users may modify the default ScaleIO configuration parameter to allow two SDCs to access the same data. The SDC is the only ScaleIO component that applications see in the data path.
On the next post I will go into some more of the fundamental terms and start getting deeper into the technology.
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).
The software defined data center continues to evolve with Storage, compute, and networking. ScaleIO has become a leading SDS solution and is continuing to improve. Below will cover some enhancements of ScaleIO 3.0.
- Space Efficient layout
- 4k granularity disk layout – optimized for SSD
- Optimized for SSD and leverage NVDIMM’s
- Snaps now on equal footing with AFA when it comes to efficiency, management and performance
- Variable size compression algorithm based on LZ4
- Optimized for SSD and leverages NVDIMM’s
- Can be turned on / off at a pool or volume level
- Zero application impact
- Non-disruptive storage-side volume migrations moving volumes between different Storage Pools and Protection Domains
- Entire VTree can be non-disruptively migrated
Full Support for Dell EMC PowerEdge 14G and NVMe Drives
- ScaleIO 3.0 takes full advantage of the latest Dell hardware
- ScaleIO Ready Nodes
- R740XD and R640 Support
- SSD, NVMe and HDD Options. Hybrid to be released later.
VMware vVols Support
- Tie VMs more directly to storage Volumes which provides simplified management, less resource contention, and the ability to leverage storage side features like snapshots
- Requires ESXi 6.0 and newer
- VASA service runs in a VM
- Mapping database is stored in a ScaleIO Volume
- HA is handled by VMware
- VASA services presents an API to VMware and talks directly to ScaleIO MDM
- Uses existing ScaleIO SVM Template and adds services to it
- Snapshot count increased by 4x
- 31 to 127 for current medium granular layout
- Fine granular layout snapshot count is increased 8x – 255 snapshots
- Volumes can be reverted to any snapshot within the vTree
- Volumes can be refreshed in place
- Snapshot can be deleted anywhere in the vTree without affecting other snapshots in the vTree
- Automated snapshot management
- Set snapshot creation and retention policy and ScaleIO will automatically manage the snapshots
- Snapshot management works with CG as well
AMS with OS/FW patching and Storage Only Support
- AMS handles Storage SW, OS and Firmware
- VMware support now for 6.5
- All components upgrade in a rolling manner
- ScaleIO Software
- SVM Operating System
- VMware ESX / RHEL OS
- Firmware for hardware components
I will be working increasingly with ScaleIO in the future so expect more posts!!
EMC World is less than 3 weeks away and this will be my first year attending!! I wanted to do a short series on some of the recent announcements that most likely be covered at EMC World. The first is ScaleIO 2.0
ScaleIO 2.0 – Enriched Security
- IPv6 Support
- ScaleIO can be used with either IPv4 or IPv6
- Supports all IPv6 addresses in the same cluster
- Enabled for both internal and external components
- AD/LDAP and secured LDAP
- Authenticate against Active directory
- Mapped to ScaleIO roles
- You can do Native Authentication, LDAP or both
- Local users can be removed
- Software Component Validation
- Certificates generate at deployment
- Certificate based when adding – Trust established, when reconnecting challenge
- Central Management
- Secure Connections (SSL)
- MDM uses SSL certificate to communicate with all external components
- Self-signed certificate
- May be enabled and deployed automatically at install
ScaleIO 2.0 Enhanced Resiliency
- In-flight Checksum
- Prevents invalid data from being written to the system
- Calculate and validate checksum on application data
- Checksum us calculated/validate when
- IO enters or exits the SDC
- IO is read or written to the SDS device
- Protects against changes in transit
- Disks maintain their own checksum
- Enabled or disabled at Storage Pool Level
- 16-bit per 512B block
- 5 Node MDM Cluster
- 5 MDM cluster members
- Three options
- 5-node: 3 MDMs + 2 Tie Breakers
- 3-Node: 2 MDMs + 1 Tie Breaker
- 1-Node: Single Node
- Option for multiple standby MDMs
- MDMs now have a unique ID and Name
- Read Flash Cache
- May be controlled by CLI or GUI
- New type of SDS device added
- New “Read Flash Cache” present in the backend view
- Accelerate the reads of HDD devices by using PCI flash cards and SSDs for caching
- Two-way remote connection enables remote monitoring and remote diagnosis/repair
- ScaleIO remote support works with ERSR v3 only
- ScaleIO is registered as a single product using the license SWID
- Instance Maintenance Mode
- Non-disruptive Upgrade Orchestration
- NDU from Major to Major and Minor to Minor
- Done by IM
- Upgrade Order
- IM/Plugin, LIA, MDM, SDS, SDC
- New Functionality available after upgrading MDM and SDS
- SDC upgrade
- May be accessing 2 or more clusters
- Forwards and backwards compatible
- Requires a host reboot
- May be postponed to planned maintenance
ScaleIO 2.0 Expanded Agility
- Enhanced GUI Storage Management
- New “Frontend” tab
- Volume operation: Add, Remove, Rename, Increase size, Enable and Disable, RAM Cache
- Accessible based upon defined roles in ScaleIO or AD/LDAP