用友NC65“该产品的用户数已达到产品授权数”的伪故障

我司财务有一套NC65,运行在Hyper-V高可用性故障转移群集上。物理机和虚拟机的系统都是Server 2012 R2。

该系统过去一年遇到过包括电网故障导致UPS耗尽,服务器冷重启等严重的停机故障,系统启动后都可以正常运行。

近日服务器维护性重启后,公司同事抱怨登录NC65进入模块时,提示“该产品的用户数已达到产品授权数”。

致电用友咨询,问我们最近是否更换了服务器的网卡?

 

突然想到Hyper-V虚拟机的网卡MAC地址是动态分配的,很可能就是这个原因造成的。

Hyper-V虚拟机网卡MAC地址由如下部分构成:

前三个八位组,固定是00-15-5D(由IEEE分配固定给Hyper-V虚拟机使用的)。

第四和第五个八位组,是物理机的IPv4地址的最后两个八位组。如物理机IP地址为10.0.0.20,则对应的就是00-14(0和20的十六进制)。

最后一个八位组是动态分配的(默认情况下),取值范围是0x00到0xFF。

需要注意的是,尽管部署了高可用性故障转移群集,但虚拟机MAC地址的第4、5个八位组并不会群集虚拟IP地址中获得,而是从虚拟机启动时所在物理机的IP地址中获得。(即:虚拟机是在物理机A上启动的,那么虚拟机的动态MAC地址就利用物理机A的IP地址生成。)

 

在用友NC安装目录/bin下,有一个sysconfig.bat文件,运行它可以呼出NC的配置程序。

在配置程序左侧导航栏找到“其它设置——License”,然后点击“读取授权”,即可看到生成注册信息时原始的MAC地址。

将虚拟机的MAC地址设置为固定,重启服务器即可解决。

注:跟数据库服务器没关系,数据库服务器不需要重启。

 

参考:https://blog.csdn.net/u010890857/article/details/65444694

你可能感兴趣的:(其他技术文摘)