glusterd-2.0: whats happening? - kaushal madappa
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