7.6.1 データパーティション作成の手順

これから作成する規模は,管理するクライアント数が1,000台,1クライアント当たりの1日に取得する稼働監視履歴数を2,000件,8か月分をデータベースに格納すると仮定します。この場合,1日に発生する稼働情報件数は200万件,ひとつき(20日間)に発生する稼働情報件数は4,000万件です。これは中規模ユーザに相当するため,月単位にデータパーティションを作成して格納できるようにします。

<この項の構成>
(1) データベース容量を見積もる
(2) データパーティション作成のためのクエリスクリプトを作成する
(3) JP1/NETM/DMのデータベースを新規作成,またはアップグレードする
(4) データパーティションを作成する

(1) データベース容量を見積もる

JP1/NETM/DMのデータベースを新規に作成する場合,「ソフトウェア稼働監視履歴データベースデバイス」以外についてもデータベース容量を見積もります。詳細は,マニュアル「導入・設計ガイド」の「5.4.2 Microsoft SQL Serverのデータベース容量の見積もり」を参照してください。「ソフトウェア稼働監視履歴データベースデバイス」と「1か月分のソフトウェア稼働監視履歴データパーティション」については,1か月分単位で見積もります。なお,ここでは稼働時間取得対象のプログラム数を10とします。

JP1/NETM/DMの既存のデータベースをデータパーティションに変更する場合,「1か月分のソフトウェア稼働監視履歴データパーティション」について見積もります。

ソフトウェア稼働監視履歴データベースデバイス容量
ソフトウェア稼働監視履歴データベースデバイス容量(単位:バイト)
=(1,861※1×ソフトウェア稼働監視履歴の情報数)※2
+(80×取得した稼働時間の情報数)※3
1か月分のソフトウェア稼働監視履歴データパーティション容量
1か月分のソフトウェア稼働監視履歴データパーティション容量(単位:バイト)
=(1,861×ソフトウェア稼働監視履歴の情報数)※2
=1,861×1,000×2,000×20
≒80ギガバイト
注※1
稼働履歴情報のサイズの最大値を指定する場合は,1,861(バイト)を指定してください。平均的なソフトウェア稼働監視履歴のサイズを指定する場合は,543(バイト)を指定してください。
注※2
ソフトウェア稼働監視履歴の情報数
=ソフトウェアの稼働監視の対象となるクライアントの台数(1,000)
×1クライアント当たりの1日に取得する稼働監視履歴数(2,000)
×稼働情報の保存日数(予備領域として10日)
注※3
取得した稼働時間の情報数
=220×クライアント数×稼働時間取得対象のプログラム数(10)
=1,861×1,000×2,000×10+80×220×1,000×10
≒40ギガバイト

したがって,JP1/NETM/DMのデータベースを新規に作成する場合,40ギガバイトのソフトウェア稼働監視履歴データベースデバイスを予備領域としてデータベースマネージャで作成し,80ギガバイトのソフトウェア稼働監視履歴データパーティションを8か月分,SQL Server Management Studioを使って作成します。

JP1/NETM/DMのデータベースをデータパーティションに変更する場合,既存のソフトウェア稼働監視履歴データベースデバイスを予備領域とし,80ギガバイトのソフトウェア稼働監視履歴データパーティションを8か月分,SQL Server Management Studioを使って作成します。

予備領域を作成するために,ここでは次の三つのディスクを用意したと仮定します。

注※
データベースを新規作成する場合に使用します。

(2) データパーティション作成のためのクエリスクリプトを作成する

データパーティションを作成するためのクエリスクリプトを作成します。

表7-6 クエリスクリプト(データパーティションを作成する場合)

項番クエリスクリプト名説明サンプル
1DropTable.sqlデータベースマネージャで作成される既定のnetmdm_monitoring_securityテーブルを削除します。
サンプルを基にクエリスクリプトを作成する場合,次の項目を変更してください。
  • USEステートメントのデータベース名
付録F.1
2AddFilegroup.sqlデータパーティションを割り当てるファイルグループを追加します。
サンプルを基にクエリスクリプトを作成する場合,次の項目を変更してください。
  • USEステートメントのデータベース名
  • ALTER DATABASEステートメントのデータベース名
