Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in...

26
PRESENTATION TITLE GOES HERE Storage Grid using iSCSI Felix Xavier CloudByte Inc.

Transcript of Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in...

Page 1: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

PRESENTATION TITLE GOES HERE Storage Grid using iSCSI

Felix Xavier CloudByte Inc.

Page 2: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

SNIA Legal Notice

The material contained in this tutorial 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 Education Committee. 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.

2

Page 3: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Abstract

Advent of cloud brought a new requirement on storage: the storage nodes in the cloud have to communicate with each other and bring the hot data near the application across data centres The communication must be standard-based This session describes iSCSI protocol to achieve the inter-storage node communication for enterprise-grade cloud; this may not be applicable to object storage

3

Page 4: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Telecom Networks The first phase of electronic communication Telex and fax operated on this network

IT Evolution: The New Storage Core

4

Telecom Networks

IP Networks

Storage Grid

IP Networks When the internet evolved, the IP networks became the core www, FTP, and email ran on this network Fusion between telecom and IP networks

Storage Grid Now Cloud is emerging where storage forms the new core Web apps already use this grid while enterprise apps are moving towards it Fusion between IP networks and storage

Page 5: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

The New Core: A Broader View

5

App server App server

App server

Storage Grid

Storage node

Storage node Storage node

Storage node Storage node

Users

Users Users

Users

App server

Page 6: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

The Intelligent Storage Node

6

Controller

JBOD

Storage Node

Controller Software Architecture

CSM – Cloud Storage Machine

CSM1

10TB @5000

IOPS,2ms

CSM2

20TB @10MBps,

20ms

CSM3

10TB @500

IOPS,50ms

A1 A2 A3

DISK 0

A4

A34 A35 A36

DISK 1

A37

A74 A75 A76

DISK 2

A77

Page 7: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

CSM abstracts the hardware characteristics into the software Each CSM has dynamically allocated hardware resources in terms of

CPU Network bandwidth Disk I/O Cache

Each CSM can host one or more storage volumes CSMs freely move across storage nodes

Cloud Storage Machine (CSM) Architecture

7

Virtual IP

LUN1 LUN2

CPU Network BW

Disk I/O Cache

Raw Storage (Logical)

Cloud Storage Machine

Page 8: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

CSM is the fundamental block in the storage grid One CSM can have multiple instances in the grid, depending on the access patterns from the app servers CSM name can resolve to the closest instance of the CSM in the storage grid

Global Namespace for CSMs

8

C1 C1

C1

C6

C1

C1

C2

C1 C1

C1 C1

C1

C1

C1

C1

C3

C3

C2

C2

C2

C2

C3

C3

C3

C3 C4

C4

C4

C4

C4

C5 C5

C5

C5 C5

C5

C6

C6

C6

C6

C6

C2

C1

C5

C6

C6

C6

C1

C2

C Cloud Storage Machine

Page 9: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

CSM – Migration

9

C1 C2

C3 C4

C5

C1 C5

C1 C2

C6

CSM can completely migrate from one storage node to another without app disruption

Within the datacenter Across datacenters Along with all characteristics

C Cloud Storage Machine

Page 10: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

iSCSI Overview

A SCSI transport protocol that operates over TCP/IP Encapsulates SCSI CDBs (operational commands, for example READ or WRITE) and data into TCP/IP byte streams Allows IP hosts to access IP-based SCSI targets

Broad industry support Initiator support from server vendors Native iSCSI storage arrays Moving away from Fiber Channel

Standards status RFC 3720 - iSCSI Core, SCSI mapping to TCP Collection of RFCs describing iSCSI

10

Page 11: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

ISCSI Spec Landscape

11

Page 12: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Storage Networking over iSCSI

iSCSI provides solution to carry storage traffic within IP Uses TCP, a reliable transport for delivery Applicable to local data center and long-haul applications Typical format

12

IP

TCP

iSCSI

SCSI Data

Page 13: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

iSCSI Name Structure

13

Page 14: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

iSCSI Message Types

Initiator to Target NOP-out SCSI Command SCSI Task Management Command Login Command Text Command SCSI Data-Out Logout Command

14

Target to Initiator NOP-IN SCSI Response SCSI Task Management Response Login Response Text Response SCSI Data-In Logout Response Ready to Transfer Async Event

Page 15: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

iSCSI Message Types – Extensions to support storage grid

Read lock - sent to all other CSM instances on read request to lock start block to end block

Write lock - sent to all other CSM instances on write request to lock start block to end block

Advertise new instance – broadcast to other instances

Elect master – sent with load index when the master is down, instance with the lowest index is chosen as master. In-sync – declare to initiator that new instances is ready

