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远程挂载实验

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

  1. 在服务端上安装nfs-utils rpcbind软件包

    yum install nfs-utils rpcbind -y
  2. 创建测试文件夹用作客户端可访问的文件夹

    mkdir /nfstest
  3. 开启rpcbind服务和nfs服务

    systemctl start rpcbind
    systemctl start nfs
  4. 在/nfstest 目录下创建两个文件

    touch /nfstest/只因你太美.txt
    touch /nfstest/鸡你太美.txt
  5. 修改nfstest文件权限 修改属主和属组

    chmod -R 777 /nfstest/
    chown -R nfsnobody.nfsnobody /nfstest/
  6. 修改配置文件 写入/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 将所有用户映射为匿名用户

    vim /etc/exports
    
    /nfstest *(insecure,rw,sync)
    `这里*设置全部地址都可,也可改为具体的ip地址`
  7. 准备客户端同样安装软件 启动服务

    yum install nfs-utils rpcbind -y
    
    systemctl start rpcbind
    systemctl start nfs
  8. 查看服务端挂载情况 showmount -e ip

    showmount -e x.x.x.x
    
    显示如下:
    Export list for x.x.x.x:
    /nfstest *
  9. 把服务端的测试文件/nfstest文件挂载到客户端的client_nfs文件上 再次说明x.x.x.x为你的ip地址

    这里我先创建被挂载的文件client_nfs
    mkdir /client_nfs mount挂载
    mount -t nfs x.x.x.x:/nfstest/ /client_nfs/
  10. ls 查看/client_nfs文件

    ls /client_nfs/
    鸡你太美.txt 只因你太美.txt

注意:

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

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

      umount /client_nfs
  2. 因为你挂载了服务端的文件,那么当你取消挂载,然后在客户端原先的client_nfs文件下创建文件,再进行挂载操作后,查看文件就会再显示,读取的都是挂载文件/nfstest的文件。

  3. 开机自动挂载

    配置开机挂载服务,每次开机都能用nfs

    1. 把挂载命令写入到 开机启动挂载文件中

      vim /etc/fstab
      
      在下面添加
      x.x.x.x:/nfstest /client_nfs nfs defaults 0 0

    autofs自动挂载服务

    如果开机就强制挂载很多内容,但是又不经常使用,会给服务器造成很大压力

    因此一些具有动态特性的文件系统,可以选择进行动态挂载。比如:光盘、软盘、U盘、移动硬盘、NFS、SMB等文件系统

    autofs特点

    autofs和mount命令的不同点在于

    autofs是一个守护进程,它会在后台检测用户是否要访问某一个还未挂载的文件系统,autofs会自动检测该文件系统是否存在,如果存在则进行挂载,如果用户过一段时间没有使用该文件系统,autofs自动将其卸载,节省人力维护成本,以及节省服务器资源

    缺点:

    autofs特点是,当用户请求时候才挂载文件系统,如果是高并发的业务场景,大量的用户并发访问文件系统,autofs突然进行大量的挂载,会给服务器造成很大压力,因此在一些高并发场景下,宁愿保持持续挂载,也不用autofs

    1. 安装autofs

      yum install autofs -y
    2. 编辑 /etc/auto.master

      /misc   /etc/auto.misc //在这一行下面添加如下语句 (第七行)
      /- /etc/auto.home
    3. 编辑/etc/auto.home文件

      /client_nfs  -rw,soft,intr x.x.x.x:/nfstest
    4. 启动autofs

      systemctl start autofs
    5. 检查/client_nfs文件是否挂载了 如果挂载了可以umount取消挂载

      [root@localhost ~]# df -h
      文件系统 容量 已用 可用 已用% 挂载点
      devtmpfs 476M 0 476M 0% /dev
      tmpfs 487M 0 487M 0% /dev/shm
      tmpfs 487M 7.7M 479M 2% /run
      tmpfs 487M 0 487M 0% /sys/fs/cgroup
      /dev/sda2 19G 1.9G 18G 10% /
      /dev/sda1 1014M 132M 883M 13% /boot
      tmpfs 98M 0 98M 0% /run/user/0
    6. 查看/client_nfs文件 会自动挂载并显示/nfstest文件中的内容

      [root@localhost ~]# ls /client_nfs/
      鸡你太美.txt 只因你太美.txt
    7. 再次查看挂载情况

      [root@localhost ~]# df -h
      文件系统 容量 已用 可用 已用% 挂载点
      devtmpfs 476M 0 476M 0% /dev
      tmpfs 487M 0 487M 0% /dev/shm
      tmpfs 487M 7.7M 479M 2% /run
      tmpfs 487M 0 487M 0% /sys/fs/cgroup
      /dev/sda2 19G 1.9G 18G 10% /
      /dev/sda1 1014M 132M 883M 13% /boot
      tmpfs 98M 0 98M 0% /run/user/0
      x.x.x.x:/nfstest 19G 2.9G 17G 15% /client_nfs
    8. 当一段时间不操作,之后autofs会自动卸载该设备

