everything you wanted to know about storage (but … · everything you wanted to know about storage...

51
Everything You Wanted To Know About Storage (But Were Too Proud To Ask) Part Chartreuse

Upload: dokhue

Post on 25-Jul-2018

278 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Everything You Wanted To Know About Storage (But Were Too Proud To Ask)

Part Chartreuse

Page 2: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Your Hosts

2

J Metz SNIA Board of Directors

Cisco

Chad Hintz SNIA-ESF

Board Cisco

Fred Knight Standards

Technologist NetApp

John Kim SNIA-ESF

Chair Mellanox

Page 3: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

About SNIA

3

Page 4: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

SNIA Legal Notice

!   The material contained in this presentation is copyrighted by the SNIA unless otherwise noted.

!   Member companies and individual members may use this material in presentations and literature under the following conditions:

!   Any slide or slides used must be reproduced in their entirety without modification !   The SNIA must be acknowledged as the source of any material used in the body of any document containing material

from these presentations. !   This presentation is a project of the SNIA. !   Neither the author nor the presenter is an attorney and nothing in this presentation is intended

to be, or should be construed as legal advice or an opinion of counsel. If you need legal advice or a legal opinion please contact your attorney.

!   The information presented herein represents the author's personal opinion and current understanding of the relevant issues involved. The author, the presenter, and the SNIA do not assume any responsibility or liability for damages arising out of any reliance on or use of this information. NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK.

4

Page 5: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

J METZ, CISCO @DRJMETZ

Introduction to the “Too Proud To Ask” Series

5

Page 6: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Why This Series?

!   When you think you should know storage terms but, in actuality, um, yeah…

!   How the heck was I supposed to know this stuff?

!   RTFM? Where is the FM?

6

Page 7: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Agenda

!   Naming of the Parts !   Initiators and Targets

(Chad Hintz, Cisco) !   RAID and RAID Controllers

(Fred Knight, NetApp) !   Storage Controllers (J

Metz, Cisco) !   Volume Manager (Fred

Knight, NetApp) !   Storage Stack (John Kim,

Mellanox) !   Q&A !   Future Topics !   Summary and Conclusion

7

Host Network Storage

Initiator Volume Manager Storage “Stack”

Target Storage Controller

RAID/RAID Controller Storage “Stack”

Page 8: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

CHAD HINTZ, CISCO @CHADH0517

Initiators and Targets

8

Page 9: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Initiators

!   Definition !   Initiators- Starts the SCSI

session, sends SCSI commands. Usually a client or server

!   Target- Waits for commands sent from the initiator, then provides the I/O transfers. Usually a storage sub system

Page 10: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Initiators

!   Initiators- Starts the SCSI session, sends SCSI commands. Usually a client or server

GIMMIE, GIMMIE DISK

Page 11: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Targets

!   Target- Waits for commands sent from the initiator, then provides the I/O transfers. Usually a storage sub system

I got the Stuff, whatcha need?

GIMMIE, GIMMIE DISK

Page 12: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Digging Deeper

!   Initiator selects SCSI target and Sends Command Descriptor Blocks (CDB)-SCSI Commands

!   If CDB contains READ command, the target retrieves data from disk and responds.

!   If CDB contains WRITE command, the target prepares buffers and returns indication of ready. Initiator receives ready command, data is written. !   When complete, SCSI responds as successful or unsuccessful. 12

Page 13: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

FRED KNIGHT STANDARDS DEVELOPMENT OFFICE, NETAPP

RAID and RAID Controllers

13

Page 14: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

RAID

!   Definition !   ”Redundant Array of Inexpensive Disks”* !   Ability to read and write to multiple disks as a single entity,

increasing performance and reliability over a single, large expensive disk

*Patterson, Gibson & Katz 1988 http://www.cs.cmu.edu/~garth/RAIDpaper/Patterson88.pdf

Page 15: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

RAID History

!   Performance: increase the # of targets for write IO, decreasing queuing and latency; normally does nothing for reads, since data only written to a single disk, but see RAID-0

!   Reliability: Add in redundancy to provide superior error checking

!   Cost: do so with cheap disks

Page 16: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Types of RAID

!   RAID still in use today, even (especially?) in Flash era !   Can be done in hardware or software

!   Various types of RAID !   Each has an associated number; RAID-n !   Most common are RAID-5, and RAID-6 (or RAID-DP) !   Then there’s Erasure Coding (EC)…

!   RAID levels standardized by SNIA: http://www.snia.org/tech_activities/standards/curr_standards/ddf

Page 17: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Some RAID Levels

!   RAID is k data and p parity (k,p) !   RAID-0 (k,0)

!   Alternating writes to two or more devices !   No data protection

!   For others, parity is an important concept !   RAID-5 (k,1)

!   Block-level striping with distributed parity !   Parity is XOR across drives, tolerates 1 drive

failure

Diagrams by en:User:Cburnett - Own work, this vector image was created with Inkscape., CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1509075

Page 18: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Some RAID Levels

!   RAID-1 (1,1) !   Mirroring !   Like RAID-5 with 1 data 1 parity; except

parity is an exact copy !   RAID-6 (k,2)

!   Two parities calculated, tolerates 2 drive failures

!   Combos possible ! Eg RAID-10 is RAID-1 and RAID-0

!   Lots of wrinkles; performance, capacity and data protection are all compromises

Diagrams by en:User:Cburnett - Own work, this vector image was created with Inkscape., CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1509075

Page 19: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

RAID and Erasure Coding (EC)

!   RAID is specialized case of Erasure Coding (EC) !   You may have heard of Galois fields, Reed-Solomon encodings,

Tornado or turbo codes; various related techniques for doing EC !   Math is based on polynomials !   Can be expensive to calculate, but powerful for distribution of data

& protection; strips & stripes data !   EC is k “data” and p “parity” (k,p)

!   Any k out of the k+p disks are sufficient to recover !   Or, put another way, we can lose p disks !   RAID-5 is (k,1), RAID-6 is (k,2) !   EC (13,5) allows 5 disks to be lost out of 18

!   EC generally used in object stores, and for geographically or node based dispersed storage

!   RAIN – Redundant Array of Inexpensive Nodes !   RAID & EC is now about data protection

!   Performance a given (& networks now the bottleneck) !   Still required for Flash (if not more so) Credit: http://nisl.wayne.edu/Papers/Tech/dsn-2009.pdf

Page 20: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

J METZ, CISCO @DRJMETZ

Storage Controllers

20

Up, Up, Down, Down, Left, Right, Left, Right, B, A, storage Start!

Page 21: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

What is a “Controller”?

!   Definition !   SNIA (1): The control logic in a disk or tape that performs command

decoding and execution, host data transfer, serialization and deserialization of data, error detection and correction, and overall management of device operations

!   SNIA (2): A disk array whose control software executes in a disk subsystem controller

!   SNIA (3): An integrated collection of (a.) storage controllers and/or host bus adapters, (b.) storage devices, CD-ROM drives, tape drives, and libraries, and (c.) any required control software, that provides storage services to one or more computers

21

Page 22: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Types of Controllers

!   Controller is a confusing historical term. Often used synonymous with adapter. Used as a “last” name - as in - video controller, network controller, keyboard controller, USB controller, storage controller, RAID controller.

22

Page 23: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Okay, so what’s a storage controller?

!   But we’re not talking about those kinds of controllers. !   Storage Controllers or Array Controllers are devices that

connect between a Host and a large number of physical devices.

!   They virtualize the physical devices, while providing advanced storage features

23

Page 24: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Controllers

Physical Storage Devices

What does it look like?

24

Page 25: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Storage Controller Features

!   May include things like: !   Management !   RAID, High Availability/Fault Tolerance,

! Multipathing (aka SCSI: ALUA)

!   Backups (snapshots/clones), !   Thin Provisioning, Compression, de-duplication, !   Long distance replication (disaster recovery).

!   Controllers manage trade-offs between capabilities, performance, and scale

25

Page 26: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Where Do Controllers Fit?

!   They contain front end ports that listen to hosts !   These are the target ports we just heard

about !   They contain back end ports that talk to

devices !   These are the initiator ports we just heard

about !   Controlling negotiations

!   Have processors (CPUs) and an OS (of some kind, usually proprietary) that manages the requests from the frontend and turns them into requests to the backend

26

Frontend ports

Backend ports

Page 27: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

All About the Context

!   Context is important – is it the whole array (controller + storage) or is it just the controller or is it the adapter card stuck into a PCI slot?

!   Storage Array (usually the whole thing) !   Array Controller (usually the controller in the array) !   Storage Controller (usually the controller in the array – or

a simple PCI adapter card)

27

Page 28: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

FRED KNIGHT STANDARDS DEVELOPMENT OFFICE, NETAPP

Volume Managers

28

not so loud!

Page 29: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Logical Volume Managers

!   Definition (SNIA) !   A body of software that provides common control and management

for one or more disk arrays or tape arrays. !   Presents the arrays of disks or tapes it controls to its operating

environment as one or more virtual disks or tapes. It may execute in a disk controller or intelligent host bus adapter, or in a host computer. When it executes in a disk controller or adapter, it is often referred to as firmware.

!   Definition (Whatis.com) !   A volume manager is software within an operating system (OS) that

controls capacity allocation for storage arrays. Most operating systems provide an option for managing volumes.

Page 30: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Brief History

!   Devices had small capacity (apps wanted large) !   Applications didn’t want to break up their data !   Volume managers made small disks into large disks !   Applications wanted extra resiliency !   Volume managers added RAID to existing devices !   But now, they are everywhere

Page 31: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

So what does it do?

!   In its most basic form, a Volume Manager virtualizes storage to the application.

Three small disks are made to look like one large one

Page 32: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

So what does it do?

!   In its most basic form, a Volume Manager virtualizes storage to the application.

One large disk is made to look like three small ones – such as 3 VMs sharing the same disk

Page 33: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

So what does it do?

!   In its most basic form, a Volume Manager virtualizes storage to the application.

App

licat

ion

Virtu

al D

evic

e

File

Sys

tem

Dev

ice

Driv

ers

Phy

sica

l Dev

ices

Page 34: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

So what does it do?

!   In its most basic form, a Volume Manager virtualizes storage to the application.

App

licat

ion

Virtu

al D

evic

e

File

Sys

tem

Dev

ice

Driv

ers

Phy

sica

l Dev

ices

Page 35: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

How does it add resilience?

!   In its most basic form, a Volume Manager virtualizes storage to the application.

App

licat

ion

Virtu

al D

evic

e +

R

AID

File

Sys

tem

Dev

ice

Driv

ers

Phy

sica

l Dev

ices

RA

ID

Page 36: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

How it works – one example A

pplic

atio

n

Virtu

al D

evic

e +

R

AID

File

Sys

tem

Dev

ice

Driv

ers

Phy

sica

l Dev

ices

RA

ID

Access blocks

0-2999

Access blocks

0-2999

Access blocks 0-999

+ Access blocks 0-999

+ Access blocks 0-999

+

Each disk has 1100 blocks; 1000 for user data, 100 for

RAID

Page 37: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Where are volume managers

!   In host O/S software !   In Storage Arrays !   In the Cloud !   Virtualizing Physical Storage into a form that more

directly meets the requirements of a particular application.

Page 38: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

JOHN F. KIM, MELLANOX @TIER1STORAGE

Storage Stacks

38

Page 39: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Storage Stacks

!   Two Definitions

!   Solution: “Layers of software and hardware which interoperate to deliver storage functionality to a user or application.”

!   Software: “Set of layered features, protocols, and services in the storage controller and/or initiator.”

Page 40: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

© 2016 Storage Networking Industry Association. All Rights Reserved.

Solution vs. Software Stack

!  Solution Stack Client(s)

Network

Storage controller(s)

Media: disks/flash

!   Software Stack

Hardware and Media Management

RAID & Volume Management

Storage Protocols

Client Software or Agent (optional)

Other Storage Features & App/hypervisor Integration

Page 41: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

© 2016 Storage Networking Industry Association. All Rights Reserved.

Role of the Storage Stack

!  Translates between user and media !   From user/app requests to disk commands !   From disk output to user/app-requested data

Client(s) Network Storage controller(s)

Media: disks/flash

User(s)

Storage stack transforms data requests

Page 42: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Software Stack Hierarchy

!   Management !   Integration !   Protocols !   Security !   Data Protection !   Efficiency !   Virtualization !   Availability !   Physical Management of Drives, physical network (HBA/NIC), & environmentals

RAID, Volume Management, Low-level networking (i.e. TCP/IP)

Virtualization, file system, thin provisioning, deduplication, compression

Snapshots, clones, replication, backup integration, security

Block, File & Object Protocols

Integration with hypervisor, OS, and/or application

Storage management & reporting

Page 43: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Q&A

43

Page 44: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Future Topics

44

Page 45: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Part Chartreuse

45

Host Network Storage

Initiator Volume Manager Storage “Stack”

Target Storage Controller

RAID RAID Controller Storage “Stack”

Page 46: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Part Mauve – Architecture Pod

46

Host Network Storage

Fabric Network

Channel Busses

Control Plane Data Plane

Page 47: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Part Teal – Buffering Pod

47

Host Network Storage

Ring Buffers Queue Depth

Buffering Flow Control

Ring Buffers Queue Depth

Page 48: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Vermillion - What-If-Programming-and-Networking-Had-A-Baby Pod

48

Host Network Storage

Coherence Cache Coherence

Storage APIs Block File

Object Byte Addressable

Logical Block Addressing

Page 49: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Many more!

!   Part Rosé – iSCSI Pod: !   iSCSI offload !   TCP offload !   Host-based iSCSI

!   Part Sepia – Getting-From-Here-To-There Pod: !   Encapsulation v. Tuning !   IOPS v. Latency v. Jitter

!   Part Taupe – Memory Pod: !   Memory Mapping !   Physical Region Page (PRP) !   Scatter Gather Lists !   Offset

!   Part Turquoise – Where-Does-My-Data-Go Pod: !   Volatile v. Non-Volatile v Persistent Memory !   NVDIMM v. RAM v. DRAM v. SLC v. MLC v. TLC v. NAND v. 3D NAND v. Flash v SSDs v. NVMe ! NVMe (the protocol)

!   Part Burgundy – Orphans Pod !   Doorbells !   Controller Memory Buffers

49

Page 50: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

Summary & Conclusion

50

Page 51: Everything You Wanted To Know About Storage (But … · Everything You Wanted To Know About Storage (But Were Too Proud To Ask) ... When you think you should know storage terms but,

After This Webcast

!   Please rate this Webcast and provide us with feedback !   This Webcast and a PDF of the slides will be posted to the SNIA

Ethernet Storage Forum (ESF) website and available on-demand ! www.snia.org/forums/esf/knowledge/webcasts !   A full Q&A from this webcast, including answers to questions we

couldn't get to today, will be posted to the SNIA-ESF blog: sniaesfblog.org

!   Follow us on Twitter @SNIAESF

51