Orion構築のためのSQLサーバ導入・構築のヒント

Orion製品で定期的にポーリングされるデータやNetFlowSyslogなどの受信データは、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を。SSDI/OHDDと比較して圧倒的に速く、SQLDBのパフォーマンスに非常に有利
  • RAID1或いは1+0を推奨。RAID5はパリティ計算の発生でパフォーマンス的に劣るので非推奨
  • 空き容量を十分に確保する。Data収集によるスペース消費は自明だが、WindowsAntiVirusUpdateによる消費や、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 インストールセンター で以下を選択

 01.png

  • ライセンス条項に同意
  • 機能の選択

  • 'インスタンス機能' 内の選択では、「データベースエンジンサービス」、「検索のためのフルテキストと...」の2つが選択されていれば、Orionデータベースとして構成/利用可能

*インストールディレクトリは、デフォルト(C:)のまま (mdf, ldf領域設定は後で出てくる)

            

  • インスタンスの構成
  • 名前付きインスタンスが、[SQLExpress]としてデフォルトで選択されている。
  • 名前付きインスタンス、既定のインスタンス、いずれでもOrionの構築は可能。
  • 既定のインスタンス」選択の場合(デフォルトインスタンス名は[MSSQLSERVER])SQLサーバへのアクセスで、IPアドレスやホスト名のみで良いので単純にできる。001.png
  • サーバーの構成
  • サービスアカウントはそのまま。

04.png

  • 照合順序は日本語環境であれば、[Japanese_CI_AS]がデフォルトなので、そのまま。
  • (*Orionを英語環境で利用したい場合は、Orion導入要件に沿って変更する)

05.png

  • データベースエンジンの構成 (*キーポイント)
  • [サーバーの構成]タブでは、混合モード(SQL server認証とWindows認証)として、sa用パスワードを設定する。
  • (*トラブル時用の為にsaを設定しておくこと推奨)
  • (*SQL構築後に、Orion設定ウィザードでWindows認証を利用する場合は、そのアカウントのパスワードを[無期限]としておく必要がある)

06.png

  • [データディレクトリ]タブで、mdf, ldfファイル及びBackupファイルの場所を指定する。
  • データベースディレクトリにはmdfファイルが、ログディレクトリにはldfファイルが保存される。
  • バックアップを自動で定期的に取得する場合などは、通信遅延の無いNASフォルダに指定するのも良い。

002.png

  • [TempDB]タブで、tempdb用のmdf,ldf用ディレクトリを指定する。上のデータディレクトリとは別の論理ドライブを指定することが望ましい。

004.png

  • データルートディレクトリは、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サービスは自動で開始されている

09.png

  • ネットワーク構成にて、TCP/IPのプロパティを開く

10.png

  • [IPアドレス]タブで、該当のIPアドレス箇所を「有効」とし、

11.png

  • TCPポート: 1433TCP動的ポート: {空白} とする。
  • *動的ポートは特に理由がない限り推奨しない。セキュリティ面を考慮した場合開放ポートを少なくできるメリットもある

12.png

  • TCP/IPが有効化されていることを確認する。

13.png

  • 有効化の後は、上のSQL Server を再起動する必要がある。(直ぐに終わる)

SQL Management Studio の導入

データベースのバックアップやアカウントに関する確認など、SQL Management Studioを活用できる場面は多々あるので、導入することを推奨する。

  • 導入用ファイルの実行
  • インストール場所指定は、特に理由がない限り、そのまま進める。
  • その後、特に指定箇所なく、導入完了する。導入完了後に再起動求められるので、再起動する。

SQL Management Studio の起動

  • ログイン画面

14.png

  • サーバ名は、
  • 既定のインスタンスで導入の場合、IPアドレスまたはホスト名のみでOK
  • 名前付きインスタンスで導入の場合は、{サーバ名}\{インスタンス名}を指定。
  • 認証方法を[SQL認証]に変更して、saアカウントでのログインを確認しておく。

15.png

[関連情報] 

Orion製品全般:導入に関する予備知識

SolarWinds Orion Platform requirements

SQLデータベースのバックアップ/リストア方法