By default XenServer mounts NFS SR with soft option.
That can cause the VM running on NFS to output an IO error and remount its disk as read-only.
The solution is to hard mount the NFS share. This will leave the VM to hang and wait for the share to come back online.
Edit file /opt/xensource/sm/nfs.py and uncommment existing options line under the soft_mount function and add new options line:
#options = "soft,timeo=%d,retrans=%d,%s" % (SOFTMOUNT_TIMEOUT,
# SOFTMOUNT_RETRANS,
# transport)
#options += ',actimeo=0'
options = "rw,tcp,bg,hard,intr,sync,noac,rsize=262144,wsize=262144,timeo=600,retrans=2,_netdev"
More info on this issue: