Linux系统Domino704升级为901 64位的步骤及注意事项

时间:2021-10-11 08:12:30



【背景】

随便系统业务量的不断增大,应用数据库越来越多、与第三方接口的需求越来越多、文档量越来越多,32位的domino对服务器的利用率已无法满足系统需求的日益增长,低版本的domino爆发的问题也越来越凸显,升级到64位高版本domino会大大提高服务器资源的利用率,有效解决低版本domino的一些问题。

首先,32位操作系统最多只能用到4GB的内存,而对于16GB的服务器来说是大大的浪费;

其次,domino7版本较低,jvm可用内存很小,不支持webservice使用者设计元素、不支持xpagedomino新版本的亮点功能无法使用。

等等...

 

【迁移步骤】(参考)

  1. 需要一台新的服务器(我们的配置:8+16GB,硬盘3TB);

  2. 安装64位操作系统;

  3. 配置测试用IP地址;

  4. 配置notes组、notes用户;

  5. 配置linux操作系统字符集,一定要与原系统字符集保持一致

  6. 修改系统文件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”。

 见我的博文:点击打开链接

        测试阶段:

  1. 安装64domino901

  2. domino901语言包;

  3. 创建一个测试服务器id(我的ID文件是用测试服务器注册的,与正式机无关);

  4. 用测试服务器ID文件配置domino

  5. 拷贝所有应用数据库到domino(我采用的ftp方式mput,服务器,同一网段,我这拷贝速度70MB/s左右,500GB数据用了将近3个小时);

  6. 拷贝domino/html下所有资源文件;

  7. 拷贝jvm/lib/extjar包文件;

  8. 修改notes.ini文件:

    ServerTasks参数去掉amgr服务,避免定时代理触发第三方系统接口;

    增加:

    Create_R9_Databases=1 

    HTTPJVMMaxHeapSize=1024M JVM最大可使用1GB

    HTTPJVMMaxHeapSizeSet=1

    HttpQueueMethod=2       (HTTP大队列模式)

    DominoSingleValueListField=0(解决js给复选框赋值问题)

     见我的博文:点击打开链接

  9. 离线升级names.nsfadmin4.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的接口程序。

 

测试最好要充分些,测试时间可长点。

 

正式上线:

  1. 停掉老的domino、新的domino服务器;

  2. 拷贝原有cert.idserver.idnotes.ini文件到新domino服务器;

  3. 修改notes.ini文件(见上述修改notes.ini);

  4. 删掉测试数据库,重新拷贝拷贝所有应用数据库;

  5. 离线升级names.nsfadmin4.nsf数据库;

  6. 离线修复所有数据库

  7. 离线压缩所有数据库

  8. 离线更新所有数据库索引

  9. 启动domino服务器;

  10. 验证测试;

  11. 拷贝旧服务器的hosts内容;

  12. 停掉旧的服务器;

  13. 停掉新服务器domino

  14. 修改新的服务器IP地址为原有服务器IP

  15. 修改新服务器的hosts文件;

  16. 启动新服务器domino

  17. 验证通过域名可否访问、验证应用模块是否正常

 

【遇到问题】

  1. Session.platform@Platform7版本为UNIX9版本为linux/64

  2. LSI_INFO代码修改:

Lsi_info(2)------------>CStr(GetThreadInfo(1))

Lsi_info(12)----------->Cstr(GetThreadInfo(10))

Lsi_info(430)---------->未找到替换函数

Lsi_info(6)------------>CStr(GetThreadInfo(3))

  1. 同一个表单多次引入同一个子表单报错

  2. js给复选框赋值,文档保存后,没按多值显示,解决办法在notes.ini增加参数:

    DominoSingleValueListField=0

  3. 两台服务器没配置在通过一个VLAN中,这个问题差点把人搞死,从机房中横七竖八的线找到对应的端口,修改交换机的配置

迁移效果对比(show stat mem):

32位最多只能4GB,64则没有限制,而且http、amgr、diiop等任务分配独立的内存,内存分配管理更加合理:

32位domino 

Linux系统Domino704升级为901 64位的步骤及注意事项

64位domino

Linux系统Domino704升级为901 64位的步骤及注意事项

domino32位升级为64位耗时耗力,看到升级成功的成果,一天一夜的加班也算没白费。搬迁后的运行效果还算可以,最后提醒一句,迁移前一定要测试充分。