我无法启动 nfs 服务
# systemctl start nfs-server
Failed to start nfs-server.service: Unit is masked.
# service nfs status
Redirecting to /bin/systemctl status nfs.service
Unit nfs.service could not be found.
RPC 和 NFS 都已安装,我注意到没有文件:
# cd /lib/systemd/system/nfs-common.service
bash: cd: /lib/systemd/system/nfs-common.service: No such file or directory
系统信息:
Static hostname: cimnfsclient
Icon name: computer-vm
Chassis: vm
Machine ID: 4f241c5567164542ad656857ca51ee58 Boot ID: 19f292b5bef4418eae63e0c1fb995cbb
Virtualization: vmware
Operating System: CentOS Linux 7 (Core) CPE
OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.36.2.el7.x86_64
Architecture: x86-64
答案1
root@cimnfsclient rajan]# systemctl start nfs-server
Failed to start nfs-server.service: Unit is masked.
这意味着即使某些其他服务需要它,有人以前也曾用来systemctl mask nfs-server.service
阻止它的启动。nfs-server.service
首先使用systemctl unmask nfs-server.service
解锁它,然后systemctl start nfs-server.service
启动它并systemctl enable nfs-server.service
确保从此时开始它会在启动时自动启动。
请注意,它nfs-server.service
依赖于其他服务,例如nfs-config.service
、nfs-mountd.service
、rpc-statd.service
、nfs-idmapd.service
和。auth-rpcgss-module.service
rpc-statd-notify.service
大多数这些服务应该在nfs-server.service
启动后自动启动,但如果有人屏蔽了部分或全部这些服务,您可能也必须取消屏蔽它们。
任何被管理员屏蔽的服务都应该可以通过 来识别ls -l /etc/systemd/system
:如果您看到一个带有服务名称的符号链接,指向/dev/null
,那么该服务就被管理员命令屏蔽了。例如,如果nfs-server.service
被屏蔽,您将看到一个带有 的链接nfs-server.service -> /dev/null
。
/lib/systemd/system/nfs-common.service
用于 Debian/Ubuntu:在现代版本中,它的存在只是为了阻止旧的 SysVinit 风格的/etc/init.d/nfs-common
脚本执行,除非您卸载systemd
它并用另一个 init 系统包替换它,因为 Debian 现在.service
为每个 NFS 组件服务都有单独的文件以供使用systemd
,就像 RHEL/CentOS 一样。