質問
仮想マシン上のDBサーバにアクセスする際、PCIパススルーでアクセスするとどうなりますか? メリットとデメリットを挙げてください。 |
解答
良い質問です。 仮想マシン (VM) 上の DB サーバにアクセスする際に PCI パススルー (例: SSD や NIC を VM に直結する技術) を使うとどうなるかを整理します。 PCIパススルーでアクセスする場合 VM がハイパーバイザを介さずに、物理デバイス (SSD, NVMe, NICなど) を「占有」して直接制御できる。 メリット 1. 性能向上 * デバイスを VM が直接操作するため、I/O 処理にハイパーバイザのオーバーヘッドがほぼ無い。 * 高速なストレージ (NVMe SSD) や NIC (10GbE, 25GbE) をフルに使える。 → DB サーバでのトランザクション性能や低レイテンシに寄与。 2. ネイティブ機能の利用 * ハードウェア固有の機能 (例: NVMe のマルチキュー、NIC のオフロード機能) をそのまま利用可能。 * 一部のベンダー専用ドライバやユーティリティも動作する。 3. 安定したレイテンシ * ハイパーバイザ層でのスケジューリング遅延が減り、予測可能なレスポンスタイムになる。 デメリット 1. 可搬性の低下 * VM がその物理デバイスに「縛られる」。 → 別のホストにライブマイグレーションできない (移動先に同じ物理デバイスがないと動かせない)。 2. リソース共有できない * 1台の物理デバイスを複数VMで直接共有できない。 → 例えば SSD を複数VMで分け合う場合は不向き。 3. ハードウェア依存度が高い * CPU とマザーボードが IOMMU (Intel VT-d / AMD-Vi) に対応している必要がある。 * VMごとにデバイスを割り当てると、ホスト OS でそのデバイスが使えなくなる。 4. 管理の複雑化 * VM 側で専用ドライバの管理が必要になる。 * ハード障害時の復旧が複雑化。 まとめ * **PCIパススルーは「速度とレイテンシ重視」**の場合に有効 (例: 高負荷 OLTP DB、低遅延が求められる金融システム)。 * 一方で、柔軟性や可搬性を犠牲にするため、クラスタリングやスケーラビリティを重視する環境では仮想化の抽象化レイヤー (仮想NIC, 仮想ディスク) を使う方が良い。 |
|
|
この記事へのコメント