ライセンス範囲内で利用しているのにライセンスのエラーが出力される?

対象プラットフォーム

質問

Windows NT Server を接続クライアント数モードで使っています。 最近 Windows NT Server のイベントログに、図1のようなエラーが報告されるようになりました。
ライセンスは必要分をきちんと購入しているつもりなのですが、必要なライセンスの計算方法が間違っているのでしょうか?


図1: イベントログに表示されたライセンスエラー

回答

正しくライセンスを購入していても、Windows NT のライセンス管理の仕組みが実際のライセンス体系に一致していない為にライセンス不足の警告が発生してしまう事があります。 特に、後出する 「接続クライアント数モード」で運用している場合には顕著です。
この現象を理解するためには、Windows NT Server のライセンス管理の仕組みを理解する必要があります。

Windows NT Server には、[コントロールパネル] - [ライセンス] というアプレットや、ライセンスマネージャというツールがあり、これらを使って、購入したライセンス数の設定や、後出するライセンスモードの設定などを行うようになっています。 また Lisence Logging Service というサービスがあり、これが実際に使用されているライセンス数をカウントする仕組みになっています(以下の文中では、これらの仕組みを総称してライセンスマネージャという用語を使います)。

複雑な Windows NT の CAL の算定方法

ところで、ライセンスマネージャがカウントしているライセンスは、CAL (Client Access Lisence) というライセンスです。CAL について一言で説明しますと、クライアントマシンがサーバに接続するのに必要なライセンスということになります。 例えば、クライアントマシンが Windows NT Server に接続するには、Windows NT Serverの CAL が必要になります。これは Windows 95 や Windows NT Workstation などの OS を使用していても同様であり、これらのマシンから Windows NT Server に接続する際には、クライアントマシンにインストールされている OS のライセンスに加えて Windows NT Server の CAL が必要になります。
ソフトウェアの仕様的には、CAL の有無に関わらず接続できてしまいますが、ライセンス的に接続を許可されているわけではありませんので注意して下さい。なお、SQL Server や Exchange Server 等他の Back Office 製品に接続するためにも、それぞれ個別の CAL が必要です。

また、CAL には、「同時接続数モード」と、「接続クライアント数モード」という二つのライセンスモードがあります。 接続クライアント数モードは、CAL を所持しているのはクライアントマシンであり、CAL を所持しているクライアントマシンは、どのサーバにもアクセスできると云うライセンス体系です。一方、同時接続数モードは、CAL を所持しているのはサーバであり、各サーバには、各サーバ毎に所持している CAL ライセンスの数までの同時接続が可能である というライセンス体系です。

Windows NT のライセンスについての詳しい説明は、ライセンス体系概要などを参照してください。

ライセンスマネージャの仕様の問題点

ライセンスマネージャは CAL の管理を行うためのツールなのですが、実際は仕様的な問題点の多いツールです。
ライセンスマネージャで、「製品の表示」タブからいずれかの製品の行をダブルクリックして開くと、図2のような画面が現れます。


図2: 製品のプロパティ

これを見ると、「<コンピュータ名(またはドメイン名)>\<アカウント>」というアカウント情報がライセンスを「使用」する単位になっているのがわかります。
しかし、ここには「<マシン名>\Administrator」や「<ドメイン名>\SMS」などのシステムが使用するアカウントや、通常使用しないアカウントも、ライセンスを「使用」している対象として登録されていることが多いと思います。

つまり、ライセンスマネージャ(正確には License Logging Service)がカウントしているのは、あくまでも、どういう名前のアカウントで接続があったかという情報です。これはライセンス条項が規定しているライセンスの「使用」とは似て非なるものです。

例えば、ライセンスマネージャでは、一度でも接続があったアカウント情報は記録され、管理者が明示的に削除するまではそのままです。従って、例えばあるクライアントマシンを複数アカウントで共用している場合、ライセンスマネージャは、そのマシンからログオンするアカウントの数だけライセンスを使用しているものとしてカウントしてしまいます。 しかし、実際のところ、どちらのライセンスモードを使用していても、使用許諾書に従えば、このパターンで 1 CAL 以上使用することはありません。
逆に、一人のドメインユーザが同じドメイン内の複数のマシンに同じアカウントでログオンし、同じサーバに接続している場合、ライセンス的には 3 CAL 必要ですが、1 CAL しかカウントされません。

