Why is no one discussing the LVM RAID + XFS bundle?

As I know, Storj node never update existing files - only deletes them and download again. In this case there is no random writes in common understanding. Node not needs to update millions of files distributed over HDD plates. And any new file creation in moder filesystems with delayed allocation costs almost nothing.

Please carefully read the post I linked. The random writes are a result of updating the file system journal, inodes, directory entries, etc., not overwriting an existing file.

In modern file systems, all this is already very much optimized, so I’m not worried about this. It is more difficult to cope with garbage collection and file deletion operations - that’s where you need to think about what to do.

Can you list all the seeks and I/O operations necessary to create a file in modern filesystems?

No, but what’s the point? All the same, write operations are stored in the caches of file systems before being flushed to disk.

I have a copy of the Storj folder running at a speed of 40-60 MB/s, and it could be higher if the source was an SSD. And so even in the toughest situations, the write IOPS is 3-4 times lower than the read IOPS.

The point is, this sentence is not true. Storage nodes and file systems regularly force flushes to disks without waiting for a significant amount of data to be written. I wrote about this before (regarding storage nodes) and in the post I linked above (regarding file systems).

Under ZFS you may force disable fsync writes to make them async using sync=disabled flag. XFS has built-in async mechanism of async writes. I see no reason to use sync writes for Storj nodes.

i use sync=disabled if i need the extra performance, but its not without risks, its often files get corrupted or lost if something goes wrong while you are running with sync=disabled.

i believe its due to sync writes being what updates the block pointers and such, thus these critical zfs features end up not working correctly, so the copy on write is partially disabled.

sync=disabled is really nice for speed tho, but i try to avoid it when i can.
lost nearly a million storj files to sync=disabled :smiley:

1 Like