Chinaunix首页 | 论坛 | 博客
  • 博客访问: 259481
  • 博文数量: 74
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 793
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-25 21:01
文章分类

全部博文(74)

文章存档

2011年(1)

2010年(32)

2009年(32)

2008年(9)

我的朋友

分类: LINUX

2010-01-10 16:22:58

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
 
阅读(1768) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~