2013年11月24日日曜日

System Center 2012 R2 Operations Managerのインストールでハマル

System Center 2012 R2 Operations Managerのインストールを意気込んで始めましたが。。。
Reporting Service用のデータベースがいるとかいろいろあって、レポートサーバーはインストール見送り。
今回の本題は、"OMとSQL Serverを別サーバーとし、それぞれWindows FWを有効にしている場合、インストール時にシステム要件に記載のないポートを開けておく"ということです!それ以外にもいくつかポイントがありました。

それではどうはまったのかを再現していきます。
Report Viewer 2012をインストールしようとしたら、
om2012r2-01reportviewer01
というメッセージが。。。
ということで、SQL Server 2012 Feature PackのMicrosoft System CLR Types for Microsoft SQL Server 2012である"SQLSysClrTypes.msi"をダウンロードします。
om2012r2-01reportviewer02
om2012r2-01reportviewer03

SQLSysClrTypes.msiをインストールします。
om2012r2-01reportviewer04
om2012r2-01reportviewer05
om2012r2-01reportviewer06
om2012r2-01reportviewer07

ようやく、Report Viewer 2012をインストールします。
om2012r2-01reportviewer08
om2012r2-01reportviewer09
om2012r2-01reportviewer10
om2012r2-01reportviewer11

ようやくOprations Managerをインストールします。
しかし、この画面の後
om2012r2-04ominstall06
のデータベース選択で、正しいコンピュータ名、ポート番号を指定しているにもかかわらず、先に進めなくなります(本画像は後で取り直したものですので、あしからず)。
om03-install09

@kishima67さん、gogotea3さんのアドバイスを基にSQL Native Clientをインストールしたり、SQL Server側のWindows FWでSQL Browserサービスのポート"1334/UDP"を開けてみたりしたものの効果なく。。。

インストールウィザードで問題が発生しているタイミングで、OM側にてnetstat -nしてみたところ、SQL Server側の135,445へアクセスしていました。。。これを基に調べてみたところ、どうやら
SCOM 2012 - Installing Operations Manager Database on server behind a firewall http://t.co/wNUv4Jfcd7に該当する模様。
OpsMgrSetupWizard.logを探し出して、内容を確認してみたところ、下記の通りエラーが発生していました。
[21:45:56]: Always: :DatabaseConfigurationPage: Attempting to connect to database using server\instance g2sql2012a1. If we need it, the port is 1433
[21:46:39]: Error: :Error in Forcing Service to Running state.: Threw Exception.Type: System.InvalidOperationException, Exception Error Code: 0x80131509, Exception.Message: 'g2sql2012a1' コンピューターのサービス コントロール マネージャーを開けません。このオペレーティング システムには他の特権が必要です。
[21:46:40]: Error: :StackTrace: 場所 System.ServiceProcess.ServiceController.GetDataBaseHandleWithAccess(String machineName, Int32 serviceControlManaqerAccess)
場所 System.ServiceProcess.ServiceController.GetDataBaseHandleWithConnectAccess()
場所 System.ServiceProcess.ServiceController.GenerateNames()
場所 System.ServiceProcess.ServiceController.get_ServiceName()
場所 System.ServiceProcess.ServiceController.GenerateStatus()
場所 System.ServiceProcess.ServiceController.get_Status()
場所 Microsoft.EnterpriseManagement.OperationsManager.Setup.Common.SetupValidationHelpers.ForceSqlServiceToRunningState(String sqlServerInstance)
[21:46:40]: Error: :Inner Exception.Type: System.ComponentModel.Win32Exception, Exception Error Code: 0x80131509, Exception.Message: RPC サーバーを利用できません。
[21:46:40]: Error: :InnerException.StackTrace:
[21:46:40]: Warn: :Could not start the SQL Service g2sql2012a1 but we will attempt to connect anyway.
[21:46:40]: Info: :Info:Opening/Testing Sql Connection on g2sql2012a1, port:
[21:46:40]: Debug: :Connection was not open. We will try to open it.
[21:46:41]: Debug: :SqlConnectionReady returned True.

ということで、135,445周り(つまりMS-RPC、NetBIOS、CIFS)のポートをSQL Server側のWindows FWで開けてみました。
om04-install07
それでも、ダメでした。とりあえずSQL Server側のWindows FWを一旦無効
om04-install09
にすると、問題無い。。。まだポートを開けないとダメなようです。

SQL Server側のWindows FWでDropしている通信を探知すべく、
手順 5: ファイアウォール ログの表示 http://technet.microsoft.com/ja-jp/library/cc753781(v=WS.10).aspxにしたがって、ログを構成しました。

結果、OM側からSQL Server側の49154へアクセスしていることがわかりました。
#Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path
2013-11-16 23:23:35 DROP TCP 192.168.1.75 192.168.1.67 51587 49154 52 S 734206486 0 8192 - - - RECEIVE
2013-11-16 23:23:38 DROP TCP 192.168.1.75 192.168.1.67 51587 49154 52 S 734206486 0 8192 - - - RECEIVE
2013-11-16 23:23:44 DROP TCP 192.168.1.75 192.168.1.67 51587 49154 48 S 734206486 0 8192 - - - RECEIVE

