原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/816621

安装 NFS 服务器

安装 NFS 服务器所需的软件包:

# yum install nfs-utils nfs4-acl-tools portmap

配置 NFS 共享

和安装任何其他服务器软件一样,安装完 NFS 服务后就需要对 NFS 服务进行配置。输出服务器端的某个目录,以便 NFS 客户端能挂载和访问到这个目录:

# vi /etc/exports
/bak              172.16.20.11(rw,sync,fsid=0) 172.16.20.12(rw,sync,fsid=0)

172.16.20.11 和 172.16.20.12 上面的用户可以挂载 NFS 服务器(172.16.20.1)上的 /bak 目录到自己文件系统里;rw 在这里表示可读可写。

把 NFS 服务加入系统启动脚本并且手动启动 NFS 服务:

# chkconfig nfs on
# chkconfig portmap on# /etc/init.d/portmap start
# /etc/init.d/nfs start

确认 NFSv4 服务器成功运行:

# rpcinfo -pprogram vers proto   port100000    2   tcp    111  portmapper100000    2   udp    111  portmapper100003    2   udp   2049  nfs100003    3   udp   2049  nfs100003    4   udp   2049  nfs...100005    3   tcp    750  mountd

检查 NFS 服务器是否输出我们想共享的目录 /bak:

# exportfs
/bak                  172.16.20.11
/bak                  172.16.20.12

注意 NFS 使用 portmap,而且新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源,修改这2个配置文件以便 NFS 客户端能正常连接到服务器:

# vi /etc/hosts.deny
portmap:ALL# vi /etc/hosts.allow
portmap:172.16.38.0/255.255.254.0

使用 NFS 客户端

首先启动 portmap:

# /etc/init.d/portmap start

检查 NFS 服务器端是否有目录共享:

# showmount -e 172.16.20.1
Export list for 172.16.20.1:
/bak 172.16.20.11,172.16.20.12

使用 mount 挂载服务器端的目录 /bak 到客户端某个目录下:

# mkdir /home/vpsee/bak
# mount -t nfs4 172.16.20.1:/ /home/vpsee/bak/# df -H
Filesystem             Size   Used  Avail Use% Mounted on
...
172.16.39.1:/        232G    23G   198G  11% /home/vpsee/bak

在 /etc/fstab 中挂载 nfs 文件系统:

# vi /etc/fstab
172.16.20.1:/    /bak  nfs4   soft,intr,rsize=8192,wsize=8192,nosuid# chkconfig netfs on

在成功挂载服务器端的 /bak 后就可以在客户端里操作了,这时候写文件或者拷贝文件的时候会遇到一个权限问题报错 : Permission denied,这是因为上面我们在服务器端建立了 /bak 但是 /bak 的 owner 是 root:root,而客户端的正在访问 NFS 的用户是 vpsee,NFS 要求服务器端和客户端的 UID 和 GID 必须一致,所以要在 NFS 服务器端修改 /bak 的权限和所属:

# chown -R vpsee:vpsee /bak

注意使用 NFS 的时候,客户端的用户 UID 和 GID 必须和服务器端的 UID 和 GID 完全符合,否则会造成权限错误。在小规模用户的情况下,我们可以偷懒通过在客户和服务器两端同时建立相同的用户和组来解决这个问题,但是在大规模用户情况 下最好的办法是利用 NIS 或者 OpenLDAP 来统一管理用户,做到一次登录,到处访问。

Troubleshooting

1、在上面的操作过程中,如果你不幸遇到下面这个问题的话,可以尝试更新 Linux kernel 或通过打开 IPv6 来解决这个问题,这是1个 bug:

# mount -t nfs4 172.16.20.1:/ /home/vpsee/bak/
mount.nfs4: Cannot allocate memory

2、如果遇到如下问题,可能是因为你的 mount -t nfs 使用的是 nfsv3 协议,需要明确指出使用 nfsv4 协议挂载 mount -t nfs4:

# mount -t nfs 172.16.20.1:/ /home/vpsee/bak/
mount: mount to NFS server '172.16.20.1' failed: RPC Error: Program not registered.# mount -t nfs4 172.16.20.1:/ /home/vpsee/bak/

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/816621

