Centos7 NFS网络文件系统搭建

239 阅读2分钟

基础命令

  • exportfs命令解释
-a:跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统;

-r: 重新导出

-u: 取消导出

-v: 显示详细信息
  • showmount命令解释
showmount -e NFS_SERVER: 查看NFS服务器"导出"的各文件系统

showmount -a NFS_SERVER: 查看NFS服务器所有被挂载的文件系统及其挂载的客户端对应关系列表

showmount -d NFS_SERVER: 显示NFS服务器所有导出的文件系统中被客户端挂载了文件系统列表
  • rpcinfo命令
-p hostname(orIP)

-p :显示所有的 port 与 program 的信息!

服务端配置

软件安装

yum install -y rpcbind nfs-utils

软件配置

  • 创建共享文件夹

mkdir -p /alidata/nfs_root

  • 编辑/etc/exports文件创建共享文件夹

vim /etc/exports

内容如下

/alidata/nfs_root/ *(rw,sync,no_root_squash)

权限说明

ro:只读

rw:读写

sync:同步,数据同步写到内存与硬盘中

async:异步,数据先暂存内存

root_squash: 将root用户映射为来宾账号

no_root_squash: 有root的权限,不建议使用

all_squash: 全部映射为来宾账号

anonuid, anongid: 指定映射的来宾账号的UID和GID
  • 服务端启动
# 设置自动启动
systemctl enable rpcbind
systemctl enable nfs-server

# 开启服务
systemctl start rpcbind
systemctl start nfs-server
# 让配置的exports文件生效
exportfs -r

客户端使用

  • 软件安装

yum install -y nfs-utils

  • 查看NFS服务器共享的目录

showmount -e 192.168.137.140,显示如下

Export list for 192.168.137.140:
/alidata/nfs_root *
  • 挂载NFS上的共享目录到本机

创建文件夹mkdir -p /alidata/share

挂载文件夹mount -t nfs 192.168.137.140:/root/nfs_root /alidata/share

查看挂载是否成功df -h,显示如下内容

192.168.137.140:/alidata/nfs_root   17G  2.0G   16G  12% /alidata/share
  • 取消挂载

执行umount 192.168.137.140:/alidata/nfs_root,可能会报如下错误

umount.nfs4: /alidata/share: device is busy

安装挂载文件夹查询小工具,yum install -y psmisc

执行fuser -m -v /alidata/share/,显示如下

                     USER        PID ACCESS COMMAND
/alidata/share:      root     kernel mount /alidata/share
                     root      12604 f.... sftp-server

kill掉以上的进程,然后再次取消挂载

[root@localhost alidata]# kill -9 12604
[root@localhost alidata]# umount 192.168.137.140:/alidata/nfs_root