原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/ad99ab1d-1040-45e0-aaf6-f5d69c247862

问题:

1、如何使A服务器的某个目录挂载到B服务器的某个目录下,使其达到B服务下的目录文件一旦变更,可以实时的在A服务的目录下体现出来;
 
Lnux的解决方式
1、首先将B服务器的该目录,设置为共享文件夹(只有将其设置为共享文件夹后才能再另外的机器上进行该目录的远程连接访问,共享文件夹这个概念与windows 很有相似之处)
2、A服务器则通过 mount 的方式,指定对应的远程主机所抛出来的共享文件夹进行连接
 
linux如何实现共享文件夹的效果呢?
1、A服务器新创建的文件夹远程挂载到B服务器的某个 10G以上大小内容的文件夹下后,实际情况下A服务器的磁盘并没有因为挂载了10G的远程文件,而被消耗掉10G的磁盘空间,这说明实际情况下的挂载,并非将远程服务的文件实时Copy到目标文件夹中,当然这也不符合共享文件夹的特征;
那么既然是已经挂载了远程目录后,此时A服务访问自身文件夹时,是如何实时展示B服务的文件夹内容的呢? 原因是,A服务每次对于自身挂载文件夹的访问,实际上都是发送了一次新的RPC请求,请求目标服务器,将其对应的目录数据实时返回到A服务器的文件展示当中;(Linux中存在这样一个应用即:Network File System 即 NFS 网络文件系统,一种使用于分散式文件系统的协定,让应用程序在客户端通过网络访问位于磁盘中的数据,是在类Unix系统间实现对应的磁盘文件共享的一种方法,)
 
NFS于RPC的关系:
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
 
所以,如果要实现共享文件夹的效果,那么首先需要安装NFS,但由于NFS是依赖于RPC协议来进行的协议传输,所以,此时需同时安装,NFS 和 RPC 两个应用程序;
 
安装NFS和RPC(安装nfs-utils,rpcbind)
yum -y install nfs-utils rpcbind
 
设置共享目录
 
NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在exports文件中设置共享资源时,
记录格式为    "目录位置   客户机地址(权限选项)"    其中客户机地址于权限列表的括号() 中间不能有空格;
 
如下 例子则表示:将 /app 目录文件夹共享到 172.16.8.97的服务网段使用,且允许读写操作
vim /etc/exports
/app 172.16.8.97(rw,sync,no_root_squash)
 
客户机地址 可以是 :  主机名、IP地址、网段地址、或者"*、?"通配符;
权限选项:rw表示允许读写(ro为只读)
     sync表示同步写
      no_root_squash表示当前客户机以root身份访问时,赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)  (NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。)
 
给多个地址授权
/app 172.16.8.97(rw,sync,no_root_squash)  172.16.8.98(rw,sync,no_root_squash)
给某个网段内所有IP授权
/app 172.16.8.*(rw,sync,no_root_squash)
启动NFS服务
 
配置完上述的目录文件配置后,则启动NFS服务;
先启动 RPC服务,再启动 NFS 服务
service rpcbind start
service nfs start
启动完对应的rpcbind和nfs后,可以使用ps查看下对应的进程信息
 
[root@xiaoi-3614 sysconfig]# ps -ef|grep rpcbind
root      4552  1765  0 18:34 pts/1    00:00:00 grep --color=auto rpcbind
rpc      31396     1  0 16:58 ?        00:00:00 /sbin/rpcbind -w
 
 
[root@xiaoi-3614 sysconfig]# ps -ef|grep nfs
root      4565  1765  0 18:34 pts/1    00:00:00 grep --color=auto nfs
root     32210     2  0 17:11 ?        00:00:00 [nfsd4_callbacks]
root     32216     2  0 17:11 ?        00:00:00 [nfsd]
root     32217     2  0 17:11 ?        00:00:00 [nfsd]
root     32218     2  0 17:11 ?        00:00:00 [nfsd]
root     32219     2  0 17:11 ?        00:00:00 [nfsd]
root     32220     2  0 17:11 ?        00:00:00 [nfsd]
root     32221     2  0 17:11 ?        00:00:00 [nfsd]
root     32222     2  0 17:11 ?        00:00:00 [nfsd]
root     32223     2  0 17:11 ?        00:00:00 [nfsd]
 
查看所指定IP机器,当前已发布的NFS共享目录
[root@xiaoi-3614 sysconfig]# showmount -e 172.16.36.14
Export list for 172.16.36.14:
/app 172.16.8.97

当服务机器已经按照上述配置部署完以后,则此时便可以直接在A服务器上,进行目录的挂载操作
 
1、由于上面也已经提到过目录的挂载于共享是基于RPC协议进行的具体NFS的实现,所以,此处A服务器作为挂载方,也应同时具备,RPC的应用功能,所以也应同时安装对应的 rpcbind 服务插件
 
此处安装rpcbind依赖,由于LZ此处A服务上,已经具备了rpcbind依赖,所以,此处并没有进行安装,(安装rpcbind时,最好也可以直接把 nfs-utils 同步安装下,后续再次作为共享方时,则也会方便很多)
yum -y install  rpcbind
 
执行mount命令,手动挂载NFS共享目录
 
使用mount命令,此处表示将IP为:172.16.36.14所共享的app目录,挂载到当前服务的 /app/ftdq_kbase/mnt 目录下
 
mount 172.16.36.14:/app /app/ftdq_kbase/mnt
 
修改本地 /etc/fstab文件,实现目录的自动加载(具体fstab的配置方式,可以 百科一下 )
 
