我正在与一家提供基于服务器的应用程序的供应商合作,该应用程序需要激活许可。有两种选择,基于软件的许可和基于硬件(USB 加密狗)的激活。在应用程序软件运行在基于 VMware 的服务器上的环境中,使用硬件或软件许可证密钥的优缺点是什么?USB 硬件许可证密钥将插入其中之一: https ://www.digi.com/products/usb/anywhereusb
有两个应用程序正在获得许可:供应商:Iconics 软件:GENESIS32 SCADA 平台供应商:罗克韦尔自动化软件:FactoryTalk (RSLinx)
这是供应商偏爱硬件密钥的原因:
我们发现硬件密钥比软件密钥更稳定,尤其是在 VM 环境中。软件密钥通常附在计算机的硬盘驱动器或 NIC id 上。每当这个数字发生变化(硬盘驱动器故障、虚拟机重新配置等)时,许可证就会丢失,需要在制造商的帮助下重新加载。现在的授权是通过互联网完成的,大多数服务器都没有互联网接入,因此处理授权问题成为了一个非常头疼的问题。硬件密钥适用于 VM,因为它们不驻留在 VM 上。如果您遇到映像故障或其他服务器故障,您可以复制一个新映像,指向许可证密钥,然后您就可以正常运行了。
硬件密钥增加了额外的故障点。我见过他们打破。当它们坏了时,你不能登录你的刷卡系统,也不能让新人进入大楼。叹
如果可以选择,请始终使用软件密钥。例如,FlexLM(一种更常见的许可服务器)确实令人头疼,但一旦启动并运行,您就不必担心了。使用硬件密钥,您必须担心密钥失效、USBAnywhere 失效、USBAnywhere 软件失效等问题。
我使用过那些 USBAnywhere 设备,它们非常可靠,但我仍然更喜欢软件密钥,十分之 10 次。
请参阅:网络连接 USB 集线器的跨平台支持?
在其他条件相同的情况下,您需要软件密钥的灵活性。使用 USB 加密狗完成这项工作会降低系统的便携性,而且不会带来太多好处。
许多软件制造商已经意识到人们正在走向完全虚拟化并希望利用他们类似 vMotion 的功能这一事实。如果可以选择基于软件的许可方案,请使用它!
计算机的 NIC id(也称为 MAC 地址)在 VM 环境中不应更改。此外,您通常可以分配 MAC 地址以匹配许可证文件中的 MAC 地址。MAC 地址通常可以在操作系统中被篡改(我在 Linux 上这样做)。
依赖硬盘硬编码 ID 的许可证服务器是自找麻烦——硬盘故障是不可避免的,RAID 阵列很常见,时常更换硬盘是正常的。
USB加密狗似乎比其他任何东西都更容易出现故障。
我们管理着大约 20 台许可证服务器,它们都依赖于 MAC 地址或更简单的机制。
我知道你的问题是在 VMware 环境中,但我认为一般问题与包括 Hyper-V 在内的其他虚拟化平台有关。
我最近对一台老化的服务器进行了虚拟化,该服务器运行的服务依赖于基于 USB 的硬件许可密钥,我发现它们无法在 Hyper-V 环境中本地运行。Hyper-V 部署指南是这样说的:
您可以将虚拟机的 COM 端口连接到命名管道,但显然不能连接到实际的串行端口。显然这主要是一个调试功能。您可以使用 COM 端口重定向器(例如 KernelPro 的 USB over Ethernet)为虚拟机提供对串行端口的访问。
此外,如果您希望将许可密钥安装在主机服务器上,则许可密钥的软件和驱动程序需要支持安装在 Window Server 上,在我们的例子中,则支持安装在 Server Core 上。
我最终在工作站上安装了许可密钥和软件,然后将其用作该站点的“许可服务器”。这增加了大约十种不同的东西,现在可以破坏这个软件。基于软件的许可密钥可以为我省去很多麻烦,而且我认为这是一种更可靠的解决方案。