情况 - 25 台 Windows 7 PC 的小型网络,两台网络(通过网络电缆连接,专用固定 IP 地址)打印机(Xerox WorkCenter 7120)。办公室分为两部分,每部分都有自己的打印机,因此人们不必站起来走十多步去拿文件 :)
问题 - Xerox 7120 对我们来说不是一个好的选择,而且维护工作量很大,导致问题和停机。当第一台打印机处于离线状态时,必须通知人们使用另一台打印机,而 BFU 却大喊“从菜单中选择另一台打印机太复杂了”...
问题 - 是否有可能实现类似“故障转移”打印的功能,例如
办公室 1 中的 PC:尝试使用打印机 1,如果不可用,则使用打印机 2 打印
办公室 2 中的 PC:尝试使用打印机 2,如果不可用,则使用打印机 1 打印
自动解决方案,无需用户输入(好吧,如果能打印一些说明就更好了)?我尝试在 Google 上寻找一些解决方案,但我发现大多数都是针对 Windows 2000 的,这让我有点害怕 :)
答案1
您可以创建一个由相同打印机组成的打印机池。用户使用打印机池进行打印,打印会从最不繁忙的打印机进行。如果某台打印机发生故障,它将使用任何可用的打印机进行打印。您可以在此处找到更多信息http://technet.microsoft.com/en-us/library/cc757086(v=ws.10).aspx
答案2
如果是我,我会尝试使用开源的基于 IP 的负载均衡器。首先想到的是 HAproxy。
将其设置为直接TCP 负载均衡,并配置检查来查看打印机是否响应。
然后,您将用户指向 HAproxy 实例,而不是两台打印机中的任何一台。
大多数打印机都乐意使用 TCP/9100(感谢 HP 和 JetDirect),但如果您的驱动程序需要,您可能还希望在 TCP/631(Internet 打印协议)上对流量进行负载平衡。
使用 HAProxy 之类的东西的优点是您不必购买任何额外的软件/硬件(也许)。它可以在 VM(1GB、1Core、Ubuntu)或类似设备上顺利运行。
我认为您需要使用加权循环,并将权重设置为 100 和 1,以便优先打印到其中一个服务器 - 因为您不希望一半的打印作业发送到一个服务器,另一半发送到另一个服务器。也许 LinuxVirtualServer (LVS) 可能更适合,因为您可以将流量发送到其中一个服务器。不确定。不过,可以肯定答案是 L3 负载平衡/故障转移。
另外,您还可以学习一项新技术,这总是很有趣的。
它可能根本不起作用(如果我有几台打印机,我会尝试这个想法),但至少你已经尝试了一些东西。
答案3
第三方软件工具,例如SoftwareShelf 的打印队列管理器可以为您做到这一点。但我不知道有内置工具可以处理这个问题。Simkill 的打印机池想法是最接近的,但要实现这样的负载平衡,您需要将打印机放在同一个位置。因此,如果您只想再拿两台打印机,将两台打印机放在位置 A,将两台打印机放在位置 B,那么您绝对可以选择打印机池路线。