ServerFaultでこのトピックに関するヒントとなるいくつかの質問があり、それはいくぶん意見ベースであるかもしれませんが、以下に基づいてその「良い主観的」カテゴリに分類できると思います。
建設的な主観的な質問:
* tend to have long, not short, answers
* have a constructive, fair, and impartial tone
* invite sharing experiences over opinions
* insist that opinion be backed up with facts and references
* are more than just mindless social fun
だから、邪魔にならないように。
私は、Windows 2003を実行している古い物理サーバーを交換している仲間のシステム管理者を助けています。彼は、ハードウェアを交換するだけでなく、その過程で2012 R2に「アップグレード」しようと考えています。
彼の交換用ハードウェアに関する議論では、彼がESXiをインストールして2012 "サーバー"をa VMにして、古いアプリ/ファイル/ロールを2003サーバーからVM新しいハードウェアにVM以外をインストールする代わりに。
彼は今後数年のうちに、何かをVMに移動したり、追加のVMを作成したりする必要があることを認識していません。そのため、結局、これは通常のインストールを実行する新しいハードウェアか、 ESXiで単一のVMを実行している新しいハードウェア。
私自身の経験はVMに傾いていますが、追加のVMを作成するために発生する可能性がある場合を除いて、そうするための本当に説得力のある理由はありません。しかし、追加のオーバーヘッドと管理の側面があります。ハイパーバイザの使用状況については、VMを使用してより優れた管理機能とレポート機能を体験しましたが.
したがって、これが「良い主観的」カテゴリにとどまり、将来他の人を助けることができることを期待して、どの経験/事実/参照/建設的な答えが、どちらの結果(仮想化または単一の「サーバー」ではない)?
一般的なケースでは、スタンドアロンサーバーをハイパーバイザーに配置することの利点は、将来に対応できることです。これにより、将来の拡張やアップグレードがはるかに簡単に、はるかに速く、結果的に安価になります。主な欠点は、追加の複雑さとコストです(必ずしも経済的ではなく、工数と時間の観点から)。
それで、決定を下すために、私は3つの質問をします(そして、その価値があるため、通常はサーバーをハイパーバイザーに置くことを好みます)。
仮想化されるオペレーティングシステムは、パフォーマンス要件と拡張/成長の可能性とともに、大きな要因だと思います。今日のサーバーは、多くの場合、私たちが使用するアプリケーションやオペレーティングシステムに対して非常に強力です。私の経験では、ほとんどの標準的なWindowsシステムは モダンデュアルソケットサーバー で利用可能なリソースを効率的に使用できません。 Linuxでは、細かいリソース管理ツール( cgroups )とコンテナー( [〜#〜] lxc [〜#〜] )を活用して、より効果的に使用しています物理システムの。しかし、市場は間違いなく仮想化に最適化されたハードウェアを対象としています。
そうは言っても、いくつかの状況では、ベアメタルインストールではなく単一システムを仮想化しました。一般的な理由は次のとおりです。
Licensing-リジッドコア、ソケット、またはメモリの制限(に基づいてライセンスを取得するアプリケーションの数は減少傾向にあります)現代のコンピューティング)。参照: BIOSでCPUコアを無効にしますか?
移植性-サーバーを仮想化すると、ハードウェアからVMが抽象化されます。これにより、プラットフォームの変更が中断されることが少なくなり、VMが標準の仮想化デバイス/コンポーネントを参照できるようになります。私はこのアプローチを使用して生命維持について decrepit(but critical)Windows 2000 systems を維持することができました。
今後の拡張-2001年のハードウェアでWindows 2003ドメインコントローラを実行しているクライアントがいます。私はそれらのために新しいシングルホストESXiシステムを構築しています。このシステムには、暫定的に2012 R2の新しいドメインコントローラが収容されます。しかし、さらに多くのVMが続くでしょう。この構成では、ハードウェアの追加コストなしで信頼性の高いリソース拡張を提供できます。
単一のホスト/単一VMでこれを行うことの欠点は管理です。私はVMwareの観点から来ていますが、以前はESXiがこの配置に少し親しみを持っていました。現在、vSphere Web Clientと 基本機能への制限付きアクセス の要件により、単一ホスト(および単一VM)ソリューションの実行はあまり魅力的ではありません。
その他の考慮事項は、ハードウェア監視の機能が低下していることと、一般的な外部周辺機器(USBデバイス/テープドライブ/バックアップ/ PSソリューション )に関連する複雑さです。今日のハイパーバイザーは、より大きな管理スイートの一部になりたいと思っています。
単一サーバーの仮想化にはいくつかの利点があります。頭に浮かぶ最初のいくつかは
その中で最も重要なのはスナップショット機能でしょう。私たちは社内でVMWareを使用しています。そのため、VMがさらに必要になったときにサーバーを「準備」しておくことは理にかなっています。
これは長い答えではありませんが、とにかく:
特にWindows Serverなどの単一サーバーでハイパーバイザーを使用する最も説得力のある理由は、運用OSのハードウェアを完全に抽象化し、必要に応じて問題なく完全に新しいサーバーハードウェアに移動できることです。これは、バックグラウンドで実際に不要なハイパーバイザーを実行することの欠点をはるかに上回る、本当に価値のある機能であると私は考えています。
ここでは他の回答者ほど詳細な回答を提供するつもりはないので、ハイパーバイザのインストールとは対照的に、ベアメタルにサーバーOSをインストールすることを正当化するのが最近ますます難しくなっていると言います。選択)およびワークロードの仮想化。私の考えでは、これを行う利点は次のとおりです。
コストメリット。長期的には、追加のワークロードを展開する必要がある場合、それらの追加のワークロード用にハードウェアを追加するためにシェルする必要はありません。場合によっては、Hyper-Vを使用すると、ライセンスコストを節約することさえできます。
展開と再展開の容易さ。
高可用性とフェイルオーバーの実装の容易さ。
移植性。現在のホストを廃止またはアウトソーシングする必要がある場合は、VMをほぼどこにでも移動できます。
将来の証明。同僚のシステム管理者は現在、ハイパーバイザーベースのインフラストラクチャの将来の必要性をまったく見当たらないかもしれませんが、私が推測するのは、12〜24か月以内に、彼が実際にそのルートを選択した場合、彼は仮想化ルートをダウンすることを選択したことを嬉しく思います。 。
災害からの回復。 VM全体をバックアップし、数分でそれを復元または別のホストに複製できます。
などなど...
VMの方が良いと思う理由はいくつかあります:
組み込みの「KVM over IP」(一種)-KVM IP over。を必要とせずに、コンソールからリモートでサーバーにアクセスできます。RDPで何かしたくない場合があります。 VMを使用すると、選択した管理ツール(XenCenter、vSphere Clientなど)を起動して、VMのコンソールにアクセスできます。
VMの場合(および非VMサーバーの場合、my KVM)を使用して)コールドサーバールームに何時間も滞在する必要がなくなりました。
新しいハードウェアへの移行-OSのアップグレードは別として、新しいハードウェアを配置するには、システムを移行したり、物事を移動したりする必要があります。VMでは、(通常)何もする必要はありません。ハードウェアをアップグレードし、VMファイルを新しいハードウェアに配置して起動します。
将来のVMを予見することはできませんが、「作成した場合、それらは来るでしょう」です。新しいVMを起動して、何かをテストしたり、新しいものを試したりするなどしてください。もっと多くの可能性があります。
VMを使用すると、スナップショットを元に戻し、そのコピーを取り、VM(実行時に))のクローンを作成してからスピンアップできます-ライブにする前に何かをテストするかどうか、または最初の1つ目の2つ目を作成します。VMスナップショットなどでできることはたくさんあります。
冗長性-2番目にVM=サーバーを投入した場合、ハードウェアを冗長化できます。現在のVMWareライセンススキームについては知りませんが、XenServerには明らかにXenMotionが無料パッケージに含まれているため、コストのオーバーヘッドは適用されない場合があります。
VMを使用しない理由:
オーバーヘッド-ほとんどありませんが、明らかにオーバーヘッドがあります。
管理がより複雑-もう少し複雑ですが、学ぶのは簡単です。大規模な仮想化環境を使用しない場合、トレーニングは簡単です。
私は遅れて来ており、私がしたかったであろうポイントのいくつかがすでに人々が作成したように感じますが、簡単に要約します。
ただし、まだ誰も言及しておらず、おそらく言及する必要があることです。人々がテストサーバーを必要とするようなショップで、予備のデスクトップを入手してサーバーOSを叩くことでそのニーズを解決する可能性がある場合その上で、VMを提供できることは、おそらくあなたと彼らのニーズにはるかによく適合します。新しいサーバーを仮想化することは、将来の仮想拡張を可能にする「理由」になる可能性があります。そのようなショップにいない場合は、おそらくすでに仮想化を利用しています。)
もちろん、すべてが仮想化されるわけではありません。 PXEを含む管理ソフトウェアの物理ハードウェアをスコアリングして、オフにするために何が必要かを説明しましたTCPセグメントオフロード( PXEは片足の犬のように走りましたTSOがオンの場合 ですが、仮想VLAN全体でTSOをオフにする必要があり、そうすることを拒否されていました。そのため、新しいサーバーが十分に専門化されていない場合は、気にしないでください。
しかし、そのような特殊化を除けば、現在または将来、サーバーOSを実行している(管理されていない可能性のある)PCクラスのマシンを取り除くのは価値があります。
もちろん、できる限り仮想化します。これにより、将来的に次のことを実行する準備ができます。
つまり、サーバーで制限のある特定のソフトウェアを実行する場合を除き、仮想化を禁止します(厳密なネットワークまたはディスクIOレイテンシ要求は通常、適切なハードウェアを使用すれば、仮想化で実現可能)私は物事を可能な限り仮想化するように努めています。
単一のサーバーを単一のホスト上のVMに仮想化することを好むと考える1つの理由は、その「サーバー」のテスト環境を混乱させる機能です。
ハードウェアの能力が高すぎる場合は、サーバーVMのクローンを作成し、そのNIC /ネットワーク機能を削除し、そのクローンを「テストプラットフォーム」として分離して、「本番環境」で同じことを試す前に混乱させることができます。サーバ。例としては、サーバーがERPソフトウェアを実行していて、ERPソフトウェア/データベースに対して特定のスクリプトを実行した場合に何が起こるかをテストしたいとします。最初に、クローンVMでテストとして実行できます。これは、展開前にライブVMのスナップショットと組み合わせて行うことができ、正常に機能することを知るという追加の利点があります。
同じクローンの「テスト」環境を作成するには、既存の物理サーバーのP2Vを使用できますが、新しいテストVMを上記のすべてに配置するには、追加の物理ホストが必要になります。同じ物理ハードウェアに常駐することができます(これは現在、ほとんどの場合、単一のVMには過剰です)
ユースケースが専用ハードウェアからの電力の100%を必要としない場合、私は毎回仮想化します。柔軟性、スナップショット機能、組み込みのコンソールアクセスを提供します(帯域外管理も使用する必要があります)