【背景】
随便系统业务量的不断增大,应用数据库越来越多、与第三方接口的需求越来越多、文档量越来越多,32位的domino对server的利用率已无法满足系统需求的日益增长,低版本号的domino爆发的问题也越来越凸显,升级到64位高版本号domino会大大提高server资源的利用率。有效解决低版本号domino的一些问题。
首先。32位操作系统最多仅仅能用到4GB的内存。而对于16GB的server来说是大大的浪费。
其次。domino7版本号较低。jvm可用内存非常小,不支持webservice使用者设计元素、不支持xpage,domino新版本号的亮点功能无法使用。
等等...
【迁移步骤】(參考)
-
须要一台新的server(我们的配置: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语言包;
-
创建一个測试serverid(我的ID文件是用測试server注冊的,与正式机无关);
-
用測试serverID文件配置domino。
-
拷贝全部应用数据库到domino(我採用的ftp方式mput,server,同一网段,我这拷贝速度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.启动dominoserver
14.验证測试。建议全部业务模块都要覆盖到,重点測试第三方系统接口,特别是java的接口程序。
測试最好要充分些,測试时间可长点。
正式上线:
-
停掉老的domino、新的dominoserver;
-
拷贝原有cert.id、server.id、notes.ini文件到新dominoserver;
-
改动notes.ini文件(见上述改动notes.ini);
-
删掉測试数据库,又一次拷贝拷贝全部应用数据库;
-
离线升级names.nsf、admin4.nsf数据库;
-
离线修复全部数据库
-
离线压缩全部数据库
-
离线更新全部数据库索引
-
启动dominoserver。
-
验证測试;
-
拷贝旧server的hosts内容。
-
停掉旧的server;
-
停掉新serverdomino;
-
改动新的serverIP地址为原有serverIP。
-
改动新server的hosts文件;
-
启动新serverdomino。
-
验证通过域名可否訪问、验证应用模块是否正常
【遇到问题】
-
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
-
两台server没配置在通过一个VLAN中,这个问题差点把人搞死。从机房中横七竖八的线找到相应的port,改动交换机的配置
迁移效果对照(show stat mem):
32位最多仅仅能4GB,64则没有限制。并且http、amgr、diiop等任务分配独立的内存。内存分配管理更加合理:
32位domino
64位domino
从domino32位升级为64位耗时耗力。看到升级成功的成果。一天一夜的加班也算没白费。
搬迁后的执行效果还算能够,最后提醒一句。迁移前一定要測试充分。