NFS远程挂载的更多相关文章

  1. linux nfs远程挂载和卸载

    一.nfs远程挂载 1.首先确定服务端(实体挂载节点)的IP 2.通过cat  /etc/hosts 查看服务端的server name 3.mount -t nfs servername:/挂载文件 ...

  2. 搭建mount+nfs远程挂载

    需求背景: 192.168.10.100 源服务器 目录:/root/test 目录属主属组普通用户,权限777 192.168.10.111 目标服务器 目录:/root/test111 目录属主属 ...

  3. nfs远程挂载问题记录

    问题描述: mount: wrong fs type, bad option, bad superblock on x.x.x.x:/xxxx_domain/update,missing codepa ...

  4. Linux上利用NFS实现远程挂载

    两台服务器 192.168.1.1 [WEB服务器] 192.168.1.2 [录音服务器] 说明 在192.168.1.2服务器上每天有许多录音文件生成,192.168.1.1作为WEB服务器,里面 ...

  5. 转: ubuntu配置NFS,挂载开发板

    ====================================== 命令: 1. $sudo apt-get install nfs-kernel-server           (安装N ...

  6. NFS 网络挂载问题 解决

            在进行嵌入式开发时,通常使用nfs,在开发板上面远程挂载主机上的目录,这样,省去了拷贝复制文件的过程,加快开发速度.在这里,给出自己在nfs相关的设置上出现的问题.         本 ...

  7. Linux远程挂载目录

    Linun远程挂载文件目录 需求:有两台服务器,一个是nginx,一台服务器是weblogic,图片上传到weblogic服务器上,但是需要nginx做代理,可是nginx访问不到weblogic服务 ...

  8. nfs文件系统挂载失败解决方法

    nfs文件系统挂载失败解决方法 */--> nfs文件系统挂载失败解决方法 Table of Contents 1. 错误提示 2. 我的配置 1 错误提示 bootserver=255.255 ...

  9. 基于SUSE Linux做NFS文件挂载

    linux文件挂载其实和windows文件共享原理差不多,由主机配置一个共享目录,客户端机器可以通过网络访问该共享目录. 下面以SUSE11为例子,简要描述下NFS文件挂载过程: 一.主机端(主机IP ...

  10. ubuntu16.04 NFS系统挂载

    一:服务器端 step1:关闭防火墙 sudo ufw disable step2:安装nfs sudo apt-get install nfs-kernel-server step3: 打开/etc ...

随机推荐

  1. Rainbond的 Gateway API 插件制作实践

    Gateway API 作为新一代的流量管理标准,对原有 Ingress 的扩展不规范.移植性差等问题做出了改进.从兼容K8s生态和优化网关体验出发,Rainbond 支持以插件的形式扩展平台网关能力 ...

  2. 集合-ArrayList 源码分析

    1.概述 ArrayList 是一种变长的集合类,基于定长数组实现.ArrayList 允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个 ...

  3. [Java EE]Spring Boot 与 Spring Cloud的关系/过去-现在-未来

    1 微服务架构 定义 微服务 (Microservices) 是一种软件架构风格, 它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础, 利用模块化的方式 ...

  4. 【Java SE】网络编程

    1. 网络编程概述 网络编程的目的:直接或者间接地通过网络协议与其他计算机实现数据交换,进行通讯. 网络编程两个主要的问题: ①如何精准地定位网络上的一台或多台主机,并定位主机上的特定应用 ②找到主机 ...

  5. 【LeetCode动态规划#07】01背包问题一维写法(状态压缩)实战,其二(目标和、零一和)

    目标和(放满背包的方法有几种) 力扣题目链接(opens new window) 难度:中等 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S.现在你有两个符号 + 和 -.对 ...

  6. extend笔记

    JavaScript面向对象 继承extend 1. 概念(主要用途) 将子类中的共性代码 ( 属性和方法 ) 抽取出来 放到父类中 每当有一个新的子类需要用到共性的属性或者方法时 不需要在自己内容复 ...

  7. 世界读书日:推荐15本AI从入门到放弃的书

    hi,我是熵减,见字如面. 在世界读书日即将到来的前,以及借着ChatGPT的火热,各种AI大模型的创业东风,今天给大家推荐一些AI相关的图书,希望大家能从入门到放弃,找到适合自己的热爱. 本次推荐图 ...

  8. SSM整合之基础xml文件以及基础理解

    文章目录 前言 什么是SSM框架 实例 pom依赖 Spring 文件配置 最后 展示代码 总结 前言 最近在学习SSM框架,就去找了一些视频来看,写一篇整合的文章,文章包括一些整合的依赖,以及创建的 ...

  9. React笔记-组件通信(六)

    React笔记-组件通信(六) props概念 props是组件之间通讯的纽带 props也是组件中内置的一个属性 通过父级组件传入 在类组件里 可以直接通过this.props获取 注意: prop ...

  10. 2022-12-26:有一个数组包含0、1、2三种值, 有m次修改机会,第一种将所有连通的1变为0,修改次数-1, 第二种将所有连通的2变为1或0,修改次数-2, 返回m次修改机会的情况下,让最大的0

    2022-12-26:有一个数组包含0.1.2三种值, 有m次修改机会,第一种将所有连通的1变为0,修改次数-1, 第二种将所有连通的2变为1或0,修改次数-2, 返回m次修改机会的情况下,让最大的0 ...