在 CentOS 上安装和配置 NFS 4.0相关推荐

  1. 在CentOS上安装和配置OpenNebula入门实例

    导读 我们提到的云计算一般有三种类型:软件即服务(Software as a service, SaaS),平台即服务(Platform as a Service, PaaS)和基础架构即服务(Inf ...

  2. 如何在Ubuntu 18.04上安装和配置NFS服务器

    网络文件系统(NFS)是一种分布式文件系统协议,使您可以通过网络共享远程目录.使用NFS,您可以在系统上挂载远程目录,并像对待本地文件一样使用远程计算机上的文件. NFS协议默认情况下未加密,并且与S ...

  3. CentOS 8安装并配置NFS服务

    先决条件 我们假设您有一台运行CentOS 8的服务器,我们将在该服务器上设置NFS服务器和其他充当NFS客户端的计算机.服务器和客户端应该能够通过专用网络相互通信.如果您的托管服务提供商不提供私有I ...

  4. 在 CentOS 上安装和配置 Xen 虚拟化

    安装 Xen 安装支持 Xen 的 Linux 内核 和 Xen: $ yum install kernel-xen xen 安装成功后,可以看到 xen.gz-2.6.18-128.2.1.el5 ...

  5. 在CentOS上安装和配置Guacamole

    一.环境说明 操作系统:CentOS 6.4 x86_64 主机IP:192.168.38.20 登录账户:root 二.安装编译和运行环境 1. 关闭防火墙 在Shell中运行以下命令: chkco ...

  6. 在Redhat/Centos上安装和配置TortoiseHg和kdiff3

    一.前言 这篇文章本来是开发工具箱系统的第3篇,但身边的一些同学在安装TortoiseHg和kdiff3时碰到了不少软件的版本和依赖问题,导致无法顺利安装下去.因此,特提前分享我安装这些软件的完整过程 ...

  7. centos上安装和配置tomcat

    (1)下载apache-tomcat-7.0.30.tar.gz (2)解压:tar -zxvf apache-tomcat-7.0.30.tar.gz (3)复制到/usr/local下并重命名为t ...

  8. linux串口驱动安装 RPM,Devart数据库工具【教程】:在Linux(DEB / RPM)上安装和配置ODBC驱动程序...

    ODBCDriver/驱动程序为基于ODBC的应用程序提供高性能和功能丰富的连接解决方案,可以直接从Windows,macOS,Linux(32位和64位)访问最流行的数据库.驱动程序完全支持标准OD ...

  9. 在Ubuntu上安装和配置OpenStack Nova

    OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as ...

  10. 如何在CentOS 7上安装和配置MySQL Cluster

    翻译&转载:https://www.howtoforge.com/tutorial/how-to-install-and-configure-mysql-cluster-on-centos-7 ...

最新文章

  1. 为什么要重写hashcode( )和equals( )?
  2. java数组的clone方法_深入浅出,如何更彻底地理解Java数组的clone方法
  3. time and value
  4. hadoop中的filesystem和localfilesystem
  5. 【转】asp.net中的WebApplication(web应用程序)和WebSite(网站)
  6. 一步一步带你训练自己的SSD检测算法
  7. 一、ElasticSearch分词器概念
  8. Luogu P4148 简单题(K-D Tree)
  9. IT江湖,哪个门派最挨踢?
  10. wx:if 与hidden
  11. vue-router自动判断左右翻页转场动画
  12. Android中向ContactsProvider中插入大量联系人
  13. 【JAVA程序设计】(C00075)基于SSM的网上汽车租赁管理系统
  14. 泛微OA流程附件在服务器磁盘中的位置
  15. 大学计算机基础实验指导word,大学计算机基础实验指导全套.doc
  16. Unity3D状态机运行状态不显示解决方案哈哈哈
  17. 单点登录 统一用户管理
  18. DX 纹理像素格式转换算法 R10G10B10A2 转 R8G8B8A8
  19. python实现excel高级筛选怎么用_Python数据处理,工具用错了,还不如Excel的高级筛选功能...
  20. html制作宣传页,HTML练习--制作宣传视频

热门文章

  1. ServletConfig对象--配置初始化参数以及获取初始化参数
  2. 我刷uvaoj的经历(1)
  3. hadoop2.8配置_hadoop2.8安装教程
  4. 分步表单_后台产品设计之表单页设计
  5. 【POJ 3041】Asteroids【网络流 —— 最小点覆盖】
  6. PathProber:基于暴力破解方法探测和发现HTTP路径名
  7. PoisonApple:针对macOS的持久化工具
  8. ios上java代码实现_IOS学习之路五(代码实现UITableView)
  9. eja智能压力变送器工作原理_EJA智能压力变送器
  10. 《团队-团队编程项目作业名称-最终程序》