Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on...

21
Software Defined Storage Based on Direct Attached Storage Slava Kuznetsov Microsoft

Transcript of Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on...

Page 1: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Software Defined Storage Based on

Direct Attached Storage

Slava Kuznetsov Microsoft

Page 2: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Spaces in Windows Server 2012 R2 with Shared SAS

2

Cluster Nodes

SAS JBOD

SAS JBOD

Page 3: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Design Goals for Windows Server 2016

Lower cost Easy to maintain Better scale out Support wider range of vendors, devices and

technologies High IOPS, low latency, small CPU overhead

3

Page 4: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Spaces Direct in Windows Server 2016 with Directly Attached Storage

4

Cluster Nodes

Page 5: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Architecture

5

Clusport Virtual HBA

SpacePort miniport

SBL Disks

Virtual Disks

File System

Cluster Shared Volumes File System (CSVFS)

Physical Layer

Storage Bus Layer

Virtualization Layer Virtual Disks

Physical Devices

Access Layer

C:\clusterstorage\volume1

Application

Node 1

Block over SMB

ClusBflt Target

Application Layer

Node 2

Clusport Virtual HBA

SpacePort miniport

Virtual Disks

File System

ClusBflt Target

Physical Devices HDD or SSD Physical Devices HDD or SSD

Page 6: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Devices

Shared SAS HDDs and SSDs with Persistent

Reservations (PR) support Storage Spaces Direct SAS HDDs and SSDs, PRs not required Lower cost SATA HDDs and SSDs NVMe SSDs for high perf and low latency Forward looking for NVDIMM support

6

Page 7: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Connectivity

Shared Requires SAS cabling and shared JBODs,

may require SAS switches Storage Spaces Direct Uses network, shared JBODs not required Utilizes SMB3 and SMB Direct. TCP or RDMA

interconnect for low latency and CPU usage Supports multi-rack storage, not constrained

by SAS cabling distance limitations 7

Page 8: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Bandwidth Management

Shared Not supported

Storage Spaces Direct Predictable performance Better performance

8

Page 9: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Bandwidth Management

Predictable performance IOs may have different priorities Application IOs have to coexist with system

IOs Nodes should have equal access to storage

devices SAS and SATA HDDs are optimized for

different usage patterns

9

Page 10: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Bandwidth Management

Each IO cost is estimated as a sum seek cost + setup cost + data transfer cost

Supports fair priority scheduling, higher priority bucket leaves 5%..20% to the next pri buckets

App and system IOs are throttled to 50% / 50% IOs from different nodes are throttled to ensure

fair access from all nodes

10

Page 11: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Bandwidth Management

Better performance HDDs perform 100 times better with

sequential IOs vs random 8K IOs Extra seeks consume energy and reduce disk

lifetime Devices have limits on max number of

pending IOs they can handle 32 for SATA, 64 for SAS

11

Page 12: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Bandwidth Management

De-Randomization - discovers sequential/sparse streams and orders IOs to minimize seek and increase performance

Holds other IOs until sequential stream drains of maximum debt for priority/category/node is reached

12

Page 13: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Tiering and caching

Shared Supports storage tiering at file system level

Storage Spaces Direct Supports storage bus cache – hybrid storage

Low cost per TB, high capacity Number of Device or PCIe slots is limited CPU & Network max out with 1..4 fast flash

(NVMe) devices

13

Page 14: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Cache

Increase performance of rotational storage by caching small reads and writes on SSDs or other storage devices (NVMEs) with no seek penalty

Increase durability of low endurance flash devices

Persistent Read/Write cache Keep storage cost low for archival (cold) data Adapt fast to changing workloads at high

granularity for best cache efficiency (8K page)

14

Page 15: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Cache

15

HDDs (read and write cache), or Low Endurance SSDs (write cache only)

High endurance SSDs

Single Node

Page 16: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Cache IO types

IOs are classified by size. 64KB or less go through cache, large IO bypass cache. Small read Cache hit – read from SSD Cache miss – read ahead HDD populate SSD

Large read – read HDD, read dirty from SSD Small write – write to SSD Large Write – write to HDD, purge dirty data on

SSD

16

Page 17: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Cache Destager

Dirty pages are split into two main categories – Dirty Hot (50%) and Dirty Cold (50%). Only Dirty Cold pages are considered for destage

Picks area on a HDD with highest density of dirty pages

Coalesces IOs when possible Orders IOs by LBA to achieve maximum

throughput

17

Page 18: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Cache Destager

Variable destage priority based on % of dirty pages in cache 0% .. 30% - 5% of HDD bandwidth 30% .. 40% - 15% of HDD bandwidth 40% .. 50% - 50% of HDD bandwidth

18

Page 19: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Storage Bus Cache Performance Read Cache Hit: same as SSD Read Cache Miss: HDD – 0..5% * Small Writes: SSD – 15% Destager: x3 .. x25 more IOPS than random Destages mostly when HDDs are not busy Leaves more bandwidth for read misses,

large reads and large writes in HDDs Rich set of performance counters Cluster Storage Cache Stores Cluster Storage Hybrid Disks

19

Page 20: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Acknowledgments

Cluster team SMB team Storage Spaces team File System team StorSimple team

20

Page 21: Software Defined Storage Based on Direct Attached Storage · Software Defined Storage Based on Direct Attached Storage ... Server 2016 with Directly Attached Storage 4 ... Storage

2015 Storage Developer Conference. © Microsoft Corporation. All Rights Reserved.

Q & A

21

Storage Spaces Direct feature is available in Windows Server 2016 Technical Preview Have a question later? Send me e-mail – [email protected]