Harald Barth skrev:
we are currently deploying OpenAFS here at the university and also are stuck 
with TSM
for backups.

There could be worse things. PDC uses TSM and we use homwgrown logic
to do full and incremental dumps. These then are piped into a program
that uses the API. The only problem is that we do not have a tool for
the users to request restores. But this has not been a too pressing
burden yet.

At Stockholm University we use a similar scheme to what PDC uses. The main difference is that we store dumps in a staging area and wait until we have enough dumps to make it worth archiving them in TSM (we use TSM archive, not backup). This limit currently is 10G.

For a part of the file space we use the normal dsmc client since that part of our space is very well controled and we don't have the need to restore acl:s or other afs metadata.


So I have written a client that uses the TSM API for backup.

I suspected some ongoing work for AFS backups (considering your
earlier questions).

I've been thinking about how to do this myself. My latest idea was to modify the arla client and have it write data to TSM using the API. It hasn't progressed much further than an initial idea though.

First is the storage of AFS data inside of TSM.  TSM has three identifiers for 
an object:
- filespace (typically mount point)
- High-level name (path inside mount point)
- Low-level name (filename)
Ideally the filespace should be the volume name, but TSM gets _really_ slow if 
there are
too many (a few hundred) filespaces.  Currently I just give it the cellname, 
and stores
the volume name in the HL name (like /volume/path-in-volume).  Other ideas?
There are a few nits, though, that I haven't found a good way to handle. Any suggestions

My idea was to use the single filespace and have HL=/volume/path-in-volume too. I'm almost certain administrators who do QUERY FILESPACE don't want several 100k filespaces listed.

Second is the storage of attributes and ACLs.  There is a 255-byte space 
available for
storing object attributes connected to each object.  This is not enough to 
store the ACLs
as clear-text, so I have to do pts lookups to translate them to their internal 
numbers
and store as such in the attribute block.  Any better ideas of how to do this?

The volume dumps which we store contain ACLs in their binary formats and also requires pts to be useful, so you wouldn't be much worse of than we are :)

Note however, that an AFS acl can be as large as 1024 bytes so you cannot be certain to store it in a 255 bytes space.

The idea I had was to store one file in the root of the volume for the volume metadata and one per directory for the file metadata. I'm not sure whether to use a binary format or a text format (XML?) though.

/mattiasa

_______________________________________________
OpenAFS-info mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to