nfs配置不上,nfsiod怎么改成nfsd

原本配置的nfs路径为home/yyt,后来删去了这条路径,重新设的路径都在home目录下,nfs一直显示


exportfs: /home/yyt/nfshare does not support NFS export,更换其他路径也依然如此,nfs一直配置不上

两天了,试过csdn上各种方法都没有用
还有一个变化就是原本的nfsd变成了nfsiod,要怎么改回来


(base) root@nephilim-dell:/home# ps -A | grep nfs
 617617 ?        00:00:00 nfsiod
 866886 ?        00:00:00 nfsd
 866887 ?        00:00:00 nfsd
 866888 ?        00:00:00 nfsd
 866889 ?        00:00:00 nfsd
 866890 ?        00:00:00 nfsd
 866891 ?        00:00:00 nfsd
 866892 ?        00:00:00 nfsd
 866893 ?        00:00:00 nfsd

ps:请讲的详细一点

要解决你的问题,我们需要执行以下步骤:

  1. 检查 NFS 导出的配置文件:检查 /etc/exports 文件以确保没有错误的导出配置。确保你从文件中删除了旧的 /home/yyt 导出,并添加了正确的新导出路径。配置文件的示例如下:

    /home/newpath    <client-ip>(options)
    

    其中,/home/newpath 是要导出的新路径,<client-ip> 是允许访问的客户端 IP 地址,options 是导出的选项,例如 rw(读写)、no_root_squash(不限制 root 用户权限)等。确保你根据你的需求正确设置了选项。

  2. 重新加载 NFS 服务:使用以下命令重新加载 NFS 服务以使新的配置生效:

    sudo exportfs -ra
    
  3. 检查 NFS 服务状态:使用以下命令检查 NFS 服务的状态:

    sudo systemctl status nfs
    

    确保服务正在运行,并且没有任何错误或警告。

  4. 恢复 nfsd 进程:你提到 nfsd 进程变成了 nfsiod,你可以尝试通过以下命令将其改回来:

    sudo systemctl stop nfs
    sudo systemctl disable nfsiod
    sudo systemctl enable nfs
    sudo systemctl start nfs
    

    这将停止 nfs 服务和 nfsiod 进程,禁用 nfsiod 进程,并重新启用和启动 nfs 服务。这样应该会恢复 nfsd 进程。

请注意,以上步骤是基于常见的 Linux 发行版,如 Ubuntu 或 CentOS。如果你使用的是其他发行版,请根据具体情况进行相应调整。

如果你仍然遇到问题,请提供更多详细信息,例如你的操作系统版本、NFS 版本等,以便我们更好地帮助你解决问题。

【以下回答由 GPT 生成】

问题分析

根据给出的问题描述,问题可以分为两个部分来解决: 1. 如何在CentOS中配置NFS并解决exportfs: /home/yyt/nfshare does not support NFS export错误。 2. 如何将nfsiod更改为nfsd。

解决方案

配置NFS并解决exportfs: /home/yyt/nfshare does not support NFS export错误

  1. 首先,我们需要检查NFS配置文件/etc/exports中是否存在冲突的路径,尤其是之前配置的/home/yyt/nfshare。可以使用以下命令检查: grep -R "/home/yyt/nfshare" /etc/exports

    如果找到了相关的配置行,需将其删除或注释掉。

  2. 确保将新的NFS路径添加到/etc/exports文件中。例如,如果要将路径/home/newnfsshare导出为NFS共享,可以使用以下命令:

    echo "/home/newnfsshare *(rw,sync,no_subtree_check)" >> /etc/exports

    这将将/home/newnfsshare路径以读写权限导出为NFS共享。

  3. 确保RPCbind服务正在运行,并设置为在系统启动时自动启动。使用以下命令来检查RPCbind服务状态:

    systemctl status rpcbind

    如果服务未运行,可以使用以下命令启动并设置为自动启动:

    systemctl start rpcbind systemctl enable rpcbind

  4. 确保NFS服务正在运行,并设置为在系统启动时自动启动。使用以下命令来检查NFS服务状态:

    systemctl status nfs-server

    如果服务未运行,可以使用以下命令启动并设置为自动启动:

    systemctl start nfs-server systemctl enable nfs-server

  5. 确保防火墙允许NFS流量通过。NFS使用端口111和2049进行通信,可以使用以下命令查看防火墙规则:

    iptables -L

    如果没有在防火墙规则中允许这些端口,可以使用以下命令添加规则:

    iptables -A INPUT -p tcp --dport 111 -j ACCEPT iptables -A INPUT -p udp --dport 111 -j ACCEPT iptables -A INPUT -p tcp --dport 2049 -j ACCEPT iptables -A INPUT -p udp --dport 2049 -j ACCEPT iptables-save > /etc/sysconfig/iptables

  6. 最后,重新加载NFS配置和防火墙规则,以使更改生效:

    exportfs -a systemctl restart nfs-server systemctl restart rpcbind systemctl restart iptables

将nfsiod更改为nfsd

根据提供的进程输出,我们可以看到当前有一个nfsiod进程和多个nfsd进程。

  1. 首先,我们需要停止nfsiod进程。使用以下命令:

    systemctl stop nfsiod

  2. 接下来,我们需要启动nfsd进程。使用以下命令:

    systemctl start nfs-server

    nfs-server服务将负责启动nfsd进程。

  3. 最后,我们可以再次检查进程是否已更改为nfsd。使用以下命令:

    ps -A | grep nfs

    此时,应该只有nfsd进程存在。

总结

综上所述,以下是解决问题的步骤: 1. 检查NFS配置文件中是否存在冲突路径,删除或注释掉相关配置。 2. 将新的NFS路径添加到NFS配置文件中。 3. 确保RPCbind服务正在运行,并在系统启动时自动启动。 4. 确保NFS服务正在运行,并在系统启动时自动启动。 5. 确保防火墙允许NFS流量通过。 6. 重新加载NFS配置和防火墙规则。 7. 停止nfsiod进程。 8. 启动nfsd进程。 9. 检查进程是否已更改为nfsd

请注意,上述步骤仅适用于CentOS系统,并且可能需要具有管理员权限才能执行某些命令。如果您不确定某些步骤的要求或命令,请查阅相关文档或咨询系统管理员。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

nfs路径是怎么设置?截图看下