NFS(Network File System, 网络文件系统)可以通过网络将分享不同主机(不同的OS)的目录--可以通过NFS挂载远程主机的目录, 访问该目录就像访问本地目录一样!
一般而言, 使用nfs能够方便地使各unix-like系统之间实现共享. 但如果需要在unix-like和windows系统之间共享, 就得使用samba了!
NFS运行在SUN的RPC(Remote Procedure Call, 远程过程调用)基础上, RPC定义了一种与系统无关的方法来实现进程间通信. 由此, NFS server也可以看作是RPC server.
正因为NFS是一个RPC服务程序, 所以在使用它之前, 先要映射好端口——通过portmap设定. 比如: 某个NFS client发起NFS服务请求时, 它需要先得到一个端口(port). 所以它先通过portmap得到port number. (不仅NFS, 所有的RPC服务程序启动之前, 都需要设定好portmap)
安装nfs:nfs服务器端:
sudo apt-get install nfs-kernel-server
(安装nfs-kernel-server时,apt会自动安装nfs-common和portmap)
nfs客户端:
同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序。如果是Debian/Ubuntu系统,则需要安装nfs-common。
$ sudo apt-get install nfs-common
配置nfs:主要是服务器端的配置,客户端不需要任何配置:
1. 配置portmap:
由于NFS是一个RPC server程序. 而portmap是用来挂你RPC的端口号映射的. 所以先要配置portmap:
方法1: 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉.
方法2: $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N.
2. 配置/etc/hosts.deny,禁止任何host能和你的NFS服务器进行NFS连接,加入:
--------------------------------------------------
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
--------------------------------------------------
3. 配置/etc/hosts.allow,允许那些你想要的主机和你的NFS服务器建立连接。
下列步骤将允许任何IP地址以173.26.100.开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。加入:
--------------------------------------------------
### NFS DAEMONS
portmap: 173.26.100.
lockd: 173.26.100.
rquotad: 173.26.100.
mountd: 173.26.100.
statd: 173.26.100.
--------------------------------------------------
运行 $ sudo /etc/init.d/portmap restart 重启portmap daemon.
4. 配置/etc/exports
NFS挂载目录及权限由/etc/exports文件定义,要将/home/data目录让173.26.100.*的IP共享, 则在该文件末尾添加下列语句:
/home/data 173.26.100.*(rw,sync,no_root_squash)
运行 $ sudo exportfs -r 更新。
/etc/exports实际上就是nfs服务器的核心配置文件了
5. 运行 $ showmount -e 查看NFS server的export list.
6. 运行 $ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
测试NFS可以尝试一下在客户端挂载本地磁盘(假设服务器端的IP地址为:173.26.100.35,将/home/data挂载到/mnt)
$ sudo mount 173.26.100.35:/home/data /mnt
运行 $ df 看看结果
卸载:
$ sudo umount /mnt
原文引址:
http://www.cublog.cn/u/13991/showart.php?id=107428
阅读(1806) | 评论(0) | 转发(0) |