NFS攻略 - Linux文件服务器搭建与使用实例
本文链接:http://codingstandards.iteye.com/blog/816389
(转载请注明出处)
本文内容包括:
1 NFS概述及实例
2 Linux下NFS服务端的设置
3 Linux下NFS客户端的设置
4 Windows下NFS客户端的安装及设置
3 Linux下
NFS
客户端的设置
Unix/Linux系统把一切设备都当做文件来处理,NFS共享目录的使用也不例外。此处假定NFS服务器地址为192.168.6.55,共享目录为/vmsnfs。那么在其他Linux机器如果要访问这个共享目录,首先要挂载
(mount)此nfs共享目录,比如也可以是/vmsnfs。这样对于所有Linux机器上的程序都可以访问/vmsnfs目录下的文件或子目录,如同这些文件就存储在本机之上。
3.1 通过mount命令来设置
首先创建挂载点,就是Linux下一个普通目录。
mkdir /vmsnfs
然后使用mount命令将nfs共享目录挂载上来。
mount -t nfs 192.168.6.55:/vmsnfs /vmsnfs
如果不想再使用此nfs共享目录,可以使用umount命令卸载掉。
umount /vmsnfs
这种方式使用nfs共享目录有个问题,它是临时的,重新启动机器就会丢失。最好的方式是采用autofs来自动挂载。
3.2 使用autofs自动来设置
mount
是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、 NFS、
SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不
能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文
件系统。免去我们手动挂载的麻烦。
创建/etc/auto.nas文件
在文件中添加一行
vmsnfs -rw,rsize=8192,wsize=8192,soft,intr 192.168.6.55:/vmsnfs
修改/etc/auto.master
添加一行
/nas /etc/auto.nas --timeout=0
注
意:--timeout=0表明一旦挂载就不会自动被卸载(umount)。也可以指定一个别的正数,比如600,那么如果600秒之内没有使用nfs就
会自动被卸载。如果没有--timeout参数部分,则默认为600秒(10分钟),这个参数在/etc/sysconfig/autofs文件中可以用
TIMEOUT项指定。
将autofs服务设置为开机自启动
先使用chkconfig --list autofs检查一下autofs服务是否已经设置为自启动了。
[root@sunrise17 ~]# chkconfig --list autofs
autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
如果你发现输出中全部为off,使用chkconfig autofs on设置为开机自启动。
[root@sunrise17 ~]# chkconfig autofs on
注:autofs实际上是使用automount命令来处理的。
创建一个符号链接/vmsnfs指向/nas/vmsnfs
因为通过上述autofs配置自动挂载的路径为/nas/vmsnfs,而实际需要的是/vmsnfs,所以需要创建一个符号链接来达到这个目的。
首先确认一下是否已经有/vmsnfs这样的目录或文件已经存在。如果有,先把它改成别的名称,否则创建的符号链接可能变成了/vmsnfs/vmsnfs了。
[root@sunrise17 /]# ln -s /nas/vmsnfs /vmsnfs
[root@sunrise17 /]# ls -l /vmsnfs
lrwxrwxrwx 1 root root 11 Nov 18 18:21 /vmsnfs -> /nas/vmsnfs
使用mount命令不跟任何参数就可以看到系统所有挂载点的情况。
[root@sunrise17 /]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hdc1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.6.55:/vmsnfs on /nas/vmsnfs type nfs (rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)
[root@sunrise17 /]#
至此,在Linux下使用autofs来配置nfs客户端的任务就完成了。
重新启动机器之后再登录,执行mount命令,会发现/nas/vmsnfs并没有自动mount上来。如下所示:
[root@sunrise17 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hdc1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
再访问一下/vmsnfs,也就是间接访问/nas/vmsnfs就会发现mount上来了。也就是说,使用autofs来自动挂载nfs文件系统时,只有首次使用之后才会自动挂载上来。
[root@sunrise17 ~]# ls /vmsnfs
vms vmsnfs vox
[root@sunrise17 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hdc1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.6.55:/vmsnfs on /nas/vmsnfs type nfs (rw,rsize=8192,wsize=8192,soft,intr,addr=192.168.6.55)
[root@sunrise17 ~]#
通过上面的配置之后,重启系统之后,autofs会根据需要来自动挂载nfs共享目录。如果--timeout参数配置为正数,在不需要时会自动卸载,释放掉不必要的资源,而通过手工方式来挂载达不到这个效果。
3.3 在Linux下使用NFS客户端会碰到的问题
Q:使用touch创建文件时,怎么报“Permission denied”或“权限不够”错误?
A:检查NFS服务端的共享目录,看属主和组是否为nfsnobody。如果不是,更改之,如下所示:(在NFS服务端所在系统上操作)
chown -R nfsnobody /vmsnfs
chgrp -R nfsnobody /vmsnfs
或
chown -R nfsnobody:nfsnobody /vmsnfs
Q:怎么看共享目录的磁盘空间占用情况?
A:Linux会把挂载的共享目录当做一个文件系统,可以使用df来查看磁盘空间的占用情况。
[root@sunrise17 ~]#
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
941082332 2767796 889739256 1% /
/dev/hdc1 101086 12166 83701 13% /boot
tmpfs 2069260 0 2069260 0% /dev/shm
192.168.6.55:/vmsnfs 54659136 46256872 5580944 90% /nas/vmsnfs
Q:在文件服务器重启之后,客户端已经使用mount挂载的nfs共享目录还能继续正常访问吗?
A:有待试验。
Q:在文件服务器重启之后,客户端已经使用autofs挂载的nfs共享目录还能继续正常访问吗?
A:有待试验。
点击下面的链接查看本文其他部分内容:
1 NFS概述及实例
2 Linux下NFS服务端的设置
3 Linux下NFS客户端的设置
4 Windows下NFS客户端的安装及设置
待续。
分享到:
相关推荐
标题中的“win下NFS客户端”指的是在Windows操作系统环境下安装和使用NFS(Network File System)客户端的过程。NFS是一种由Sun Microsystems开发的协议,它允许不同计算机系统之间共享文件和目录,通常在Linux和...
【nfs-utils.tar.gz】是一个包含NFS(Network File System)工具的离线安装包,主要服务于Linux系统,用于实现不同计算机之间的文件共享。NFS是一种标准的协议,允许一台计算机(客户端)透明地访问另一台计算机...
NFS在Linux环境中广泛用于服务器之间或服务器与客户端之间的文件共享。本教程将详细讲解如何在Linux上安装和配置NFS,以及涉及的nfs-utils和portmap(在较新版本的Linux中称为rpcbind)这两个关键组件。 首先,我们...
3. 客户端设置:在ARM Linux客户端上安装nfs-utils,配置 `/etc/fstab` 文件添加NFS服务器的共享目录,如`server_ip:/mnt/data /mnt/nfs nfs defaults 0 0`。 4. 挂载测试:在客户端执行`mount /mnt/nfs`,如果成功...
nfs-utils-2.3.1.tar.gz是NFS服务在Linux系统中的一个实用工具集,用于管理和维护NFS服务器和客户端的软件包。本文将详细探讨NFS的基本概念、nfs-utils的作用以及如何安装和使用nfs-utils-2.3.1。 首先,NFS是一种...
标题中的“nfs-utils及相关依赖rpm”指的是在Linux系统中安装和管理网络文件系统(Network File System,简称NFS)所需的软件包。NFS是一种分布式文件系统协议,它允许用户在一个网络上的计算机(客户端)访问另一台...
3. **配置编译**:在`nfs-utils`目录下运行`./configure --host=arm-linux`,配置为ARM架构。在`portmap`目录下,可能需要根据具体结构进行相应的配置。 4. **编译源码**:执行`make`命令,编译源代码生成二进制...
二、NFS客户端安装 1. rpcbind:与服务端相同,客户端也需要rpcbind来解析和管理RPC通信。确保客户端可以找到并连接到NFS服务器上的共享资源。 2. nfs-utils:在客户端上,nfs-utils同样重要,它提供了mount.nfs...
`nfs-common`包包含了运行NFS客户端所需的各种组件,如`mount.nfs`(用于挂载NFS共享)、`showmount`(显示远程NFS服务器的共享信息)和`rpcbind`(管理远程过程调用(RPC)服务)等。 4. **离线安装过程** - ...
nfsd进程运行在服务器端,负责接收并处理来自NFS客户端的文件操作请求。 2. **portmap或rpcbind**:NFS协议依赖于远程过程调用(RPC)来通信。portmap或rpcbind服务负责映射RPC服务的程序编号到实际端口号,使得...
Linux服务器需要配置NFS服务,Windows可通过软件如Samba或Services for NFS实现NFS客户端功能,但这通常需要较高的系统管理技能。 7. **SAMBA** SAMBA是一种在Linux和Windows之间实现SMB/CIFS(Server Message ...
在这个场景下,离线安装NFS服务就显得尤为重要,特别是在网络环境不稳定或不允许在线更新的情况下。以下是关于如何在Ubuntu上离线安装NFS所需资源包的详细步骤: 1. **理解NFS组件**:NFS服务主要由三个核心组件...
它常用于Linux服务器和Windows客户端之间的文件传输,尤其是在需要保护数据隐私的情况下。 3. **SCP (Secure Copy)**: SCP也是基于SSH的一种安全文件传输方法,它允许用户复制文件和目录,通常用于命令行环境。 4....
NFS-utils是Linux系统中用于管理和操作NFS服务的核心软件包,它包含了实现NFS服务器和客户端所需的各种工具和库。本文将深入探讨NFS-utils的组成部分、安装过程以及实际应用。 首先,NFS-utils主要包含以下组件: ...
安装这些依赖后,用户可以通过以下步骤在CentOS 7上设置和使用NFS客户端: 1. 安装nfs-utils及其依赖:`sudo yum install nfs-utils -y` 2. 配置 `/etc/exports` 文件,指定要共享的目录和客户端权限。 3. 启动和...
首先,安装NFS客户端软件包,如`nfs-common`,然后通过`mount`命令挂载NFS服务器的共享目录: ```bash sudo mount -t nfs server_ip:/data/shared /mnt/shared ``` `server_ip`替换为NFS服务器的实际IP,`/mnt/...
配置NFS服务器涉及多个步骤,包括安装NFS服务软件,设置共享目录,配置防火墙规则以允许NFS通信,以及在客户端系统上挂载远程文件系统。NFS服务器的安全性也非常重要,需要正确配置权限和访问控制,以防止未授权访问...
NFS服务器负责处理客户端请求,NFS客户端负责发起文件系统操作,Portmap服务则负责映射RPC调用到相应的服务,而挂载工具帮助用户将远程文件系统挂载到本地文件系统下。 二、nfs-utils介绍 nfs-utils是Linux中常用...
### Linux下NFS及交叉编译环境的配置 #### 一、NFS配置详解 **1.1 NFS简介** NFS(Network File System)是一种网络文件系统,它允许用户通过网络共享文件,使得用户能够像访问本地文件一样访问远程文件。在嵌入式...
- 成功挂载后,可以在`/mnt`目录下看到来自NFS服务器的文件和子目录。 5. **NFS问题排查** - 如果`mount`命令执行失败,尝试移除`sync`选项再进行挂载尝试。 #### 三、TFTP (Trivial File Transfer Protocol) 的...