Create instance/response – request and response to create new CSM instances

Init transfer – initiate the first time data transfer to create new instance

Update transfer – initiate subsequent data transfers

15

Page 16: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Management Workflow

16

Define CSM

Define number of CSM instance and location

Define Master CSM instance

• iqn name – iqn.2104.04.com.abc.2324809jhsdafs.xfx • DNS name – csm1.xyz.com • Capacity - 500GB • Performance - 1200 IOPS , 5ms

• Maintains house keeping information about the other nodes

• Constantly maintains keep alive to track the instances entering and exiting

• Physical storage nodes hosting these instance for now

• These instances can move around • Data center location

Page 17: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Data Flow

17

• HTTP request or • Database query

C

C C

Ask data using NFS/iSCSI/..

DNS response Closest CSM instance responds

DNS Query to grid

Respond with data

CSM co-ordinates with other instances if the requested data is not local

Response back to user

App servers Grid

Mount request

Mount response

Mount the storage in the app server

Pull the data from storage if it is not available in local cache

End user or middleware raises application request

Users

C Cloud Storage Machine

Page 18: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Read Data at Same Instances

18

C

C

C

M

App Server Storage Grid

Step 1. App server issues the data request to the connected CSM instance. Step 2. CSM issues read lock to its peer instance for the group of blocks. Step 3. On success of read lock, returns data to the application.

Legend

C Cloud Storage Machine

M Cloud Storage Machine Master

Page 19: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Read Data from Other Instances

19

C

C

C

M

App Server Storage Grid

Step 1. App server issues data request to the connected CSM instance. Step 2.CSM issues read lock to its peer instance for the group of blocks. Step 3. When someone has the latest data than this instance, fetches the data from there. Step 4. Returns data to the application.

C Cloud Storage Machine

M Cloud Storage Machine Master

Page 20: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Write data

20

C

C

C

M

App Server Storage Grid

Step 1. App server issues write request to the connected CSM instance. Step 2. CSM issues write lock to its peer instance for the group of blocks. Step 3. Returns the acknowledgement to the app server after writing locally. Step 4. Writes back to one of the instance immediately and to others upon read request.

C Cloud Storage Machine

M Cloud Storage Machine Master

Page 21: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Create New CSM Instance

21

C C

Decide on the remote storage node where the new instance has to be created

Create instance

Allocate storage space and performance for this instance Create instance response

Start initial transfer

Initial transfer complete

Update

Update

In-sync

Take the baseline snapshot and send it across the data to the newly created instance

Announce in-sync when the last few updates are small enough; beyond this point, source stops sending updates.

Keep sending the incremental data post initial update

If there is any application traffic during this time, this node acts as the proxy to the source node.

C Cloud Storage Machine

Page 22: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Failure Handling

Master CSM keeps sending keepalives to all the CSM instances

Maintain the state all the instance

If Master CSM fails, other instances elect the new master based on traffic density

The highest traffic density instance within the surviving instance becomes the master

App server reconnects with the surviving instance whenever there is an instance failure CSM instance re-entering into the system should first get into in-sync state

22

Page 23: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

CSM Migration with One Instance

23

C C

Decide on remote storage node where the new instance has to be

created

Create instance Allocate storage space and

performance for this instance Create instance response

Start initial transfer

Initial transfer complete

Update

Update

Start migration

Take the baseline snapshot and send it across the data to the

newly created instance

Start serving the application

Keep sending incremental data post initial update

If there is any application traffic during this time, the node acts as

the proxy to the source node.

Final cutover and stop this instance

C Cloud Storage Machine

Page 24: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Summary

For cloud to be real for enterprise apps, hardware characteristics of storage need to be abstracted to software Abstracted storage must be available across the data center to get the same level of benefits of web apps today iSCSI is the standard supported by most of the storage arrays. Therefore, iSCSI can be used for inter-storage node communication

24

Page 25: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

References

https://www.ietf.org/rfc/rfc3720.txt

25

Page 26: Storage Grid using iSCSI PRESENTATION TITLE GOES HERE · 2019-12-21 · The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies

Storage Grid Using iSCSI Approved SNIA Tutorial © 2015 Storage Networking Industry Association. All Rights Reserved.

Attribution & Feedback

26

Please send any questions or comments regarding this SNIA Tutorial to [email protected]

The SNIA Education Committee thanks the following individuals for their contributions to this Tutorial.

Authorship History

Name/Date of Original Author here: Felix Xavier

Updates:

Felix Xavier/February 2015 Name/Date Name/Date

Additional Contributors

Umasankar Mukkara Nadeem Kattangere