找回密码
 立即注册

QQ登录

只需一步,快速开始

一鹏

高级会员

76

主题

508

帖子

1078

积分

高级会员

积分
1078
一鹏
高级会员   /  发表于:2022-1-27 21:40  /   查看:2061  /  回复:4
我不知道在这里发贴对不对,不过好像也没有啥好地方了
之前我发过一个求助的帖子,最后也没有很好的解决办法,于是我研究了几天之后,找了各种资料,终于有一个方案测试成功了
在这里分享给大家
这是我之前的求助需求 Linux共享两个服务器的附件 - 活字格专区 - 求助中心 - 葡萄城产品技术社区 (grapecity.com.cn)
测试环境如下:
操作系统:
ubuntu20.04  IP 192.168.0.97 数据库 mysql8 共享软件samba失败,但仍然保留,因为要用于其它文件服务存储,nfs-kernel-server
ubuntu18.04  IP 192.168.0.91 活字格7.0.103  外联数据库到mysql8,附件我也想保存到97服务器上,因为那个服务器有足够大的空间,足够安全的raid磁盘阵列

下面开始操作
在192.168.0.97上安装软件
  1. sudo apt install nfs-kernel-server -y
复制代码
image.png877609557.png
安装结束后,编辑 /etc/exports 文件,在文件末尾添加一行:
  1. #输入下边代码回车
  2. vim /etc/exports
  3. #出现的界面中按 "i"
复制代码
image.png340221556.png
说一下,/opt/Upload 是97服务器上保存附件的文件夹,我要共享的也是这个文件夹,然后是共享给192.168.0.91,后边的参数按我这个填就行了,读写权限
然后按"esc" 就是键盘左上角的键,再输入英文的冒号":wq",然后就保存退出了
image.png881023559.png
再就是启动服务了,启动后可以查看共享:
  1. service nfs-kernel-server restart
  2. #查看共享命令
  3. showmount -e
复制代码
image.png264207152.png
上图显示已经共享成功,下面到91服务器操作了:
安装软件:
  1. sudo apt install nfs-common
复制代码
安装后设置共享 ,因为我这里已经挂载成功了,所以的卸载后再重新挂载
  1. #卸载命令umount 目录
  2. umount /opt/Upload
复制代码

image.png313785704.png
  1. #创建本地目录
复制代码
image.png803166198.png
挂载中,然后,挂载失败了,提示意思是超时了,没连接上,我之前测试没用这个服务器,然后,去服务器上看看防火墙
image.png758330993.png
好吧,防火墙开着呢,由于我也不知道这软件用的哪个端口,所以也没办直接开,于是查看一下
  1. netstat -anlpto
复制代码
image.png678328551.png
发现有个软件rpc.mountd在监听55885和59021,这个软件是之前没有的而且还带个mountd,这不是和我们那个挂载命令很像么?mount
于是我试试关闭防97服务器的火墙再重新到91服务器上挂载
  1. #关闭97服务器的防火墙
复制代码


image.png212846068.png
image.png989244384.png
瞬间就挂载完成了,查看挂载文件夹中的内容
  1. ls /opt/Upload
复制代码
成功,查看到了里边的文件
image.png213450316.png
再测试一下能不能写入
  1. #创建个文件夹看看能不能行
  2. mkdir zzzz
复制代码
成功创建了文件夹,哈哈
image.png412912597.png
然后再到97服务器上看看,有没有这个文件夹,哈哈,果然存在了
image.png469953612.png
到这里,终于可以操作活字格了,进入控制台,应用名-高级,输入本地路径:"/opt/Upload"
image.png72116698.png
保存,提示重启,确定
image.png455119323.png
成功后进入应用,打开一个附件
image.png577298278.png
哈哈哈哈,研究这么多天,终于解决了,可以查看附件了
当然了,写到这里,其实还没有结束,为啥呢,因为
一,91服务器如果重启了,那这个/opt/Upload目录就变成了一个空目录了,里边啥也没有了,所以得开机自动挂载这个共享
二,97服务器如果重启,共享服务应该也没了,需要设置开机自动启动
三,97服务器上的防火墙还关着呢,如果不开防火墙,好像不太行
不过,今天就先写到这里吧,之后 我再把这三个问题解决,除了防火墙还没想好怎么解决,另外两个很容易处理
不好解决的原因是,看那个软件的监听端口,像是随机的呢,好像不是开了那个端口就行的.
当然了,如果那个端口是固定的,那简直就太好了,防火墙放行这个街口给91服务器就行了

评分

参与人数 2金币 +1332 收起 理由
Howie.Sun + 666
Chelsey.Wang + 666 赞一个!

查看全部评分

4 个回复

倒序浏览
一鹏
高级会员   /  发表于:2022-2-1 19:41:57
来自 3#
本帖最后由 一鹏 于 2022-2-1 19:43 编辑

今晚没什么事了,自己呆着,把上次没做完的继续做好,下边是上次遗留的问题:
一,91服务器如果重启了,那这个/opt/Upload目录就变成了一个空目录了,里边啥也没有了,所以得开机自动挂载这个共享
二,97服务器如果重启,共享服务应该也没了,需要设置开机自动启动
三,97服务器上的防火墙还关着呢,如果不开防火墙,好像不太行


