GlusterD-2.0: Whats Happening? - Kaushal Madappa

Post on 17-Mar-2018

40 views 0 download

transcript

GLUSTERD-2.0WHAT'S HAPPENING?

WHAT IS GD2?

GD2New management system for Gluster-4.0

Not backwards compatible

From scratch rewrite, written in GoBetter scalability, integration and maintenance

GLUSTER-4.0Feature parity with GD1StabilizeRecoveryPreliminary automatic volume creationMerge into GlusterFS treeNo migration support

GLUSTER-4.1+Stabilize moreDocument everythingSupport migrationFully automatic volume managementAutomatic cluster formationCentralized logging and tracing

WORK DONE TILL NOW

GD2 AT THE MOMENTBasic cluster managementBasic volume managementCLI

TODOS

IMPORTANT TODOS FOR 4.0Implement rest of the commandsPreliminary automatic volume managementRecovery steps

BASIC CLUSTER MANAGEMENT

BASIC CLUSTER MANAGEMENTExpand and shrink clusterAutomatic store/etcd managementHTTP API serverGRPC server

AUTOMATIC STOREEmbedded ETCDAutomatic ETCD cluster formation

auto scaling with elastic algorithm

External ETCD clusters supported

HTTP API SERVERHTTP1 API serverReST likeJSON request and responseInitial TLS supportPort 24007

GRPC SERVERInternal communicationsCluster managementTransactionPort 24008

BASIC VOLUME MANAGEMENT

BASIC VOLUME MANAGEMENTCreate, start, stop, delete volumes

Distribute, Replicate, Dist-Rep

Flexible transaction engineDynamic volume setFlexible volgenDaemon managerSunRPC server and client

TRANSACTION ENGINERuns steps across the cluster

only where required

Supports undo on failureFree form sequence of steps

FLEXIBLE VOLGENGraph structure defined using text filesGeneric graph building functionsMinimal specialized functions when required

DYNAMIC VOLUME SETBuild options table at runtime from xlatorsExtended xlator options table and struct(A few) Xlators updated to add new informationNew keys for many options (mainly new prefixes)

DAEMON MANAGERSingle framework for managing daemonsDefines a daemon interfaceStart, stop, communicate with daemons

SUNRPCPure Go SunRPC/XDR server and clientUsed for clients

fetch volfile, portmap

Used for daemons

fetch volfile, daemon communication

Port 24007

CLI

CLI`glustercli`Uses HTTP management APIManagement API packageBasic commands implementedSome changes to syntax

SYNTAX CHANGESChanges to improve parse-abilityOnly slight changes to existing syntaxBuilt-in old to new translator

MANAGEMENT API PACKAGEGo packageImplements GD2 HTTP APIAvailable for external users

OTHER STUFFStructured loggingPluginsE2E test frameworkRPMs

THE END

P.S.GD2 is developed on Github

https://github.com/gluster/glusterd2

Questions/queries?

Find kshlm, ppai, aravindavk on #gluster-dev