zoukankan      html  css  js  c++  java
  • 树莓派上启动nfs server

    1. nfs 是什么

      (略)http://vbird.dic.ksu.edu.tw/linux_server/linux_redhat9/0330nfs.php

    2. 安装 nfs-kernel-server 和 rpcbind(替代portmap), 并启动rpcbind和nfs-kernel-server服务.

      apt-get install nfs-common nfs-kernel-server

      sudo apt-get install portmap

    pi@raspberrypi ~ $ sudo service rpcbind start
    [ ok ] Starting rpcbind daemon....
    pi@raspberrypi ~ $ ps ax | grep rpcbind
    4130 ? Ss 0:00 /sbin/rpcbind -w
    4152 pts/0 S+ 0:00 grep --color=auto rpcbind

    建立要分享及掛載的目錄
    # mkdir /home/partimag

    修改設定檔 /etc/exports
    加入下面一列
    # vim /etc/exports
    /home/partimag 192.168.66.0/24(rw,sync,no_subtree_check)

    啟動 NFS Server
    # /etc/init.d/nfs-kernel-server start
     * Exporting directories for NFS kernel daemon...                                                                                                                                             [ OK ]
     * Starting NFS kernel daemon                                                                                                                                                                 [ OK ]
    檢查是是有啟動成功
    # showmount -e localhost
    Export list for localhost:
    /home/partimag 192.168.66.0/24

    pi@raspberrypi ~ $ showmount -e localhost
    Export list for localhost:
    /home/pi/nfs_server *

    pi@raspberrypi ~ $ sudo mount -t nfs 127.0.0.1:/home/pi/nfs_server /mnt -o nolock
    pi@raspberrypi ~ $ cd /mnt/
    pi@raspberrypi /mnt $ ls
    pi@raspberrypi /mnt $ >nfs.txt
    pi@raspberrypi /mnt $ ls
    nfs.txt
    pi@raspberrypi /mnt $ cd /home/pi/nfs_server/
    pi@raspberrypi ~/nfs_server $ ls
    nfs.txt

    修改/etc/exports文件,在其中增加NFS服务器目录。     一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:

    NFS共享目录路径    客户机IP或者名称(参数1,参数2,...,参数n)

           说明:

    q  NFS共享目录可以是主机的任何一个目录,为了方便使用,最好将权限设置为777。

    q  客户机指的是可以访问共享目录的客户机的IP或者主机名,可以是指定的IP或者主机名。如果使用IP,可以使用通配符。假如指定IP为192.168.1.x的客户机可以访问,可以写成192.168.1.*,如果设置为*,则表示任何客户机都可以访问。

    q  访问参数可以是一个,也可以是多个,用逗号分开。可能的参数和说明如 REF _Ref286733518 h 表 5.108D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200380036003700330033003500310038000000 所列。

    表  STYLEREF 1 s 5. SEQ 表 * ARABIC s 1 1 NFS设置参数和说明

    参数

    说明

    ro

    只读访问

    rw

    读写访问

    sync

    所有数据在请求时写入共享

    async

    nfs在写入数据前可以响应请求

    secure

    nfs通过1024以下的安全TCP/IP端口发送

    insecure

    nfs通过1024以上的端口发送

    wdelay

    如果多个用户要写入nfs目录,则归组写入(默认)

    no_wdelay

    如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置

    hide

    在nfs共享目录中不共享其子目录

    no_hide

    共享nfs目录的子目录

    subtree_check

    如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)

    no_subtree_check

    不检查父目录权限

    all_squash

    共享文件的UID和GID映射匿名用户anonymous,适合公用目录

    no_all_squash

    保留共享文件的UID和GID(默认)

    root_squash

    root用户的所有请求映射成如anonymous用户一样的权限(默认)

    no_root_squash

    root用户具有根目录的完全管理访问权限

    anonuid=xxx

    指定nfs服务器/etc/passwd文件中匿名用户的UID

    anongid=xxx

    指定nfs服务器/etc/passwd文件中匿名用户的GID

    假定NFS共享目录是/home/ky/nfs,允许所有客户机访问,/etc/exports文件可写为:

    /home/ky/nfs *(rw,sync,no_subtree_check, no_root_squash)

     

           如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:

    ky@ubuntu:~$ exportfs -ra

     

    本地验证NFS服务器。将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。

    ky@ubuntu:~$ ls /home/ky/nfs/

    aaaa

    ky@ubuntu:~$ sudo mount -t nfs 127.0.0.1:/home/ky/nfs /mnt

    ke@ubuntu:~$ ls /mnt

    aaaa

    ky@ubuntu:~$ sudo umount /mnt/

    用开发板验证NFS服务器是否可用。启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:

    target# mount  -t nfs 192.168.1.3:/home/ky/nfs /mnt -o nolock

    target# ls /mnt

    kingyee

    target# umount /mnt/

           挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。

    说明,使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。

           如果在使用中需要增加新的NFS共享目录,直接修改/etc/exports文件即可。修改该文件后,可以不用重启NFS服务,用exportfs命令读取/etc/exports文件,重新共享输出。exportfs命令语法如下:

       exportfs  [-aruv]

           选项说明:

    -a:全部挂载(或卸载) /etc/exports的设置;

    -r:重新挂载/etc/exports的设置;

    -u:卸载某一个目录;

    -v:在输出的时候,把共享目录显示出来。

     

  • 相关阅读:
    跳跃游戏1,2
    重叠子区间问题
    最长公共子序列问题
    由leetcode俄罗斯套娃信封问题到C++的sort()函数学习
    一道笔试题,做的很垃圾
    Spring boot框架快速入门
    Redis常用数据类型及其对应的底层数据结构
    Java 类加载机制及双亲委派模型
    Java面试高频知识点总结 part3
    Spring框架专题
  • 原文地址:https://www.cnblogs.com/zhangjiankun/p/4986827.html
Copyright © 2011-2022 走看看