由于业务需要对线上的一台应用程序为WebSphere的服务器进行迁移,开始在网上搜索了一下,基本上没有看到迁移成功的案例,所以只好自己慢慢弄了,WebSphere的迁移工作一共用了2天的时间,其中包括Web容器及Web程序的复制,数据库迁移,排错等步骤,由于数据库的迁移是由DBA完成的所以这里我就不进行描述了。
一、原服务器上的操作
利用tar命令对WebSphere和其http程序进行打包
tar fvc IBM.tar.gz /opt/IBM tar fvc IBMIHS.tar.gz /opt/IBMIHS
检查环境变量和服务器的基本设置
#查看是否有配置环境变量 cat ~/.bash_profile cat ~/.bashrc cat /etc/profile cat /etc/bashrc #查看是否有hosts作的域名解析 cat /etc/hosts #查看是否有WebSphere专用用户 cat /etc/passwd
经过上述检查,没有发现服务器有单独配置,所以直接将包复制到目标服务器
scp IBM.tar.gz 192.168.0.2:/opt scp IBMIHS.tar.gz 192.168.0.2:/opt
二、目标服务器上的操作
解包
tar fvx IBM.tar.gz tar fvx IBMIHS.tar.gz
尝试启动WebSphere
#启动WebSphere /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1 #启动Web容器 /opt/IBMIHS/bin/httpd -d /opt/IBMIHS -k start
这里在启动Web容器时出现报错提示libaprutil.so.10这个动态链接库文件没有找到,查看/usr/lib和/usr/lib64目录,发现在/usr/lib64目录中有该文件,在/usr/lib目录中没有该文件。所以在/usr/lib目录做软连接
ln -s /usr/lib64/libaprutil.so.10 /usr/lib/libaprutil.so.10
完成后启动Web容器依旧报错提示该文件找不到,查看IBMIHS的目录,发现该目录的lib子目录中有该文件,用ldconfig -v命令查看,发现在ldconfig中没有/opt/IBMIHS/lib这个路径,所以定义环境变量
export LD_LIBRARY_PATH=/opt/IBMIHS/lib
启动Web容器正常,所以将该配置写到/root/bash_profile文件(或者写到/etc/profile文件中)。
用浏览器访问测试页提示空指针,此时回到WebSphere的目录下检查应用程序的配置,发现应用程序链接数据库的SID是oracl,而数据库设置的SID是orcl,让DBA修改数据库SID后访问正常。
迁移完成
转载于:https://blog.51cto.com/songknight/1316113