NFS攻略 - Linux文件服务器搭建与使用实例
本文链接:http://codingstandards.iteye.com/blog/816376
(转载请注明出处)
本文内容包括:
1 NFS概述及实例
2 Linux下NFS服务端的设置
3 Linux下NFS客户端的设置
4 Windows下NFS客户端的安装及设置
2 Linux下
NFS
服务端的设置
2.1 在Linux下配置NFS共享目录
下面以实例来讲述如何在Linux下配置NFS服务器,假定我们需要共享的目录是/vmsnfs。
如果这个目录还不存在,那么就先创建它;否则,跳过此步。
mkdir /vmsnfs
将该目录中所有文件和子目录的属主和组更改为nfsnobody。
chown -R nfsnobody /vmsnfs
chgrp -R nfsnobody /vmsnfs
或者并作一条执行
chown -R nfsnobody:nfsnobody /vmsnfs
注:如果以后直接在服务器上的共享目录创建文件或目录,要记得将属主和组设置为nfsnobody。否则客户端在访问时会出现“Permission denied”。
在/etc/exports文件中添加所需要共享的目录及参数,比如
/vmsnfs *(rw,async)
这里的意思是说,需要共享/vmsnfs这个目录,对所有客户端(*)都是可读写的(rw),并且是异步方式来访问。
因为不设置其他参数,
客户端创建文件或目录时默认的属主和组就是nfsnobody,即使客户端使用的账号是root。这也就是上面为什么要更改文件或目录的属主和组为nfsnobody的原因。
让共享目录生效
(重新)启动nfs服务
service portmap start
service nfs restart
或者
exportfs -a
检查防火墙设置
如果开启了防火墙,那么就要检查一下与nfs有关的端口是否允许访问。
目前我尝试了一些方法,都没法在开启防火墙的情况下正常使用nfs,所以干脆把防火墙关掉了。
chkconfig iptables off
service iptables stop
有这方面经验的大虾请帮忙补充一下解决办法。
如果要永久的共享此目录,最好将相关的服务设置为开机自动启动。
chkconfig portmap on
chkconfig nfs on
至此,在Linux下配置NFS服务端的任务就完成了。(建议:重启一下系统确认配置能自动设置)
2.2 在Linux下配置NFS的其它问题
Q:能限定共享目录客户端的网段和读写权限吗?
A:可以。比如:可以设置有些网段或机器是只读的,有些是可读写的。如下所示:
/vmsnfs
192.168.0.0/24(rw,async) 192.168.1.0/255.255.255.0(ro,sync)
/vmsnfs
192.168.0.0/24(rw) *(ro)
/vmsnfs 192.168.6.179(rw) 192.168.6.17(ro)
如果想了解更多NFS配置参数,请参考NFS相关资料【1】。
Q:怎么确认nfs共享服务已经在运行了?
A:使用chkconfig命令查看portmap和nfs服务是否都已经启动,如下所示:
[root@new55 ~]#
chkconfig --list portmap
portmap 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@new55 ~]#
chkconfig --list nfs
nfs 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@new55 ~]#
Q:怎么确认某个目录已经被分享?
A:使用exportfs可以看到共享目录列表,exportfs -v可以看到更详细的信息。
[root@new55 ~]#
exportfs
/vmsnfs <world>
[root@new55 ~]#
exportfs -v
/vmsnfs <world>(rw,async,wdelay,root_squash,no_subtree_check,anonuid=65534,anongid=65534)
[root@new55 ~]#
showmount -e
Export list for new55:
/vmsnfs *
[root@new55 ~]#
Q:修改了/etc/exports如何使之生效?
A:有多种方式,如下之一:
exportfs -a
exportfs -r
service nfs restart
Q:如何显示哪些端口用来提供rpc服务?
A:rpcinfo -p
或者
rpcinfo -p localhost
在
NFS服务没有启动时
[root@new55 ~]# rpcinfo -p
程序 版本 协议 端口
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 984 status
100024 1 tcp 987 status
启动
NFS服务之后
[root@new55 ~]# rpcinfo -p
程序 版本 协议 端口
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 984 status
100024 1 tcp 987 status
100011 1 udp 1006 rquotad
100011 2 udp 1006 rquotad
100011 1 tcp 1009 rquotad
100011 2 tcp 1009 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 34440 nlockmgr
100021 3 udp 34440 nlockmgr
100021 4 udp 34440 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 tcp 37635 nlockmgr
100021 3 tcp 37635 nlockmgr
100021 4 tcp 37635 nlockmgr
100005 1 udp 609 mountd
100005 1 tcp 612 mountd
100005 2 udp 609 mountd
100005 2 tcp 612 mountd
100005 3 udp 609 mountd
100005 3 tcp 612 mountd
Q:怎么看哪些客户端正在用共享目录?
A:
使用showmount -a查看被客户端挂载过的详细信息,showmount -d查看被客户端挂载过的共享目录。在showmount手册页中可以
看到showmount -a看到的信息是不可靠的,像下面列出192.168.6.113就只是曾经访问nfs服务器的机器,而此时并未启动。
[root@new55 ~]# showmount -a
All mount points on new55:
192.168.6.113:/vmsnfs
192.168.6.179:/vmsnfs
192.168.6.17:/vmsnfs
[root@new55 ~]# showmount -d
Directories on new55:
/vmsnfs
[root@new55 ~]#
Q:怎么从别的机器看nfs服务端共享了哪些目录?
A:使用showmount -e <ip_or_host>就可以看到nfs服务器上共享的目录情况。
[root@sunrise17 ~]# showmount -e 192.168.6.55
Export list for 192.168.6.55:
/vmsnfs *
[root@sunrise17 ~]#
Q:在Linux配置了防火墙的情况下怎么启用NFS服务?
A:有待研究,欢迎高手指点。我使用的RHEL5.5上默认的防火墙设置如下:
[root@new55 ~]# iptables-save
# Generated by iptables-save v1.3.5 on Thu Nov 18 09:44:44 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [900:105354]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Nov 18 09:44:44 2010
[root@new55 ~]#
点击下面的链接查看本文其他部分内容:
1 NFS概述及实例
2 Linux下NFS服务端的设置
3 Linux下NFS客户端的设置
4 Windows下NFS客户端的安装及设置
待续。
分享到:
相关推荐
在Linux上设置Apache或Nginx服务器支持WebDAV,Windows客户端可以通过资源管理器直接访问。 5. **RSync** RSync是一款强大的文件同步工具,支持增量传输,节省带宽。在Linux服务端部署rsync服务,Windows客户端可...
总结,这个离线安装包提供了NFS服务端和客户端的核心组件,包括rpcbind和nfs-utils,使得在没有网络的情况下也能部署和使用NFS。正确配置和管理NFS,能实现高效、安全的跨网络文件共享,对于分布式系统和集群环境...
总的来说,Windows上的NFS服务端软件如"NFSD(win7)"提供了一种方便的方法,使得Windows系统能够参与到基于NFS的文件共享中,增强了Windows在多平台环境下的兼容性和协作能力。虽然Windows自带的SMB协议在Windows系统...
(1)离线安装nfs-utils用。(2)安装nfs-utils所需依赖也都在里面(3)复制到服务器后直接执行以下命令即可顺利安装:
6. **NAS (Network Attached Storage)**: NAS设备可配置为提供SMB(Server Message Block)、NFS(Network File System)或其他协议的服务,使得Windows和Linux系统都能访问共享存储空间,实现文件共享。 7. **...
### Linux 下 NFS 的配置 #### 一、NFS 概述 NFS(Network File System)是一种网络文件系统,允许用户在网络上共享文件和目录。它为用户提供了透明地访问远程机器上的文件的能力,就像访问本地文件一样。在 Linux ...
本教程将详细介绍NFS服务端和客户端的安装过程,包括在线安装与离线安装方法。 一、NFS服务端安装 1. **在线安装** 在大多数Linux发行版中,可以使用包管理器进行在线安装。例如在Ubuntu或Debian上,使用`apt`...
### Linux下NFS网络文件系统设定及管理 - NFS服务 #### 一、NFS简介 NFS(Network File System)即网络文件系统,是由Sun Microsystems公司开发的一种分布式文件系统协议,它允许网络上的计算机通过网络共享彼此的...
例如,如果 NFS 服务器的 IP 地址是 192.168.1.100,共享的目录是 /home/linux/share,可以使用以下命令挂载: `mount 192.168.1.100:/home/linux/share /mnt/nfs` 这样就可以在客户端访问 NFS 服务器共享的文件了...
下面我们将详细介绍在Ubuntu下配置NFS服务端和客户端的步骤。 首先,我们来理解NFS的基本概念和工作原理。NFS使用TCP/IP协议进行通信,通过RPC(Remote Procedure Call)机制来处理客户端的文件操作请求。服务端将...
总的来说,"银河麒麟v10 aarch64架构离线rpm包 nfs.tar.gz"提供了在银河麒麟V10 ARM64环境下部署NFS服务的便捷途径,使得在没有网络连接的情况下也能实现文件系统的网络共享。通过理解和掌握NFS的工作原理和配置方法...
Linux_Solaris_NFS 配置详解 Linux_Solaris_NFS 配置是指在 Linux 和 Solaris 操作系统中配置 NFS(Network File System)的过程。NFS 允许不同的操作系统之间共享文件系统,以提高资源利用率和网络存储效率。在...
Linux 系统设置 NFS 共享目录 Linux 系统设置 NFS 共享目录是指在 Linux 系统中实现-shared 文件系统的技术,允许多个客户端访问同一个文件系统。NFS(Network File System)是一种基于 RPC(Remote Procedure Call...
NFS服务端的配置文件通常位于`/etc`目录下,名为`exports`。如果没有,需要手动创建。在文件末尾添加如下内容: ``` /nfs-server *(rw,sync,no_root_squash,no_subtree_check) ``` 这里`/nfs-server`是共享的...
- 安装TFTP和NFS服务器,TFTP客户端为tftp-hpa,服务端为tftpd-hpa。 - 配置TFTP服务器,确保能正确服务文件。 - 安装NFS服务器软件nfs-kernel-server,编辑/etc/exports配置文件,并使用`showmount -e`检查配置...
### Linux NFS服务器的安装与配置 #### 一、NFS服务简介 NFS(Network File System,网络文件系统)是一种允许不同操作系统之间的机器共享文件的协议。它最初由Sun Microsystems开发,并于1984年公开发布。NFS的...
- 在SUSE 11中,NFS服务端对共享磁盘目录的权限配置与SUSE 10有所不同。 - 除了基本的`rw`(读写)权限外,还需要额外设置`root_squash`、`sync`和`no_subtree_check`等选项。 - `root_squash`用于限制远程超级...
NFS-utils是实现NFS协议的核心组件,包括了服务端和客户端所需的各种工具和服务。这个离线rpm包是为了解决在无网络或网络不稳定的情况下,能够方便地在龙蜥操作系统上安装和配置NFS功能。RPM(Red Hat Package ...
通过以上步骤,你已经成功地在Windows上配置了NFS服务端,并能与Linux或其他支持NFS的系统进行文件共享。请确保在生产环境中考虑安全性和性能优化,例如限制特定IP的访问,或者使用更精细的权限控制。如果你在配置...
Linux下的NFS(Network File System)系统是一种网络文件共享协议,允许不同的计算机通过网络共享文件系统。这篇详谈将深入探讨NFS的工作原理、安装配置、优化以及在Fedora 10系统中的内核设置。 一、NFS概述 NFS是...