gcsfuse
goofys
Our great sponsors
gcsfuse | goofys | |
---|---|---|
31 | 16 | |
1,958 | 4,995 | |
1.4% | - | |
9.7 | 0.0 | |
6 days ago | about 1 month ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gcsfuse
-
Gcsfuse: A user-space file system for interacting with Google Cloud Storage
It uses FUSE and there's three types of Kernel cache you could use with FUSE (although, it seems like gcsfuse is exposing only one):
1. Cache of file attributes in the Kernel (this is controlled by "stat-cache-ttl" value - https://github.com/GoogleCloudPlatform/gcsfuse/blob/7dc5c7ff...)
-
Google Cloud Storage FUSE
Is this the same gcsfuse that's been around for years, only now with official Google support?
-
RANT: MICROSOFT'S INABILITY TO SUPPORT THEIR OWN HARDWARE IS GOING TO KILL ME
I'm pretty sure the storage for a stopped VM vs a disk image will be the same. Cheaper if you can store your data in GCS bucket? Take a look at GCS-Fuse to mount storage buckets into a VM.
-
FTP Server Backed By Cloud Storage (S3)
Since I started a while back with Google Cloud Storage, I currently use gcsfuse (https://github.com/GoogleCloudPlatform/gcsfuse).
-
Managing GCS buckets with FTP client?
You can use gcsfuse.
-
csi-gcs - CSI driver for mounting Google Cloud Storage buckets
Uses https://github.com/GoogleCloudPlatform/gcsfuse -- last I looked (a long time ago), it was unusably slow with 5000 files.
-
File Systems implemented in Go
gcsfuse - A user-space file system for interacting with Google Cloud Storage.
- You know what I hate? We have the ability to run linux on our Chromebooks but STILL no official support for Google Drive...
goofys
-
Is Posix Outdated?
The author needs to ask themselves: in this cloud technology stack, is there POSIX involved somewhere lower down, where I can't access it? The answer is, of course, "yes". The sort of cloud storage systems described all run on top of POSIX APIs. They provide convenience (cost efficiency is more debatable) compared to the POSIX alternative, but that's because they exist at an entirely different conceptual layer (hence the presence of POSIX anyway, just buried).
Your point about surfacing a POSIX that's actually there but hidden and thus visible to low-level Amazon employees building the S3 service which makes it invisible to S3 end customers is true but isn't the the point of the article. The author is saying there are motivations for a POSIX-like api visible also the end user.
So your explanation of stack looks like 2 layers: POSIX api <-- AWS S3 built on top of that
Author's essay is actually talking about 3 layers: POSIX <-- AWS S3 <-- POSIX
That's why the blog post has the following links to POSIX-on-top-of-S3-objects :
https://github.com/s3fs-fuse/s3fs-fuse
-
AWS Announces Open Source Mountpoint for Amazon S3
How is this different than these other solutions?
-
Introducing Mountpoint for Amazon S3 - A file client that translates local file system API calls to S3 object API calls like GET and LIST.
But now I ask.. why not s3fs? Is it the GPL licensing? Or even goofys that also have Apache2 licensing and seems to hit similar goals (non fully POSIX compliant)? Why build your own?
- Merge my S3 with Mac Finder Folder
- How should I go about creating a program that holds various MP4 files?
- Raft Consensus Animated
-
Mount S3 Objects to Kubernetes Pods
We're using goofys as the mounting utility. It's a "high-performance, POSIX-ish Amazon S3 file system written in Go" based on FUSE (file system in user space) technology.
-
What you gonna add to your selfhost stack this year?
will probably experiment with https://github.com/kahing/goofys and https://litestream.io/ to make services more easily moved between the devices :) Also, will continue working on https://synpse.net/ to make the operations easier.
-
File Systems implemented in Go
goofys - A high-performance, POSIX-ish Amazon S3 file system written in Go.
-
Scalable PostgreSQL Connection Pooler
> We've had some ideas around using this for distributed querying: in our case, each node responsible for a given partition of a dataset would be able to download just the objects in that partition on the fly (though constraint pruning), so we wouldn't need to knowingly seed each worker with data.
IMHO, if you're going to do this, I'd recommend not doing this in Postgres itself, but rather doing it at the filesystem level. It's effectively just a tiered-storage read-through cache, and filesystems have those all figured out already.
You know how pgBackRest does "partial restore" (https://pgbackrest.org/user-guide.html#restore/option-db-inc...), by making all the heap files seem to be there, but actually they're empty sparse files that just happen to have the right allocated length to make PG happy?
Imagine taking one of the object-storage FUSE filesystems, e.g. https://github.com/kahing/goofys, and modding it so that it represents all not-yet-fetched files under readdir(2) with an equivalent representation.
Then just make your pg_base dir an overlayfs mount for:
• top layer: tmpfs (only necessary if you don't give temp tables their own tablespace)
What are some alternatives?
s3fs-fuse - FUSE-based file system backed by Amazon S3
rclone - "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
google-drive-ocamlfuse - FUSE filesystem over Google Drive
juicefs - JuiceFS is a distributed POSIX file system built on top of Redis and S3.
catfs - Cache AnyThing filesystem written in Rust
s3fs - S3 Filesystem
s3-proxy - S3 Reverse Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth)
s3fs - S3 FileSystem (fs.FS) implementation
goseaweedfs - A complete Golang client for SeaweedFS
afero - A FileSystem Abstraction System for Go
s3proxy - Access other storage backends via the S3 API