Storage resource broker
This presentation is the property of its rightful owner.
Sponsored Links
1 / 60

Storage Resource Broker PowerPoint PPT Presentation


  • 131 Views
  • Uploaded on
  • Presentation posted in: General

Storage Resource Broker. USER INTERFACE George Kremenek [email protected] C language API S-commands Unix, Win NT, W2000 Java GUI Win32 GUI WEB. Types of Interface. Programmatic API High-level API Low-level API SRB Manager API Command Level Interface - Scommands

Download Presentation

Storage Resource Broker

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Storage resource broker

Storage Resource Broker

USER INTERFACE

George Kremenek

[email protected]


Types of interface

C language API

S-commands Unix, Win NT, W2000

Java GUI

Win32 GUI

WEB

Types of Interface


Srb api

Programmatic API

High-level API

Low-level API

SRB Manager API

Command Level Interface - Scommands

Graphical User Interface - srbBrowser

Web Utilities

SRB API


Storage resource broker

SRB API Interface

Application

MCAT

SRB Master


High low level api

Low-level API

talks to resource drivers

no registration of data sets in MCAT

no authentication through MCAT

User provides all information

High-level API

Uses low-level API to access resources

Registers data management information in MCAT

Uses MCAT for authentication and meta information

Uses MCAT for resource and data discovery

Access/store data in remote SRB

High & Low-level API


Low level api

srbFileOpen(conn, storType, host, fileName, mode)

srbFileCreate(conn, storType, host, fileName, mode)

srbFileClose(conn, fd)

srbFileUnlink(conn, storType, host, fileName)

srbFileRead(conn, fd, buffer, length)

srbFileWrite(conn, fd, buffer, length)

srbFileSeek(conn, fd, offset, whence)

srbFileSync(conn, fd)

srbFileStat(conn, storType, host, fileName, statBuf)

srbFileMkdir(conn, storType, host, dirName, mode)

srbFileRmdir(conn, storType, host, dirName, mode)

srbFileChmod(conn, storType, host, fileName, mode)

Low-level API


Low level api contd

srbDbLobjOpen(conn, storType, resourceLoc, positionName, mode)

srbDbLobjCreate(conn, storType, resourceLoc, positionName, mode)

srbDbLobjClose(conn, dd)

srbDbLobjUnlink(conn, storType, host, fileName)

srbDbLobjRead(conn, dd, buffer, length)

srbDbLobjWrite(conn, dd, buffer, length)

srbDbLobjSeek(conn, dd, offset, whence)

Low-Level API (contd …)


Storage resource broker

srbBrowser - A SRB Graphical Interface

  • A java GUI

  • Interface with SRB servers using the client API library.

  • Performs most SRB operations - cp, replicate, import, export, metadata query, etc.

USER

Java GUI

Obtain user’s metadata information

via SRB.

Invoke SRB

operations

SRB Agent

MCAT

Proxy operation


Storage resource broker

SRB Command Line Interface

Environment File

USER

SRB “shell” commands: Sls, Scp, Scat, Sput, Sget, ...

MCAT

SRB Agent

Proxy operation


High level api

srbObjOpen(conn, objChar, mode, collectionName)

srbObjCreate(conn, objName, objType, resourceName, collectionName, pathName, size)

srbObjClose(conn, od)

srbObjUnlink(conn, objChar, collectionName)

srbObjRead(conn, od, buffer, length)

srbObjWrite(conn, od, buffer, length)

srbObjSeek(conn, od, offset, whence)

srbObjMove(conn, objChar, collectionName, newResourceName, newPathName)

srbObjReplicate(conn, objChar, collectionName, newResourceName, newPathName)

srbObjProxyOpr(conn, Operation, sourceDesc, targetDesc)

High-level API


High level api contd

srbGetDatasetInfo(conn, objChar, collectionName, resultStruct, requiredNumber)

srbGetMoreInfo(resDesc, resultStruct, requiredNumber)

srbGetDataDirInfo(conn, conditionList, selectList, resultStruct)

srbModifyDataset(conn, objId, collectionName, newValue1, newValue2, modifyType, resourceName, pathName)

srbCreateCollect(conn, parentCollectionName, childCollectionName)

