NFS的安装配置:
centos 5 :
yum install nfs-utils portmap
centos 6 :
yum install nfs-utils rpcbind
服务端:
1.安装
yum install nfs-utils rpcbind
chkconfig —level 35 rpcbind on
chkconfig —level 35 nfs on
service rpcbind start
service nfs start
2.修改配置
vim /etc/exports
>>/home/kaifa/test xxx.xx.xx.xxx(rw,sync,all_squash,anonuid=500,anongid=500)
重启rpcbind nfs服务
查看配置是否正确:
sudo exportfs
3.若启用了防火墙,配置防火墙,如下
客户端:
1.安装
yum install nfs-utils rpcbind
2.测试连接nfs服务器
service iptables stop
showmount -e 192.168.1.75
3.挂载
sudo mount -o nolock -t nfs xx.xx.xx.xx:/drbd /var/www/resin/resource/
4.配置开机自动挂载
vi /etc/fstab
添加 #192.168.1.75:/opt/centos6/ /opt/centos6/ nfs nodev,rw 0 0
或者:
vi /etc/rc.d/rc.local #这个是启动系统时最后一个执行的程序
加入: mount -o nolock -t nfs xx.xx.xx.xx:/drbd /var/www/resin/resource/
-t :指定挂载的文件类型,这里是nfs
如要马上生效:命令行/etc/rc.d/rc.local 回车即可
5.查看挂载
mount -l
或 df
6.卸载
umount -v /dev/sda1 通过设备名卸载
umount -v /mnt/mymount/ 通过挂载点卸载
服务端防火墙问题>>>
如果服务端启用了防火墙,客户端使用showmount -e 服务器IP,会出现如下错误:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
使用rpcinfo -p 服务器IP,也会出错:
rpcinfo: can't contact portmapper: RPC: Remote system error - No route to host
这时需要服务端打开相应端口:
[root@mes-bk backup]# vi /etc/sysconfig/nfs
# Port rquotad should listen on.
RQUOTAD_PORT=875
# TCP port rpc.lockd should listen on.
LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
LOCKD_UDPPORT=32769
# Port rpc.mountd should listen on.
MOUNTD_PORT=892
其中 portmapper nfs 服务端口是固定的分别是 111 2049
另外 rquotad nlockmgr mountd 服务端口是随机的。由于端口是随机的,这导致防火墙无法设置。
这时需要配置/etc/sysconfig/nfs 使 rquotad nlockmgr mountd 的端口固定。
找到以下几项,将前面的#号去掉。
使用rpcinfo -p localhost命令即可看到nfs服务需要用到的端口及协议,然后编辑iptables增加相应端口即可。
-A INPUT -s 11.40.8.144 -p tcp --dport 875 -j ACCEPT
-A INPUT -s 11.40.8.144 -p udp --dport 875 -j ACCEPT
-A INPUT -s 11.40.8.144 -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 11.40.8.144 -p udp --dport 32803 -j ACCEPT
-A INPUT -s 11.40.8.144 -p tcp --dport 32679 -j ACCEPT
-A INPUT -s 11.40.8.144 -p udp --dport 32679 -j ACCEPT
-A INPUT -s 11.40.8.144 -p tcp --dport 892 -j ACCEPT
-A INPUT -s 11.40.8.144 -p udp --dport 892 -j ACCEPT
-A INPUT -s 11.40.8.144 -p tcp --dport 662 -j ACCEPT
-A INPUT -s 11.40.8.144 -p udp --dport 662 -j ACCEPT
-A INPUT -s 11.40.8.144 -p tcp --dport 111 -j ACCEPT
-A INPUT -s 11.40.8.144 -p udp --dport 111 -j ACCEPT
-A INPUT -s 11.40.8.144 -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 11.40.8.144 -p udp --dport 2049 -j ACCEPT
这时到客户端再 使用命令:rpcinfo -p 服务器IP,即可看到相应信息
问题:
>>>
出现如下错误提示:
mount.nfs: access denied by server while mounting 172.16.12.140:/home/liangwode/test
那我们可以用以下的方法进行解决:
修改/etc/sysconfig/nfs文件,将
# Turn off v2 and v3 protocol support
# RPCNFSDARGS="-N 2 -N 3"
# Turn off v4 protocol support
#RPCNFSDARGS="-N 4" /*把这句话的#号去掉*/
NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开NFS-4即可。
问题解决!!!
nfs4中使用idmap映射用户的uid/gid
server和client上的用户uid和gid不一样的情况下,nfs共享权限会出错。
解决:(让uid和gid号相同即可)
或使用idmap这个服务
Server:
安装NFS相关的软件包
$ sudo apt-get install nfs-kernel-server
2. 进行配置
/etc/default/nfs-common
这是一个common配置文件,也就是说服务器端和客户端都要有相同的配置。
NEED_IDMAPD=yes # 此项将打开ID映射
NEED_GSSD=no # no is default
注释:ID映射用于解决服务器端UID与客户机UID不同,而无法访问资源的情况。通过UID映射,只需要相同的用户名即可。
/etc/idmapd.conf
既然启用了ID映射,就需要配置:
[Mapping]
Nobody-User = geek
Nobody-Group = geek
这里填写你需要映射都客户端的用户名和组名。
/etc/exports
/test/geek 192.168.1.0/24(rw,nohide,insecure,sync,no_root_squash)
选项解释:
rw – 可读写
nohide - 如果被挂载的目录下的其他目录也是挂载的,此选项将使它们可见
insecure – 允许客户端不使用保留端口
sync - 每次写操作要同步到物理存储器上(而不是仅写入内存)
no_root_squash – 当客户端以root的UID/GID(=0)挂载时,不会分配一个匿名UID/GID(也就是说它创建的文件将属于root)
3. 重启服务
/etc/init.d/nfs-kernel-server restart
service rpcidmapd restart
Client:
1. sudo apt-get install nfs-common
2. /etc/default/nfs-common
NEED_IDMAPD=yes #打开ID映射
3./etc/idmapd.conf
既然启用了ID映射,就需要配置:
[Mapping]
Nobody-User = geek
Nobody-Group = geek
4./etc/init.d/idmapd restart
5./etc/fstab
IP:/ /mnt nfs4 _netdev,auto 0 0 #NFS4默认用了/,不需要写除完整的路径
6.mount -a -v
分享到:
相关推荐
NFS(Network File System)是一种分布式文件系统协议,允许网络中的计算机之间共享文件和目录。在Ubuntu 18.04服务器环境下配置NFS服务端是实现跨机器数据共享的关键步骤。这个离线安装包正是为了解决在没有互联网...
【NFS服务器软件包】 NFS(Network File System)是一种分布式文件系统协议,由Sun Microsystems在1984年开发,允许网络上的计算机共享文件和存储设备。NFS服务器软件包通常包含一组服务和工具,使得Linux或Unix...
在本压缩包中,我们主要关注NFS服务端的源码,特别是`nfs-server-2.2beta47-ubuntuok.tar.bz2`和`nfs-server-2.2beta47.tar.gz`这两个文件,它们包含了NFS服务器的实现代码。通过分析这些源码,我们可以深入了解NFS...
NFS(Network File System)是UNIX和Linux系统中广泛使用的网络文件系统,它允许网络上的计算机之间共享文件和目录。在CentOS 7中,NFS服务被用于跨多个主机提供透明的文件共享功能,这对于多服务器环境或者集群配置...
NFS(Network File System)是一种分布式文件系统协议,允许网络中的计算机通过TCP/IP网络共享文件和目录。NFS的exports配置文件是NFS服务的核心部分,它决定了哪些主机可以访问NFS服务器的哪些目录以及它们的访问...
《Nfs1169工具在Windows系统的应用与配置详解》 Nfs1169是一款专为Windows系统设计的NFS(Network File System)工具,它的主要功能是帮助用户在Windows环境中搭建NFS服务器,从而实现不同操作系统之间的数据共享和...
NFS搭建步骤 NFS(Network File System)是 Unix 和类 Unix 操作系统中的一种分布式文件系统,它允许客户机访问服务器上的文件系统,实现文件共享和交换。下面是 NFS 搭建步骤的详细讲解: 安装 NFS 服务器 1. ...
在深入探讨NFS4(Network File System版本4)与NFSv2、NFSv3之间的区别之前,我们首先简要回顾一下NFS的基本概念。NFS是一种分布式文件系统协议,允许网络上的不同计算机共享彼此的文件系统。自1985年首次推出以来,...
在Ubuntu系统中,为了实现多台虚拟机之间的文件共享,我们常常会采用网络文件系统(NFS)。NFS是一种协议,允许一个系统(服务器)通过网络共享目录给其他系统(客户端),使得它们能够像访问本地文件一样访问远程...
NFS(Network File System)是UNIX和Linux操作系统中广泛使用的一种网络文件系统协议,它允许一个网络中的计算机(客户端)挂载远程计算机(服务器)的文件系统,就像挂载本地文件系统一样。这个离线安装包包含了...
在Windows系统中搭建NFS(Network File System)服务器可以实现与Linux系统之间的文件共享,这对于跨平台协作和数据传输非常有帮助。以下是一份详细的Windows搭建NFS的工具选择及使用说明。 首先,你需要一个适合...
NFS(Network File System)是一种分布式文件系统协议,由Sun Microsystems开发,允许网络中的计算机之间共享文件和存储设备。在本教程中,我们将探讨如何在服务端编译和安装NFS源码,以便实现跨机器的文件共享和...
标题中的“win下NFS客户端”指的是在Windows操作系统环境下安装和使用NFS(Network File System)客户端的过程。NFS是一种由Sun Microsystems开发的协议,它允许不同计算机系统之间共享文件和目录,通常在Linux和...
Ubuntu 14.04 安装配置 NFS 服务器 NFS(Network File System)是一种允许多个电脑通过网络共享文件的系统。它使得不同的计算机可以通过网络访问和共享对方的文件,实现了文件的共享和交换。在 Ubuntu 14.04 中,...
一、NFS服务器的安装 检查linux系统中是否安装了nfs-utils和portmap两个软件包(RHEL4系统默认已经安装了这两个软件包) 命令#rpm –q nfs-utils portmap 二、查看NFS服务器是否启动 命令#service nfs starus #...
【haneWIN NFS Server】是一款专为Windows操作系统设计的NFS(Network File System)服务器软件。NFS是一种由Sun Microsystems开发的文件系统协议,它允许网络中的计算机共享资源,特别是文件系统。通过NFS,用户...
NFS(Network File System)是UNIX和Linux系统中广泛使用的一种网络文件系统,它允许一个系统(服务器)通过网络向其他系统(客户端)共享其文件系统。本教程将详细介绍NFS服务端和客户端的安装过程,包括在线安装与...
【nfs-utils.tar.gz】是一个包含NFS(Network File System)工具的离线安装包,主要服务于Linux系统,用于实现不同计算机之间的文件共享。NFS是一种标准的协议,允许一台计算机(客户端)透明地访问另一台计算机...