Linux远程目录挂载

摘要:
原文来自LZ(建筑所有者)的印象笔记。如果出现排版异常或图片丢失等问题,可以查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/ad99ab1d-1040-45e0-aaf6-f5d69c247862问题:1.如何将服务器a的目录安装到服务器B的目录,以便一旦服务B下的目录文件发生更改,该目录可以实时反映在服务a的目录中;Lnux溶液

原文内容来自于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远程目录挂载》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java内存优化和性能优化的几点建议JavaScript的个人学习随手记(三)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue初级学习--使用 vue-resource 请求数据

一、导语   我发现好像我最近几次写文,都是在7号,很恰巧啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二、正文   最近用vue做一个订单管理混合开发APP,但是遇到个问题,使用了vueResource的post请求,后端做了跨域解决方...

IM类软件的性能测试目的-摘录

今天在了解即时通讯类软件的测试方法的时候,突然看到了来自某个网站的一些信息,摘录下来,以后会用到的。 如果有人有即时通讯类软件的测试经验,可以联系我QQ 1154892450,真的有好多问题需要咨询,感谢。。。 Standard testwhen the user session was about 20 minutes length, arrival...

Windows 8 系列(一):win 8 简介

  由于目前工作的需要和个人兴趣爱好的一致性,今后会对win 8 这个平台进行一些了解,同时,我也希望能把我的体会、感受、经验和开发技巧与大家分享,争取能为win 8的中文资料方面工作贡献出我的绵薄之力。如果大家有不同意见或者任何问题,可以发布评论或者新浪微博(介是为什么)进行沟通,谢谢。   今天作为开篇,要让大家对win 8 有个大概的了解,可能对于一...

alpha项目展示

【软工小白菜】alpha项目展示 一、团队简介 姓名 帅气的个人照 个人介绍 定位 博客地址 祝世雷 会一点c/c++, java,python,6系菜鸡,喜欢被带飞的感觉 开发/测试 链接 陈卓 接触过c/c++/c#,java,会一点点python。希望组里的大佬们可以带飞我 开发/测试 链接 赵博名 6系菜鸡,虽然有3年编程经历...

Acrobat 软件注册过程记录

Adobe Acrobat XI安装过程详解 Adobe Acrobat是编辑pdf文档的不二选择,同时它的虚拟打印机功能平常使用也相当频繁,所以在日常工作中我经常使用Acrobat而不是Adobe Reader,下面是我亲自验证过的Acrobat安装过程,具体过程如下: 注:Adobe Acrobat之前版本为10.0版本,只支持英文版本,现在更新为11...

IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证

IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证 原文:http://docs.identityserver.io/en/release/quickstarts/3_interactive_login.html 目 录 上一篇:IdentityServer4 中文文档 -10- (快速入门...