|
|
Log in / Subscribe / Register

Had another demo driver for S3

Had another demo driver for S3

Posted Sep 3, 2022 2:12 UTC (Sat) by dacut (guest, #131937)
Parent article: Crash recovery for user-space block drivers

I had a similar driver (written for the 3.x kernels; I doubt it compiles any longer): https://github.com/dacut/ubd. The demo backend talked to S3.

This was before AWS had their NFS solution (Elastic File System/EFS) and EBS volumes were limited in size to 1 TB, so I demoed an absurd idea of a tiny host (t2.micro) with a 1 PB XFS-formatted UBD volume attached. Blocks are sparsely allocated, so only the superblocks were written to S3. Still, this took overnight just to format the filesystem.

It was a fun demo to write over a few weekends, but so slow as to be completely unpractical.


to post comments

Had another demo driver for S3

Posted Sep 3, 2022 15:54 UTC (Sat) by rwmj (subscriber, #5474) [Link] (1 responses)

I don't think it's possible to write an efficient S3 driver to store an ordinary (eg. ext4) filesystem without a very large amount of local caching. The natural block size for S3 is very large (128K?) but if you try to create a naive filesystem with that block size it most likely won't work at all and if it did will break assumptions about small blocks that filesystem developers make.

Anyway, here's our attempt: https://libguestfs.org/nbdkit-S3-plugin.1.html It's written in Python and apparently used somewhat widely (judging by bug reports etc).

Had another demo driver for S3

Posted Sep 5, 2022 2:08 UTC (Mon) by dacut (guest, #131937) [Link]

Yep, that sounds about right! I think I told xfs to use 4096 byte blocks. Still slow as molasses.

Glad that your engineered solution (vs. my toy weekend project) is getting usage!

Had another demo driver for S3

Posted Sep 5, 2022 8:23 UTC (Mon) by cortana (subscriber, #24596) [Link] (1 responses)

You may be interested in <a href="https://www.youtube.com/watch?v=JcJSW7Rprio">harder drives</a>, in which the author implements some unusual filesystems: one which stores data in the padding of in-flight IMCP pings; one which encodes the data within the game state of parallel emulated Tetris games; and one which is comprised of used COVID-19 test cartridges...

Harder drives

Posted Sep 7, 2022 3:17 UTC (Wed) by dacut (guest, #131937) [Link]

Ah, that was a right excellent demo of completely useless technology. I loved every minute of it!

Thank you!

Had another demo driver for S3

Posted Sep 10, 2022 14:57 UTC (Sat) by ming.lei (subscriber, #74703) [Link]

BUSE[1] implemented S3 block device too, and it is one master thesis in 2021.

https://dspace.cuni.cz/bitstream/handle/20.500.11956/1487...


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds