DB専用サーバ仮想化の注意点
SQL Serverの仮想化が最良の選択とはならない3つのケース
仮想化のメリットは既に周知の事実だが、集計・分析用途のシステムを仮想化する際には十分注意が必要だ。Microsoft SQL Serverを例に、仮想化が必ずしも正解とはならない3つのケースを紹介する。
仮想化技術がより洗練されるとともに、Microsoft SQL Serverインスタンスを仮想サーバへ移す動きに、これまでにないほどのインセンティブが生まれている。物理サーバの数が減れば電力消費やライセンス料が削減でき、マシンが仮想化されるためシステム管理も容易になる。良いことずくめだが、一方でMicrosoft SQL Serverの仮想化が必ずしも利益をもたらさないケースがあることも事実だ。
VMのI/Oが貧弱な場合
CPUを別にすれば、データベースのパフォーマンスに影響を及ぼす唯一最大のリソースは、ディスクI/Oだ。1つのMicrosoft SQL Serverインスタンス──あるいは複数のインスタンスでも──に特化した物理サーバの場合、I/Oのボトルネックを改善することは比較的容易である。IOPS(1秒当たりの入出力オペレーション)の観点からコスト効率が良ければ、ディスクを高速なタイプにしたり、HDDをSSDに切り替えたり(関連記事:HDDのI/Oスループットを改善するSSD配置方法)、あるいはRAMを追加してバッファを増やすなりすればよい。ただし、トレードオフはコストだ。そうしたアップグレードは決して安くない。
Microsoft SQL Serverを仮想化する場合、ハードウェアは移植する元のハードウェアと同等かそれ以上に高性能であるか、データベースパフォーマンスが十分なものでなければならない。それはI/Oについても同様で、最も望ましくないことはヘビーユースのデータベースに必要なI/O帯域幅を他のものとシェアすることだろう。この問題を改善する方法は幾つかある。例えば、データベースのストレージを他の仮想マシン(VM)から分離した物理ディスクとI/Oチャネルに置くなどだ。しかし、それらはVMに移行する前に行っておかなければならない。
一般的な例を挙げてみよう。データベース専用サーバの多くは、ストレージアレイにRAID 1+0(RAID 10としても知られる)を利用する。それらは高価だが、最良の結果を生む。ところが、VMのセットアップはパフォーマンスと冗長性のトレードオフを考え、RAID 5を利用していることが多い。前者のハードウェアに最適化したワークロードは、後者では専用の物理ディスクを割り振り、オリジナルRAID 1+0セットアップにリプレースしないかぎり、うまく処理できないだろう。
この場合、ディスクはローカルにアタッチされたストレージでなければならないというわけではない。物理ボックスのローカルディスクと同等以上の速度を持つSANでも十分に機能する。問題はIOPSであり、目的達成に最適な技術なのではない。
VMホストを自前で構築すれば、ある程度コントロールすることが可能だ。しかし、自前ではないVMホスティングを利用するときは、多用途多目的型のセットアップに甘んじなければならない。
VM記憶容量が十分でない場合
データベースは大量の物理メモリがあれば大きな効果が得られる。それはオペレーションを実行する場所であり、I/Oのキャッシュする場所でもある。Microsoft SQL Serverはそうした理由から、スタンドアロンの専用マシンに置かれているときに最高の性能を発揮する。必要に応じてメモリを解放でき、同一マシン上の他のアプリケーションと直接対立することがないからだ。一般的な経験則として、可能であればデータベース全体――あるいは、少なくともそのうちの最もよく利用される部分――をメモリにキャッシュできるほどのRAMがあればよい。
データベースサーバのVMバージョンにも物理サーバと同量、あるいはそれ以上のメモリを割り当てる必要がある。多くのVMシステムは、複数のVMでメモリの同一ページをシェアするためのメモリ共有技術を備えている。しかし、そうしたシェアリングは各マシンで実行するOSのようなものには有効だ。VM間で共有可能なものの多くは、データベースのコンテンツそのものではない。
Microsoft SQL Serverインスタンス用のメモリ消費統計ツールは、ここでも役に立つ。プロダクションデータベースがどれほどのメモリを必要としているか確認でき、VMにどの程度メモリを割り当てればよいかも分かる。
仮想化へ向かう喫緊の理由がない場合
仮想化が最適だというケースは、もちろんある。それによって生じるメリットが予想以上にある場合だ。より良い結果を得るために仮想化する。
例えば、社内に古いスタンドアロンのレガシーMicrosoft SQL Serverセットアップがあり、それが今日のハードウェア標準から見てそれほど見劣りしないものであれば、仮想化の優れた候補となるだろう。マシンが古くて遅いほど仮想化のメリットは大きい。多くのマシンを統合すれば、電力消費、空調費、フロアスペースを節約できるはずだ。
一方で、Microsoft SQL Serverの大規模なクラスタを運用していても、仮想化によってコスト削減やパフォーマンスの改善が見込めないケースも考えられる。クラスタをVMに統合すれば、電気代や空調費である程度の節約ができても、全体的なパフォーマンスを犠牲にすることになるかもしれない。そのような場合は、現状のままにしておくのがベストだ。
Microsoft SQL Serverの仮想化は、それに最適なビジネスケースがあり、また全体的なIOPSが低下したり、プロセスのメモリアロケーションを失ったりしないときのみ実装すべきだ。仮想化のアドバンテージには目を見張るものがある。だが、それは1つのツールであり、必ず当たる魔法の弾丸ではないということを忘れてはならない。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
新着ホワイトペーパー PR
-
技術文書・技術解説
[ネットアップ合同会社] 金融庁ガイドラインから読み解く、「次世代データレジリエンス」の在り方 -
製品資料
[ネットアップ合同会社] 製造DXでデータ活用ニーズが拡大 分散データ活用とAI活用をどう実践する? -
製品レビュー
[ネットアップ合同会社] AIで使いたいデータが内外に点在、研究におけるAI活用を阻む“真の課題”とは -
製品資料
[株式会社kickflow] 稟議・承認作業の「脱オンプレ・脱Excel・ペーパーレス化」を一気に進める方法 -
製品レビュー
[株式会社kickflow] ワークフローシステムのクラウド化 “みんなが不幸になる”事態を避けるには?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「契約業務のAI活用」に関するアンケート
-
2
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
3
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
4
「データ活用とAI活用の実態」に関するアンケート
-
5
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
6
「年1回の外部診断」が限界に 大手小売が脆弱性管理を内製化・一元化した方法
-
7
障害対応に「余裕なし」が9割超 運用担当316人調査で見えた「運用赤字」
-
8
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
9
被害額は過去最高額 それでも「サイバー犯罪者が捕まらない」3つの理由
-
10
IT製品の導入に関するアンケート「セキュリティ」編
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー