nfs 订阅
网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。 [1] 展开全文
网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。 [1]
信息
外文名
Network File System
简    称
NFS
拼    音
wangluo wenjian xitong
中文名
网络文件系统
性    质
UNIX表示层协议
相关机制
远程过程调用RPC机制
网络文件系统定义
NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。 [2] 
收起全文
精华内容
下载资源
问答
  • NFS

    千次阅读 2018-09-08 19:39:41
    nfs 简介 nfs特点 NFS (Network File System)网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源 在NFS的应用中的,本地的客户端应用可以透明的读写位于远端NFS...

    nfs 简介

    nfs特点

    • NFS(Network File System)网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源
    • 在NFS的应用中的,本地的客户端应用可以透明的读写位于远端NFS服务器上的文件,就像访问本地文件一样 nfs 适用于Linux 与 Unix之间实现文件共享,不能实现Linux与windows 间的文件共享功能 nfs 是运行在应用层的协议,期监听在2049/TCP 和 2049/UDP 套接字上 nfs服务只能基于IP进行认证,这也是它的缺点之一

    使用nfs的好处

    1. 节省本地的存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用
    2. 用户不需要在网络中的每个机器上都建立有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用
    3. 一些存储设备如软驱、CDROM和Zip(一种高存储密度的磁盘驱动与磁盘)等都可以在网络上被别的机器使用,可以减少整个网络上可移动介质设备的数量

    nfs的体系组成

    nfs体系至少有两个主要部分

    1. 一台nfs服务器
    2. 若干台客户机
    • 客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据
    • 在NFS服务器正式启用前,需要根据实际环境和需求来配置NFS参数

    nfs的应用场景

    • 不同的客户端可以在NFS上观看影视文件,节省本地空间,一台NFS服务器上可以存放所有用户的home目录,带来便利这些目录被输出到网络以便用户不管在哪台工作站上登录,总是能得到相同的home目录

    • 在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下

      nfs 工作机制

    • nfs 是基于rpc来实现网络文件系统的共享的RPC

    • RPC,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议

    • RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据,在OSI网络模型中,RPC跨越了传输层和应用层

    • RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器

    这里写图片描述

    rpc 工作机制如上图所示,下面来描述

    • 客户端程序发起一个RPC系统调用基于TCP协议发送给另外一台主机(服务端)
    • 服务端监听在某个套接字上,当收到客户端的系统调用请求后,将收到的请求和其所传递的参数通过本地的系统调用执行一遍,并将结果返回给本地的服务进程
    • 服务端的服务进程收到返回的执行结果将其封装成响应报文,在通过rpc协议返回给客户端
    • 客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行

    NFS 服务器端运行着四个进程:

    • nfsd

    • mountd

    • idmapd

    • portmapper

    • idmapd 实现用户账号的集中映射,把所有的账号都映射为NFSNOBODY,但是在访问时却能以本地用户的身份去访问

    • mountd 用于验证客户端是否在允许访问此NFS文件系统的客户端列表中(发放一个令牌,持令牌去找nfsd),否则拒绝

    • mountd 的服务端口是随机的由rpc 服务(portmapper)提供随机端口号 nfsd
      nfs的守护进程,监听在2049/TCP和2049/UDP端口上,不负责文件的存储(由NFS服务器本地内核负责调度存储),用于理解客户端发起的rpc 请求,并将其转交给本地内核,然后存储在指定的文件系统上

    • portmapper NFS服务器的rpc 服务,其监听与111/TCP和111/UDP套接字上,用于管理远程过程调用(RPC)

    nfs 的主配置文件: /etc/exports

    nfs 主配置文件中的常用选项

    选项 作用
    secure 这个选项是缺省项,它使用了1024以下的TCP/IP端口实现NFS的连接,指定insecure可以禁用这个选项
    rw 允许NFS客户机进行读/写访问,缺省项只是读的
    async 此选项可以改进性能,但如果没有完全关闭NFS守护进程就重启NFS服务器,这也可能造成数据丢失
    no_wdelay 此选项关闭写延时,如果设置了async,那么NFS就会忽略此选项
    nohide 若将一个目录挂载到另一个目录之上,则原来的目录通常就被隐藏起来,或看起来像空的一样,要禁用这种行为,需启用hide
    no_subtree_check 此选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查,缺省选项是启用子树检查
    no_auth_nlm 此选项可作为insecure_locks指定,它告诉NFS守护进程不要对加锁请求进行认证。若关心安全性问题,就要避免使用此选项,缺省选项是auth_nlm或secure_kocks
    mp(mountpoint=path) 通过显示的声明此选项,NFS要求挂载所导出的目录fsid=num,此选项通常在NFS故障恢复时使用

    用户映射:

    • 通过NFS中的用户映射,可以将伪或实际用户和组的标识赋给一个正在对NFS卷进行操作的用户。这个NFS用户具有映射所允许的用户和组的许可权限
    • 对NFS卷使用一个通用的用户/组可以提供一定的安全性灵活性,而不会带来很多管理负荷
    • 在使用NFS挂载的文件系统上的文件时,用户的访问通常都会受到限制,这就是说用户都是以匿名用户的身份来对文件进行访问的,这些用户缺省情况下对这些文件只有读权限
    • 这种行为对于root
      用户来说尤为重要。然而,实际上的确存在这种情况:希望用户以root用户或所定义的其他用户的身份访问远程文件系统上的文件
    • NFS 允许指定访问远程文件的用户–通过用户标识号(UID)和 组标识号(GID),可以禁用正常的squash行为

    用户映射的选项

    选项 作用
    root_squash 此选项不允许root用户访问挂载上来的NFS卷
    no_root_squash 此选项允许root用户访问挂载上来的NFS卷
    all_squash 此选项对于公共访问的NFS卷来说非常有用,它会限制所有的UID和GID,只使用匿名用户。缺省设置是no_all_squash
    anonuid和anongid 这两个选项将匿名UID和GID修改成特定用户和组账号

    客户端挂载时可以使用的特殊选项

    选项 作用
    rsize 其值是从服务器读取的字节数(缓冲)默认为1024。若使用比较高的值,如8192,可以提高传输速度
    wsize 其值是写入到服务器的字节数(缓冲)默认为1024若使用比较高的值,如8192,可以提高传输速度
    exportfs    维护exports文件导出的文件系统表的专用工具
    export  -ar    重新导出所有的文件系统
    export  -au    关闭导出的所有文件系统
    export  -u   FS  关闭指定的导出的文件系统
    

    NFS 的详细配置

    环境介绍

    服务器 IP
    nfs-server 192.168.169.10
    nfs-client 192.168.169.20

    服务端的配置

    • 关闭防火墙、关闭selinux,并设置开机不启动
    [root@nfs-server ~]# systemctl stop firewalld
    [root@nfs-server ~]# systemctl disable  firewalld
    [root@nfs-server ~]# setenforce 0
    [root@nfs-server ~]# sed -ri 's/(^SELINUX=).*/\1disbaled/g' /etc/selinux/config 
    

    2.配置yum 源

    [root@nfs-server yum.repos.d]#  curl -o CentOS7-Base-163.repo  http://mirrors.163.com/.help/CentOS7-Base-163.repo
    [root@nfs-server yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo 
    [root@nfs-server yum.repos.d]# sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163.repo
    [root@nfs-server yum.repos.d]# yum -y install epel-release
    

    3.安装NFS-server

    • 安装nfs服务主程序
    [root@nfs-server ~]# yum -y install nfs-utils rpcbind
    
    • 启动nfs-server 服务,查看rpc注册信息
    [root@nfs-server ~]# systemctl start rpcbind
    [root@nfs-server ~]# systemctl start nfs-server
    [root@nfs-server ~]# systemctl enable rpcbind
    [root@nfs-server ~]# systemctl enable nfs-server
    [root@nfs-server ~]# rpcinfo -p localhost
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100024    1   udp  53070  status
        100024    1   tcp  44752  status
        100005    1   udp  20048  mountd
        100005    1   tcp  20048  mountd
        100005    2   udp  20048  mountd
        100005    2   tcp  20048  mountd
        100005    3   udp  20048  mountd
        100005    3   tcp  20048  mountd
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    3   tcp   2049  nfs_acl
        100003    3   udp   2049  nfs
    ......此处省略
    
    • 查看系统中运行的NFS相关进程
    [root@nfs-server ~]# ps -aux |egrep "rpc|nfs"
    rpc      17023  0.0  0.0  64956  1416 ?        Ss   18:47   0:00 /sbin/rpcbind -w
    rpcuser  17048  0.0  0.0  42376  1752 ?        Ss   18:47   0:00 /usr/sbin/rpc.statd
    root     17049  0.0  0.0      0     0 ?        S<   18:47   0:00 [rpciod]
    root     17061  0.0  0.0  42564   944 ?        Ss   18:47   0:00 /usr/sbin/rpc.mountd
    root     17062  0.0  0.0  43816   544 ?        Ss   18:47   0:00 /usr/sbin/rpc.idmapd
    root     17072  0.0  0.0      0     0 ?        S<   18:47   0:00 [nfsd4_callbacks]
    root     17078  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17079  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17080  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17081  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17082  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17083  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17084  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17085  0.0  0.0      0     0 ?        S    18:47   0:00 [nfsd]
    root     17133  0.0  0.0 112660   968 pts/0    R+   18:52   0:00 grep -E --color=auto rpc|nfs
    
    • nfs 服务端配置共享目录,编辑nfs 主配置文件,共享目录/opt/chens到192.168.169.20
    [root@nfs-server ~]# vim /etc/exports
    /opt/chens   192.168.169.20(rw,async,all_squash)
    
    • 创建需要共享的目录chens
    [root@nfs-server ~]# mkdir /opt/chens
    
    • 重启nfs-server服务,查看文件是否存在
    [root@nfs-server ~]# systemctl restart nfs-server
    [root@nfs-server ~]# cat /var/lib/nfs/etab 
    /opt/chens	192.168.169.20(rw,async,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,secure,root_squash,all_squash)
    
    • nfs统一给客户端为65534用户权限,查看65534属于哪个用户,修改/opt/chens目录的属主和属组为nfsnobody
    [root@nfs-server ~]# grep '65534' /etc/passwd
    nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
    [root@nfs-server ~]# chown -R nfsnobody.nfsnobody /opt/chens/
    [root@nfs-server ~]# ls /opt/chens/ -dl
    drwxr-xr-x. 2 nfsnobody nfsnobody 6 Sep  8 19:02 /opt/chens/
    
    • 重启nfs-server 服务生效
    [root@nfs-server ~]# systemctl restart nfs-server
    [root@nfs-server ~]# ss -anllt
    State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
    LISTEN     0      128              *:111                          *:*                  
    LISTEN     0      128              *:20048                        *:*                  
    LISTEN     0      128              *:44752                        *:*                  
    LISTEN     0      128              *:22                           *:*                  
    LISTEN     0      100      127.0.0.1:25                           *:*                  
    LISTEN     0      64               *:33917                        *:*                  
    LISTEN     0      64               *:2049                         *:*                  
    LISTEN     0      128             :::111                         :::*                  
    LISTEN     0      64              :::33392                       :::*                  
    LISTEN     0      128             :::20048                       :::*                  
    LISTEN     0      128             :::52752                       :::*                  
    LISTEN     0      128             :::22                          :::*                  
    LISTEN     0      100            ::1:25                          :::*                  
    LISTEN     0      64              :::2049                        :::*     
    

    客户端的配置

    按照服务端前面的配置搭建yum 源、关闭防火墙、关闭selinux
    此处省略步骤…

    • 安装相关的服务,仅启动rpcbind服务即可
    [root@nfs-client ~]# yum -y install nfs-utils rpcbind
    [root@nfs-client ~]# systemctl start  rpcbind
    [root@nfs-client ~]# systemctl enable rpcbind
    
    • 客户端查看远程服务器提供可挂载信息
    [root@nfs-client ~]# showmount -e 192.168.169.10
    Export list for 192.168.169.10:
    /opt/chens 192.168.169.20
    
    • 客户端挂载共享data
    [root@nfs-client ~]# mount -t nfs 192.168.169.10:/opt/chens   /mnt
    [root@nfs-client ~]# df 
    Filesystem                1K-blocks    Used Available Use% Mounted on
    /dev/mapper/centos-root     8374272 1749196   6625076  21% /
    devtmpfs                    1013260       0   1013260   0% /dev
    tmpfs                       1024304       0   1024304   0% /dev/shm
    tmpfs                       1024304    8760   1015544   1% /run
    tmpfs                       1024304       0   1024304   0% /sys/fs/cgroup
    /dev/sda1                   6281216  127440   6153776   3% /boot
    tmpfs                        204864       0    204864   0% /run/user/0
    192.168.169.10:/opt/chens   9422848 1811968   7610880  20% /mnt
    
    • 验证是否可以共享资源,在服务端共享的目录下创建目录或者文件,在客户端挂载的目录下查看是否存在

    在服务端创建目录,文件

    [root@nfs-server chens]# mkdir test{1..3} ; touch  chen{1..3} 
    [root@nfs-server chens]# ls
    chen1  chen2  chen3  test1  test2  test3
    

    在客户端验证结果,是否存在这些目录、文件

    [root@nfs-client ~]# cd /mnt/
    [root@nfs-client mnt]# ls
    chen1  chen2  chen3  test1  test2  test3
    

    结果存在,nfs-server 搭建完成!

    展开全文
  • nfs

    千次阅读 2011-03-03 01:20:00
    nfs

    第一个问题是minicom出现WARNING: configuration file not found, using defaults 
    Device /dev/modem access failed的问题 
    配置转其他论坛的,如下: 
    linux下minicom的设置。 
    在root用户下输入minicom。 
    1.如果出现:minicom: WARNING: configuration file not found, using defaults 
    Device /dev/modem access failed: 没有那个文件或目录. 
    表示要设置minicom配置文件。 
    输入:minicom -s 
    此时,显示: 
    ………………………………[configuration]…………………………………… 
    …………………… Filename and paths ………………………… 
    …………………… File transfer and protocols ………………………… 
    …………………… Serial port setup ………………………… 
    …………………… Modem and dialing ………………………… 
    …………………… Screen and keyboard ………………………… 
    …………………… Save setup as df1 ………………………… 
    …………………… Save setup as…… ………………………… 
    …………………… Exit ………………………… 
    …………………… Exit from minicom ………………………… 
    …………………………………………………………………………………… 
    2. 使用down箭头选择serial port setup,出现具体各选项的配置: 
    A — Serial Device : /dev/ttyS0 
    B — lockfile Location : /var/lock 
    C — Calling Program : 
    D — Callout Program: 
    E — Bps/par/Bits : 115200 8N1 
    F — Hardware Flow Control : NO 
    G — Software Flow Control : NO 
    Change with setting? 
    将选项A的值设置为/dev/ttyS0 表示是串口1。 
    如果需要修改选项A的值,在Change with setting?选项后输入A则光标转移到A选项后, 
    可以对A选项的值进行修改。修改完,按回车键返回 
    3. 设置Modem and dialing 
    使用方向箭头选中modem and dialing 项,则修改modem and dialing 选项中的配置项。 
    需要修改的是去掉A — initing string ……:,B — Reset string ……: 
    K — Hang-up string ……三个配置项。 
    4. 选择Save as df1。 
    选择Save as df1选项将修改后的配置信息进行保存为默认的配置选项。 
    5. Exit from minicom 。 
    选择Exit from minicom 选项从配置菜单返回到命令行。 
    6. 重新启动Minicom。 
    minicom就向windows下的超级终端 
    http://www.91linux.com/html/article/linux_soft/20090205/15645.html 
    第2个问题是nfs的传输速度慢 
    如果按mount -o nolock 192.168.1.220(假设为宿主机ip):/mnt/nfs /mnt/nfs_t 来mount ,传输速度可能很慢, 只有几K到几十K左右,所以想要获得较快的速度就要对nfs进行优化。 
    也是转过来的,如下:

    nfs优化篇

    1.设置块大小 
    mount命令的risize和wsize指定了server端和client端的传输的块大 小。如果没有指定,那么,系统根据nfs的版本来设置缺省的risize和wsize大小。大多数情况是4K(4096bytes),对于nfs v2,最大是8K,对于v3,在server端设置risize和wsize的限制,最大块大小在kernel的常量 NFSSVC_MAXBLKSIZE,该常量在usr/src/linux2.4/include/linux/nfsd/const.h.所有的2.4 的的client都支持最大32K的传输块。系统缺省的块可能会太大或者太小,这主要取决于你的kernel和你的网卡,太大或者太小都有可能导致nfs 速度很慢。具体的可以使用Bonnie,Bonnie ,iozone等benchmark来测试不同risize和wsize下nfs的速度。当然,也可以使用dd来测试。 
    #time dd if=/dev/zero of=/testfs/testfile bs=8k count=1024这是来测试nfs写 
    #time dd if=/testfs/testfile of=/dev/null bs=8k 这是测试nfs读 
    测试时文件的大小至少时系统RAM的两倍,每次测试都使用umount 和mount对/testfs进行挂载,通过比较不同的块大小,得到优化的块大小。 
    2.网络传输包的大小 
    网 络在包传输过程,对包要进行分组,过大或者过小都不能很好的利用网络的带宽,所以对网络要进行测试和调优。可以使用ping -s 2048 -f hostname进行 ping,尝试不同的package size,这样可以看到包的丢失情况。同时,可以使用nfsstat -o net 测试nfs使用udp传输时丢包的多少。 
    因为统计不能清零,所以要先运行此命令记住该值,然后可以再次运行统计。如果,经过上面的统计丢包很多。那么可以看看网络传输包的大小。使用下面的命令: 
    #tracepath node1/端口号 
    #ifconfig eth0 
    比较网卡的mtu和刚刚的pmtu,使用#ifconfig eth0 mtu 16436设置网卡的mtu和测试的一致。 
    当 然如果risize和wsize比mtu的值大,那么的话,server端的包传到client端就要进行重组,这是要消耗client端的cpu资源。 此外,包重组可能导致网络的不可信和丢包,任何的丢包都会是的rpc请求重新传输,rpc请求的重传有会导致超时,严重降低nfs的性能。可以通过查看 /proc/sys/net/ipv4/ipfrag_high_thresh和/proc/sys/net/ipv4 /ipfrag_low_thresh了解系统可以处理的包的数目,如果网络包到达了ipfrag_high_thresh,那么系统就会开始丢包,直到 包的数目到达ipfrag_low_thresh。 
    3.nfs挂载的优化 
    timeo:如果超时,客户端等待的时间,以十分之一秒计算。 
    retrans:超时尝试的次数。 
    bg:后台挂载,很有用 
    hard:如果server端没有响应,那么客户端一直尝试挂载。 
    wsize:写块大小 
    rsize:读块大小 
    intr:可以中断不成功的挂载 
    noatime:不更新文件的inode访问时间,可以提高速度。 
    async:异步读写。 
    4.nfsd的个数 
    缺省的系统在启动时,有8个nfsd进程。 
    #ps -efl|grep nfsd 
    通过查看/proc/net/rpc/nfsd文件的th行,第一个是nfsd的个数,后十个是线程是用的时间数,第二个到第四个值如果很大,那么就需要增加nfsd的个数。 
    具体如下: 
    #vi /etc/init.d/nfs 
    找到RPCNFSDCOUNT,修改该值,一般和client端数目一致。 
    然后,重启服务。 
    #service nfs restart 
    #mount -a 
    5.nfsd的队列长度 
    对 于8个nfsd进程,系统的nfsd队列长度是64k大小,如果是多于8个,就要相应的增加相应的队列大小,具体的在/proc/sys/net /core/【rw】mem_default和/proc/sys/net/core/【rw】mem_max。队列的长度最好是每一个nfsd有8k的 大小。这样,server端就可以对client的请求作排队处理。如果要永久更改此值 
    #vi /etc/sysctl.conf 
    加入 
    net.core.【rw】mem_max=数目 
    net.core.【rw】mem_default=数目 
    #service nfs restart

    NFS:网络文件系统 
    (NFS:Network File System)

    网络文件系统(NFS),起初由 Sun 微系统公司进行开发,后经 IETF 扩展,现在能够支持在不同类型的系统之间通过网络进行文件共享。换言之,NFS 可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。

    NFS 使用客户端/服务器架构,并由一个客户端程序和服务器程序组成。服务器程序向其它计算机提供对文件系统的访问,其过程就叫做“输出”。NFS 客户端程序对共享文件系统进行访问时,把它们从 NFS 服务器中“输送”出来。NFS 传输协议用于服务器和客户机之间文件访问和共享的通信,该协议还支持服务器通过输出控制向一组受到限制的客户计算机分配远程访问特权。

    NFS 版本2,是 NFS 最早被广泛应用的版本,起初完全运行于 UDP 协议之上,并且不保留状态。几大厂商扩展了 NSF 版本2,使之支持 TCP 传输。NFS 版本3整合了 TCP 传输。使用了 TCP 传输后,使得广域网中的 NFS 应用更为灵活。在继承了以前版本优点的基础之上,目前,NFS 版本4在功能上有如下的改进:

    • 提高了经由 Internet 进行访问的性能。本协议能够很容易地通过防火墙;在等待时间较长时带宽较小的情况下,其性能优越;且每台服务器所连接用户的数目可扩展到相当大的数目。
    • 将 许可条款内置到协议之中,安全性得到了极大的加强。在对远程过程调用(RPC) PRCSEC_GSB 协议的支持上,本协议则建立在 ONCRPC 工作组的工作之上。另外,NFS 版本4支持客户机与服务器之间的安全对话,并要求客户机和服务器支持最简单的安全计划。
    • 支持扩展协议。本协议接受所支持协议的标准扩展,而不是打折的向后兼容。

    NFS 与 UNIX 系统息息相关,尽管它可以用于任何平台中,如 Macintosh 和 Microsoft Windows 操作系统。服务器消息块协议(SMB)和国际互联网普通文件系统(CIFS)是 NFS 的类似协议,在 Microsoft Windows 平台中,拥有着对等的网络文件系统应用。

    http://www.diybl.com/course/6_system/linux/linuxjq/2007211/17540.html

    其实就是改为mount 192.168.1.220:/mnt/nfs /mnt/nfs_t -o nolock, rsize=1024,wsize=1024,timeo=15 就能获得较快的传输速度。。。

     

    --------------============================

    http://hi.baidu.com/musickog/blog/item/9c249deab0f37133b90e2d52.html

    今天,做了一下嵌入式应用程序的实验

    在你的宿主机上交叉编译的应用程序如何在嵌入式上运行呢

    在这里我选择了用网络来挂载nfs文件系统.

    我的实验环境:

    宿主机是虚拟机centos5.4

    目标机是mini2440上的linux

    这里我用交叉网线来连接

    一,要在虚拟机安装nfs服务器

    (1)需要安装下面两个文件
    # rpm -ivh nfs-utils-1.0.1-2.9.i386.rpm portmap-4.0-54.i386.rpm
    portmap监控程序只是定向RPC通信数据流,使NFS客户机找到从NFS服务器共享的目录。

    (2)配置nfs,设置输出的共享目录

    [root@localhost mnt]# vi /etc/exports 
    这里我只是简单的设置

    /home/share *(rw,sync)

    然后,生效配置文件

    [root@localhost mnt]# exportfs -rv
    exporting *:/home/share

    起动nfs

    [root@localhost mnt]# /etc/init.d/portmap restart
    停止 portmap:                                             [确定]
    启动 portmap:                                             [确定]
    [root@localhost mnt]# /etc/init.d/nfs restart
    关闭 NFS mountd:                                          [确定]
    关闭 NFS 守护进程:                                        [确定]
    关闭 NFS quotas:                                          [确定]
    关闭 NFS 服务:                                            [确定]
    启动 NFS 服务:                                            [确定]
    关掉 NFS 配额:                                            [确定]
    启动 NFS 守护进程:                                        [确定]
    启动 NFS mountd:                                          [确定]
    [root@localhost mnt]#
     

    注意起动顺序不可乱,先起动portmap再起动nfs

    二,实现虚拟机与开发板连接

    1,设置虚拟机与本地机的网络模式为桥接

    2,开发板与本地机的连接用交叉网线

    3,设置本地机,虚拟机,开发板的网络在同一个网段中

    在这里我设置为

    本地机:10.6.173.224

    虚拟机:10.6.173.225

    开发板:10.6.173.226

    ping一下,能通,嗯,成功在向你招手

    三,从超级终端里连接开发板,然后挂载nfs文件系统:

    # mount -o nolock,rw -t nfs 10.6.173.225:/home/share /mnt/nfs

    要加参数:-o nolock(一开始,我没加,就挂载不了,老是提示超时)

    然后,上网找了一些资料:

    下面附加一篇别人的总结:
    来源:http://tensing.blog.sohu.com/77399040.htm

    1 建立NFS开发环境 
    嵌入式linux的NFS开发环境包含着两个方面:一是linux server端的NFS Server支持;二是target board的NFS Client支持。 
    1.1 linux server端 
    1.1.1 以root的身份登录,编译共享目录的配置文件exports,指定共享目录及其权限。 
    #vi /etc/exports 
    在该文件中添加: 
    /home/lqm(共享目录) 192.168.1.*(rw,sync,no_root_squash) 
    添加的内容表示允许IP范围在192.168.1.*的计算机以读写的权限来访问共享目录/home/lqm。 
    【注:参数说明如下: 
    rw---读/写权限。如果设定只读权限,则设为ro。但是一般情况下,为了方便交互,要设置为rw。 
    sync--数据同步写入内存和硬盘。 
    no_root_squash--此参数用来要求服务器允许远程系统以它自己的root特权存取该目录。就是说,如果用户是root,那么他就对这个共享目录有root的权限。很明显,该参数授予了target board很大的权利。安全性是首先要考虑的,可以采取一定的保护机制,在下面会讲一下保护机制。如果使用默认的root_squash,target board自己的根文件系统可能有很多无法写入,所以运行会受到极大的限制。在安全性有所保障的前提下,推荐使用no_root_squash参数。】
    1.1.2 起用保护机制 
    可以通过设定/etc/hosts.deny和/etc/hosts.allow文件来限制网络服务的存取权限。 
    ***/etc/hosts.deny*** 
    portmap:ALL 
    lockd:ALL 
    mountd:ALL 
    rquotad:ALL 
    statd:ALL 
    ***/etc/hosts.allow*** 
    portmap:192.168.1.100 
    lockd:192.168.1.100 
    mountd:192.168.1.100 
    rquotad:192.168.1.100 
    statd:192.168.1.100 
    同时使用这两个文件就会使得只有ip为192.168.1.100的机器使用NFS服务。你的target board的ip地址设定为192.168.1.100,这样就可以了。 
    1.1.3 启动 
    首先要启动portmapper(端口映射)服务,这是NFS本身需要的。 
    #/etc/init.d/portmap start 
    然后启动NFS Server。此时NFS会激活守护进程,然后开始监听客户端的请求。 
    #/etc/init.d/nfs start 
    NFS Server启动后,还要检查一下linux server的iptables等,确定没有屏蔽NFS使用的端口和允许通信的主机。 
    可以首先在 linux server上面进行NFS的回环测设。修改/etc/hosts.allow,把ip改为linux server的ip地址,然后在linux server上执行命令: 
    #mount -t nfs <your-server-ip>:/home/lqm /mnt 
    #ls /mnt 
    如果NFS Server正常工作,应该在/mnt下面看到共享目录/home/lqm的内容。 
    1.2 target board端的client 
    1.2.1 嵌入式linux内核应该支持NFS客户端。 
    内核配置时,选择如下: 
    File system--> Network File Systems--> 
    选中NFS System support和Provide NFSvs client support,然后保存退出,重新编译内核,将生成的zImage重新下载到target board。 
    1.2.2 在target board的linux shell下,执行下列命令来进行NFS共享目录的挂载。 
    #mkdir /mnt/nfs 
    #mount -o nolock -t nfs <your-server-ip>:/home/lqm /mnt/nfs 
    #ls /mnt/nfs 
    由于很多嵌入式设备的根文件系统中不带portmap,所以一般都使用-o nolock参数,即不使用NFS文件锁,这样就可以避免使用portmap。如果顺利,在/mnt/nfs下,就可以看到linux server的共享文件夹下的内容了,而且两个文件夹内的修改是同步的。 
    2 应用程序实例 
    编写一个简单的C程序test.c 
    ------------------------------------------- 
    /*This is a test program.*/ 
    int main(void) 

    int i; 
    for(i=0;i<10;i++) 
    printf("Hello World %d times./n",i); 
    return 0; 

    ------------------------------------------- 
    编译该程序: 
    #arm-linux-gcc -o test test.c 
    2.1 FTP方式 
    首先将test下载到target board。启动target board的linux,在超级终端中执行: 
    #cd /var 
    #ftp <your-server-ip> 
    ftp>bin                //以binary mode传输文件 
    ftp>get test 
    ftp>exit 
    然后修改文件属性: 
    #chmod +x test 
    #./test 
    这时可以查看结果了。 
    2.2 NFS方式 
    在target board端挂载linux server的共享输出目录,并且运行程序。 
    #mkdir /mnt/nfs 
    #mount -o nolock -t nfs <your-server-ip>:/home/lqm /mnt/nfs 
    #ls /mnt/nfs 
    这时应该可以显示linux server的共享目录的内容。然后执行: 
    #./test 
    3 总结 
    这两种方式在应用程序不是特别复杂时区别不是很大,但是当开发程序比较复杂时,采用NFS方式显然效率要高得多。完成应用程序得开发,调试好后就可以下载 到嵌入式目标板的flash文件系统,或者直接编译到嵌入式linux内核并且烧写到flash,从而最终成为一个独立的嵌入式应用程序。 

    +++++++++++++ 
    下面是一些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_squas:root用户具有根目录的完全管理访问权限 
    anonuid=xxx:指定NFS服务器/etc /passwd文件中匿名用户的UID 
    anongid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的GID
    展开全文
  • NFS服务器搭建与配置

    万次阅读 多人点赞 2018-10-18 14:42:40
    NFS服务简介 什么是NFSNFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 ​ NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地...

    NFS服务简介

    什么是NFS?

    NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

    ​ NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

    NFS一般用来存储共享视频,图片等静态数据。

    NFS挂载原理:

    <在这里插入图片描述

    图;服务器挂载结构图

    如上图示:

    当我们在NFS服务器设置好一个共享目录/home/public后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端/home/public的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。挂载后,NFS客户端查看磁盘信息命令:#df –h。

    既然NFS是通过网络来进行服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想对应的网络端口,NFS服务器到底使用哪个端口来进行数据传输呢?基本上NFS这个服务器的端口开在2049,但由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口;既然是随机的那么客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?这时就需要通过远程过程调用(Remote Procedure Call,RPC)协议来实现了!

    RPC与NFS通讯原理:

    ​ 因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的相关端口才能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,记客户端可以连接到正常端口上去。

    那么RPC又是如何知道每个NFS功能的端口呢?

    首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。

    注意:在启动NFS SERVER之前,首先要启动RPC服务(即portmap服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。特别注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行systemctl reload nfs或exportfs –rv即可使修改的/etc/exports生效

    NFS客户端和NFS服务器通讯过程:

    在这里插入图片描述

    图:NFS工作原理图
    1. 首先服务器端启动RPC服务,并开启111端口

    2. 服务器端启动NFS服务,并向RPC注册端口信息

    3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口

    4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。

    5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

    Linux下NFS服务器部署

    NFS服务所需软件及主要配置文件:

    安装NFS服务,需要安装两个软件,分别是:

    • RPC主程序:rpcbind

      NFS 其实可以被视为一个 RPC 服务,因为启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行! (在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)。

    • NFS主程序:nfs-utils

      就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件。

    NFS的相关文件:

    • 主要配置文件:/etc/exports
      这是 NFS 的主要配置文件了。该文件是空白的,有的系统可能不存在这个文件,主要手动建立。NFS的配置一般只在这个文件中配置即可。
    • NFS 文件系统维护指令:/usr/sbin/exportfs
      这个是维护 NFS 分享资源的指令,可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸除或重新分享。
    • 分享资源的登录档:/var/lib/nfs/*tab
      在 NFS 服务器的登录文件都放置到 /var/lib/nfs/ 目录里面,在该目录下有两个比较重要的登录档, 一个是 etab ,主要记录了 NFS 所分享出来的目录的完整权限设定值;另一个 xtab 则记录曾经链接到此 NFS 服务器的相关客户端数据。
    • 客户端查询服务器分享资源的指令:/usr/sbin/showmount
      这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。showmount 可以用来察看 NFS 分享出来的目录资源。

    服务端安装NFS服务步骤:

    第一步:安装NFS和rpc。

    [root@localhost ~]# yum install -y  nfs-utils   
    #安装nfs服务
    [root@localhost ~]# yum install -y rpcbind
    #安装rpc服务
    

    第二步:启动服务和设置开启启动:

    注意:先启动rpc服务,再启动nfs服务。

    [root@localhost ~]# systemctl start rpcbind    #先启动rpc服务
    [root@localhost ~]# systemctl enable rpcbind   #设置开机启动
    [root@localhost ~]# systemctl start nfs-server nfs-secure-server      
    #启动nfs服务和nfs安全传输服务
    [root@localhost ~]# systemctl enable nfs-server nfs-secure-server
    [root@localhost /]# firewall-cmd --permanent --add-service=nfs
    success   #配置防火墙放行nfs服务
    [root@localhost /]# firewall-cmd  --reload 
    success
    

    第三步:配置共享文件目录,编辑配置文件:

    首先创建共享目录,然后在/etc/exports配置文件中编辑配置即可。

    [root@localhost /]# mkdir /public
    #创建public共享目录
    [root@localhost /]# vi /etc/exports
    	/public 192.168.245.0/24(ro)
    	/protected 192.168.245.0/24(rw)
    [root@localhost /]# systemctl reload nfs 
    #重新加载NFS服务,使配置文件生效
    

    配置文件说明:

    格式: 共享目录的路径 允许访问的NFS客户端(共享权限参数)

    如上,共享目录为/public , 允许访问的客户端为192.168.245.0/24网络用户,权限为只读。

    请注意,NFS客户端地址与权限之间没有空格。

    NFS输出保护需要用到kerberos加密(none,sys,krb5,krb5i,krb5p),格式sec=XXX

    none:以匿名身份访问,如果要允许写操作,要映射到nfsnobody用户,同时布尔值开关要打开,setsebool nfsd_anon_write 1

    sys:文件的访问是基于标准的文件访问,如果没有指定,默认就是sys, 信任任何发送过来用户名

    krb5:客户端必须提供标识,客户端的表示也必须是krb5,基于域环境的认证

    krb5i:在krb5的基础上做了加密的操作,对用户的密码做了加密,但是传输的数据没有加密

    krb5p:所有的数据都加密

    用于配置NFS服务程序配置文件的参数:

    参数 作用
    ro 只读
    rw 读写
    root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
    no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
    all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
    sync 同时将数据写入到内存与硬盘中,保证不丢失数据
    async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

    NFS客户端挂载配置:

    **第一步:**使用showmount命令查看nfs服务器共享信息。输出格式为“共享的目录名称 允许使用客户端地址”。

    [root@localhost ~]# showmount -e 192.168.245.128      
    Export list for 192.168.245.128:
    /protected 192.168.245.0/24
    /public    192.168.245.0/24
    

    showmount命令的用法;

    参数 作用
    -e 显示NFS服务器的共享列表
    -a 显示本机挂载的文件资源的情况NFS资源的情况
    -v 显示版本号

    **第二步,**在客户端创建目录,并挂载共享目录。

    [root@localhost ~]# mkdir /mnt/public
    [root@localhost ~]# mkdir /mnt/data
    [root@localhost ~]# vim /etc/fstab 
    #在该文件中挂载,使系统每次启动时都能自动挂载
    	192.168.245.128:/public  /mnt/public       nfs    defaults 0 0
    	192.168.245.128:/protected /mnt/data     nfs    defaults  0 1
    [root@localhost ~]# mount -a   #是文件/etc/fstab生效
    

    第三步:检查:

    [root@mail ~]# df -Th
    Filesystem                 Type      Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root      xfs        17G  3.1G   14G  18% /
    devtmpfs                   devtmpfs  1.4G     0  1.4G   0% /dev
    tmpfs                      tmpfs     1.4G  140K  1.4G   1% /dev/shm
    tmpfs                      tmpfs     1.4G  9.1M  1.4G   1% /run
    tmpfs                      tmpfs     1.4G     0  1.4G   0% /sys/fs/cgroup
    /dev/sda1                  xfs      1014M  173M  842M  18% /boot
    tmpfs                      tmpfs     280M   32K  280M   1% /run/user/0
    /dev/sr0                   iso9660   3.6G  3.6G     0 100% /mnt/cdrom
    192.168.245.128:/public    nfs4       17G  3.7G   14G  22% /mnt/public
    192.168.245.128:/protected nfs4       17G  3.7G   14G  22% /mnt/data
    

    在Window上挂载NFS

    第一步:在控制面板–>添加程序和功能–>添加NFS组件。
    在这里插入图片描述

    第二步:在此电脑,映射驱动器中添加nfs地址,和要共享的文件夹。

    在这里插入图片描述

    第三步:如果权限有问题,打开注册表:regedit, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default 下新建两个OWORD(64)位值,添加值AnonymousGid,值默认为0,AnonymousUid,值默认为0。

    展开全文
  • NFS笔记

    万次阅读 2020-09-04 09:24:49
    【1】Linux搭建NFS服务 【1】Linux搭建NFS服务 参考链接 linux下搭建NFS NFS服务端搭建步骤 #安装,NFS只需要安装两个软件(安装后会创建nfsnobody用户和组): yum install rpcbind nfs-utils #rpcbind:centos ...

    【1】Linux搭建NFS服务


    【1】Linux搭建NFS服务
    参考链接
    linux下搭建NFS

    • NFS服务端搭建步骤
    #安装,NFS只需要安装两个软件(安装后会创建nfsnobody用户和组):
        yum install rpcbind nfs-utils
            #rpcbind:centos 下面RPC主程序
            #nfs-utils:NFS服务主程序,包括NFS的基本命令和监控程序
        rpm -qa nfs-utils rpcbind #查看安装的软件
    #启动RPC服务和NFS服务(必须先启动RPC服务,然后再启动NFS服务)
        systemctl start rpcbind
        systemctl start nfs
    #设置开机自启动
        systemctl enable rpcbind
        systemctl enable nfs
        systemctl list-unit-files --type=service|grep "enabled"|egrep "rpcbind|nfs" #检查设置
    #创建共享目录
        mkdir /nfsdata 
        chown -R nfsnobody.nfsnobody /nfsdata
        ls -ld /nfsdata
    #配置共享目录
        vim /etc/exports
            #NFS server share directories
            /nfsdata *(insecure,rw,no_root_squash)
    #平滑重启NFS服务并检查服务
        systemctl reload nfs
        cat /var/lib/nfs/etab
    #本地查看挂载目录
        showmount -e 122.51.16.161
    #查看日志
        cat /var/log/messages |grep nfs #RedHat发行版NFS服务的日志文件
    
    • NFS客户端搭建步骤
    #安装NFS和RPC服务并检查
        yum install nfs-utils rpcbind -y
        rpm -qa nfs-utils rpcbind
    #启动RPC服务(不需要启动NFS服务,原因是不安装NFS服务的话没有showmount这个命令)
        systemctl start rpcbind 
        ps -ef|grep rpc
    #设置开机自启动并检查
        systemctl enable rpcbind
        systemctl list-unit-files --type=service|grep "enabled"|grep "rpcbind"
    #检查服务端的NFS挂载目录是否OK
        showmount -e 122.51.16.161
    #挂载设置开机自动挂载
        mount -t nfs 122.51.16.161:/nfsdata /mnt-nfs
        echo "mount -t nfs 122.51.16.161:/nfsdata /mnt-nfs">>/etc/rc.local
        #提示:也可以放入/etc/fstab,如果要放入/etc/fstab,需启用netfs服务。这是因为fstab会优先于网络被Linux系统加载。网络没启动时执行fstab会导致连不上NFS服务器端,无法实现开机自动挂载。
    #查看是否挂载成功
        df -h
    
    • 配置说明
    #/etc/exports文件
        #用户可以把需要共享的文件系统直接编辑到/etc/exports文件中,这样当NFS服务器重新启动时系统就会自动读取/etc/exports 文件,从而告诉内核要输出的文件系统和相关的存取权限。
        #每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:[共享的目录] [主机名或IP(参数,参数)]
        #其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是 sync,ro,root_squash,no_delay。
        #当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
        #当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]
    #/etc/sysconfig/nfs文件
        #nfs除了主程序端口2049和rpcbind的端口111是固定以外,还会使用一些随机端口,以下配置将定义这些端口,以便配置防火墙
        # vim /etc/sysconfig/nfs 追加端口配置:
            MOUNTD_PORT=4001  
            STATD_PORT=4002
            LOCKD_TCPPORT=4003
            LOCKD_UDPPORT=4003
            RQUOTAD_PORT=4004
    #NFS权限说明
        1、普通用户
        当设置all_squash时:访客时一律被映射为匿名用户(nfsnobody)
        当设置no_all_squash时:访客被映射为服务器上相同uid的用户,因此在客户端应建立与服务端uid一致的用户,否则也映射为nfsnobody。root除外,因为root_suqash为默认选项,除非指定了no_root_squash
        2、root用户
        当设置root_squash时:访客以root用户访问NFS服务端时,被映射为nfsnobody用户
        当设置no_root_squash时:访客以root用户访问NFS服务端时,被映射为root用户。以其他用户访问时同样映射为对应uid的用户,因为no_all_squash是默认选项
    #不同网段连接配置
        #修改配置文件/etc/export,然后重启nfs服务即可。
        /nfsdata    *(insecure,rw,no_root_squash) #insecure:允许客户端从大于1024的端口发送链接
    
    展开全文
  • NFS挂载的2种方式

    万次阅读 多人点赞 2017-03-29 17:19:49
    于是韦老师介绍了两种方式:1 仅用flash上的根文件系统启动后,手工MOUNT NFS使用NFS作为根文件系统来启动视频中只介绍了开发板这端uboot参数的设置,并未介绍Ubuntu端 NFS服务器的设置,这就导致很多学员学习时遇到...
  • 一.NFS定义 网络文件系统(NFS)是linux系统和网络附加存储文件管理器常用的网络文件系统,允许多个客户端通过共享文件访问,它可以用于提供对共享二进制目录的访问,也可以用于允许用户在统一工作组中从不同客户端...
  • Linux NFS

    千次阅读 2017-06-27 19:46:42
    NFS服务器设置及mount命令挂载 转自:http://blog.csdn.NET/kevinhg/article/details/5967432 一、NFS服务器的设定 NFS服务器的设定可以通过/etc/exports这个文件进行,设定格式如下: 分享...
  • 1、NFS介绍NFS服务全称是NetWork File System:网络文件系统,最早有sun公司开发的,4.0版本由Netapp公司开发,是基于RPC远程过程调用(Remote Procedure Call)协议的服务应用场景:A,B,C三台机器上需要被访问到的...
  • Linux通过NFS实现文件共享

    万次阅读 2019-06-26 19:48:38
    在项目生产环境我们经常需要实现文件共享,传统的常见方案是通过NFS,实现服务器之间共享某一块磁盘,通过网络传输将分散的文件集中存储在一块指定的共享磁盘,实现基本的文件共享。实现这种方案,分服务端和客户端...
  • NFS介绍

    2018-01-03 01:24:00
    NFS介绍
  • NFS服务

    千次阅读 2019-01-27 22:58:26
    NFS服务 一、NFS工作原理 1、什么是NFSNFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录...
  • Nfs远程

    2018-10-18 10:22:04
    Nfs远程挂载 关闭沙盒系统和防火墙 安装rpcbind,nfs服务 检测rpcbind,nfs在各个系统运行级上的开启状态,并在当前运行级开启nfs服务 在/etc/export编辑nfs服务的共享权限,并使该文件立即生效 创建共享目录,...
  • nfs性能优化

    千次阅读 2020-02-04 19:19:28
    在Linux系统中,NFS客户端对于同时发起的NFS请求数量进行了控制,默认编译的内核中此参数值为2,严重影响性能。 1、安装NFS客户端 yum install nfs-utils 2、执行以下命令,将同时发起的NFS请求数量修改为128。 ...
  • 网络文件系统(NFS)是一种使用广泛的分布式文件系统,可从远程客户端在服务器上执行文件操作。 服务器使用称为export的操作将其目录或文件系统提供给世界其他地方。 要访问这些目录,客户端mount导出的目录或文件...
  • 一、NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure ...
  • Nfs固定端口 nfs 端口公网映射

    千次阅读 2019-10-03 23:41:08
    Nfs固定端口 nfs 端口公网映射 posted on 2019-09-25 15:46秦瑞It行程实录 阅读(...) 评论(...) 编辑 ...
  • 一、什么是NFSNFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS...
  • win10 挂载NFS(网络文件夹)

    万次阅读 2018-08-23 10:29:49
    启用或关闭 Windows 功能,找到NFS服务打开子目录勾选NFS客户端与管理工具。 NFS客户端:通过界面操作挂在NFS 管理工具:通过命令行挂在NFS 查看远程电脑NFS共享的目录 showmount -e 远程电脑的IP 完整...
  • 基于NFS v4版本搭建NFS服务器1资源规划作用IP版本NFS服务端192.168.78.1Centos6.5 64位NFS客户端192.168.78.2Centos6.5 64位2 NFS服务端安装配置2.1 安装rpm包yum install nfs-utils nfs-utils-lib nfs4-acl-tools ...
  • NFS协议

    2019-08-13 15:59:21
    NFS文件系统 NFS(Network File System,网络文件系统)最初由SUN公司于20世纪80年代设计,一种典型的基于网络的文件系统。它提供了在网络内各个设备对于共享文件操作的方式,如某一FAT文件系统物理上是存放在其他...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,187
精华内容 18,474
关键字:

nfs