zoukankan      html  css  js  c++  java
  • ubuntu18.04搭建NFS服务器

    系统环境:

    NFS服务器操作系统: ubuntu18.04 server lts

    NFS服务器IP:  192.168.1.164

    注: NFS服务器 指的是 待安装 NFS服务 的机器(物理机或者虚拟机)

    步骤如下:

    1. 先更新

    sudo apt update

    2. 安装 NFS服务 (此时该服务已设置开机自启动)

    sudo apt install nfs-server

    3.修改配置文件, 添加nfs-server上用于共享的目录,并设置允许访问该目录的客户机IP,及其读写权限.我这里为了配置简单使用的是 【3.1】的方式

    3.1 在NFS服务器上 创建根目录 /nfsroot 用于共享 , 该目录的读写权限 共享给所有连接到该服务器的 NFS客户端

    cd /
    sudo mkdir nfs-server
    sudo chmod +rw -R nfs-server
    echo "/nfsroot *(rw,sync,no_root_squash)">>/etc/exports

    3.2 在NFS服务器上 创建 根目录 /nfsdata/client1  用于共享, 该目录的读写权限共享给客户端 192.168.1.164 (该客户端主要用来写业务日志或者服务运行状态日志等)

    sudo mkdir /nfsdata
    sudo mkdir /nfsdata/www_logs
    sudo chmod +rw -R /nfsdata/www_logs
    echo "/nfsdata/www_logs 192.168.1.164(rw,sync,no_root_squash)">>/etc/exports

    3.3 NFS服务器上的目录 /nfsdata/www_logs 读权限共享给客户端 192.168.1.201 (该客户端用来做日志分析, 异常校验,服务崩溃日志查询等)

    echo "/nfsdata/www_logs 192.168.1.201(ro,sync,no_root_squash)">>/etc/exports

    4. 重启NFS服务

    sudo service nfs-server restart

    5. 至此 NFS 服务端搭建完毕.

    6. NFS客户端(这里和Server操作系统一致)安装

    sudo apt-get install nfs-common

    7. NFS客户端挂载测试。(将NFS服务器的目录 /nfsroot 挂载到 客户端目录 /mnt/nfsroot, 此时服务端 /nfsroot目录和 该客户端 /mnt/nfsroot 目录同步

    mount -t nfs 192.168.1.164:/nfsroot /mnt/nfsroot

    附:

    (1)关于【步骤3】中的配置说明, 以  /nfsroot *(rw,sync,no_root_squash)  为例

    第一项:/nfsroot

      指在NFS服务器上被用来共享的目录, 该目录会和客户端的某个目录同步

    第二项: *

      这个 * 和【3.2】后面的 192.168.1.164 指的是要绑定到 该目录(第一项中指定的)的客户端 IP。若设置为 * 则表示允许任何NFS客户端绑定到该目录; 设置为192.168.1.164 表示仅允许IP 为 192.168.1.164的客户端绑定该目录

      

    特定ip地址的主机:192.168.1.164
    特定子网中的所有主机:192.168.1.0/24192.168.1.0/255.255.255.0
    特定域名的主机:nfs.rurjs.com
    特定域中的所有主机:*.rurjs.com
    所有主机:*

    第三项: rw

      这里表示客户端对该共享目录的权限,

    ro:共享目录只读;
    rw:共享目录可读可写;

    第四项: sync

    sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
    async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

    第五项: no_root_squash

    all_squash:所有访问用户都映射为匿名用户或用户组;
    no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
    root_squash(默认):将来访的root用户映射为匿名用户或用户组;
    no_root_squash:来访的root用户保持root帐号权限;
    subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
    no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

    其他可用项:

    anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
    anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
    secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
    insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
    wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
    no_wdelay:若有写操作则立即执行,应与sync配合使用;
  • 相关阅读:
    [JavaScript-PHP]无刷新Ajax+POST使用阿里云短信平台发送短信
    [PHP]开源php拼音库的使用方法
    redis远程连接不上解决办法
    ServiceStack.Redis连接阿里云redis服务时使用连接池出现的(密码验证)问题
    .Net使用Redis详解之ServiceStack.Redis
    Windows下Redis的使用
    axios文件流下载(excel文件)
    生成线上用https证书,支持通配符和多域名,初学Let's Encrypt用于IIS,纯本地手动
    什么是TXT记录?如何设置、检测TXT记录
    v-cloak 的用法
  • 原文地址:https://www.cnblogs.com/tu13/p/ubuntu_nfs.html
Copyright © 2011-2022 走看看