首先我是一个开发,对服务器有很多还是不太懂,但是公司人手不够,于是在开发的同时也管理服务器。
最近公司项目要上线,新到了30多台服务器做上线部署用。其中有10台是华为云的;10台中,5台Windows(windows server 2012)、5台linux(centos7.5),这10台服务器出现了一些问题。
我们把项目部署在上面以后运行的时候发现了一些问题记录如下:
①Windows服务器连接数据库慢,打印日志慢
解决方案:给我们的 5台Windows服务器 全部没有挂载(只有C盘),需要进行挂载。
挂载步骤如下:点击计算机-》管理-》计算机管理-》存储-》磁盘管理-》 在磁盘管理下会有一个比较大的未挂载的盘,点击进行挂载
接着我们出现了一个问题:挂载磁盘时报错:设置的策略,该磁盘处于脱机状态。
解决方法如下:
①运行cmd
②输入DISKPART.exe
会跳转到DISKPART>
继续输入:
③san
④san policy=onlineall
⑤list disk(查看磁盘列表)
⑥select disk 1(选中磁盘1)
⑦attributes disk clear readonly(会显示 已成功清除磁盘属性)
⑧online disk(成功使所选磁盘联机)
ok,这样就可以对硬盘进行分区操作了。
当挂载完了以后,再去运行项目 发现项目打印日志正常了,连接数据库也正常了(毫秒级)。
②linux服务器启动项目打印日志慢,连接数据库慢。
首先我怀疑是不是没有挂载的问题,df -h看了下 硬盘大小只有44个G,这和我们当初申请的300个G的硬盘差距较大。
我换了一个命令:lsblk 这时发现了还有一个250G的盘没有挂载,linux如何挂载硬盘请百度。
挂载完毕以后重启项目,老问题还是存在,启动项目超级慢要20分钟,查询速度很快可是连接数据库用sqlplus测了测 100多秒~心态爆炸~
在网上找了好多帖子都不行,去找华为云工程师,工程师说是我们程序的问题,可是在其他非华为云的linux服务器上启动项目并没有问题啊~
后来实在没办法了,抱着试试的心态找华为云工程师重做系统吧, 我们的linux服务器是centos7.5 ,软磨硬泡之下工程师同意了给重做了一个
centos7.6的系统。重做完系统以后~服务启动正常了,日志打印正常了,连接数据库由之前的100多秒缩短到5秒,勉强可以接受吧
随着项目上线试运行,连接数据库5秒这个问题隔三差五就出一次,启动系统查询首先等个5秒才能正常使用,不行要解决。
后来找到了一个方法:注释掉linux服务器上 /etc/resolv.conf 中的所有行 注释掉以后连接数据库5秒这个 问题解决!(注意:重启服务器后 要重新注释)
至于原因:每次连接数据库时,都需要进行DNS查询(根据IP查询主机名),单由于DNS不可达(内网),所以只有等待超时,超时后才返回,导致数据库连接过慢。
③服务器做F5导致服务不可用
这是一个很突然的事,在几个系统都正常运行,服务器没有申请开通端口的时候突然接到领导通知要给外网5台机器做F5,而且立刻就要做。结果做完以后访问报404~
之前没有搞过服务器也没怎么接触过F5,所以做完以后服务不通比较慌。
在做F5之前应该保证每台做F5的服务器转发请求的配置是相同的(我们用的nginx),而且这些服务器和目标服务器对应端口都要互通。
~但是如果以上这些都没做到,那么没关系——将做F5所占用的端口关掉即可,只留原来可以正常访问的一台,这样请求就不会走其他服务器。
④ 小结
我们一共30多台服务器分批次到的,而且是不同厂家的,不同厂家的网段不一样,端口不互通而且禁Ping,搞起来很麻烦,所以最好在打申请的时候 端口同网段互通,不同网段一到两台服务器互通方便nginx转发;
或者内网互通,外网互通,内外网由端口服务器进行转发,这样能省很多事。以后遇到问题我还会接着再更~