首页 > 技术文章 > NFS文件系统存储服务部署

Wolf-Dreams 2018-08-11 15:16 原文

1 NFS介绍

1.1 什么是NFS?

NFS是Network File System的缩写,中文名称是网络文件系统。它的主要功能是通过网络让不用的主机系统之间可以共享文件或者目录。NFS客户端通过挂载(mount)的方式将NFS服务器端共享数据目录挂载到NFS客户端本地系统中。

NFS网络文件系统很像Windows系统的网络共享、安全功能、网络驱动器映射,类似linux系统里的samba服务。一般情况下,Windows网络共享服务或者linux系统的samba服务用于办公局域网共享,而互联网中小型网站集群架构后端常用NFS进行数据共享,如果是大型网站,可能会用到分布式文件系统,如:Moosefs(mfs)、ClusterFS、FastDFSD等。

1.2 NFS企业中应用场景

1.2.1 企业集群架构工作场景

NFS网络文件系统存储共享视频、图片、附件等静态资源文件,如:BBS产品的图片、附件、头像,前端所有的节点访问这些静态资源时都会读取NFS存储上的储存的静态资源

1.3 什么是RPC(Remote Procedure Call)

因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此,NFS的功能所对应的端口无法固定,它会随机取用一些未被使用的端口来作为传输之用,所以需要通过RPC协议/服务来实现;其中CentOS5.x的随机端口都小于1024,而CentOS6.x的随机端口都是较大的

1.4 NFS工作流程图

clip_image002

1.5 NFS的工作流程原理图

clip_image004

注意:

Ø NFS客户端启动RPC服务即可,无需启动NFS服务

Ø NFS的RPC服务,在CentOS5.x下名称为portmap,在CentOS6.x下名称为rpcbind

1.6 主机IP地址规划

服务器说明

外网IP地址

内网IP地址

主机名规划

Rsync备份服务器

10.0.0.41/24

172.16.1.41/24

backup

NFS存储服务器(client)

10.0.0.31/24

172.16.1.31/24

nfs01

2 NFS服务端安装过程

2.1 查看NFS服务端操作系统及内核版本信息

