I have quite a bit complex setup.
I'm running https://github.com/demostanis/demolinux. The root filesystem is made out of an overlayfs between a btrfs read-only subvolume and a read-write btrfs subvolume, with a second overlayfs on top, made out of the previous one and a tmpfs.
simplified, in the initramfs:
mount -o lowerdir=ro-system,upperdir=rw-system /overlay1
mount -o lowerdir=/overlay1,upperdir=tmpfs /overlay2
switch_root /overlay2
Since I also want it this way at work, I run a VM, stored on a networked filesystem (NFS). But for some reason, the NFS setup there is very unreliable (which is very unlikely to change), so it often disconnects for a few minutes, and comes back.
But when it's back, my VM acts weird! I can't write or read files anymore, since every I/O operation results in "Input/output error"s, or segfaults, except for stuff in kernel cache.
Since I don't want to reboot everytime this happens, I'm looking for a way to fix it. Maybe automatically redoing the overlayfs when something fails? Any other idea?
Thanks