更改服务器的 IP 地址之前,请考虑下列潜在问题:
问题 1:如果服务器以前的 IP 地址存储在任何“服务器连接”文档或“服务器”文档中,则在 DNS 和服务器本身中更改该服务器的 IP 地址时,旧的“服务器连接”文档或“服务器”文档会导致连接失败。
解决方法:使用 DNS 完全限定域名(而不要使用 IP 地址),作为存储在“服务器连接”文档或“服务器”文档中的网络地址。然后可以在 DNS 中更改服务器的 IP 地址,而无需更改“服务器连接”文档或“服务器”文档。随时可以将网络地址从 IP 地址更改为 DNS 名称。
要修改“服务器连接”文档,请先打开“服务器连接”文档。在“基本”附签中,如果在“连接类型”域中选择了“局域网”,则单击“高级”附签,并选中“目标服务器地址”域中的项目。如果该域中包含服务器的 IP 地址,请删除该 IP 地址并输入完全限定域名。请记住,基于服务器的 Domino 目录和基于客户机的通讯录都会出现这个问题。
要修改“服务器”文档,请单击“TCP 网络地址”端口的“端口”附签。如果该域包含 IP 地址,请将该条目更改为适当的完全限定域名。
问题 2:所有 Notes 客户机和 Domino 服务器用于连接到 Domino 服务器的算法,都可以缓存用于成功连接到服务器的 IP 地址。如果存在此缓存条目,则更改服务器的 IP 地址时,使用旧的缓存地址可能会导致连接失败。
理解执行缓存的原因十分重要。Notes 支持很多种作为 Notes 端口实现的网络技术。如果 Notes 尝试连接到已关闭的服务器,并使用每个可能的“名称到地址”解析工具尝试每种可能的技术(Notes 端口)直到每个端口都失败,则连接尝试需要很长时间。为了防止服务器关闭后报告错误时出现长时间的延迟,Notes 实现了两种服务器连接算法。一种算法使用缓存地址,速度较快;另一种算法使用缓存失败时不使用缓存的完整算法,速度较慢。
下列方法可以解决这个问题。解决方法按照应该使用的顺序列出。
解决方法 1:快速连接算法仅在客户机或服务器已事先成功连接到同一台服务器时使用。如果今天尚未连接成功,则使用较慢的算法且不使用缓存。为了避免此问题的发生,请在深夜时(但要在午夜之前)更改服务器的 IP 地址。这是最简单的解决方法,因为这种方法对用户是透明的,而且不需要求助电话或对用户的部件进行任何操作。
解决方法 2:成功连接到服务器之后重写缓存。缓存地址是用户输入的地址,而不是解析的 IP 地址。因此,如果用户习惯在连接到 servera/acme 时输入 servera.acme.com,则缓存地址将为 servera.acme.com,而不是 1.2.3.4,从而也就不会出现问题。
解决方法 3:任何成功连接到服务器之后重写缓存。如果用户尝试按其 Notes 名称连接到服务器(例如,servera/acme),则使用过时缓存条目。如果用户尝试使用服务器的完全限定域名进行连接(例如 servera.acme.com),则不会使用缓存,而是从 DNS 获取新的地址并在缓存中输入正确的新地址。要使用服务器的完全限定域名进行成功连接,请使用“文件”“数据库”“打开”菜单命令,或“文件”“惯用选项”“用户惯用选项”“端口”“跟踪服务”菜单选项。
解决方法 4:缓存存储在客户机“位置”文档和服务器“服务器”文档中的下列 Notes 域:
$Saved Addresses
$SavedDate
$SavedPorts
$SavedServers
$SavedTriedDate
如果将这些域从“位置”文档或“服务器”文档中删除,(例如,使用公式代理,)则无法使用缓存中旧的 IP 地址。这种方法会引起混乱,因为如果存在客户机或服务器,将会从内存拷贝复写 Notes 项目。因此,要使用此方法清除客户机的缓存,请在“本地通讯录”中创建代理,然后切换到“孤岛位置”文档并退出客户机。重新启动客户机,然后运行代理清除所有其他位置的缓存。切换到正常位置。
清除缓存的代理公式语言代码样例如下:
FIELD $SavedAddresses:=@DeleteField;
FIELD $SavedDate:=@DeleteField;
FIELD $SavedPorts:=@DeleteField;
FIELD $SavedTriedDate:=@DeleteField;
FIELD $SavedServers:=@DeleteField;
SELECT @All
解决方法 5:通过下列 NOTES.INI 设置禁用缓存地址:
DONT_USE_REMEMBERED_ADDRESSES=1
如果客户机使用的是多端口或慢速端口技术,则我们建议使用此方法,因为这种方法在报告服务器关闭时候可以引起长时间的延迟。