【背景】
随便系统业务量的不断增大,应用数据库越来越多、与第三方接口的需求越来越多、文档量越来越多,32位的domino对服务器的利用率已无法满足系统需求的日益增长,低版本的domino爆发的问题也越来越凸显,升级到64位高版本domino会大大提高服务器资源的利用率,有效解决低版本domino的一些问题。
首先,32位操作系统最多只能用到4GB的内存,而对于16GB的服务器来说是大大的浪费;
其次,domino7版本较低,jvm可用内存很小,不支持webservice使用者设计元素、不支持xpage,domino新版本的亮点功能无法使用。
等等...
【迁移步骤】(参考)
需要一台新的服务器(我们的配置:8核+16GB,硬盘3TB);
安装64位操作系统;
配置测试用IP地址;
配置notes组、notes用户;
配置linux操作系统字符集,一定要与原系统字符集保持一致;
修改系统文件limits.conf(路径:/etc/security/limits.conf)
notes soft nofile 60000
notes hard nofile 80000
notes soft nproc 12500
notes hard nproc 12500
否则会报WARNING: The maximun number of file handles (ulimit -n) allowed forDomino”。
见我的博文:点击打开链接
测试阶段:
安装64位domino901;
打domino901语言包;
创建一个测试服务器id(我的ID文件是用测试服务器注册的,与正式机无关);
用测试服务器ID文件配置domino;
拷贝所有应用数据库到domino(我采用的ftp方式mput,服务器,同一网段,我这拷贝速度70MB/s左右,500GB数据用了将近3个小时);
拷贝domino/html下所有资源文件;
拷贝jvm/lib/ext的jar包文件;
-
修改notes.ini文件:
ServerTasks参数去掉amgr服务,避免定时代理触发第三方系统接口;
增加:
Create_R9_Databases=1
HTTPJVMMaxHeapSize=1024M (JVM最大可使用1GB)
HTTPJVMMaxHeapSizeSet=1
HttpQueueMethod=2 (HTTP大队列模式)
DominoSingleValueListField=0(解决js给复选框赋值问题)
见我的博文:点击打开链接
离线升级names.nsf、admin4.nsf数据库(如果是多版本domino环境names可不升级设计,或者将names定制的设计拷贝过去)
/opt/ibm/domino/bin/design -f names.nsf
/opt/ ibm/domino/bin/design -f admin4.nsf
10.离线修复所有数据库
/opt/ ibm/domino/bin/fixup -f -j -v –l
/opt/ ibm/domino/bin/fixup -f -j -v –l
11.离线压缩所有数据库
/opt/ibm/domino/bin/compact -c –i -D
/opt/ibm/domino/bin/compact -c –i –D
-D参数:升级domino数据库ODS版本
12.离线更新所有数据库索引
/opt/ ibm/domino/bin/updall names.nsf -R
/opt/ ibm/domino/bin/updall admin4.nsf –R
注:我们更新索引后发现访问仍然很慢,所以用了最笨的办法,写了代理对所有视图做了refresh动作
13.启动domino服务器
14.验证测试,建议所有业务模块都要覆盖到,重点测试第三方系统接口,特别是java的接口程序。
测试最好要充分些,测试时间可长点。
正式上线:
停掉老的domino、新的domino服务器;
拷贝原有cert.id、server.id、notes.ini文件到新domino服务器;
修改notes.ini文件(见上述修改notes.ini);
删掉测试数据库,重新拷贝拷贝所有应用数据库;
离线升级names.nsf、admin4.nsf数据库;
离线修复所有数据库
离线压缩所有数据库
离线更新所有数据库索引
启动domino服务器;
验证测试;
拷贝旧服务器的hosts内容;
停掉旧的服务器;
停掉新服务器domino;
修改新的服务器IP地址为原有服务器IP;
修改新服务器的hosts文件;
启动新服务器domino;
验证通过域名可否访问、验证应用模块是否正常
【遇到问题】
Session.platform、@Platform:7版本为UNIX,9版本为linux/64;
LSI_INFO代码修改:
Lsi_info(2)------------>CStr(GetThreadInfo(1))
Lsi_info(12)----------->Cstr(GetThreadInfo(10))
Lsi_info(430)---------->未找到替换函数
Lsi_info(6)------------>CStr(GetThreadInfo(3))
同一个表单多次引入同一个子表单报错
-
js给复选框赋值,文档保存后,没按多值显示,解决办法在notes.ini增加参数:
DominoSingleValueListField=0
两台服务器没配置在通过一个VLAN中,这个问题差点把人搞死,从机房中横七竖八的线找到对应的端口,修改交换机的配置
迁移效果对比(show stat mem):
32位最多只能4GB,64则没有限制,而且http、amgr、diiop等任务分配独立的内存,内存分配管理更加合理:
32位domino
64位domino
从domino32位升级为64位耗时耗力,看到升级成功的成果,一天一夜的加班也算没白费。搬迁后的运行效果还算可以,最后提醒一句,迁移前一定要测试充分。