美文网首页
CentOS 7下NFS 服务器和客户端安装

CentOS 7下NFS 服务器和客户端安装

作者: Nick_4438 | 来源:发表于2018-10-16 08:00 被阅读0次

    参考原文,这里对原文做了一些简化,把安装过程整合成了一个shell脚本。

    本文介绍如何在centos7上安装NFS,nfs是一个流行的分布式文件协议,它可以允许用户挂载远程目录到客户端目录上.本文介绍如何在centos7上安装NFS服务,以及客户端,并且在客户端上挂载服务器目录。

    准备工作

    本文安装了2个centos7系统;

    ip地址 作用
    192.168.3.100 nfs服务器
    192.168.3.101 nfs客户端

    NFS 服务端

    #!/bin/bash
    # 参数
    export server_ip='192.168.3.100'
    export clinent_ip='192.168.3.101'
    export path_nfs="/var/nfsshare"
    # 安装相关文件
    yum install -y nfs-utils
    mkdir -p ${path_nfs}
    chmod -R 755 ${path_nfs}
    chown nfsnobody:nfsnobody ${path_nfs}
    # 设置开机启动
    systemctl enable rpcbind
    systemctl enable nfs-server
    systemctl enable nfs-lock
    systemctl enable nfs-idmap
    systemctl start rpcbind
    systemctl start nfs-server
    systemctl start nfs-lock
    systemctl start nfs-idmap
    # 配置客户端
    cat >/etc/exports <<EOF
    /var/nfsshare    ${clinent_ip}(rw,sync,no_root_squash,no_all_squash)
    # /home            ${clinent_ip}(rw,sync,no_root_squash,no_all_squash)
    EOF
    # 重启,配置防火墙
    systemctl restart nfs-server
    firewall-cmd --permanent --zone=public --add-service=nfs
    firewall-cmd --permanent --zone=public --add-service=mountd
    firewall-cmd --permanent --zone=public --add-service=rpc-bind
    firewall-cmd --reload
    

    NFS 客户端

    #!/bin/bash
    # 参数
    export server_ip='192.168.3.100'
    export path_nfs="/var/nfsshare"
    # 安装工具
    yum install -y nfs-utils
    # 挂载
    # mkdir -p /mnt/nfs/home
    mkdir -p /mnt/nfs${path_nfs}
    # mount -t nfs ${server_ip}:/home /mnt/nfs/home/
    mount -t nfs ${server_ip}:/var/nfsshare /mnt/nfs${path_nfs}
    
    # 添加开机启动
    cat >/etc/fstab <<EOF
    /var/nfsshare    ${server_ip}(rw,sync,no_root_squash,no_all_squash)
    # /home            ${server_ip}(rw,sync,no_root_squash,no_all_squash)
    EOF
    

    结语

    • 客户端上查看挂载情况:
    [root@localhost nfsshare]# df -kh 
    文件系统                     容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root       17G  1.1G   16G    7% /
    devtmpfs                     910M     0  910M    0% /dev
    tmpfs                        920M     0  920M    0% /dev/shm
    tmpfs                        920M  8.4M  912M    1% /run
    tmpfs                        920M     0  920M    0% /sys/fs/cgroup
    /dev/sda1                   1014M  142M  873M   14% /boot
    192.168.3.100:/var/nfsshare   17G  1.1G   16G    7% /mnt/nfs/var/nfsshare
    tmpfs                        184M     0  184M    0% /run/user/0
    
    • 我们可以测试在客户端/mnt/nfs/var/nfsshare目录下新建,修改文件,在服务器也能够同步出现该文件。

    • /etc/exports语法

    #:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。  
    /home/work 192.168.3.*(rw,sync,root_squash)  
    /home  192.168.3.120 (rw,sync)  
    /public  * (rw,sync)  
      
    配置文件每行分为两段:第一段为共享的目录,使用绝对路径,第二段为客户端地址及权限。  
    地址可以使用完整IP或网段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符,例如:*.chengyongxu.com  
      
    权限有:  
    rw:read-write,可读写;    注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7  
    ro:read-only,只读;  
    sync:文件同时写入硬盘和内存;  
    async:文件暂存于内存,而不是直接写入内存;  
    no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。  
    root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;  
    all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;  
    anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;  
    anongid:匿名用户的GID值。 
    
    • 卸妆目录
     umount -l 192.168.3.93:/var/nfsshare
    

    相关文章

      网友评论

          本文标题:CentOS 7下NFS 服务器和客户端安装

          本文链接:https://www.haomeiwen.com/subject/bjoqzftx.html