翼度科技»论坛 云主机 LINUX 查看内容

NFS远程挂载

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
NFS远程挂载

一、概述

NFS是一种基于TCP/IP 传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NAS存储: NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
在Centos 7系统中,需要安装nfs-utils、 rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
手动加载NFS共享服务时,应该先启动rpcbind, 再启动nfs。
nfs端口:2049
RPC端口:111
2.特点
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
二、nfs远程挂载实验

先准备两台虚拟机 一台当作服务端 另一台则是客户端

  • 在服务端上安装nfs-utils rpcbind软件包
    1. yum install nfs-utils rpcbind -y
    复制代码
  • 创建测试文件夹用作客户端可访问的文件夹
    1. mkdir /nfstest
    复制代码
  • 开启rpcbind服务和nfs服务
    1. systemctl start rpcbind
    2. systemctl start nfs
    复制代码
  • 在/nfstest 目录下创建两个文件
    1. touch /nfstest/只因你太美.txt
    2. touch /nfstest/鸡你太美.txt
    复制代码
  • 修改nfstest文件权限 修改属主和属组
    1. chmod -R 777 /nfstest/
    2. chown -R nfsnobody.nfsnobody /nfstest/
    复制代码
  • 修改配置文件 写入/nfstest *(insecure,rw,sync) 即可
    文件目录 目标IP/端口(rw,sync,all_squash,anonuid=1000,anongid=1000)。
    它主要分三部分,第一部分为共享出去的目录,第二部分为允许访问的ip,可以是一个IP,也可以是IP段,第三部分为小括号中的权限选项。
    rw        允许读写
    ro        只读
    sync        同步写入
    async        先写入缓冲区,必要时才写入磁盘,速度快,但会丢数据
    subtree_check        若输出一个子目录,则nfs服务将检查其父目录权限
    no_subtree_check        若输出一个字目录,不检查父目录,提高效率
    no_root_squash        客户端以root登录时,赋予其本地root权限
    oot_squash        客户端以root登录时,将其映射为匿名用户
    all_squash        将所有用户映射为匿名用户
    1. vim /etc/exports
    2. /nfstest *(insecure,rw,sync)
    3. `这里*设置全部地址都可,也可改为具体的ip地址`
    复制代码
  • 准备客户端同样安装软件 启动服务
    1. yum install nfs-utils rpcbind -ysystemctl start rpcbind
    2. systemctl start nfs
    复制代码
  • 查看服务端挂载情况 showmount -e ip
    1. showmount -e x.x.x.x
    2. 显示如下:
    3. Export list for x.x.x.x:
    4. /nfstest *
    复制代码
  • 把服务端的测试文件/nfstest文件挂载到客户端的client_nfs文件上 再次说明x.x.x.x为你的ip地址
    1. 这里我先创建被挂载的文件client_nfs
    2. mkdir /client_nfs
    3. mount挂载
    4. mount -t nfs x.x.x.x:/nfstest/ /client_nfs/
    复制代码
  • ls 查看/client_nfs文件
    1. ls /client_nfs/
    2. 鸡你太美.txt  只因你太美.txt
    复制代码
注意:


  • ​        因为以及设置了rw 可读写 权限 即可以在/client_nfs文件下创建文件 在服务端机器/nfstest文件下 也能看到所创建的文件

    • 如果想取消挂载 umount 命令即可 注意不要在client_nfs目录下使用
      1. umount /client_nfs
      复制代码

  • 因为你挂载了服务端的文件,那么当你取消挂载,然后在客户端原先的client_nfs文件下创建文件,再进行挂载操作后,查看文件就会再显示,读取的都是挂载文件/nfstest的文件。
  • 开机自动挂载
    配置开机挂载服务,每次开机都能用nfs

    • 把挂载命令写入到 开机启动挂载文件中
      1. vim /etc/fstab
      2. 在下面添加
      3. x.x.x.x:/nfstest /client_nfs nfs defaults 0 0
      复制代码
    autofs自动挂载服务
    如果开机就强制挂载很多内容,但是又不经常使用,会给服务器造成很大压力
    因此一些具有动态特性的文件系统,可以选择进行动态挂载。比如:光盘、软盘、U盘、移动硬盘、NFS、SMB等文件系统
    autofs特点
    autofs和mount命令的不同点在于
    autofs是一个守护进程,它会在后台检测用户是否要访问某一个还未挂载的文件系统,autofs会自动检测该文件系统是否存在,如果存在则进行挂载,如果用户过一段时间没有使用该文件系统,autofs自动将其卸载,节省人力维护成本,以及节省服务器资源
    缺点:
    autofs特点是,当用户请求时候才挂载文件系统,如果是高并发的业务场景,大量的用户并发访问文件系统,autofs突然进行大量的挂载,会给服务器造成很大压力,因此在一些高并发场景下,宁愿保持持续挂载,也不用autofs

    • 安装autofs
      1. yum install autofs -y
      复制代码
    • 编辑 /etc/auto.master
      1. /misc   /etc/auto.misc //在这一行下面添加如下语句 (第七行)
      2. /- /etc/auto.home
      复制代码
    • 编辑/etc/auto.home文件
      1. /client_nfs  -rw,soft,intr x.x.x.x:/nfstest
      复制代码
    • 启动autofs
      1. systemctl start autofs
      复制代码
    • 检查/client_nfs文件是否挂载了 如果挂载了可以umount取消挂载
      1. [root@localhost ~]# df -h
      2. 文件系统                容量  已用  可用 已用% 挂载点
      3. devtmpfs                476M     0  476M    0% /dev
      4. tmpfs                   487M     0  487M    0% /dev/shm
      5. tmpfs                   487M  7.7M  479M    2% /run
      6. tmpfs                   487M     0  487M    0% /sys/fs/cgroup
      7. /dev/sda2                19G  1.9G   18G   10% /
      8. /dev/sda1              1014M  132M  883M   13% /boot
      9. tmpfs                    98M     0   98M    0% /run/user/0
      复制代码
    • 查看/client_nfs文件 会自动挂载并显示/nfstest文件中的内容
      1. [root@localhost ~]# ls /client_nfs/
      2. 鸡你太美.txt  只因你太美.txt
      复制代码
    • 再次查看挂载情况
      1. [root@localhost ~]# df -h
      2. 文件系统                容量  已用  可用 已用% 挂载点
      3. devtmpfs                476M     0  476M    0% /dev
      4. tmpfs                   487M     0  487M    0% /dev/shm
      5. tmpfs                   487M  7.7M  479M    2% /run
      6. tmpfs                   487M     0  487M    0% /sys/fs/cgroup
      7. /dev/sda2                19G  1.9G   18G   10% /
      8. /dev/sda1              1014M  132M  883M   13% /boot
      9. tmpfs                    98M     0   98M    0% /run/user/0x.x.x.x:/nfstest   19G  2.9G   17G   15% /client_nfs
      复制代码
    • 当一段时间不操作,之后autofs会自动卸载该设备



来源:https://www.cnblogs.com/xuxuxuxuxu/p/17475860.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具