Seafile 6.3 BETA: Multi storage backends

Hi Daniel, hello all together,

the multi storage backend works like a charm. :slight_smile: A great feature!

Moritz and I tested it with 8 NFS shares and it worked out of the box and - most important - it is possible to move a library from one backend to another while Seafile keeps running.

Right now the migration consists of just two steps:

  1. Copy the library to the new storage engine

  2. Add a new record to seafile-db.RepoStorageId, assigning the new storage ID:

    UPDATE 'seafile-db’.‘RepoStorageId’ SET ‘storage_id’=‘Seafile 001’ WHERE id=‘2’;`

I wonder, if the storage_id is cached anywhere. If it is, it might be necessary to restart memcache for example.

But to migrate libraries on our production servers I would like to lock the library before the migration starts and unlock it afterwards.

@Daniel: Is there a chance that a library LOCK/UNLOCK functions could be added to the API?

if it is unlikely that these functions will be available soon, is there another way to protect a library from beeing modified?

But again, it’s already a great feature.

Best regards


1 Like

Would like to see this too. Maybe it’s also possible to add a migrate button in the Admin Webinterface?