Linux环境下快速实现两台服务器上的文件夹共享

简介: Linux环境下快速实现两台服务器上的文件夹共享

 文编|JavaBuild

大家好呀,我是JavaBuild,以后可以喊我build哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,厚积薄发!

在程序员的日常工作中,我们常常会遇到这样一种场景:应用部署在通过nginx和keepalived实现的双主负载均衡的两台机器上,这时候供应用调用的文件夹就需要在部署时操作两边,有时候因为疏漏会导致两台机器上相同文件夹中的内容不一致,从而导致应用在被使用时的故障。

共享.png image.gif


很多企业都拥有类似阿里云NAS服务器进行多台机器文件的共享机制,但在测试环境下没有NAS支持,我们怎么实现呢,今天就来分享一下鸟哥日常工作中常用的Linux环境下文件夹共享方法:NFS挂载

测试环境配置NFS挂载步骤:

首先,要确认的是两台机器上均安装了NFS服务,通过以下命令查看是否安装NFS:

rpm -qa|grep nfs

image.gif

以下操作在第一台应用服务器上执行

  1. 使用test用户在/home/test目录下创建需要共享的文件夹
# 进入到对应用户路径下
cd /home/test   
# 在相应路径下创建需要共享的文件目录名
mkdir test_share

image.gif

  1. 使用root用户,修改/etc/exports文件,添加如下内容。其中XXX.XXX.XXX为服务器ip的前三段,XXX.XXX.XXX.0/24 表示拥有共享权限的IP所在网段及子网掩码
# 编辑文件
vim /etc/exports
# 在文件中填下如下内容
/home/test/test_share XXX.XXX.XXX.0/24(rw,sync,no_root_squash)

image.gif

  1. 配置的括号里,可添加的参数如下:
    ro:该主机对该共享目录有只读权限
    rw:该主机对该共享目录有读写权限
    root_squash:客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户 ;
    no_root_squash:NFS服务器共享目录用户的属性,客户机用root访问该共享文件夹时,不映射root用户;
    all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
    anonuid 将客户机上的用户映射成指定的本地用户ID的用户
    anongid 将客户机上的用户映射成属于指定的本地用户组ID
    sync 资料同步写入到内存与硬盘中
    async 资料会先暂存于内存中,而非直接写入硬盘
    insecure 允许从这台机器过来的非授权访问
  1. 使用root用户,重启NFS服务
service nfs restart

image.gif  

以下操作在第二台应用服务器上执行

  1. 使用test用户在/home/test目录下创建需要共享的文件夹
# 进入到对应用户路径下
cd /home/test   
# 在相应路径下创建需要共享的文件目录名
mkdir test_share
  1. 使用root用户,执行挂载语句,其中ip 为第一台服务器的地址,如203.3.248.10
mount -t nfs 203.3.248.10:/home/test/test_share /home/test/test_share


3.使用root用户,将以上的挂载命令添加到/etc/rc.d/rc.local文件中

# 编辑文件
vim /etc/rc.d/rc.local
# 在文件中填下如下内容
mount -t nfs 203.3.248.10:/home/test/test_share /home/test/test_share

image.gif

完事儿!可以选择其中一个机器,在共享目录中新建一个文件,在另外一台机器上查看是否同步啦。

注意:以上的用户和对应路径都是测试使用,具体根据您们的使用时需要替换。

目录
相关文章
|
1月前
|
弹性计算 Ubuntu Linux
阿里云服务器镜像怎么选?公共/自定义/共享/云市场/社区镜像区别与适用场景梳理
在购买阿里云服务器的过程中,选择合适的镜像(即云服务器的操作系统)是至关重要的一步。阿里云服务器镜像涵盖了公共镜像、自定义镜像、共享镜像、云市场镜像(镜像市场)和社区镜像等多种类型,对于新手用户来说,面对这些不同类型的镜像,往往会感到困惑,不知道它们之间的区别,更不知道如何根据自身需求进行选择。本文为大家解析这些镜像的特点、区别,并为大家提供选择参考。
339 60
|
1月前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
140 23
|
1月前
|
安全 算法 Ubuntu
Linux(openssl)环境:编程控制让证书自签的技巧。
总结:在Linux环境中,OpenSSL是一个非常实用的工具,可以帮助我们轻松地生成自签名证书。通过上述三个简单步骤,即可为内部网络、测试环境或开发环境创建自签名证书。但在公共访问场景下,建议购买经过权威认证机构签发的证书,以避免安全警告。
74 13
|
1月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
128 11
|
30天前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
15天前
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
|
2月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
160 28
|
2月前
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
169 20
|
2月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
113 6