[root@nfs01 ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[root@nfs01 ~]# uname -r

2.6.32-696.el6.x86_64

[root@nfs01 ~]# uname -m

x86_64

[root@nfs01 ~]# hostname

nfs01

2.2 查看NFS软件包是否安装

[root@nfs01 ~]# rpm -qa | egrep "nfs-utils|rpcbind"

2.3 安装NFS软件并查看

[root@nfs01 ~]# yum install nfs-utils rpcbind -y

[root@nfs01 ~]# rpm -qa nfs-utils rpcbind

nfs-utils-1.2.3-78.el6.x86_64

rpcbind-0.2.0-16.el6.x86_64

2.4 安装基本常用工具软件

[root@nfs01 ~]# yum install lrzsz nmap tree dos2unix nc –y

[root@nfs01 ~]# rpm -qa lrzsz nmap tree dos2unix nc

nmap-5.51-6.el6.x86_64

dos2unix-3.1-37.el6.x86_64

nc-1.84-24.el6.x86_64

lrzsz-0.12.20-27.1.el6.x86_64

tree-1.5.3-3.el6.x86_64

2.5 保留yum源下载的软件

[root@nfs01 ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf

[root@nfs01 ~]# grep "keepca*" /etc/yum.conf

keepcache=1

[root@nfs01 ~]# pwd

/root

[root@nfs01 ~]# tar zcvf nfs-rpm.tar.gz /var/cache/yum/x86_64/6/base/packages/

tar: Removing leading `/' from member names

/var/cache/yum/x86_64/6/base/packages/

/var/cache/yum/x86_64/6/base/packages/nfs-utils-lib-1.1.5-13.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/dos2unix-3.1-37.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/libtirpc-0.2.1-15.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/nmap-5.51-6.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/libevent-1.4.13-4.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/nfs-utils-1.2.3-78.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/keyutils-1.4-5.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/nc-1.84-24.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/rpcbind-0.2.0-16.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/tree-1.5.3-3.el6.x86_64.rpm

/var/cache/yum/x86_64/6/base/packages/libgssglue-0.1-11.el6.x86_64.rpm

[root@nfs01 ~]# ls -ld nfs-rpm.tar.gz

-rw-r--r-- 1 root root 3636275 Jul 22 22:15 nfs-rpm.tar.gz

[root@nfs01 ~]# sz nfs-rpm.tar.gz #下载打包的压缩包到本地

注意:yum源下载软件包缓存目录为cachedir=/var/cache/yum/$basearch/$releasever

2.6 NFS服务端启动rpcbind服务并检查服务启动情况

[root@nfs01 ~]# /etc/init.d/rpcbind start

Starting rpcbind: [ OK ]

[root@nfs01 ~]# /etc/init.d/rpcbind status

rpcbind (pid 1202) is running...

[root@nfs01 ~]# ps -ef | grep rpcbind | grep -v grep

rpc 1202 1 0 22:03 ? 00:00:00 rpcbind

[root@nfs01 ~]# netstat -lntup |grep rpcbind

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1609/rpcbind

tcp 0 0 :::111 :::* LISTEN 1609/rpcbind

udp 0 0 0.0.0.0:111 0.0.0.0:* 1609/rpcbind

udp 0 0 0.0.0.0:936 0.0.0.0:* 1609/rpcbind

udp 0 0 :::111 :::* 1609/rpcbind

udp 0 0 :::936 :::* 1609/rpcbind

2.7 打印rpc注册信息

[root@nfs01 ~]# rpcinfo -p localhost

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

2.8 启动NFS服务并检查服务启动状态

[root@nfs01 ~]# /etc/init.d/nfs start

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS mountd: [ OK ]

Starting NFS daemon: [ OK ]

Starting RPC idmapd: [ OK ]

[root@nfs01 ~]# /etc/init.d/nfs status

rpc.svcgssd is stopped

rpc.mountd (pid 1287) is running...

nfsd (pid 1303 1302 1301 1300 1299 1298 1297 1296) is running...

rpc.rquotad (pid 1282) is running...

2.9 再次打印rpc注册信息

[root@nfs01 ~]# rpcinfo -p localhost

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100011 1 udp 875 rquotad

100011 2 udp 875 rquotad

100011 1 tcp 875 rquotad

100011 2 tcp 875 rquotad

100005 1 udp 43643 mountd

100005 1 tcp 55853 mountd

100005 2 udp 54618 mountd

100005 2 tcp 58559 mountd

100005 3 udp 44173 mountd

100005 3 tcp 41536 mountd

100003 2 tcp 2049 nfs

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100227 2 tcp 2049 nfs_acl

100227 3 tcp 2049 nfs_acl

100003 2 udp 2049 nfs

100003 3 udp 2049 nfs

100003 4 udp 2049 nfs

100227 2 udp 2049 nfs_acl

100227 3 udp 2049 nfs_acl

100021 1 udp 41379 nlockmgr

100021 3 udp 41379 nlockmgr

100021 4 udp 41379 nlockmgr

100021 1 tcp 33228 nlockmgr

100021 3 tcp 33228 nlockmgr

100021 4 tcp 33228 nlockmgr

2.10 NFS、rpcbind服务设置开机自启动

方法一(chkconfig命令):

[root@nfs01 ~]# chkconfig rpcbind on

[root@nfs01 ~]# chkconfig nfs on

[root@nfs01 ~]# chkconfig | grep "3:on" | grep -Ew "nfs|rpcbind"

nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off

rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off

方法二(添加启动命令到/etc/rc.d/rc.local文件中):

[root@nfs01 ~]# echo "#start up nfs service and rpcbind service by wolf_dreams at 2018-07-28" >> /etc/rc.d/rc.local

[root@nfs01 ~]# echo "/etc/init.d/rpcbind start" >> /etc/rc.d/rc.local

[root@nfs01 ~]# echo "/etc/init.d/nfs start" >>/etc/rc.d/rc.local

[root@nfs01 ~]# tail -3 /etc/rc.d/rc.local

#start up nfs service and rpcbind service by wolf_dreams at 2018-07-28

/etc/init.d/rpcbind start

/etc/init.d/nfs start

2.11 查看启动NFS后,系统运行的NFS相关进程

[root@nfs01 ~]# ps -ef | egrep "nfs|rpc" | grep -v grep

rpc 1204 1 0 16:29 ? 00:00:00 rpcbind

rpcuser 1226 1 0 16:29 ? 00:00:00 rpc.statd #->检查文件一致性

root 1275 2 0 16:29 ? 00:00:00 [rpciod/0]

root 1284 1 0 16:29 ? 00:00:00 rpc.rquotad #->磁盘配额进程

root 1289 1 0 16:29 ? 00:00:00 rpc.mountd#->权限管理验证等

root 1296 2 0 16:29 ? 00:00:00 [nfsd4]

root 1297 2 0 16:29 ? 00:00:00 [nfsd4_callbacks]

root 1298 2 0 16:29 ? 00:00:00 [nfsd]

root 1299 2 0 16:29 ? 00:00:00 [nfsd]

root 1300 2 0 16:29 ? 00:00:00 [nfsd]

root 1301 2 0 16:29 ? 00:00:00 [nfsd]

root 1302 2 0 16:29 ? 00:00:00 [nfsd]

root 1303 2 0 16:29 ? 00:00:00 [nfsd]

root 1304 2 0 16:29 ? 00:00:00 [nfsd]

root 1305 2 0 16:29 ? 00:00:00 [nfsd] #->NFS主进程

root 1334 1 0 16:29 ? 00:00:00 rpc.idmapd #->name mapping daemon

2.12 使用rpcinfo查看注册信息,出现报错解决方法

报错提示:

[root@nfs01 ~]# rpcinfo -p localhost

rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused

排查方法:

1、检查rpcbind服务是否启动

[root@nfs01 ~]# /etc/init.d/rpcbind status

rpcbind is stopped

2、检查端口是否启动

[root@nfs01 ~]# lsof -i :111

解决办法(启动rpcbind服务并检查rpc注册信息显示):

[root@nfs01 ~]# /etc/init.d/rpcbind start

Starting rpcbind: [ OK ]

[root@nfs01 ~]# rpcinfo -p localhost

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

3 NFS客户端安装过程

3.1 查看NFS客户端操作系统及内核版本信息

[root@backup ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[root@backup ~]# uname -r

2.6.32-696.el6.x86_64

[root@backup ~]# uname -m

x86_64

[root@backup ~]# hostname

backup

3.2 查看NFS软件包是否安装

[root@backup ~]# rpm -qa | egrep "nfs-utils|rpcbind"

[root@backup ~]# yum grouplist | grep "NFS file server"

NFS file server

3.3 安装NFS软件并查看

[root@backup ~]# yum install nfs-utils rpcbind –y

[root@backup ~]# yum groupinstall "NFS file server" -y

[root@backup ~]# rpm -qa | egrep "nfs-utils|rpcbind"

nfs-utils-1.2.3-78.el6.x86_64

nfs-utils-lib-1.1.5-13.el6.x86_64

rpcbind-0.2.0-16.el6.x86_64

3.4 NFS客户端启动rpcbind服务并检查服务启动情况

[root@backup ~]# /etc/init.d/rpcbind start

Starting rpcbind: [ OK ]

[root@backup ~]# /etc/init.d/rpcbind status

rpcbind (pid 1397) is running...

[root@backup ~]# ps -ef | grep rpcbind | grep -v grep

rpc 1397 1 0 17:01 ? 00:00:00 rpcbind

[root@backup ~]# netstat -lntup | grep rpcbind

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1397/rpcbind

tcp 0 0 :::111 :::* LISTEN 1397/rpcbind

udp 0 0 0.0.0.0:724 0.0.0.0:* 1397/rpcbind

udp 0 0 0.0.0.0:111 0.0.0.0:* 1397/rpcbind

udp 0 0 :::724 :::* 1397/rpcbind

udp 0 0 :::111 :::* 1397/rpcbind

3.5 打印rpc注册信息

[root@backup ~]# rpcinfo -p localhost

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

3.6 rpcbind服务设置开机自启动

方法一(chkconfig命令):

[root@backup ~]# chkconfig rpcbind on

[root@backup ~]# chkconfig --list rpcbind

rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off

方法二(添加至/etc/rc.d/rc.local配置文件中):

[root@backup ~]# echo "#start up rpcbind service by wolf_dreams at 2018-07-28" >> /etc/rc.d/rc.local

[root@backup ~]# echo "/etc/init.d/rpcbind start" >> /etc/rc.d/rc.local

[root@backup ~]# tail -2 /etc/rc.d/rc.local

#start up rpcbind service by wolf_dreams at 2018-07-28

/etc/init.d/rpcbind start

4 NFS服务端配置

4.1 查看/etc/exports配置文件

[root@nfs01 ~]# ls -l /etc/exports

-rw-r--r--. 1 root root 0 Jan 12 2010 /etc/exports

[root@nfs01 ~]# cat /etc/exports

4.2 获取/etc/exports帮助文档

[root@nfs01 ~]# man exports

EXAMPLE

# sample /etc/exports file

/ master(rw) trusty(rw,no_root_squash)

/projects proj*.local.domain(rw)

/usr *.local.domain(ro) @trusted(rw)

/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)

/pub *(ro,insecure,all_squash)

/srv/www -sync,rw server @trusted @external(ro)

/foo 2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)

/build buildhost[0-9].local.domain(rw)

4.3 创建共享目录/data且查看NFS服务对应的进程用户

[root@nfs01 ~]# mkdir /data -p

[root@nfs01 ~]# id nfsnobody

uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)

4.4 授权/data目录属主属组权限

[root@nfs01 ~]# ls -ld /data/

drwxr-xr-x 2 root root 4096 Jul 21 16:31 /data/

[root@nfs01 ~]# chown -R nfsnobody:nfsnobody /data/

[root@nfs01 ~]# ls -ld /data/

drwxr-xr-x 2 nfsnobody nfsnobody 4096 Jul 21 16:31 /data/

4.5 编辑/etc/exports配置文件

[root@nfs01 ~]# vi /etc/exports

#share /data by wolf_dreams for software at 2018-07-21

/data 172.16.1.0/24(rw,sync)直接将数据写入到硬盘小并发,大并发采用async

[root@nfs01 ~]# cat /etc/exports

#share /data by wolf_dreams for software at 2018-07-21

/data 172.16.1.0/24(rw,sync)

[root@nfs01 ~]# cat /var/lib/nfs/etab

/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

4.6 重启nfs服务

[root@nfs01 ~]# /etc/init.d/nfs reload

[root@nfs01 ~]# exportfs -rv

exporting 172.16.1.0/24:/data

提示:/etc/init.d/nfs reload 等价于exportfs –rv, 即平滑重启,意思就是把已经正在排队的任务处理完成后再重启nfs服务

4.7 NFS服务端查看挂载信息

[root@nfs01 ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

4.8 NFS服务端验证测试

[root@nfs01 ~]# ls -l /data/

total 0

-rw-r--r-- 1 nfsnobody nfsnobody 0 Jul 21 16:53 nfs.txt

[root@nfs01 ~]# cat /data/nfs.txt

welcome to wolf_dreams

5 NFS客户端配置

NFS客户端挂载参数说明表

挂载命令

挂载文件系统类型

NFS服务端提供的共享目录

NFS客户端的挂载点

mount

-t nfs

172.16.1.31:/data

/mnt(必须存在)

完整挂载命令:mount -t nfs 172.16.1.31:/data /mnt,此命令在客户端上执行

5.1 NFS客户端查看挂载信息

[root@backup ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

5.2 挂载NFS网络文件系统到本地/mnt目录(临时)

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

5.3 开机自动挂载网络文件系统NFS

方法一(添加至/etc/rc.d/rc.local开机启动配置文件中):

[root@backup ~]# echo "#Start up and mount automatically nfs by wolf_dreams at 2018-07-28" >> /etc/rc.d/rc.local

[root@backup ~]# echo "/bin/mount -t nfs 172.16.1.31:/data /mnt" >> /etc/rc.d/rc.local

[root@backup ~]# tail -2 /etc/rc.d/rc.local

#Start up and mount automatically nfs by wolf_dreams at 2018-07-28

/bin/mount -t nfs 172.16.1.31:/data /mnt

方法二(添加至/etc/fstab配置文件中):

[root@backup ~]# echo "172.16.1.31:/data /mnt nfs defaults 0 0" >> /etc/fstab

[root@backup ~]# tail -1 /etc/fstab

172.16.1.31:/data /mnt nfs defaults 0 0

提示(使用/etc/fstab方式挂载nfs网络文件系统需要开机netfs服务):

[root@backup ~]# /etc/init.d/netfs start

NFS filesystems queued to be mounted

Mounting filesystems: [ OK ]

[root@backup ~]# chkconfig netfs on

[root@backup ~]# chkconfig --list netfs

netfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off

原因:linux操作系统开机启动的时候先加载/etc/fstab配置文件,然后才启动网络服务,使其网络正常,NFS网络文件系统在客户端挂载依赖于网络联通,只有网络正常才能挂载成功,故需要启动netfs服务才能实现开机自动挂载,/etc/fstab配置文件即使是本地文件系统,最后两列也要设置为0 0,否则可能会导致linux系统无法启动

5.4 查看当前系统已挂载文件系统信息

方法一(df -h):

[root@backup ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 18G 1.6G 15G 10% /

tmpfs 238M 0 238M 0% /dev/shm

/dev/sda1 477M 35M 417M 8% /boot

172.16.1.31:/data 18G 1.5G 15G 9% /mnt

方法二(mount):

[root@backup ~]# mount | grep mnt

172.16.1.31:/data on /mnt type nfs (rw,vers=4,addr=172.16.1.31,clientaddr=172.16.1.41)

方法三(/proc/mounts):

[root@backup ~]# cat /proc/mounts | grep mnt

172.16.1.31:/data/ /mnt nfs4 rw,relatime,vers=4,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.41,minorversion=0,local_lock=none,addr=172.16.1.31 0 0

5.5 客户端测试

[root@backup ~]# cd /mnt/

[root@backup mnt]# ls

[root@backup mnt]# touch nfs.txt

[root@backup mnt]# ls -l

total 0

-rw-r--r-- 1 nfsnobody nfsnobody 0 Jul 21 16:53 nfs.txt

[root@backup mnt]# echo "welcome to wolf_dreams" > nfs.txt

6 搭建NFS集群共享更改用户

6.1 NFS服务端配置

[root@nfs01 ~]# mkdir /data1

[root@nfs01 ~]# tail -2 /etc/exports

#share /data1 by wolf_dreams at 2018-07-28

/data1 172.16.1.0/24(rw,sync,all_squash,anonuid=888,anongid=888)

[root@nfs01 ~]# useradd -u 888 -s /bin/bash -M nfs

[root@nfs01 ~]# chown -R nfs:nfs /data1

[root@nfs01 ~]# /etc/init.d/nfs reload

[root@nfs01 ~]# cd /data1

[root@nfs01 data1]# ls

test.txt

提示:all_squash参数含义:不管你访问NFS服务共享目录的用户身份如何,它的权限都会被压缩成匿名用户,同时它的UID和GID都会变成nfsnobody账号身份

6.2 NFS客户端配置

[root@backup ~]# useradd -u 888 -s /bin/bash -M nfs

[root@backup ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data1 172.16.1.0/24

/data 172.16.1.0/24

[root@backup ~]# mount -t nfs 172.16.1.31:/data1 /opt

[root@backup ~]# df -h | grep opt

172.16.1.31:/data1 18G 1.5G 15G 9% /opt

[root@backup opt]# cd

[root@backup ~]# cd /opt/

[root@backup opt]# ls

[root@backup opt]# touch test.txt

7 故障排查案例

7.1 案例一

故障现象描述:

[root@backup ~]# showmount -e 172.16.1.31

clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused)

排查思路:

1、检查防火墙是否关闭

[root@nfs01 ~]# /etc/init.d/iptables status

iptables: Firewall is not running.

2、服务是否启动

[root@nfs01 ~]# /etc/init.d/rpcbind status

rpcbind is stopped

3、端口是否开启

[root@backup ~]# telnet 172.16.1.31 111

Trying 172.16.1.31...

telnet: connect to address 172.16.1.31: Connection refused

解决办法:

[root@nfs01 ~]# /etc/init.d/rpcbind start

Starting rpcbind: [ OK ]

[root@nfs01 ~]# /etc/init.d/rpcbind status

rpcbind (pid 3386) is running...

7.2 案例二

故障现象描述:

[root@backup ~]# showmount -e 172.16.1.31

clnt_create: RPC: Program not registered

排查思路:

NFS服务端rpcbind、nfs服务的启动前后顺序有问题

解决办法:

[root@nfs01 ~]# /etc/init.d/nfs restart

Shutting down NFS daemon: [ OK ]

Shutting down NFS mountd: [ OK ]

Shutting down NFS quotas: [ OK ]

Shutting down NFS services: [ OK ]

Shutting down RPC idmapd: [ OK ]

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS mountd: [ OK ]

Starting NFS daemon: [ OK ]

Starting RPC idmapd: [ OK ]

推荐阅读