Orion製品で定期的にポーリングされるデータやNetFlowやSyslogなどの受信データは、SQLデータベースに格納されて、Webコンソールの表示、レポート、アラートなどに活用される。これらのデータは、画像/映像ファイルとは異なり非常に小さいので、SQLDBは小さなデータの出し入れを常に行っている状態にある、と言える。
従って、Orion製品をより良いパフォーマンスで利用するには、Orion-SQLDB間のデータやり取りを如何にスムースに反応良くするかが、キーポイントとなる。
ここでは、Orion構築を考慮した、SQLサーバ構築手順とヒントを記載する。
SQLDBのキーポイント
Orion導入のSoftware/Hardware要件の中でも、キーポイントを羅列する。
- RAMは多いほど良い。SQLはそれ自身がクエリに対する応答を最速処理で試みるが、これには可能な限りのRAMを消費される
- OSが利用するRAMの確保も忘れないように。外部との通信などの基本処理はOS側であり、OSにも十分なRAMが必要
- (要件に則っている限り)最新バージョンのSQLDBを利用する。一般的にデータベースアプリケーションは、最新バージョンほど処理能力に勝る
- データファイル(mdf)やログファイル(ldf)は異なるドライブに分ける。tempdb用のmdf,ldfもそれぞれに用意できるのが望ましい
- HDDよりSSDを。SSDのI/OはHDDと比較して圧倒的に速く、SQLDBのパフォーマンスに非常に有利
- RAID1或いは1+0を推奨。RAID5はパリティ計算の発生でパフォーマンス的に劣るので非推奨
- 空き容量を十分に確保する。Data収集によるスペース消費は自明だが、WindowsやAntiVirusのUpdateによる消費や、OSのメモリスワップ(仮想メモリ)の発生、OS障害時のメモリダンプの吐出し、その他一時作業スペース、など、スペースを消費する理由はいくつもある。このような日常の運用で発生し得る事項を考慮の上、構築当初から十分な空きを確保しておくことで、よりスムースな運用が期待できる
※その他については、以下の手順内で[ヒント]として追記する
SQL導入前の準備・計画
- CPUやメモリ量は要件に則り十分に確保することは自明だが、mdf,ldf用の各論理ドライブの用意を忘れずに
- SQLサーバ、及びSQL Management Studioの各導入用ファイルを用意しておく
- SQL導入マシンがドメイン参加する必要がある場合、導入前に参加させておくほうが良い
- ドメイン配下/ワークグループのいずれにおいても、導入には必ずLocal Administrator権限を持つアカウントでローカルログインした上で導入を実施すること。(Domain AdminアカウントはNG)
- WindowsUpdateは、最新状態にしておくこと
- 必要なポートは開放しておくこと。或いは導入中はファイアウォールを無効化しておく
- アンチウィルスは導入中は無効化しておくこと。導入後はスキャン除外フォルダ設定を必ず実施すること
- (*SQLに対するスキャン除外の指定フォルダ情報は、アンチウィルスベンダやsolarwindsでも公開している)
SQL Server 2017の導入
(*以下はExpressを利用しているが、本番環境では製品版の利用を強く推奨する)
- 導入用ファイルの実行
- SQL Server インストールセンター で以下を選択
- ライセンス条項に同意
- 機能の選択
- 'インスタンス機能' 内の選択では、「データベースエンジンサービス」、「検索のためのフルテキストと...」の2つが選択されていれば、Orionデータベースとして構成/利用可能
*インストールディレクトリは、デフォルト(C:)のまま (mdf, ldf領域設定は後で出てくる)
- インスタンスの構成
-
名前付きインスタンスが、[SQLExpress]としてデフォルトで選択されている。
-
名前付きインスタンス、既定のインスタンス、いずれでもOrionの構築は可能。
-
既定のインスタンス」選択の場合(デフォルトインスタンス名は[MSSQLSERVER])、SQLサーバへのアクセスで、IPアドレスやホスト名のみで良いので単純にできる。
- サーバーの構成
- データベースエンジンの構成 (*キーポイント)
-
[サーバーの構成]タブでは、混合モード(SQL server認証とWindows認証)として、sa用パスワードを設定する。
-
(*トラブル時用の為にsaを設定しておくこと推奨)
-
(*SQL構築後に、Orion設定ウィザードでWindows認証を利用する場合は、そのアカウントのパスワードを[無期限]としておく必要がある)
-
[データディレクトリ]タブで、mdf, ldfファイル及びBackupファイルの場所を指定する。
-
データベースディレクトリにはmdfファイルが、ログディレクトリにはldfファイルが保存される。
-
バックアップを自動で定期的に取得する場合などは、通信遅延の無いNASフォルダに指定するのも良い。
- データルートディレクトリは、C:のデフォルトで良い(上はE:としているが)。ユーザーデータベースディレクトリ、ユーザーデータベースログディレクトリ、TempDB用データベースディレクトリ/ログディレクトリ のそれぞれを別ドライブとするのが望ましい。)
- 例:
Disk1 : Cドライブ: OS (RAID1推奨)
Disk2 : Eドライブ: ページファイル (RAID1推奨)
Disk3 : Fドライブ: SQLデータ領域 (SQL MDF SQL、Fileグループ用。物理的に分けられたRAID1+0推奨)
Disk4 : Gドライブ: SQLログ領域 (SQL LDF Transaction Log用。物理的に分けられたRAID1+0を推奨)
Disk5 : Hドライブ: tempdb データ領域 (RAID1+0推奨)
Disk6 : Iドライブ: tempdbログ領域 (RAID0で可)
Disk7 : Jドライブ: (必要に応じ) バックアップ用領域 (*NASなどの外部領域を強く推奨) -
[ユーザーインスタンス]タブと、[FILESTREAM]タブは、特に触らない。
インストールの進行状況を経て、SQL導入が完了。
SQLサーバ構成マネージャでの設定
- SQLサービスは自動で開始されている
- ネットワーク構成にて、TCP/IPのプロパティを開く
- [IPアドレス]タブで、該当のIPアドレス箇所を「有効」とし、
- TCPポート: 1433、TCP動的ポート: {空白} とする。
- TCP/IPが有効化されていることを確認する。
- 有効化の後は、上のSQL Server を再起動する必要がある。(直ぐに終わる)
SQL Management Studio の導入
データベースのバックアップやアカウントに関する確認など、SQL Management Studioを活用できる場面は多々あるので、導入することを推奨する。
- 導入用ファイルの実行
- インストール場所指定は、特に理由がない限り、そのまま進める。
- その後、特に指定箇所なく、導入完了する。導入完了後に再起動求められるので、再起動する。
SQL Management Studio の起動
- ログイン画面
- サーバ名は、
-
既定のインスタンスで導入の場合、IPアドレスまたはホスト名のみでOK。
-
名前付きインスタンスで導入の場合は、{サーバ名}\{インスタンス名}を指定。
-
認証方法を[SQL認証]に変更して、saアカウントでのログインを確認しておく。
[関連情報]