[Lustre-discuss] Newbie question: File locking, synchronicity, order, and ownership

Atul Vidwansa Atul.Vidwansa at Sun.COM
Thu Jan 7 22:30:42 PST 2010


Some comments inline..

Nochum Klein wrote:
> Hi Everyone,
>  
> Apologies for what is likely a simple question for anyone who has been 
> working with Lustre for a while.  I am evaluating Lustre as part of a 
> fault-tolerant failover solution for an application component.  Based 
> on our design using heartbeats between the hot primary and warm 
> secondary components, we have four basic requirements of the clustered 
> file system:
>  
>
>    1. *Write Order *- The storage solution must write data blocks to
>       shared storage in the same order as they occur in the data
>       buffer.  Solutions that write data blocks in any other order
>       (for example, to enhance disk efficiency) do not satisfy this
>       requirement.
>    2.  *Synchronous Write Persistence* - Upon return from a
>       synchronous write call, the storage solution guarantees that all
>       the data have been written to durable, persistent storage.
>    3.  *Distributed File Locking* - Application components must be
>       able to request and obtain an exclusive lock on the shared
>       storage. The storage solution must not assign the locks to two
>       servers simultaneously.
>

AFAIK Lustre does support distributed locking. From wiki.lustre.org:

    * /flock/lockf/

    POSIX and BSD /flock/lockf/ system calls will be completely coherent
    across the cluster, using the Lustre lock manager, but are not
    enabled by default today. It is possible to enable client-local
    /flock/ locking with the /-o localflock/ mount option, or
    cluster-wide locking with the /-o flock/ mount option. If/when this
    becomes the default, it is also possible to disable /flock/ for a
    client with the /-o noflock/ mount option. 


>    1.  *Unique Write Ownership* - The application component that has
>       the file lock must be the only server process that can write to
>       the file. Once the system transfers the lock to another server,
>       pending writes queued by the previous owner must fail.
>

It depends on what level of locking you do. Lustre supports byte-range 
locking, so unless writes overlap, multiple writers can write to same file.

Cheers,
_Atul
>
>   1.
>
>
>  
> Can anyone confirm that these requirements would be met by Lustre 1.8?
>  
> Thanks a lot!
>  
> Nochum
> ------------------------------------------------------------------------
>
> _______________________________________________
> Lustre-discuss mailing list
> Lustre-discuss at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-discuss
>   




More information about the lustre-discuss mailing list