Remote shares look like disks to applications. They therefore must _act_ like disks as much as possible, in particular when the wite() call returns the data is saved somewhere, possibly in cache, but will eventually get to storage. If you shut off the storage, what should happen to programs that are using the disk at that moment? How should those in-flight transactions be handled?
There are only two answers...client waits for the server to return, possibly forever, or client times out and returns an error. The former can lead to hung clients, the latter can lead to data corruption. NFS by default does the first thing. Those old "storage shelves" must have come with some kind of fail-over/redundancy scheme, which is maybe why you spent the big bucks on them. The Proxmox answer to that is a Ceph cluster.
Or, you know, you can work within the limitations. Make sure the mount points are not being used and unmount the share before shutting down the server. You can do that manually or you can semi-automate it which is what I have been saying. There is no "just works" without supplying either effort or money.
I am still not sure your point here, but said recovery - my point - is not exclusive to "old" hardware.
Disconnections and storage layer issues are common, ranging from hardware failures, to planned outages. Hypervisors should be able to recover from transient issues.
To be clear, the fact that proxmox does not "retry" is an issue.
Whilst your point on corruption/etc is valid...it's not in 2023. Even in this market segment - aka, free.
It's got nothing to do with cost, "retrys" cost nothing.
Most modern hypervisors are intelligent enough to "pause" a VM or cache writes to prevent said corruption, whilst it attempts a reconnect.
I do not see proxmox attempting reconnects, which is the core issue I am having, where the solution right now is a node restart.
To re-illiterate, my question is how to recover when storage blips off and on - aka, retry/recovery.
The theory and usage of techs like Ceph are of no use to this discussion, as they assume legacy thinking in hypervisor and storage layer relations - to be blunt.
To be clear, I do appreciate the effort to answer the question, but your response/s are not something that is seemingly relevant, and misunderstand the question in some way I feel.
So I'll say thank you for helping, no need to continue further, enjoy your weekend!.
I'll await other opinions and workarounds/solutions.