[SMS2003] テスト用サーバ構築時のメモ
Microsoft SMS2003 のテストサーバを構築した時のメモです。一応仕事先で使っているサーバと似たような環境にしていますが、具体的な名前やセキュリティに絡む部分は伏せて記述しています。けっこうな段取りを踏む必要があったので何かの役に立てばと残しておきます。
【1.準備作業】
さて、インストールの前に、Active Directory サーバに対する準備作業が必要で、以下の技術情報にまとめられています。
http://www.microsoft.com/japan/technet/sms/2003/library/adsmpsms.mspx
今回の検証環境は Active Directory(以下「AD」)の機能レベル 2003 がなので、作業は3つあります。
- ADのスキーマ拡張
- SMSサイトサーバへWindows サポート ツールをインストール
- System Management コンテナを作成して適切な権限を付与(後述)
これらの作業後SMS本体のインストールを行います。
SMSサイトサーバにするマシンはドメイン参加をしておき IIS 6.0 と .Net Framework 2.0 も必要となりますので、あらかじめWindowsコンポーネントから追加します。
【重要】管理ポイント(MP)として動作させるサーバでは、IIS の BITS(Background Intelligent Transfer Service)コンポーネントが必須であることに注意してください。
さらに、SQL Server 2005 のインストールとSP3の適用を行ないます。
(注)SQL Server 2005 の2011年6月現在の最新SPは 4 ですが、SMS2003に適合しているという公式資料を見つけられていません。どなたかご存知でしたらご教示ください。一応このテスト環境では動作はしています。
SMS2003においては、ADは必須ではありませんが、管理共有が使えないとインベントリ収集の際に問題が出たりで事実上使えません。ただ、SMSを必要とする台数のクライアントがいる環境では逆にAD(最低でもNTドメイン)がない方が珍しいと思いますので、あまり問題にならないでしょう。
【2.SMS2003 インストール】
ライセンスやプロダクトキー確認画面の後、サイトコードを設定します。Microsoft のスクリプトセンターなどに若干ではありますがSMS2003のサンプルスクリプトが載っていますが、サイトコードの指定は結構重要なので、テストサイトを構築する時にはできれば本番と同じサイトコードにする(そうしても問題ないようなネットワーク構成を取る ≒ 本番のADとは別環境のADを作成してその中にSMSのサイトを作る)ことをお薦めします。
続いてスキーマ拡張のメッセージが表示されます。ADのデータベース構造の変更だけでなくオブジェクト作成などが行われるようなので
同じAD環境内で再インストールする場合でも必ず作業を行ってください。当然、実行者には schema admins 相当の権限が必要です。
【重要】事前にAD上に System Management コンテナができている場合には、アクセス権としてSMSサイトサーバのコンピュータアカウントに対してもフルコントロールを付与することと、子オブジェクトに対しても権限を継承するよう設定することが必要です。これがないと後でドメイン探索ができなかったり、MPの動作が不安定になることがあります。
その他設定に関する項目です。
・セキュリティ情報は必ず「上級セキュリティ」を選択します。
・署名されていないデータは拒否します(今回SMS2.0のサイトとは連携しないので)。
・SMSクライアント数はテスト環境なのでデフォルトの100のままとします。
・インストールオプションで、リモートツールをインストールするようオプションを変更します。
これは実環境でリモートツールが必須なためです。サイトの実情に応じて判断してください。
・SQLサーバを実行しているコンピュータを選ぶ。通常はMP自身でデータベースを持つので自分自身を指定します。
・その際、SQLへの認証はWindows認証を利用します。(SQL Serverをインストールした時の設定に合わせる)
なおリモートのSQLサーバを利用するには、SQLサーバを実行しているコンピュータアカウントをサイトサーバのAdministratorsグループに入れる必要があります。当然、SQLサーバを特定のユーザで動作させているのなら、そのユーザに対して権限を付与することになります。が、特定のマシンのユーザをいきなりadministratorsにするのはあまりセキュリティ的には好ましくないですよね。
・SMSサイトデータベースは自動作成するように指定。
・データベース名とインストール先はデフォルト。
・同時接続数のパラメータもデフォルト
SP3の資産インテリジェンスは実環境で使用していないので、データコレクションのみインストールしています。
【3.共有フォルダを使用した配布ポイント】
配布ポイントに利用する共有フォルダは事前に作成しておきます。なお、配布ポイントに使用するサーバのローカルadministratorsグループにSMSサイトサーバのコンピュータアカウントを追加する必要があります。つまり実質的に配布ポイントにするコンピュータはドメイン参加しておく必要があることになります。
共有フォルダの権限は、Domain Users : 読み取り、Administrators : フルコントロールに設定しています。
BITSを利用した配布ポイントの話は長くなりますので別記事にて。
SMS を稼働させるには最低1つの配布ポイントが必要ですので、別サーバを使う余裕がなければ MP の中にでも専用の共有を作成すればOKです。
【4.クライアント設定前に必ずする作業】
(1) 最低限MP(管理ポイント)は動作させなければならない。
今回の場合は、SMSサイトサーバ1台で管理ポイント、配布ポイント、サーバロケーターポイント、レポートポイントを兼務させることにします。これらの設定は、サイト設定→サイトシステムでSMSサーバのプロパティを表示したダイアログで、適切なサーバの役割にチェックボックスを入れるだけです。
今回の環境ではアドバンストクライアントのみが存在するのでCAP(クライアント・アクセス・ポイント)は不要…と思いきや、サイト内に1つは必須とのことで外せません。
(2) 探索の設定
サイト設定の探索方法を適切に設定します。クライアントが AD 参加しているなら、基本的にはADのアカウント情報を探索するようにすればよいでしょう。これをしないとまず「すべてのシステム」コレクションにオブジェクトが現れません。
(3) サイト境界にADドメインのサイトを登録
これをしないと、SMSサーバがクライアントを管理対象とみなしません。「すべてのシステム」コレクションで対象クライアントの行が
「割り当て」=「はい」
になればOKです。ADの default-first-site を必ず登録してください。でないとAD探索したデータが全部割り当て対象外になってしまいます。
クライアントPCでSMSクライアントのソフトウェアがインストールされていれば「割り当て」=「はい」のものについて
「クライアント」=「はい」
になり、さらにクライアント側でサイトコード検索に成功すると「サイトコード」も適切に表示されるようになります。
(4) クライアントエージェントの設定
ここまできたら、インベントリ収集可能になりますので、サイト設定の「クライアントエージェント」を適切な間隔に設定します。テスト目的であれば短く設定しましょう。
(5) リソースエクスプローラでハードインベントリなどの情報が見れればOK。
【5.クライアントのインストール】
サーバの SMS のインストールされたフォルダの下に client というフォルダがあり、その中の i386 の中の client.msi を使ってインストールできるのだが、MS的にはccmsetupを使ってインストールすることを推奨しています。
http://www.microsoft.com/japan/technet/sms/2003/library/techfaq/tfaq03.mspx
これによりSMSクライアントの修復などでMSIファイルが必要になる場合のケアなどをしているようです。
修復・削除する場合ですが、SMSクライアントは「プログラムの追加と削除」には表示されません。
修復は「コントロールパネル」の「System Management」から修復ができます。
一方削除ですが、まず、クライアントのローカルに残っているはずの SMS インストーラの場所を確認します。通常は C:\Windows\System32\ccmsetup\ドメインのSID\client.msi になります。このMSIファイルを引数にして msiexec /x で実行する。cliemt.msi を直接実行した場合などまれにローカルにMSIファイルが存在しない場合がありますので、この場合 \\(MPのコンピュータ名)\SMS_(サイトコード)\Client\i386 の下にあるclient.msi を使ってアンインストールします。
実行例:msiexec /x c:\WINDOWS\system32\ccmsetup\{DA***D1E-B**9-4**4-9**7-C**70**D0**4}\client.msi /passive
【6.SQL Server 2005 SP3/4 適用】
先にSMSのサービス管理コンソールを閉じましょう。MMC が管理しているコンポーネントと通信できなくなるとたいていヒドイ目にあいます。
インストール中にSMSのサービスは停止されますが、先もって手動停止する場合、止める順番は、IIS、SMS SiteComponentManager、SQLMonitor、ServerLocatorPoint、ReportingPoint、SMS Executive の順番がよろしいんではないかと。
最後にSQL Serverを停止してから、いよいよSP適用になりますが、実行には30分くらいかかりますから、作業全体で1時間くらい停止時間が必要と見積もればよいでしょう。
再起動後、SMSのコンポーネントで異常が出ていないことを確認すれば作業完了です。
【7.SMSサイトバックアップとリストア】
まず回復エキスパートをCDROMからインストールしておきましょう。デフォルトのパラメータでインストールすれば、IISの /SMSRecoveryExpert というディレクトリが公開されます。IISの管理画面からこのディレクトリが確認できればインストール済みということになります。
ただし、リストアはあくまで手動で行う必要があります。回復エキスパートとは、サイト構成によってリカバリーに必要な手順をアドバイスしてくれる機能で、全自動でリストアしてくれるわけではありません。
当然、各種設定は安全側に振ってあるので、実際には必要ない作業も提示される可能性があります(ちらっと試験した限りでは)。いずれにしてもかなり面倒であることは覚悟しておくほうがよいでしょう。
なおMPで修復回復エキスパートを使用する場合、以前と同じコンピュータ名でセットアップするよう指示されていることに注意が必要です(つまり「移行」には使用できない)。これは端末側でサイトコードを検索した際にMPのコンピュータ名を記憶しているのが理由のようです。
逆に言えば、端末が知っている同じ名前でSMSサーバを再構築すれば、端末が起動してさえいればHeartbeatが飛んでくるのでSMSのデータベースに格納されることになります。
したがって、回復エキスパートを使ってもまったくデータが戻らなかった場合には、以前と同じホスト名で同じサイトコードでサーバを構築して、クライアントから Heartbeat が飛んでくるのを待つという方法もあります。(Remoteツールやインベントリ参照はSMSのデータベースに載らないと使えないので、運用上の制約はそこだけ)