srbListCollect(conn, CollectionName, flag, resultStruct)

srbModifyCollect(conn, CollectionName, newValue1, newValue2, newValue2, modifyType)

srbModifyUser(conn, newValue1, newValue2, modifyType)

srbSetAuditTrail(conn, setValue)

High-Level API (contd …)


System manager api

srbChkMdasAuth(conn, userName, userAuth, domain)

srbChkMdasSysAuth(conn, userName, userAuth, domain)

srbRegisterUser(conn, userName, domain, password, userType, userAddress, userPhone, userEmail)

srbRegisterUserGrp(conn, userGrpName, userGrpPassword, userGrpType, userGrpAddress, userGrpPhone, userGrpEmail)

System Manager API


Sinit v sexit

Sinit initializes client environment

Sexit ends a SRB session started with Sinit

A client may communication with servers with different "release version", but they must have the same "API version”

See ~/.srb/.MdasEnv and environment variables

Sinit [-v], Sexit


Srb mdasenv file

mdasCollectionHome '/home/kremenek.sdsc'

mdasDomainHome 'sdsc'

srbUser 'kremenek'

srbHost ’srb.sdsc.edu'

~/.srb/.MdasEnv file


Mdasenv mdasauth

setenv srbPort '5566'

# valid schemes are : 'PASSWD_AUTH', 'SEA_AUTH', 'SEA_ENCRYPT',

# 'GSI_AUTH', 'GSI_SECURE_COMM'

AUTH_SCHEME 'ENCRYPT1'

defaultResource 'dl1-unix-sdsc’

.MdasEnv, .MdasAuth


Scd collection

changes the working SRB collection

without a collection the mdasCollectionHome value in the

~/.srb/.MdasEnv file will become the new working collection.

Scd [collection]


Storage resource broker

displays current working SRB collection

Spwd


Sannotate switches

{-w position annotation dataName}

{-u timestamp newAnnotation dataName}

{[-R] [-t timestamp] [-p position] [-U [email protected]] [-Y n] [-L n] [-T dataType] dataName|collectionName}

facility for annotations on data objects

Sannotate {switches}


Sappend switches

{ localFileName srbTarget}

{-i srbTarget}

{-s srbObj srbTarget}

appends a local file, stdin, SRB object

to an existing SRB object

Sappend {switches}


Sattrs

lists the queriable MCAT attributes used in conditions for choosing SRB objects.

Sattrs


Scat switches list

{[-C n] [-T ticketFile | -t ticket] [-A condition] srbObj …}

reads each srbObj from SRB to stdout

-A option, only srbObj which conform to the condition are chosen

If using a ticket, one need not give a srbObj name

Scat {switches + list}


Schmod switches list

{[-c] [-a] [-p] [-r] [-d|c] w|a|r|n newUserName domainName collection| srbObj …}

grants/changes access permits for the operand collection or srbObj ... for newUserName in domainName

granted new permission for all replica

Schmod {switches+list}


Scp switches list

{[-n n ] [-fpra] [-c container] [-S newResourceName] [-P newPathName]

srcObj destObj

srcObj ... target collection

-r source collection... target collection }

-p prompts, -f force, -a force all replica, -r copy recursively, -n replica number

Scp {switches + list}


Serror number

describes SRB errors

takes an error number generated by SRB/MCAT system and displays a text human readable message relating to the error

Serror number


Sget switches list

{[-n n] [-pfr] [-A condition] srbObj|Collection ... localFile|localDirectory}

exports one or more objects from SRB space into local file system

-A option, only srbObj which conform to the condition are chosen.

Sget {switches+list}


Sgetcoll switches list