付録F.2
3AddFiletoEdrive.sqlEドライブに実ファイルを追加して,ファイルグループに割り当てます。
サンプルを基にクエリスクリプトを作成する場合,次の項目を変更してください。
  • USEステートメントのデータベース名
  • ALTER DATABASEステートメントのデータベース名
  • ALTER DATABASEステートメントのFILENAME指定パス
  • ALTER DATABASEステートメントのSIZE指定サイズ
付録F.3
4AddFiletoFdrive.sqlFドライブに実ファイルを追加して,ファイルグループに割り当てます。
サンプルを基にクエリスクリプトを作成する場合,次の項目を変更してください。
  • USEステートメントのデータベース名
  • ALTER DATABASEステートメントのデータベース名
  • ALTER DATABASEステートメントのFILENAME指定パス
  • ALTER DATABASEステートメントのSIZE指定サイズ
付録F.4
5CreatePartition.sqlパーティション関数(PARTITION FUNCTION)とパーティション構成(PARTITION SCHEME)を作成します。
サンプルを基にクエリスクリプトを作成する場合,次の項目を変更してください。
  • USEステートメントのデータベース名
  • CREATE PARTITION FUNCTIONのyyyymmdd形式の値
付録F.5
6CreateTable.sqlパーティション構成上にnetmdm_monitoring_securityテーブルを作成します。
サンプルを基にクエリスクリプトを作成する場合,次の項目を変更してください。
  • USEステートメントのデータベース名
付録F.6

表7-6のクエリスクリプトを実行することで表7-7,表7-8に示すデータパーティションを作成できます。

表7-7 ファイルとファイルグループ(データパーティションを作成する場合)

項番論理名ファイル名初期サイズ上限値増加量ファイルグループ名
1NETMDM_MONI_DEVICED:¥Program Files¥Hitachi¥NETMDB¥MSSQL¥MONITOR.sdf40,000MBUNLIMITED10%netmdm_moni_seg
2NETMDM_DP_0001E:¥NETMDP¥MONITOR_DP_0001.ndf80GBUNLIMITED10%netmdm_moni_dp_0001
3NETMDM_DP_0002E:¥NETMDP¥MONITOR_DP_0002.ndf80GBUNLIMITED10%netmdm_moni_dp_0002
4NETMDM_DP_0003E:¥NETMDP¥MONITOR_DP_0003.ndf80GBUNLIMITED10%netmdm_moni_dp_0003
5NETMDM_DP_0004E:¥NETMDP¥MONITOR_DP_0004.ndf80GBUNLIMITED10%netmdm_moni_dp_0004
6NETMDM_DP_0005F:¥NETMDP¥MONITOR_DP_0005.ndf80GBUNLIMITED10%netmdm_moni_dp_0005
7NETMDM_DP_0006F:¥NETMDP¥MONITOR_DP_0006.ndf80GBUNLIMITED10%netmdm_moni_dp_0006
8NETMDM_DP_0007F:¥NETMDP¥MONITOR_DP_0007.ndf80GBUNLIMITED10%netmdm_moni_dp_0007
9NETMDM_DP_0008F:¥NETMDP¥MONITOR_DP_0008.ndf80GBUNLIMITED10%netmdm_moni_dp_0008
注※
データベースを新規作成するに指定する初期サイズ,上限値,および増加量です。

表7-8 パーティション関数名とパーティション構成名(データパーティションを作成する場合)

パーティション関数名パーティション構成名
netmdm_monitoring_security_pfnetmdm_monitoring_security_ps

このパーティション関数とパーティション構成によって,次の表に示すように稼働監視履歴が,イベントの開始時刻に対して月ごとに格納されます。

表7-9 格納される稼働監視履歴(データパーティションを作成する場合)

項番ファイルグループ名パーティション番号格納される稼働監視履歴
1netmdm_moni_seg1イベントの開始時刻<2011/01/01
2netmdm_moni_dp_000122011/01/01≦イベントの開始時刻<2011/02/01
3netmdm_moni_dp_000232011/02/01≦イベントの開始時刻<2011/03/01
4netmdm_moni_dp_000342011/03/01≦イベントの開始時刻<2011/04/01
5netmdm_moni_dp_000452011/04/01≦イベントの開始時刻<2011/05/01
6netmdm_moni_dp_000562011/05/01≦イベントの開始時刻<2011/06/01
7netmdm_moni_dp_000672011/06/01≦イベントの開始時刻<2011/07/01
8netmdm_moni_dp_000782011/07/01≦イベントの開始時刻<2011/08/01
9netmdm_moni_dp_000892011/08/01≦イベントの開始時刻

