[Openstack] [Swift] XFS Write Barriers

Shrinand Javadekar shrinand at maginatics.com
Mon Apr 21 18:13:55 UTC 2014


Hi,

I notice that the recommended way of deploying Swift is to use XFS on
the storage nodes. This XFS volume is mounted using the "nobarriers"
option.

If I'm not wrong, Swift does an fsync after every put to make sure
that the object is written to disk. But in the absence of barriers
this isn't guaranteed, correct? Based on the documentation [1], it
seems that the storage device might declare that the data was
persisted, but actually might just be holding it in it's own cache.

How does Swift then guarantee data persistence in case there is a
power outage on the storage nodes?

Also, without barriers, the writes might get ordered differently when
being written to disk. If there are multiple versions of the same
object in cache it is required that they be written in order. How does
Swift deal with this?

Thanks in advance.
-Shri

[1] https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-writebarriers.html




More information about the Openstack mailing list