3 ms·
Ceph is interesting... open source software whose only purpose is to implement a distributed file system... Functionally, Linux implements a file system (well,
by peter_d_sherman 3y ago
Ceph is interesting... open source software whose only purpose is to implement a distributed file system...
Functionally, Linux implements a file system (well, several!) as well (in addition to many other OS features) -- but (usually!) only on top of local hardware.
There seems to be some missing software here -- if we examine these two paradigms side-by-side.
For example, what if I want a Linux (or more broadly, a general OS) -- but one that doesn't manage a local file system or local storage at all?
One that operates solely using the network, solely using a distributed file system that Ceph, or software like Ceph, would provide?
Conversely, what if I don't want to run a full OS on a network machine, a network node that manages its own local storage?
The only thing I can think of to solve those types of problems -- is:
What if the Linux filesystem was written such that it was a completely separate piece of software, and a distributed file system like Ceph, and not dependent on the other kernel source code (although, still complilable into the kernel as most linux components normally are)...
A lot of work? Probably!
But there seems to be some software need for something between a solely distributed file system as Ceph is, and a completely monolithic "everything baked in" (but not distributed!) OS/kernel as Linux is...
Note that I am just thinking aloud here -- I probably am wrong and/or misinformed on one or more fronts!
So, kindly take this random "thinking aloud" post -- with the proverbial "grain of salt!" :-)
- wmf 3y agowhat if I want a Linux ... that doesn't manage a local file system or local storage at all [but] operates solely using the network, solely using a distributed file system Linux can boot from NFS although that's kind of lost knowledge. Booting from CephFS might even be possible if you put the right parts in the initrd.
- lmz 3y agoNFS root docs here https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt https://www.kernel.org/doc/Documentation/filesystems/nfs/nfs...
- peter_d_sherman 3y agoNFS is an excellent point! NFS (now that I think about it!) -- brings up two additional software engineering considerations: 1) Distributed file system protocol. 2) Software that implements that distributed (or at least remote/network) file system -- via that file system protocol. NFS is both. That's not a bad thing(!) -- but ideally from a software engineering "separation of concerns" perspective, this future software layer/level would ideally be decoupled from the underlying protocol -- that is, it might have a "plug-in" protocol architecture, where various 3rd party file system protocols (somewhat analogous to drivers) could be "plugged-in"... But NFS could definitely be used to boot/run Linux over the network, and is definitely a step in the right direction, and something worth evaluating for these purposes... its source code is definitely worth looking at... So, an excellent point!
- wmf 3y agoAre you familiar with the kernel virtual filesystem (VFS) layer?
- plagiarist 3y agoIt sounds you want microkernels, and I agree, it would be nice.