結局、ライセンスマネージャの問題点は、ライセンス規約上は、サーバに接続するマシンの台数単位で CAL をカウントしているにもかかわらず、サーバに接続する「アカウント情報」単位で CAL をカウントする仕様になっているという点に尽きます。
個々のユーザが各々一台のマシンを占有し、自分に割り当てられたアカウントを使ってログオンしている場合は、上記のような問題は発生しにくいのですが、例えばたまに、 Administrator でログオンして使った場合や、SMS 等の実行アカウントがログオンしている場合は、それらもカウントされてしまいますので、問題がない訳ではありません。 逆に、業務システムなどで、全員同じアカウントを使ってログオンしている場合は、こうしたカウントの方式は無意味です。

ライセンスグループの機能

こうした問題に対応する機能として、ライセンスマネージャには、ライセンスグループという機能があります。 例えば、5 アカウントで、3台のマシンを共有している場合、図3のようにライセンスグループを作成して、5 アカウントを所属させ、3 CAL を割り当てる事ができます。 この場合、この 5 アカウントが 3 台までのマシンからどのようにサーバにアクセスしても、3 CAL しか「使用」しません。


図3: ライセンスグループの作成

しかし、この設定を行うには、管理者は、どのアカウントがどのマシンからログオンするかを全て把握しておく必要があります。
また設定は、GUI から行なう必要がありますので、ユーザ数が多くなって来ると、ライセンスグループの設定は、非常に手間がかかる作業になります。

さらに、ライセンスグループに登録された以外のアカウントでサーバに対して接続があった場合は、それは全て別個にライセンスを使用してしまいます。 これは、管理者が認定していないアカウントからの接続を検知すると云う「怪我の巧名」的なメリットもありますが、例えば「接続クライアント数モード」で運用されている場合クライアントからどのようなアカウントで接続しようとも、ライセンスで許諾された範囲内の行為であるため、CAL の管理と云う本来の目的から考えますと、問題があります。

結局使えないライセンスマネージャ

そもそも、最近ではクライアントが複数サーバに接続するのがあたりまえとなってきているため、通常 CAL は接続クライアント数モードで運用されているケースが多いと思います。 この場合、CAL は各クライアントマシンに所属していますので、クライアントマシン数分の CAL を購入していれば、CAL に関する問題が発生することはない筈で、わざわざライセンスマネージャを使って管理する必要性は低いと思います。

また、別のドメインからのアクセスを正しく処理するためには、ライセンス情報の複製という設定を行う必要がありますが、この為には互いにアクセスする可能性がある全てのドメインが協調して設定を行う必要がありますので、現実的に困難な場合も多いと思います。

結局筆者の所見としては、ライセンスマネージャは、CAL を管理するツールとしては手間の割にはあまり役にたたないというのが結論です。
CAL という概念に特化したツールであることもあってか、サードパーティ製のツールで、このライセンスマネージャに対応しているものも見たことがありません。

ライセンスマネージャは、 Windows NT Server に自動的にインストールされ、デフォルトではサービスとして自動で起動されています。しかしこれまで述べてきたような点に注意して設定しないと、正しく CAL を購入しているにも関わらず、冒頭にあるような警告が発生してしまう事がよくあります。 筆者は、今まで述べて来たようにライセンスマネージャを正しく設定する必要性を感じていないため、ライセンスマネージャの機能を停止してしまうことをお勧めしています。

CAL のカウントを行なっているのは、License Logging Service という名前のサービスですので、[コントロールパネル] - [サービス] あるいはコマンドプロンプト等からサービスを停止することで、こうしたエラーは発生しなくなります。

最後に蛇足ですが、ライセンスマネージャの機能を停止するか否かに関わらず、CAL は、使用許諾書(EULA)で定められた必要数を購入する必要があります。

注記・補足

  1. 本文書は、日経 Windows NT 1999 年 5 月号の「トラブル解決 Q&A コーナー」に掲載された「ライセンス範囲内で利用しているのにライセンスのエラーが出力される?」の草稿を筆者の方で HTML 化して掲載しているものです。

Copyright (C) 1998-2009 TAKAHASHI, Motonobu
Last update: 2006-07-12 00:00:19 JST
webmaster@monyo.com