[root@NFSClient ~]# vim /etc/fstab
......        //部分内容省略
1.1.1.1:/www    /var/www/html    nfs    defaults,_netdev 0 0
 
查看当前服务器所有的目录挂载点:
 
[root@xiaoi2017-897 dev]# df -ah
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           91G   33G   54G  38% /
proc                  0     0     0    - /proc
sysfs                 0     0     0    - /sys
devpts                0     0     0    - /dev/pts
tmpfs               16G     0   16G   0% /dev/shm
/dev/sda1          190M   38M  142M  22% /boot
none                  0     0     0    - /proc/sys/fs/binfmt_misc
sunrpc                0     0     0    - /var/lib/nfs/rpc_pipefs
-- 此处便是上述所挂载的远程目录
172.16.36.14:/app   50G   26G   25G  51% /app/ftdq_kbase/mnt
 
参考链接:
 
yum 安装及rpm常用命令
mount 参数详情
 
 

Linux远程目录挂载的更多相关文章

  1. 使用sshfs将远程目录挂载到本地

    使用sshfs将远程目录挂载到本地 转自:http://blog.sina.com.cn/s/blog_6561ca8c0102vc2u.html 在Linux下我们通常使用ssh命令来登录远程Lin ...

  2. linux 下NFS远程目录挂载

    NFS 是Network File System的缩写,中文意思是网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端(一般为应用服务器,例如web ...

  3. Linux查看目录挂载点

    用命令 df 即可 # df /var/lib/ Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 135979984 669 ...

  4. linux远程目录共享

    一.环境介绍 1.服务器说明: 有两台服务器,(1)101报表服务器,上面是tomcat跑的原生FineReport报表系统,(2)103业务服务器,上面是具体的业务系统. 2.需求说明: 报表文件由 ...

  5. 通过nfs将centos目录挂载到windows 系统的磁盘上

    环境:centos8,windows7 1.在centos上安装nfs服务 yum -y install nft-utils 2.启动nfs服务 systemctl start nfs-server ...

  6. Linux安装sshfs挂载远程目录到本地及卸载

    挂载远程目录的方式很多,这里把sshfs记录一下备忘.Linux用sshfs挂载远程目录到本地 安装sshfs 在Ubuntu下,只需要使用 $ sudo apt-get install sshfs ...

  7. Linux使用sshfs挂载远程目录到本地

    1安装sshfs [root@iZwz9hy7gff0kpg1swp1d3Z ~]# yum install sshfs 2创建本地目录 [root@iZwz9hy7gff0kpg1swp1d3Z ~ ...

  8. 如何用ssh挂载远程目录

    如何用ssh挂载远程目录 标签: sshserver服务器linux网络 2011-06-24 10:05 2979人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  9. Ubuntu下使用sshfs挂载远程目录到本地(和Windows挂载盘一样)

    访问局域网中其他Ubuntu机器,在不同机器间跳来跳去,很是麻烦,如果能够把远程目录映射到本地无疑会大大方面使用,就像Windows下的网络映射盘一样.在Linux的世界无疑也会有这种机制和方式,最近 ...

随机推荐

  1. 20191010-5 alpha week 1/2 Scrum立会报告+燃尽图 03

    此作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8748] 一.小组情况 队名:扛把子 组长:迟俊文 组员:宋晓丽 梁梦瑶 ...

  2. 小白学 Python 爬虫(7):HTTP 基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. java.lang.String 的 + 号操作到底做了什么事情?

    前言  在之前的面试经历中,对于String的考察还是挺频繁的,大致考察以下几个知识点: String 常量池 new String() == 和 equals 的区别 native 方法 Strin ...

  4. 复习-java集合简记

    1.集合概述 ava集合类存放于 java.util 包中,是一个用来存放对象的容器. 集合只能保存对象(实际上也是保存对象的引用变量),Java主要由两个接口派生而出:Collection和Map, ...

  5. 记一次net/net core delete 方法报404 解决方案

    今天一个net core的delete方法 执行的时候 报404 网上查阅资料后发现是IIS 默认只允许get/post方法接入 网上查找资料后 在web.config添加如下代码: 意为移除WebD ...

  6. windows和linux的开机顺序

    windows的开机顺序: 启动自检阶段---初始化启动阶段---Boot加载阶段---检测和配置硬件阶段---内核加载阶段---屏幕显示. linux的开机启动顺序: 加载Bios---读取MBR- ...

  7. IDEA必备插件系列 - Key Promoter X(快捷键使用提示)

    Key Promoter X 是用于基于 IntelliJ 产品(如 IDEA,Android Studio 或 CLion)的插件,它有助于在工作时从鼠标操作中 学习基本的键盘快捷键. 当您在 ID ...

  8. X86架构CPU常识(主频,外频,FSB,cpu位和字长,倍频系数,缓存,CPU扩展指令集,CPU内核和I/O工作电压,制造工艺,指令集,超流水线与超标量)

    1.主频 主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度. CPU的主频=外频×倍频系数.很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差. ...

  9. spring boot 中@Mapper和@Repository的区别

    0--前言 @Mapper和@Repository是常用的两个注解,两者都是用在dao上,两者功能差不多,容易混淆,有必要清楚其细微区别: 1--区别 @Repository需要在Spring中配置扫 ...

  10. 《Windows内核安全与驱动开发》 4.4 线程与事件

    <Windows内核安全与驱动开发>阅读笔记 -- 索引目录 <Windows内核安全与驱动开发> 4.4 线程与事件 一.开辟一个线程,参数为(打印内容+打印次数),利用线程 ...