Live data from Hacker News

A distributed Posix file system built on top of Redis and S3

github.com

51–60 of 120 posts

Re: A distributed Posix file system built on top of Redis and S3

#51
post #48

Is metadata also replicated in S3? Else I don't understand how the metadata can be persistent after reboot as AFAIK redis cannot dump and reload its state.

Redis can be persisted with RDB and AOF, can also be replicated to another machine. In the cloud, you don't need to worry about that, hosted Redis are ready to use.

The is an ongoing effort [1] to improve the persistency and availability in general, which is expected to be GA in 2021.

[1] https://github.com/RedisLabs/redisraft

Re: A distributed Posix file system built on top of Redis and S3

#52
post #48

Is metadata also replicated in S3? Else I don't understand how the metadata can be persistent after reboot as AFAIK redis cannot dump and reload its state.

Right now, the metadata is not replicated to S3, you can replicated it to another Redis, or backup the persisted RDB and AOF to S3.

Re: A distributed Posix file system built on top of Redis and S3

#53

It's AGPL :(

Well, maybe it's not a big deal. I guess programs using this POSIX filesystem might not be derivatives and wouldn't need to also be released under the AGPL.

Good point.

Most of file storage picked GPL, for example, Ceph, GlusterFS, MooseFS, so we followed them.

Re: A distributed Posix file system built on top of Redis and S3

#55

I think the major problem is latency. Try sshfs (fs over ssh) and see what I mean. Don't get me wrong, I use and like sshfs for a quick data transfer, but it's just not good enough to run your application with. For a stable POSIX filesystem in production latency is key. Often times in a datacenter 10GE is recommended for network storage solutions, not because of bandwidth (which is also important), but for the 10x re…

Good, that's why we choose Redis for the metadata. When Redis is deployed in same DC or VPC, the latency could be about 0.2ms - 0.5ms. Later on, We will try the client cache of Redis, which could also reduce the latency for some metadata operations down to a few microseconds.

[deleted]

Re: A distributed Posix file system built on top of Redis and S3

#56

I think the major problem is latency. Try sshfs (fs over ssh) and see what I mean. Don't get me wrong, I use and like sshfs for a quick data transfer, but it's just not good enough to run your application with. For a stable POSIX filesystem in production latency is key. Often times in a datacenter 10GE is recommended for network storage solutions, not because of bandwidth (which is also important), but for the 10x re…

Good, that's why we choose Redis for the metadata. When Redis is deployed in same DC or VPC, the latency could be about 0.2ms - 0.5ms. Later on, We will try the client cache of Redis, which could also reduce the latency for some metadata operations down to a few microseconds.

A low latency metadata server is good, but you still have the latency to the S3 server, e.g. Amazon S3 (from your README.md).

Now you could say, that I could host my own S3 e.g. MinIO in the same DC, but then I could also simply deploy Ceph, which is battle tested for years up to the petabyte range and with iSCSI, S3 and FS interfaces.

So I think this project might give the wrong impression that you can simply combine a Redis with Amazon S3 and then have a good FS solution available, which is unfortunately not the case.

Re: A distributed Posix file system built on top of Redis and S3

#57

I think the major problem is latency. Try sshfs (fs over ssh) and see what I mean. Don't get me wrong, I use and like sshfs for a quick data transfer, but it's just not good enough to run your application with. For a stable POSIX filesystem in production latency is key. Often times in a datacenter 10GE is recommended for network storage solutions, not because of bandwidth (which is also important), but for the 10x re…

> Often times in a datacenter 10GE is recommended for network storage solutions, not because of bandwidth (which is also important), but for the 10x reduced latency of a 10GE NIC.

Totally true. In those cases you also need your filer _not_ to compress on the fly, and not deduplicate objects... unless your hardware can do it for you.

... I remember horrible performance on VMs with images stored on a oversized netapp filer, because someone enabled deduplication and compression instead of using 1 of the 4 spare drives (when it was HDD).

Re: A distributed Posix file system built on top of Redis and S3

#58

Earlier quoted context omitted.

Good, that's why we choose Redis for the metadata. When Redis is deployed in same DC or VPC, the latency could be about 0.2ms - 0.5ms. Later on, We will try the client cache of Redis, which could also reduce the latency for some metadata operations down to a few microseconds.

A low latency metadata server is good, but you still have the latency to the S3 server, e.g. Amazon S3 (from your README.md). Now you could say, that I could host my own S3 e.g. MinIO in the same DC, but then I could also simply deploy Ceph, which is battle tested for years up to the petabyte range and with iSCSI, S3 and FS interfaces. So I think this project might give the wrong impression that you can simply combin…

In AWS, it's yes. The latency of first byte from S3 is about 20-30ms, close to what you can expect from HDD.

Ceph is great, if you can master the complexity under the hood, MinIO + Redis + JuiceFS could be the easier answer for beginners.

Re: A distributed Posix file system built on top of Redis and S3

#59
How POSIX-compatible is it exactly? There's a lot of niche features that tend to break on not fully compliant network filesystems. Do unlinked files remain accessible (the dreaded ESTALE on some NFS implementations)? mmap? atomic rename? atomic append? range locks? what's the consistency model?

Some of those things don't appear to be covered by pjdfstest.

Post reply on HN