+ All Categories
Home > Documents > Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical...

Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical...

Date post: 24-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
20
Dynamic Object Routing Balaji Ganesan Bharat Boddu Cloudian
Transcript
Page 1: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

2016 Storage Developer Conference. © Insert Your Company Name. All Rights Reserved.

Dynamic Object Routing

Balaji Ganesan Bharat Boddu

Cloudian

Page 2: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

1. Full Amazon S3 API Compatibility, including error codes. 2. Multi-datacenter, peer-to-peer architecture. No single point of failure. 3. Multi-tenant: QoS controls, billing, reporting by user and group. 4. Elastic Capacity: Small start and scale-out as needed. 5. Management/Monitoring Console or REST API 6. Easy to Deploy : Packaged software or Appliance

2

HyperStore System Overview

Object Storage

User/ Administrator

Management console

Application S3 over HTTP

© 2016 Cloudian, Inc. All rights reserved.

Page 3: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

3

Why Object Storage

To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

© 2016 Cloudian, Inc. All rights reserved.

Page 4: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

HyperStore Use Cases

4

Media Content Store

Data Analytics

Private Cloud

File Distribution & Sharing

Backup Archive

© 2016 Cloudian, Inc. All rights reserved.

Page 5: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

5

Object vs. File vs. Block Storage

Abstraction Level

OBJECTS

FILES

BLOCKS

HTTP (S3)

Application Level

OS User Level

OS Kernel Level

NAS (NFS, CIFS)

SAN (iSCSI)

© 2016 Cloudian, Inc. All rights reserved.

Page 6: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

6

Logical Architecture

Admin Server

S3 Server

Authentication

Account & QoS

Reports

Applications

HTTP REST

Management Console

Data Store (Cassandra)

Authentication

User Management

Reports

Data Explorer

Cloudian Mgmt Console

HTTP/S (S3)

HTTP/S Web Browser

Cloudian HyperStore

Data Store (Replicas)

Data Store (Erasure Coding)

HyperStore® Manager

© 2016 Cloudian, Inc. All rights reserved.

Page 7: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

7

High-level System View

DNS Server and/or Load Balancer

Object Storage Cluster

© 2016 Cloudian, Inc. All rights reserved.

Page 8: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

Peer-to-peer system = no SPOF Distributed Everything = Data , Metadata, Configuration

8

Distributed & Elastic Geo Cluster

User Defined Location Affinity

DC1

DC2

Add Node <-> Auto Rebalance

Server <-> vNodes <-> Disks

© 2016 Cloudian, Inc. All rights reserved.

Page 9: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

9

vnodes

Vnodes are mapped to physical disks. Then one disk failure only affects those vnodes.

Max 256 vnodes per physical node. No token management. Tokens randomly assigned.

Increased repair speed in case of disk or node failure Allows heterogeneous machines in a cluster

HyperStore Node1

vNode vNode vNode

HyperStore Node2

vNode vNode

HyperStore Node3

vNode vNode vNode vNode vNode vNode

© 2016 Cloudian, Inc. All rights reserved.

Page 10: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

• Each object is assigned with a unique identified called Object ID.

• Object ID consists of two parts • MD5 hash of object name • Object last modified time • Objects are immutable. • When an existing object is overwritten, a new Object

ID is created with same MD5 hash of object name but with a different timestamp

10

HyperStore Data distribution

© 2016 Cloudian, Inc. All rights reserved.

Page 11: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

11

Static Mapping Table

Disk vNode Disk1 A1,a2,a3,a4…..aN Disk2 B1,b2,b3,b4...bN Disk3 C1,c2,c3….cN Disk4 D1,d2,d3...dN

© 2016 Cloudian, Inc. All rights reserved.

Page 12: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

12

Token Range Static Mapping

t0

t1

© 2016 Cloudian, Inc. All rights reserved.

Page 13: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

Uneven Disk Usage Complex Failure Handling

13

Problems With Static Mapping

© 2016 Cloudian, Inc. All rights reserved.

Page 14: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

• Use a tool to move data from heavily used disk to less used disk

• Tool needs to be run manually • Lot of data movement. • Complex to recover from errors if data movement fails.

14

Initial Solution

© 2016 Cloudian, Inc. All rights reserved.

Page 15: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

• A routing table is used to determine object's storage location. • Object hash value as well as its insertion timestamp is used to determine the

object's storage location. • Each hash bucket is assigned initially to one of the available disks and a

routing table entry is created for that hash bucket with timestamp 0. • When a hash bucket's storage disk utilization is greater than overall average

disk utilization, another less used disk is assigned to that hash bucket with a new timestamp.

• All new objects to that hash bucket will be stored in new disk. Existing objects will be accessed from old disk using the routing table.

• This method will avoid moving data.

15

Dynamic Object Routing

© 2016 Cloudian, Inc. All rights reserved.

Page 16: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

16

Smart Disk Balancing

t0

t1

© 2016 Cloudian, Inc. All rights reserved.

Page 17: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

17

Routing Table

vNode Routing A1 [{time:T, disk:disk1},

{time:T1, disk:disk2}] A2 [{time:T, disk:disk1}] B1 [{time:T, disk:disk2},

{time:T2, disk:disk3}] C1 [{time:T, disk:disk4}]

© 2016 Cloudian, Inc. All rights reserved.

Page 18: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

• Periodically run checks on disks usage • If we notice an imbalance it will change the tokens

pointing from “highly used disk to low used disk”

18

DOR Implementation

© 2016 Cloudian, Inc. All rights reserved.

Page 19: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

• Disk failure handling without affecting service • Disk maintenance handling • Enables adding multiple nodes to Cluster

simultaneously

19

Other Advantages of DOR

© 2016 Cloudian, Inc. All rights reserved.

Page 20: Dynamic Object Routing - SNIA€¦ · 3. Why Object Storage. To the application user, the logical “object” matters, Not how it’s physically stored (e.g., pieces, versions, location).

THANK YOU

CLOUDIAN HYPERSTORE

More Info, free trial, demo, PoC: ● www.cloudian.com ● @CloudianStorage ● www.facebook.com/cloudian.cloudstorage


Recommended