[OpenAFS-devel] RPC numbers being used for OpenAFS+OSD
Hartmut Reuter
reuter@rzg.mpg.de
Thu, 12 Mar 2009 18:08:29 +0100
To whom it may concern:
As you may have heard there exist some extensions to normal OpenAFS
which allow the use the object storage model for storing data in AFS.
This version is already in production in the cell "ipp-garching.mpg.de"
since about two years. It offers also some other goodies which are
independent from object storage, e.g. "vos split" and inverse directory
lookup (get path relative to volume root belonging to a fid).
Derrick Brashear had already promised several times to integrate this
code into the normal OpenAFS code base. To help make that happen I am
now trying to register the extensions to the RPC interface.
There two completely new services:
The osdserver which is a ubik database which describes the object
storage, the policies and the group ownership and location of
fileservers. This service uses port 7012.
The second one are the objects storage devices (OSDs) which are
represented by the server rxosd. It uses port 7011 which formerly was
used by the MR-AFS remioserver. Our site was the last one to use MR-AFS
and we managed a smooth migration from MR-AFS to OpenAFS+OSD without
moving any data. Therefore during the migration phase the rxosd had also
to handle remioserver requests which is the reason that both use the
same port number.
Then there are additions to the existing RPC interfaces for the
fileserver and the volserver .
1) fileserver
Number Name Function
65558 InverseLookup Inverse directory lookup
65559 CheckOSDConns Keep-alive for rx-connections between fileserver and
rxosd
65560 OsdPolicy Check before storing data whether they better scould go
into object storage
65562 GetOsdMetadata Display OSD metadata of a file
65564 ServerPath used by CM to access files in visible
/vicep-partitions of a fileserser
65566 Statistic RPC and network transfer statistic
65567 Variable get and set values for internal variables e.g. LogLevel
65568 SetOsdFileReady Notify fileserver that restore of a wiped file is
complete
65569 GetOSDlocaltion gives CM the coordinates of objects belonging to a
file for read and write operations
2) volserver
65540 OsdSupport Ask remote volserver whether it has OSD support
65541 Traverse Get file size histogram and OSD usage statistic
65542 Wipecand Get candidates for wiping based on last usage date
65545 Salvage Check sizes and link counts for all files and objects
in a volume
65546 ListObjects List all objects in a certain OSD
65547 Split Split a volume
65549 ArchCand Get fids of candidates for archiving
65550 Variable Get or set value of a variable
65551 Statistic RPC and network transfer statistic
The gaps between the RPC numbers sometimes are obsolete old versions of
other RPCs which don't need to go into the merged code, but are locally
still needed for older clients in our cell.
Hartmut Reuter