{[-ahc] [-I] [-W | -U userName] [-Y number] [-L number] [-A condition] [collName]{

display information about SRB data objects

-a display permissions, -W all users, -c container, -U for usr/group,-I in all collections, -Y output format, -A condition option "<Attr> <CompOp> <Value>"

SgetColl {switches+list}


Sgetd switches list

{[-phPrReasdDc] [-I] [-W | -U userName] [-Y number] [-L number] [-P dataType] [-A condition] [dataName]}

display information about SRB data objects

-p basic parameters, -r storage information, -a permissions, -d audit info., -c collection info., -W for all users, -Y [number] format

SgetD {switches+list}


Sgetr switches list

{[-lhdDp] [-L number] [-Y number] [-T resourcTy pe] [resourceName]}

display information about SRB resource(s)

-l display comprehensive list, -d list objects, -D with details, -p for physical resources only,-T resource type list for the given type, -Y [number] controls display format

SgetR {switches+list}


Sgett switches list

{[-h] [-u] [-v] [-L n] [-Y n] [ -F fileName | -T ticket | -D dataName | -C collection | -U [-c] userName domainName ]}

display information about SRB tickets for a given ticket, dataName or collection

-u ticket-users perspective,-F file for the ticket, -T ticket, -D dataName, -C collection, -U userName

SgetT {switches+list}


Sgetu switches list

{[-pPhdatg] [-L number] [-Y number] [-T userType] [[email protected]]}

displays information about a group or user [email protected]

-p user/group name, -a access permissions, -d domain(s), -t audit info. -g group(s), -c collection access, -T info. for user type

SgetU {switches+list}


Sgetappend s l

{[-C n ] [-p] [-A condition] srbObj ... localFile}

exports object(s) into local file system

-p prompts before operation, -C replica number, -A condition list (‘&’ separated) the form "<Attr> <CompOp> <Value>”

Sgetappend {s+l}


Sls s l

{[-hl] [-L number] [-r|-f] [-A condition] [collection|srbObj ...]}

display and properties of objects

-r recursively for sub-collections, -f force argument to be interpreted as a collection.-l long format, giving owner, replica #, physical resource, siz, time of creation

Sls {s+l}


Slscont s l

{[-a] [-l]} or {container}

display metadata of SRB containers

“Slscont” displays all containers

“Slscont XYZ” all inContainer objects will be listed

-l metadata in long format,-a accessible by the user rather than owned by the user

Slscont {s+l}


Smeta s l

modifies metadata information about SRB data objects

{-i -I metaAttrNameEqValue [ [-I metaAttrNameEqValue] ... ] dataName}

{-u metadataIndex metaAttrNameEqValue dataName}

{-d metadataIndex dataName}

{-c -i -I metaAttrNameEqValue [ [-I metaAttrNameEqValue] ... ] collectionName}

{-c -u metadataIndex metaAttrNameEqValue collectionName}

Smeta {s+l}


Smeta cont

{-c -d metadataIndex collectionName}

{[-R] [-I metaAttrNameOrCondition [-I metaAttrNameOrCondition] ... ] [-Y n] [-L n] [-T dataType] dataName|collectionName}

{-c [-R] [-I metaAttrNameOrCondition [-I metaAttrNameOrCondition] ...] [-Y n] [-L n] [-T dataType] [collectionName]}

Smeta cont.


Smeta cont1

Smeta provides facility for inserting,deleting, updating and accessing meta-data on data object dataName or collection collectionName

Currently, we support 10 string attributes and two integer attributes

'all’ permission for modify, 'read’ for view

Smeta cont.


Smkcont s l

{[-S resourceName] [-D dataType] [-s containerSize] container}

creates a new SRB container

“container" may be an absolute path or a relative path (will be created in the user's container collection path - /container/userName.domainName)

Smkcont {s+l}


Smkdir s l

{[-N] collection}

creates a new SRB collection is a format <path_name>/<new_collection_name>.

-N option overrides the default association with container of its parent collection

Smkdir {s+l}


Smodcoll s l

{[-dh] -c value collName}

modifies information about collections in collName

-h help, -d delete, -c container_name is updated

SmodColl {s+l}


Smodd s l

{-s|-t|-c newValue dataName}

modifies metadata information about SRB data objects

-s change size

-t change type

-c insert comments

SmodD {s+l}


Smv s l

{srbObj targetObj}

{collection newcollection}

{srbObj ... Collection}

Smv {s+l}


Spasswd

changes password of current user

changes the current user's password both in the Meta Catalog as well as in the Client Authorization Environment file

password change persists across sessions with SRB

Spasswd


Spcommand s l

{[-h] [-H hostAddr] command}

proxy command operation. Request a remote SRB server to execute arbitrary commands on behalf of client on the “hostAddr” (or “srbHost” in the .MdasEnv)

the proxy commands should be installed in the /usr/local/srb/bin/commands directory

Spcommand {s+l}


Sphymove s l

{[-C n] [-p] [-P newpathName] srbObj ... newresourceName}

moves one or more SRB objects to the newresourceName at new path newpathName (if given ). The old copy is deleted and the MCAT catalog is also updated

Sphymove {s+l}


Sput s l

{[-fpra] [-c container] [-D dataType] [-S resourceName] [-P pathName] localFileName|localDirectory ... TargetName}

imports one or more local files and/or directories

-p prompts, -f force, -a force all replica,-r recursively, -c container

Sput {s+l}


Sregister s l

{[-p] [-D dataType] [-S size] [-R resourceName] RegisteringObjectPath ... TargetName}

{-c [-p] [-D dataType] [-S size] [-R resourceName] RegisteringObjectPath srbObjectName}

registers one or more files into SRB space

Sregister {s+l}


Sreplcont s l

{-S resource container}

replicate a container copy to a specific resource

For containers that have multiple "permanent" and "cache" copies, this is a way to put a copy of the container on a specific resource

Sreplcont {s+l}


Sreplicate s l

{-n replicaNum] [-pr] [-S resourceName] [-P pathName] srbObj|collection …}

makes one more copy of srbObj or collection

-p prompts, -r recursively, -n replicaNum, -P full or relative newpathName to move the object, -S new resourcename

Sreplicate {s+l}


Srm s l

{[-p] [-A condition] srbObj …}

{[-p] [-A condition] -r srbObj|collection …}

remove files from SRB space

-p prompts, -r recursively (the collection will be emptied of datasets and removed), -A condition options(“"<Attr><CompOp> <Value>””)

Srm {s+l}


Srmcont s l

{[-f] container}

remove an empty existing SRB container

-f Force the removal of all inContainer objects stored in this containe before removing the container

Srmcont {s+l}


Srmdir collection

deletes an existing SRB collection

Srmdir collection


Srmticket s l

{ [-F fileName] | ticket }

removes a previously issued ticket. One has to own the ticket to remove it

-F fileName specifies the file in which the ticket is stored

Srmticket {s+l}


Ssyncont s l

{[-d] [-p] container}

synchronize the "permanent" copies of the container with the "cache" copy.

when an inContainer object is created or opened for I/O, all I/O are done only to the "cache" copy

-d delete cache copy, -p to primary only

Ssyncont {s+l}


Stcat s l

{[-T ticketFile | -t ticket] [-A condition] hostName srbObj …}

display files read from SRB space for a ticketuser

-T option to give a filename containing a ticket, -t option for giving a ticket directly, -A condition "<Attr> <CompOp> <Value>"

Stcat {s+l}


Sticket s l

{ [-F fileName] [-B beginTime] [-E endTime] [-N AccessCount] { -D dataName | -C collName | -R collName } [email protected] …}

issue tickets for SRB objects and collections

-D option for asingle data object, -C option for SRB collection, -R option recursively

Sticket {s+l}


Stls s l

{[-v] [-L number] [-Y number] { [-F fileName] | ticket } [-A condition] hostName}

display objects and sub-collections in SRB collection for a given ticket

-v verbose, -F fileName specifies the file in which the ticket is stored

Stls {s+l}


Stoken s l

{[-L number] [-Y number] typeName}

isplays information about metadata type typeName

typeName can be one of : ResourceType, DataType (default), UserType, Domain, Action, AccessConstraint

Stoken {s+l}


Srbio

SRBIO


Srbio1

Open

creat

read

write

close

lseek

fopen

fread

fwrite

fclose

fseek

fflush

fgetc

fgets

fputc

fputs

getc

putc

ungetc

vfprintf

fprintf

fscanf

SRBIO


Web utilities

Sgetw - copies a SRBobject into server site

Sputw - copies local file in SRBspace

Scatw - displays SRBobject on browser (handles types)

Slsw - displays information of SRBobjects

Web Utilities


  • Login