背景:
客户的服务器都是虚拟机的,最近他们的物理存储所剩不多了,想要整理下在用的服务器,把没必要的服务器停了或者迁移后删除虚拟机,以便挪出更多的空间。
刚好去年我们承建的一个项目今年不再继续了,要取消这个项目,当初部署的一台文件服务器占用了2T的存储空间,但是实际使用不到200G(系统刚上线,需要使用文件服务的功能才用了一小部分且才用了一个产季,数据数据量小),还有一台移动端的服务器,500G空间使用了80G左右。且改项目已经取消了,不再继续了,所以客户想让删除这两台服务器,由于这移动服务和文件服务不单单是这个项目在用,只是当初为了配合这项目才从原来的服务器上迁移过来的,所以向客户提出一个方案,把文件服务迁移到移动端这台服务上来,然后再删除文件服务器。
服务器部署情况:
移动端服务:中间件使用的是Tomcat三个节点集群部署,还部署了Nginx反向代理,处理内外网的访问问题,以及移动端用户访问的均衡负载问题。
文件服务器:那就简单的多了,中间件使用同样的Tomcat,应用就是公司文件服务组件,启动Tomcat后文件服务能正常运行就可以了。
综合部署工作量、当前工作情况和相关使用情况,脑子闪过的第一选择就是把文件服务器迁移到移动端服务器上,然后删除文件服务器,可以腾出2T空间,和客户说明后,他们同意了我的迁移方案。
汇报完毕后开干:
1、使用scp命令把文件服务器上的数据整个目录拷贝到移动端服务器上:
scp -r user@原文件服务器IP:/opt/fs/data /opt/fs
2、同样的方法把整个服务部署目录拷贝到移动端服务器上
scp -r user@原文件服务器IP:/opt/fs/node /opt/fs
3、进入Tomcat服务中把Tomcat的日志和文件应用组件(webAPP)的日志删除,检查相关配置信息确认无误后启动服务。
rm -rf /opt/fs/node/server1/logs/*.log
rm -rf /opt/fs/web/logs/*.log
cd /opt/fs/node/server1/bin
[****/bin]./startup.sh
以上路径根据实际部署情况来定。
结果没有把服务启动起来,看了日志并没有打印出报错日志,百度了下,应该是启动的端口冲突了,然后检查了下中间件的配置文件,果然是文件服务和移动服务的server1启动端口冲突了,都是默认的8005,netstat -nap|grep 8008,检查了下8008端口(server2,server3分别用了8006和8007端口)没有被侦听,然后就把文件服务的配置改成8008端口,再次启动服务,这下启动了。接下来验证下文件服务,结果还是访问不了文件服务:
于是想到是不是服务的端口被禁用了,然后访问了下Tomcat看看中间件是不是已成功启动,结果是肯定的,那只猫入料想一样出现了。然后问了下信息中心负责网络的老师,答复是内网没有做端口限制的,崩溃!仔细复盘了下,之前的操作都没有问题,接着验证了下文件服务,在输入地址的时候突然想到移动端服务是要在外网访问的,用Nginx做了反向代理和均衡负载的,然后就把访问地址换了下,回车就出现:
好嘛,没有配置文件服务的反向代理,加了配置后reload一下Nginx,再去访问便出现:
最后 ,把关于文件服务的配置改成新的文件服务,重启服务后,全部正常,至此文件服务器迁移完毕,原来的文件服务器也就寿终正寝!