※192.168.1.75がOM側IPアドレス、192.168.1.67がSQL Server側IPアドレスです。

49154を加味して、検索すると
SQL Server 2008 R2 Express リモート接続用のポート番号について http://ap.atmarkit.co.jp/bbs/core/fdb/24614

が見つかりました。Windows Management Instrumentation (WMI)も開けないとダメです。。。
つまり、OMのインストール時には、Windows Management Instrumentation (WMI)とファイルとプリンターの共有をSQL Server側のWindows FWで開けておく必要があります。(繰り返しになりますが)開けていないと、下記の画面から先に進みません。
om03-install09

解決の方法がわかりましたので、インストールを進めます。
om03-install03
om03-install04
om03-install05
om03-install06
om03-install07
om03-install08

SQL Server側でWindows FWが正しく構成されていると、こうなります!
om03-install16

データウェアハウスのデータベース構成もきちんと表示されます。
om03-install17

で毎度のことながら忘れてしまうサービスアカウントを追加します。
om03-install18
How to Install the First Management Server in a Management Group http://technet.microsoft.com/en-us/library/hh301922.aspxの15番です。
Operations Manager Accounts http://technet.microsoft.com/library/hh212808.aspx
どういう権限が必要かは、Security Considerations http://technet.microsoft.com/library/hh487288.aspxのService Accounts配下を確認します。Data Warehouse Write accountとData Reader accountは、Deploying System Center 2012 - Operations Manager http://technet.microsoft.com/en-us/library/hh298609.aspxのRequired Accountsの表にある"Note"部分を確認すると良いです。System Center Configuration service and System Center Data Access service accountは、OMのローカル管理者権限が必要である旨も、ここに書かれています。
Operations Manager Accounts http://technet.microsoft.com/library/hh212808.aspxも参考になります。

作成したサービスアカウントを指定します。
om03-install19

System Center Configuration service and System Center Data Access service accountにOM管理サーバーのローカル管理者権限が無いとこうなります。。。
om03-install20

System Center Configuration service and System Center Data Access service accountにOM管理サーバーのローカル管理者権限を追加します。
om03-install21

SQL Server Management StudioでData Warehouse Write accountとData Reader accountのログイン権限を付与します。
om03-install22
om03-install23
om03-install24

後は、ウィザードに従ってインストールを進めます。
om03-install25
om03-install26
om03-install27
om03-install28
om03-install29
om03-install30
om03-install31
om03-install32

管理サーバーのインストールで警告が出ているので、何かを確認したところ、プロダクトキーを設定しろということでした。インストールウィザード中では、設定する箇所がないので、この後設定します。
om03-install33
om03-install34

プロダクトキーを設定するため、Operations Manager Shellを起動します。
om03-install35

Set-SCOMLicense http://technet.microsoft.com/en-us/library/hh920237(v=sc.20).aspxを使って、プロダクトキーを設定します。
om03-install36

ライセンスの状態を確認します。まだ評価版の状態。これを解消するにはOMのとあるサービスを再起動すればよかったはずですが、OS再起動でしのぎます。
om03-install37

OS再起動後に、ライセンスの状態を確認すると、"Retail"になっています。
om03-install38

以上で、無事にSystem Center 2012 R2 Operations Managerのインストール完了です。

2013年11月5日火曜日

Ubuntu KernelのHyper-Vサポートを調べる

最近リリースされたUbuntu 13.10のLinux KernelでHyper-Vサポートがどんな感じになっているのか、調べてみました。

UbuntuのLinux Kernelをmakeするわけではなく、Hyper-Vサポートを調べるだけではありますが、下記の情報を参考にさせていただきました。

UbuntuのKernel Source準備  http://d.hatena.ne.jp/adsaria/20081104/1225766991によると、Kernelの構成情報を見るだけでもいろいろ準備が必要なので、順に進めていきます。

Ubuntu 13.10にログイン後、
sudo su -

してから
apt-get install build-essential
ubuntukernelhyper-v01

を実行します。

続いて
apt-cache search linux-source
apt-get install linux-source-3.11.0
ubuntukernelhyper-v02

を実行します。これで、Kernel Sourceはダウンロードできました。

続いて、OSへの追加提案があったパッケージをインストールします。
apt-get install kernel-package
ubuntukernelhyper-v03

apt-get install libncurses-dev
apt-get install ncurses-dev
ubuntukernelhyper-v04

libqt3-devはインストール候補にないため、Ubuntu make xconfig qt error http://gideontsang.wordpress.com/2012/08/03/ubuntu-make-xconfig-qt-error/に従って、qt4-dev-toolsをインストールします。
apt-get install qt4-dev-tools
ubuntukernelhyper-v05

ここまでできたらKernel Sourceを展開して、
cd /usr/linux
tar xvf linux-source-3.11.0.tar.bz2
cd linux-source-3.11.0

構成情報を確認します。
make xconfig

"hyper"で検索したところ、(関係無いxenやLinux guest supportの情報も出ていますが)Hyper-VのドライバーがモジュールとしてKernel Sourceに含まれていることが見て取れますね!
ubuntukernelhyper-v06