少し前のWindows Serverでは、Print Spool ServiceのCluster化がサポートされており、
Clusterによりプリントサーバーの冗長化を採っているケースがいくつかあるようです。
Windows 2012R2以降よりCluster化をサポートしなくなってしまい、そのころ構築されていた
XenAppやXenDesktopを最新のOSやバージョンへ刷新する際、プリントサーバーをどうするのかが
問題になります。
Citrix Virtual Apps and Desktop(CVAD)の7.9以降のバージョンでは、プリンタサーバーの負荷分散、
冗長化をサポートしており、その機能が「Universal Print Server(UPS)」です。
構築方法もすごく簡単で、プリントサーバーへUPSのコンポーネントを追加し、ポリシーを設定すれば
即利用できます。
ユーザーへプリンタを割り当てる場合、CVADにある「セッションプリンター」や「プリンタの割り当て」
のポリシーを利用します。UPSを利用する場合にもこのポリシーでプリンターを割り当てます。
UPSの利用方法に関して、検索してみても「ポリシーを割り当ててプリンターをUNCパスで指定してね」と書かれているだけであまり詳しい情報を探すことが出来ませんでした。
そこで、設定方法を少しまとめてみます。
【設定手順1】
1.プリンタサーバー用のOSを2台用意し、「役割と機能」より「プリントサーバー」の
役割を追加します。追加したら2台のサーバーそれぞれに同じプリンターを登録します。
登録するプリンターには、メーカーの純正ドライバーで登録します。
2.2台のプリントサーバーへCVADのメディアより「ユニバーサルプリントサーバー」を
インストールします。
設定は以上です。
【設定手順2」
1.CVADのポリシーより次のポリシーを設定します。
「ユニバーサルプリントサーバーの有効化」
「負荷分散のためのユニバーサルプリントサーバー」
「ユニバーサルプリントサーバーのサービス停止のしきい値」
しきい値はデフォルトで180秒が設定されていますので環境によって調整して
ください。
2.「プリンターの割り当て」や「セッションプリンター」のポリシーでプリンターを
割り当てます。
ここで気になるのが、これらポリシーでプリンターを設定するにはUNCパスで設定するのですが、
「何を設定するの?」「どうやって2台のサーバのプリンターを登録するの?」です。
まず最初に思いつくのが2台のプリンタサーバーに登録されているプリンターをそれぞれ登録
する方法です。2台のプリンタサーバーに登録されているプリンターをそれぞれ登録してしまうと
想定の2倍のプリンターがセッション内で割り当てられてしまいます。
正しい設定内容は「\\どちらかのプリンタサーバー\プリンター名」です。
「1台のサーバー分しか登録していないけど大丈夫なの?」と思いますが、この設定でOKです。
複数人のユーザーでログオンすると、各セッションごとに割り当てられているプリンタサーバーが
異なっています。自動で負荷分散されているようです。
次に、片方のプリンタサーバーを停止するとどうなるでしょうか。
この場合も正常に動作しているプリンタサーバーへ接続先が変更されます。
切り替わるタイミングをレジストリでも調整できますのでCTX281978として公開されている技術情報を
確認してください。
負荷分散についてですが、パフォーマンスモニターを利用し負荷を確認しているようです。
ちなみに、この機能を利用するとユニバーサルプリンタドライバーを利用するため、
プリントサーバー以外へプリンタドライバーをインストールする必要がなくなります。
VDI環境もオンプレではCitrix、VMware、Microsoft、クラウド環境でもこの3社が導入候補に
上がることが多く、プリントサーバーの冗長化に関してHorizonではThinPrintの上位ライセンスの
追加購入が必要になり、Microsoftでは・・・。
その点Citrixでは、標準でプリントサーバーの冗長化が考慮された製品構成になっています。