Disclaimer: I recently attended Storage Field Day 13. My flights, accommodation and other expenses were paid for by Tech Field Day and Pure Storage. There is no requirement for me to blog about any of the content presented and I am not compensated in any way for my time at the event. Some materials presented were discussed under NDA and don’t form part of my blog posts, but could influence future discussions.
I’ve written about ScaleIO before (here and here), but thought it might be useful to deliver a basic overview of what ScaleIO actually is and what it can do. You can see Dell EMC’s Storage Field Day presentation video here and you can grab a copy of my rough notes from here.
ScaleIO Overview
What is it?
In a nutshell, it’s a software-defined storage product that leverages captive server storage at scale.
Benefits
According to Dell EMC, the useful life of ScaleIO is perpetual.
- Deploy once
- Grow incrementally
- No data migration
- Rolling upgrades
- Perpetual software licenses
ScaleIO Vision and Architecture
Core, Fundamental Features of ScaleIO
Configuration Flexibility
- Hyperconverged and/or 2-layers
Highly scalable
- 100s / 1000s of nodes
High performance / low footprint
- Performance scales linearly
- High I/O parallelism
- Gets the maximum from flash media
- Various caching options (RAM, flash)
Platform agnostic
- Bare-metal: Linux / Windows
- Virtual: ESX, XEN, KVM, Hyper-V
Any network
- Slow, fast, shared, dedicated, IPv6
Flash and Magnetic
- SSD, NVMe, PCI or HDD
- Manual and automatic multi-tiering
Elastic / flexible / multi-tenancy
- Add, move, remove nodes or disks “on the fly”
- Auto-balance
Various partitioning schemes:
- Protection-domains
- Storage pools
- Fault sets
- Seamlessly move assets from one partition to another
- QoS – bandwidth/IOPS limiter
Resilient
- Distributed mirroring
- Fast auto many-to-many rebuild
- Extensive failure handling / HA
- Background disk scanner
Secure
- AD/LDAP, RBAC integration
- Secure cluster formation and component authentication
- Secure connectivity with components, secure external client communication
- D@RE (SW, followed by SED*)
Ease of management & operation
- GUI, CLI, REST, OpenStack Cinder, vSphere plugin and more
- Instant maintenance mode
- NDU
Competent Snapshots
- Writeable, no hierarchy limits
- Large consistency groups
- Automatic policies*
Thin-provisioning
Space-efficient layout*
- Fine-grain snapshots and thin-provisioning*
- Compression*
*Soon
Two-ways
You can use ScaleIO in a hyperconverged configuration and a “two-layer” configuration. With hyperconverged, you can run:
- Application and storage in the same node, where ScaleIO is yet another application running alongside other applications
- Asymmetric nodes, where nodes may have a different # of spindles, etc
You can also run ScaleIO in a two-layer configuration
- app-only nodes can access ScaleIO volumes
- app+storage – hyperconverged nodes
Components
ScaleIO Components
- ScaleIO Data Client (SDC) exposes shared block volumes to the application (block device driver)
- ScaleIO Data Server (SDS) owns local storage that contributes to the ScaleIO storage pool (daemon/service)
SDS and SDC in the same host
- Can live together
- SDC serves the I/O requests of the resident host applications
- SDS serves the I/O requests of various SDCs
Volume Layout, Redundancy and Elasticity
A volume appears as a single object to the application.
Volume Layout (No Redundancy)
- Chunks (1MB) are spread across the cluster in a balanced manner
- No hot spots, no I/O splitting
2-Copy Mirror Scheme
Free and Spare Capacity
- Free and reserved space scattered across the cluster
Fast, balanced and smart rebuild
Forwards Rebuild
- Once disk/node fails – the rebuild load is balanced across all the cluster partition disks/nodes -> faster and smoother rebuild
Backwards Rebuild
- Smart and selective transition to “backwards” rebuild (re-silvering), once a failed node is back alive
- Short outage = small penalty
Elasticity, Auto-rebalance
Add: one may add nodes or disks dynamically -> the system automatically rebalances the storage
- Old volumes can use the wider striping
- No extra exposure
- Most minimal data transferred
Remove: One may remove nodes / disks dynamically -> the system automatically rebalances the storage
- Minimal data transferred in a many to many fashion
Combination: The same rebalance plan could handle additions and removals simultaneously
Conclusion and Further Reading
I’ve spoken to a range of people in the industry, from customers to Dell EMC folks to competitive vendors, and one thing that gets raised constantly is that Dell EMC are offering both ScaleIO and VMware vSAN. If you’ve been following along at home, you’ll know that this isn’t the first time Dell EMC have offered up products that could be seen as competing for the same market share. But I think they’re doing different things and are aimed at different use cases. My second favourite Canadian Chad Sakac explains this better than I would here.
Put this software on the right hardware (the key to any successful software defined storage product) and you’ve got something that can deliver very good block storage performance across a range of use cases. If you want to know more, Dell EMC have a pretty handy architecture overview document you can get here, and you can download a best practice white paper from here. You can also access a brief introduction to ScaleIO here (registration required). But the best bit is you can download ScaleIO for free from here.
ScaleIO.Next promises to deliver a range of new features, including space efficient storage and NVMe support. I’m curious to see the market uptake has been given the accessibility of the software. I’d also like to see what the uptake has been given the availability of ScaleIO-ready nodes based on Dell PowerEdge hardware. In any case, if you’ve got some spare tin, I recommend taking ScaleIO for a spin.

Pingback: ScaleIO Is Not Your Father’s SDS - Tech Field Day
Pingback: Storage Field Day 13 – Wrap-up and Link-o-rama | penguinpunk.net