NLB 故障轉移叢集中的伺服器無法作為 Windows Server 2012 R2 中的列印伺服器

本文說明為什麼網路負載平衡 (NLB) 故障轉移叢集伺服器無法作為 Microsoft Windows Server 計算機中的列印伺服器。 本文也說明設定有效率列印伺服器的不同方式。

適用:Windows Server 2012 R2
原始 KB 編號: 954420

摘要

在故障轉移叢集中設定的網路負載平衡 (NLB) ,可在用戶端的每個要求都是無狀態,而且沒有記憶體內部應用程式狀態可維護的環境中提供高效能。 您無法與列印伺服器一起實作此設定。 這是因為列印伺服器會為與其通訊的每個印表機和客戶端維護許多狀態資訊。 列印作業可能會跨越數個通訊要求。 因此,所有要求都必須由相同的節點處理。 在故障轉移叢集環境中,只有單一節點會一次與列印裝置和用戶端計算機通訊。 大部分的網路列印裝置都可以處理來自網路上不同計算機的多個要求。 不過,每個列印伺服器或叢集節點都只知道其在印表機上的負載。 只有當列印裝置報告已準備好接受新作業時,每個伺服器或節點才能將工作多任務緩衝處理。 列印裝置通常一次只接受一個列印作業。

將列印作業提供給列印伺服器時,列印作業本身可以跨越客戶端與伺服器之間的多個通訊要求。 在 NLB 環境中,您無法確定每個要求都由相同的節點處理。 NLB 叢集組態中甚至無法使用其他資訊,例如列印作業狀態資訊。 這是因為每個節點不會有其他節點正在處理之工作的相關信息。

由於列印裝置中的資源限制,以及其與叢集中特定節點的通訊程式,因此無法將 NLB 故障轉移叢集用於列印伺服器。 即使可以成功將列印作業傳送至 NLB 故障轉移叢集,一般效能也不會有任何提升,而且會大幅喪失功能和網路效率。 使用不會影響列印基礎結構管理功能的其他策略,在特定列印伺服器 (故障轉移叢集或獨立) 上提升效能會比較容易。

設定有效率的列印伺服器

當列印伺服器的負載太高,且即使印表機處於閑置狀態,也無法再提供服務列印要求時,請遵循下列步驟來改善伺服器上的輸送量:

  • 在盡可能多的用戶端上啟用用戶端轉譯 (CSR)
    這可減少伺服器在將作業傳送至伺服器之前,在個別用戶端上轉譯列印作業,在每個列印作業上必須執行的工作。 以 Windows Vista 為基礎的較新電腦支援 CSR。

  • 增加伺服器上的資源
    如果伺服器是效能不佳的原因,它很可能會遇到處理器電源或記憶體不足的問題。 增加這些元件的功能應該會改善伺服器的回應性。

  • 增加伺服器數目
    列印基礎結構可以分割成多部伺服器,而新的列印裝置可以推出到新的伺服器上。 現有的印表裝置可以重新放置到新的伺服器,但需要進行額外的工作,才能將現有的連線用戶端移轉至印表機以參考新的伺服器。

網路環境中的另一個問題是印表機不足。 當列印作業已正確排入佇列,但沒有足夠的印表機可用來處理工作負載時,就會發生這種情況。 如果您新增更多印表機,整體列印容量將會增加。 如果集區中的印表機共置,則印表機共用可用來讓用戶順暢地使用。 在某些情況下,列印機會因為紙張或筆跡不足,或是因為紙張卡住之類的錯誤而處於錯誤狀態。 如果您有員工處理離線或處於錯誤狀態的印表機,您可以增加印表基礎結構的整體輸送量,並在處理繁重的工作負載時維持您目前的裝置數目。

對於需要高可用性的環境,您可以使用故障轉移叢集作為列印伺服器。 如果叢集中的節點失敗,所有列印功能都會故障轉移至叢集中的下一個節點。 若要改善故障轉移時間,建議叢集的系統管理員在伺服器上安裝新的列印驅動程式時,強制故障轉移至每個節點。 在故障轉移期間,驅動程式安裝會強制在作用中節點上進行。 在每個節點上安裝驅動程式可能需要幾分鐘的時間。 在維護期間強制執行此安裝程式,可確保在一般作業期間的任何非計劃性故障轉移都會很快速,因為驅動程式已安裝在每個節點上。