oVirt / ovirt-node-ng-image

The source for oVirt Node NG installer ISO and RPM image
GNU General Public License v2.0
20 stars 13 forks source link

/var/lib/nfs/rpc_pipefs mounted during initram boot before pivotroot - ovirt 4.5.3.1 #91

Closed dercol1 closed 1 year ago

dercol1 commented 2 years ago

I need to publish a part of filesystem in a ovirt-4.5.3.1 node to the other nodes via NFS so I use nfs-server service to accomplish. I noticed that since some version, idmapd daemon didn't came up because /var/lib/nfs/rpc_pipefs/nfsd not found In effect the virtual fs seem to be mounted: [root@ovirt-node3 rpc_pipefs]# mount | grep rpc_pipe rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

[root@ovirt-node3 rpc_pipefs]# systemctl status var-lib-nfs-rpc_pipefs.mount ● var-lib-nfs-rpc_pipefs.mount - RPC Pipe File System Loaded: loaded (/proc/self/mountinfo; static; vendor preset: disabled) Active: active (mounted) Where: /var/lib/nfs/rpc_pipefs What: rpc_pipefs Tasks: 0 (limit: 820134) Memory: 0B CGroup: /system.slice/var-lib-nfs-rpc_pipefs.mount

Oct 25 16:45:16 localhost systemd[1]: var-lib-nfs-rpc_pipefs.mount: Succeeded.

but if I try to unmount it: [root@ovirt-node3 rpc_pipefs]# umount /var/lib/nfs/rpc_pipefs umount: /var/lib/nfs/rpc_pipefs: not mounted.

This is the symptom of the issue. I restarted the node bringing it in emergency shell with "rb.break" parameter: in the shell: mount | grep rpc_pipe sunrpc on /sysroot/var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

this is the issue

The (manual) solution I found is to:

  1. step into emergency shell
  2. umount /sysroot/var/lib/nfs/rpc_pipefs
  3. continue the boot

This solve the issue, but this is not viable in a production environment

dercol1 commented 1 year ago

dracut_nfs_umount_var_lib_nfs_rpc_pipefs.patch.gz

I found this solution that in my system seem to work. I's a patch on dracut module file. It seem before it was used for the purpose the "mount -o move" that from a time didn't work anymore. The problem is that this function had sostituted by mount -o bind and an unmount the origin mount before pivot_root... this left the destination without an usuable structure.

sandrobonazzola commented 1 year ago

oVirt Node is not designed for running as a storage server, please use a standard CentOS Stream derivative if you need to do more than running VMs on the node.