zoukankan      html  css  js  c++  java
  • nfs

    nfs实现linux文件共享

    1.环境

    系统:centos6.8

    服务端:192.168.6.30

    客户端:192.168.6.38

    2.关闭selinux和iptables

    3.服务端下载nfs

    [root@centos68 ~]# yum install rpcbind nfs-utils

    4.配置nfs文件

    [root@centos68 ~]# vim /etc/exports

    /todd 192.168.6.0/24(rw,all_squash)    //#1

    5.创造共享文件夹

    [root@centos68 ~]# mkdir /todd

    6.更改目录属主

    [root@centos68 ~]# chown nfsnobody:nfsnobody /todd    //#2

    7.启动服务

    [root@centos68 ~]# service rpcbind start

    [root@centos68 ~]# service nfs start

    8.客户端配置

    下载nfs,可使用showmount查看共享

    [root@centos68 ~]# yum install nfs-utils -y

    9.挂载共享目录

    [root@centos68 ~]# mkdir /toddtodd

    [root@centos68 ~]# showmount -e 192.168.6.30

    Export list for 192.168.6.30:
    /todd 192.168.6.0/24

    [root@centos68 ~]# mount -t nfs 192.168.6.30:/todd /toddtodd

    10.写入测试

    客户端写入文件

    [root@centos68 ~]# echo "this is toddtodd" > /toddtodd/nfss.txt

    [root@centos68 ~]# cd /toddtodd/

    [root@mb68init toddtodd]# ll
    total 12
    drwx------ 2 nobody nobody 4096 Oct 16 15:31 ftp
    -rw-r--r-- 1 nfsnobody nfsnobody 17 Oct 16 15:40 nfss.txt

    [root@mb68init toddtodd]# cat nfss.txt
    this is toddtodd

    服务端写入(/todd),客户端一样看得到

    ###############################################################

    注解

    配置说明:
    rw:可读写的权限;
    ro: 只读的权限;
    no_root_squash:客户机用root访问nfs共享文件夹时,保持root权限,root_squash 是把root映射成nobody,no_all_squash 不让所有用户保持在挂载目录中的权限。
    sync: 资料同步写入存储器中。
    async:资料会先暂时存放在内存中,不会直接写入硬盘。

    其中:
    客户端常用的指定方式
       指定ip地址的主机:192.168.6.38,如果是一个目录共享给多台客户机,那么就配置多行
       指定子网中的所有主机:192.168.0.0/24
       指定域名的主机:a.todd.com
       指定域中的所有主机:*.todd.com
       所有主机:*

    访问权限选项
       设置输出目录只读:ro
       设置输出目录读写:rw

    用户映射选项
       all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组,通常也就是nobody(nfsnobody);
       no_all_squash:与all_squash取反(默认设置);
       root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
       no_root_squash:与rootsquash取反;
       anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);比如(rw,sync,all_squash,anonuid=65534,anongid=65534)
       anongid=xxx:将远程访问的所有用户组都映射为匿名用 户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

    其它选项
       secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
       insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
       sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
       async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
       wdelay:检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);
       no_wdelay:若有写操作则立即执行,应与sync配合使用;
       subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
       no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

    可以使用showmount命令查看远程客户机上的共享目录情况,这个命令需要root权限。
    它有三个选项,记住这三个选项代表的含义:
    showmount –a IP  :显示指定NFS服务器的客户端以及服务器端在客户端的挂载点
    showmount –d IP  :显示指定NFS服务器在客户端的挂载点
    showmount –e IP  :显示指定NFS服务器上的共享目录列表(或者叫输出列表)

  • 相关阅读:
    spring autoWire注解
    spring利用注解来注册bean到容器
    spring的两种属性注入方式setter注入和构造器注入或者自动注入
    嵌套对象
    Effective C++:规定12:不要忘了复制的对象时,它的每一个组成部分
    eclipse如何查看类之间的引用关系
    JavaScript权威指南科20章 client记忆
    IDL 自己定义功能
    2015学校的书面总结招募书面采访蓝汛通信算法
    用百度API实现热(WIFI)、GPS、基站定位
  • 原文地址:https://www.cnblogs.com/shiina-ringo/p/9798677.html
Copyright © 2011-2022 走看看