(3) JP1/NETM/DMのデータベースを新規作成,またはアップグレードする

JP1/NETM/DMのデータベースを新規作成する方法については,「7.5.1 データベースを新規作成する」を参照してください。このとき,ソフトウェア稼働監視履歴データベースファイルには,表7-7項番1の初期サイズ,上限値,増加量を指定します。

JP1/NETM/DMの既存のデータベースをデータパーティションに変更する場合については,「7.5.4 データベースをアップグレードする」を参照してください。

(4) データパーティションを作成する

SQL Server Management Studioを使って表7-6のクエリスクリプトを実行することで,データパーティションを作成します。

JP1/NETM/DMのデータベースを新規作成する手順

  1. 「DropTable.sql」を実行して,データベースマネージャで作成される既定のnetmdm_monitoring_securityテーブルを削除する。
  2. 「AddFilegroup.sql」を実行して,データパーティションを割り当てるファイルグループを追加する。
  3. 「E:¥NETMDP」フォルダを作成する。
  4. 「AddFiletoEdrive.sql」を実行して,Eドライブに実ファイルを追加して,ファイルグループに割り当てる。
  5. 「F:¥NETMDP」フォルダを作成する。
  6. 「AddFiletoFdrive.sql」を実行して,Fドライブに実ファイルを追加して,ファイルグループに割り当てる。
  7. 「CreatePartition.sql」を実行して,パーティション関数とパーティション構成を作成する。
  8. 「CreateTable.sql」を実行して,パーティション構成上にnetmdm_monitoring_securityテーブルを作成する。
  9. SQL Server Management Studioを使って対象のデータベース名「NETMDM_SAMPLE」を右クリックして表示されるメニューから[プロパティ]を開いて,「ファイル」および「ファイルグループ」が指定したとおりに構成されていることを確認する。また,「NETMDM_SAMPLE」を右クリックして表示されるメニューから[ストレージ]を選択して,[パーティション構成]には「netmdm_monitoring_security_ps」が,および[パーティション関数]には「netmdm_monitoring_security_pf」がそれぞれ作成されていることを確認する。

JP1/NETM/DMの既存のデータベースをデータパーティションに変更する手順

  1. 「Remote Install Server」サービスを停止する。
  2. bcpユーティリティを使用して,netmdm_monitoring_securityテーブルの既存のデータを一括エクスポートする。
  3. 「DropTable.sql」を実行して,netmdm_monitoring_securityテーブルを削除する。
  4. 「AddFilegroup.sql」を実行して,データパーティションを割り当てるファイルグループを追加する。
  5. 「E:¥NETMDP」フォルダを作成する。
  6. 「AddFiletoEdrive.sql」を実行して,Eドライブに実ファイルを追加して,ファイルグループに割り当てる。
  7. 「F:¥NETMDP」フォルダを作成する。
  8. 「AddFiletoFdrive.sql」を実行して,Fドライブに実ファイルを追加して,ファイルグループに割り当てる。
  9. 「CreatePartition.sql」を実行して,パーティション関数とパーティション構成を作成する。
  10. 「CreateTable.sql」を実行して,パーティション構成上にnetmdm_monitoring_securityテーブルを作成する。
  11. SQL Server Management Studioを使って対象のデータベース名「NETMDM_SAMPLE」を右クリックして表示されるメニューから[プロパティ]を開いて,「ファイル」および「ファイルグループ」が指定したとおりに構成されていることを確認する。また,「NETMDM_SAMPLE」を右クリックして表示されるメニューから[ストレージ]を選択して,[パーティション構成]には「netmdm_monitoring_security_ps」が,および[パーティション関数]には「netmdm_monitoring_security_pf」がそれぞれ作成されていることを確認する。
  12. bcpユーティリティを使用して,一括エクスポートしたデータを一括インポートする。