先解决一,给91服务器设置重启后自动挂载97服务器的共享目录,挂载到本地之后,就当做本地目录使用了
开始自动挂载的内容是在/etc/fstab中,注意,此文件如果改坏了,可能会导致机器无法开机,所以我就不教手动编辑了,直接使用命令添加一行进去
  1. echo '192.168.0.97:/opt/Upload /opt/Upload nfs defaults 0 0' >> /etc/fstab
复制代码
运行完成之后,查看一下是否添加成功
  1. cat /etc/fstab
复制代码
显示如下内容就是成功添加了
image.png890298766.png
然后执行挂载命令,重新挂载所有硬盘和共享,这样就不用重新开机了,当然了,为了保险起见,你也可以重新启动你的机器,测试一下是否能成功的开机自动挂载共享目录
  1. mount -a
复制代码


这里详细解释一下,192.168.0.97:/opt/Upload 这是机器的共享目录,格式是 "IP:/目录",注意一下,目录名是区分大小写的,我共享的是97服务器的/opt/Upload文件夹,这里把ip和目录改成自己的就行,后边跟一个空格,然后是/opt/Upload ,这是91服务器上的本地目录,也改成你实际要使用的目录,没有的目录可以新建,但必须是空目录,里边什么文件也不能有,其它的照样子复制就行了,然后就是查看一下,是否进去了,如果进去了,再执行mount -a重新挂载/etc/fstab中所有的内容,执行后没什么变化,就说明没有错误,否则可能会报错,另外就是这些命令,必须是英文状态字母和符号,别用中文输入法输入命令,否则可能报错都不知道差哪了
下一步查看一下挂载到本地的目录中是否有远程文件
  1. ls /opt/Upload
复制代码
image.png146348570.png


文件存在,说明挂载成功,如果要测试开机是否挂载了,可以使用下边的命令重新启动机器,注意安全,如果是生产环境的服务器,要慎重重新启动,重新启动可能要好几分钟
  1. reboot
复制代码
至此,问题一得到解决

下边来看看问题二
先查看运行状态,在97服务器上使用root用户执行下边命令
  1. service nfs-kernel-server status
复制代码
image.png297048033.png
显示运行中,并且运行了4天了,我的机器上第二个红框中显示disable,这意思就是开机没有自动启动,如果你的这里显示enable那就略过问题二,已经可以开机自动启动了
如果是disable,那么执行下边命令:
  1. systemctl enable nfs-kernel-server
复制代码
image.png835735168.png
执行成功后再查看
  1. service nfs-kernel-server status
复制代码
image.png690141601.png
开机启动设置成功!问题二解决

最后看问题三,问题三是防火墙设置,我机器上的软件是ufw,这个防火墙特别简单易用,我很喜欢,所以我安装了这个防火墙
开始的时候我想的复杂了,觉得吧应该是开放某个端口,但后来一想,我直接把91的所有访问都允许了不就行了吗?于是测试命令
  1. #先启动防火墙
复制代码
image.png605003051.png
显示已经允许成功,到91服务器上运行一下命令,查看共享文件在不在
  1. ls /opt/Upload
复制代码
image.png290340880.png

成功,至此,所有问题得到解决,不过,看到网上资料说,如果服务器重启了,会导致客户端df -h命令卡死,因为找不到服务器了嘛,我测试一下看看
先停止服务端,我就不重启或者关机了,直接停止服务端也是一样的
  1. #关闭服务端软件
复制代码
显示已经关闭了
image.png714341735.png
再到91服务器查看共享文件是否还在
  1. ls /opt/Upload
复制代码
果然卡住了
image.png88250121.png

再到97服务器上运行命令,开启服务端,并查看运行状态
  1. systemctl start nfs-kernel-server
复制代码

image.png77313231.png


先看看ubuntu开机自动启动的命令在哪设置,百度搜"ubuntu18开始自动运行",18和20的设置方法是一样的
  1. #切换到root用户,输入密码后,用户名变成root,已经是root用户就不用了
复制代码


image.png485633849.png
运行起来了,然后,91服务器那边的共享文件就显示出来了,结束卡机状态
image.png586090087.png
所以这个也是正常的,如果客户端卡住了,那就去看看服务端有没有启动,如果启动 了,看看防火墙有没有禁止,必要时,关闭服务端防火墙试试
好啦,写到这里也就结束了,目前运行好几天了还没遇到啥问题,速度也是和本地没区别的,毕竟是千兆网络
如果有谁没配置明白的话,可以联系我,咱们一起研究研究,我QQ68538501,发邮件或者加微信联系我都成
回复 使用道具 举报
吴小胖讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-1-27 21:47:03
沙发
学习一下,感谢楼主~~~大佬,辛苦了~
回复 使用道具 举报
Aa金砂
高级会员   /  发表于:2022-2-11 20:48:17
地板
擂主讲的太深了
回复 使用道具 举报
杜清松-808916
注册会员   /  发表于:2024-4-3 17:30:47
5#
一鹏 发表于 2022-2-1 19:41
今晚没什么事了,自己呆着,把上次没做完的继续做好,下边是上次遗留的问题:
一,91服务器如果重启了,那这个/o ...

楼主负载均衡不能直接用云存储吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部