原文内容来自于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. Redis为什么是单线程、及高并发快的3大原因详解

    Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接.非阻塞 ...

  2. Linux\CentOS MySql 安装与配置

    一.MySQL 简介 MySQL 是一个关系型数据库管理系统,是MySQL AB公司开发,现在属于 Oracle 旗下产品. MySQL 采用标准化语言.体积小.速度快.成本低.开源等特点使得一些中小 ...

  3. Java语法进阶10-多线程

    多线程 并发与并行.进程,线程调度自行百度 线程(thread):是一个进程中的其中一条执行路径,CPU调度的最基本调度的单位.同一个进程中线程可以共享一些内存(堆.方法区),每一个线程又有自己的独立 ...

  4. C#取视频某一帧图片

    首先下载 ffmpeg http://ffmpeg.org/ 注意一定要从官网下载,其他地方可以会有问题 解压后在 bin 目录下找到 ffmpeg.exe 用到的使命是 -i 视频地址 -ss 第几 ...

  5. Spring Cloud Alibaba(五)RocketMQ 异步通信实现

    本文探讨如何使用 RocketMQ Binder 完成 Spring Cloud 应用消息的订阅和发布. 介绍 RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的.高 ...

  6. python numpy学习

    以下代码来源于本博文作者观看大神视频并纯手敲. 目录 numpy的属性 创建array numpy的运算1 随机数生成以及矩阵的运算2 numpy的索引 array合并 array分割 numpy的浅 ...

  7. 磁盘格式化、磁盘挂载、手动增加swap空间 使用介绍

    第4周第2次课(4月10日) 课程内容: 4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载4.9 手动增加swap空间 4.5/4.6 磁盘格式化 [root@jimmylinux-002 ~]# ...

  8. MySQL主从介绍、配置主从、测试主从同步

    6月28日任务 说明:有不少同学不能一次性把实验做成功,这是因为还不熟悉,建议至少做3遍17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步有的同学,遇 ...

  9. RestSharp Simple REST and HTTP API Client for .NET

    var client = new RestClient("http://example.com"); // client.Authenticator = new HttpBasic ...

  10. vue中的$EventBus.$emit、$on 遇到的问题

    今天在项目中遇到的一个需求: 在一个选项卡功能的页面,出现的问题是,当点击选项卡的某个选项时,会同时加载整个选项卡的数据,本身产品就很大,数据很多,所以这个问题无法忽略: 仔细研究下发现,当刚进入页面 ...