zoukankan      html  css  js  c++  java
  • NFS 服务器的架设

    Ubuntu 默认是没有nfs服务的,所以需要自己安装

    1、安装nfs服务版
               apt-get install nfs-kernel-server
    2、修改nsf配置文件
       vi /etc/exports
               在文件中添加nfs的目录格式如下
       /myandroid  *(sync,rw,no_root_squash)    // 在我的实验中/armnfs 因为touchscreen所在目录/home/wangwei/work/touchscreen
               存盘退出
    3、在根目录下建立nsf的目录
       mkdir /myandroid
               修改该目录的权限
       chmod 777 myandroid
    4、从新启动nfs
               /etc/init.d/nfs-kernel-server restart

    5、测试nsf

    mount 192.168.1.17:/myandroid  /media/nfs

    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设定. 比如: 某个NFSclient发起NFS服务请求时, 它需要先得到一个端口(port). 所以它先通过portmap得到port number. (不仅NFS,所有的RPC服务程序启动之前, 都需要设定好portmap)
        与NFS相关的几个文件, 命令
    1, /etc/exports
        对NFS卷的访问是由exports来批准, 它枚举了若干有权访问NFS服务器上文件系统的主机名.

    2, /sbin/exportfs
        维护NFS的资源共享. 可以通过它重新设定 /etc/exports 的共享目录, 卸载NFS Server共享的目录或者重新共享等.
      
    3, /usr/sbin/showmount
        用在 NFS Server 端,而 showmount 则主要用在 Client 端. showmount 可以用來查看 NFS 共享的目录资源.

    4, /var/lib/nfs/xtab
        NFS的记录文档: 通过它可以查看有哪些Client 连接到NFS主机的记录.

    下面这几个并不直接负责NFS, 实际上它们负责所有的RPC
    5, /etc/default/portmap
        实际上, portmap负责映射所有的RPC服务端口, 它的内容非常非常之简单(后面详述)

    6, /etc/hosts.deny
        设定拒绝portmap服务的主机

    7, /etc/hosts.allow
        设定允许portmap服务的主机
    安装NFS
    Debian/Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:
    $ sudo apt-get install nfs-kernel-server
    (安装nfs-kernel-server时,apt会自动安装nfs-common和portmap)
    这样,宿主机就相当于NFS Server。
       
    同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序。如果是Debian/Ubuntu系统,则需要安装nfs-common。
    $ sudo apt-get install nfs-commmon

    nfs-common和nfs-kernel-server都依赖于portmap!

    配置NFS
    配置portmap

    方法1: 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉.

    方法2: $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N.

    配置/etc/hosts.deny
    (禁止任何host(主机)能和你的NFS服务器进行NFS连接),加入:
    ### NFS DAEMONS

    portmap:ALL

    lockd:ALL

    mountd:ALL

    rquotad:ALL

    statd:ALL

    配 置/etc/hosts.allow
    允许那些你想要的主机和你的NFS服务器建立连接。下列步骤将允许任何IP地址以192.168.2开头的主机(连 接到NFS服务器上),也可以指定特定的IP地址。参看man页 hosts_access(5), hosts_options(5)。加入:
    ### NFS DAEMONS

    portmap: 192.168.1.

    lockd: 192.168.1.

    rquotad: 192.168.1.

    mountd: 192.168.1.

    statd: 192.168.1.

    /etc/hosts.deny 和 /etc/hosts.allow 设置对portmap的访问.采用这两个配置文件有点类似"mask"的意思. 现在/etc/hosts.deny中禁止所有用户对portmap的访问.再在/etc/hosts.allow 中允许某些用户对portmap的访问.
    运行 $ sudo /etc/init.d/portmap restart 重启portmap daemon.

    配置/etc/exports
    NFS挂载目录及权限由/etc/exports文件定义
       
    比如我要将将我的home目录中的/home/zp/share目录让192.168.2.*的IP共享, 则在该文件末尾添加下列语句:
             /word  192.168.1.*(rw,sync,no_root_squash)
     


    192.168.2.* 网段内的NFS客户端能够共享NFS服务器/home/zp/share目录内容.且有读,写权限, 并且该用户进入/home/zp/share目录后的身份为root
    最好加上sync, 否则 $ sudo exportfs -r 时会给出警告, sync是NFS的默认选项.

    (运行 $ showmount -e 查看NFS server的export list.

    若更改了/etc/exports, 运行 $ sudo exportfs -r 更新

    运行 $ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务)

    /etc/exports实际上就是nfs服务器的核心配置文件了. 鸟哥的Linux私房菜列举了一些exports文件的写法.

    测试NFS
    可以尝试一下挂载本地磁盘(假设本地主机IP地址为:192.128.2.1,将/home/zp/share挂载到/mnt)
    $ sudo mount 192.168.2.1:/home/zp/share /mnt
    运行 $ df 看看结果
    $ sudo umount /mnt
    注意被拷贝文件的读/写权限!
    另外, 可以使用一定的参数:
    使用加参数的办法:mount -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.2.130:/tmp/ /tmp/


  • 相关阅读:
    700. Search in a Binary Search Tree
    100. Same Tree
    543. Diameter of Binary Tree
    257. Binary Tree Paths
    572. Subtree of Another Tree
    226. Invert Binary Tree
    104. Maximum Depth of Binary Tree
    1、解决sublime打开文档,出现中文乱码问题
    移植seetafaceengine-master、opencv到ARM板
    ubuntu16.04-交叉编译-SeetaFaceEngine-master
  • 原文地址:https://www.cnblogs.com/yuzaipiaofei/p/4124702.html
Copyright © 2011-2022 走看看