15

最近、仮想化の話題が私の職場に届き、開発者が自分のコンピューターで仮想マシンを試しています。以前、複数の開発者から、開発環境をクリーンに保つためにデスクトップ コンピューターに仮想マシンをセットアップする方法について聞いたことがあります。

市場には多数の仮想マシン ソフトウェア製品があります。

仕事で仮想化を効果的に使用する方法を知りたいです。私の質問は、仮想マシンを日々の開発にどのように使用し、どのような理由で使用していますか?

4

12 に答える 12

18

一度に複数の VM を実行できるように、自宅で本物の強力なマシンを構築しました。私の場合はおそらく極端ですが、そうするための私の論理は次のとおりです。

テスト

特にデスクトップ アプリをテストするときは、通常、ソフトウェアを実行するプラットフォーム (Windows 2000/XP/Vista など) ごとに 1 つずつ、複数の VM を作成します。32 ビットと 64 ビットのフレーバーが利用できる場合は、それぞれ 1 つずつビルドします。また、VM のハードウェア設定 (大量の RAM、少量の RAM、1 コア、2 コアなど) も試します。この方法でたくさんの小さなバグを見つけました。このアプローチを使用していなかったら、間違いなく野生になっていたでしょう。

このアプローチにより、さまざまなソフトウェア シナリオを簡単に試すことができます (プログラムをインストールするユーザーが .NET 3.5 sp1 を持っていない場合はどうなるでしょうか? XXX コンポーネントを持っていない場合はどうなるでしょうか? など)。

発達

開発時には、データベース サーバー (SQL2000/2005/2008) を実行する 1 つの VM があります。これには 2 つの理由があります。まず、より現実的です。実稼働環境では、アプリはおそらくデータベースと同じボックスで実行されていません。開発時にそれを複製してみませんか? また、開発していないとき (これは私のホーム マシンでもあることを思い出してください)、これらのデータベース サービスをすべて実行する必要がありますか? はい、手動でオンとオフを切り替えることができますが、VM をオンにする方がはるかに簡単です。

クライアント

私が行った Web 作業をクライアントに見せたい場合、VM を 1 つだけ DMZ に配置するだけで、クライアントは VM にログインして Web プロジェクトで遊ぶことができますが、残りのネットワーク/コンピューターは安全です。

互換性

Vista64 は現在、私のメイン マシンです。私が所有している古いハードウェア/ソフトウェアは、その OS ではうまく動作しません。私の解決策は、Windows XP 32 をこれらすべての項目の VM として使用することです。

于 2009-01-02T12:59:07.373 に答える
9

ここで、まだ言及されていないものがあります。

プロジェクトがメンテナンス モード (別名、放棄) になるたびに、プロジェクトのビルドに必要なすべてのツール、ライブラリ、およびソース コードを備えた VM を作成します。そうすれば、1 年後に戻ってくる必要がある場合でも、ワークステーションのアップグレードされたツールやライブラリに少し賭けることはありません。

于 2009-01-05T04:56:12.870 に答える
6

私が現在の会社で始めたとき、ほとんどのサポート/開発/ PMスタッフは、テストのためにデスクトップ上で1〜3台のVMを備えたVirtualPCを実行していました。

数か月後、提案をまとめました。現在、サポートスタッフがお客様の問題をテストし、問題を再現するために、さまざまな環境で仮想マシンのプール(すべて24時間年中無休)を実行しているVMwareESXiサーバーを使用しています。Windows 2000 / XP / VistaのVMには、Office 2000/2002/2003/2007のそれぞれがインストールされています(つまり、12個のVM)。さらに、いくつかのより一般的なテストVM、Citrixを実行しているServer 2003/2008マシン、ターミナルサービスなどがあります。ほとんどの場合、デバッグする必要のある新しい顧客構成に到達し、他の顧客もその構成を持っている可能性が高いので、VMをセットアップします。(たとえば、現時点では64ビットVMを3つしか使用していません。ほとんどは32ビットです)

その上、同じサーバーで、インストーラー(InstallShield、WiX)のデバッグ(VS 2005)とローカリゼーション(Lingobit)の構築に使用するXP VMと、開発者が自動テスト(TestComplete)に使用する2番目のVMを実行します。

開発VMとインストーラVMにはより高い優先度が割り当てられており、どちらも1Gbメモリを備えたデュアルCPUVMとして構成されています。残りのVMは、同じ優先度と256-1GbRAMを備えています。

すべてが、ESXiとハードウェアRAID(4x1Tb RAID10)を実行する8GbのRAMを備えたデュアルクアッドコアXeonで実行されます

2.5千米ドルをわずかに超える投資で、生産性が10倍向上しました(サポート不足の人が顧客の問題を再現するために古いバージョンのOfficeをデスクトップにインストールしている間のダウンタイム、またはデスクトップを使用できないためにデスクトップを使用できない時間を想像してみてください。インストーラーを構築しています)。次のステップは、メモリを大量に消費するServer2008とVistaVMを追加するため、RAMを2倍の16Gbにすることです。

デスクトップにはまだ奇妙なVMがあります(たとえば、ローカライズされたバージョンのWindows、Ubuntu、Windows7をVMwareWorkstationで実行しています)が、一般的/頻繁に使用される構成は、すべてリモート接続できる専用サーバーにオフロードされていますの中へ。はるかに簡単です。

于 2009-01-05T04:09:06.397 に答える
5

仮想化(スナップショットまたは非永続ディスクを使用)は、既知のクリーン構成でのソフトウェアインストールのテストに非常に役立ちます(つまり、ソフトウェアの以前のバグのあるインストールから何も残っていません)。

于 2009-01-02T11:57:39.447 に答える
5

開発ボックスを(仮想マシンを使用して)単一のファイルに配置すると、問題が発生した場合のバックアップと復元がはるかに簡単になります。

それ以外に、通常作業する特定の1台のマシンに制限されないため、ポータブル開発ボックスをさまざまなマシンに持ち運ぶこともできます。

それだけでなく、所有している各仮想マシンファイルに単一のOSをインストールして、さまざまなオペレーティングシステムで一度にテストすることもできます。

私を信じてください、これは私が上で述べた仕事をするときかなり面倒を節約するでしょう。

于 2009-01-02T12:03:01.857 に答える
5

VM のもう 1 つの優れた使用例は、マシンの仮想ネットワークを作成することです。たとえば、アプリケーション スタックのさまざまな層を実行し、それぞれが独自の VM で実行されているマシンを起動できます。貧乏人のデータセンターと考えてください。

これらの VM は、物理ネットワーク上でも使用できるように見える場合があるため、RDP などを使用してそれらとのリモート ターミナル セッションを取得できます。

ラップトップなどの別のマシン、または最適な画面を備えたマシンからリモートでアクセスしながら、これらの VM を実行する強力なマシン (大量のメモリ) を使用できます。

于 2009-01-02T15:18:18.187 に答える
3

棚上げされたコンピューターの保守

私の地域の学校は閉鎖されている状況にありますが、未払いの請求書がすべて支払われるようにするには、その財政システムを最大2年間維持する必要があります。これは、いくつかの問題を抱えていた廃校のハードウェアを維持することによって処理されていました。

  • これは、不足しているハードウェアリソースを浪費し、多くの物理スペースを占有していました。
  • 各システムで作業するには、財務担当者がハードウェアに物理的に立ち会う必要がありました。

今日、私は、単一の物理的なホスト内の独自の仮想ボックスで、各モスボールスクールをホストしています。個々のシステムは、ホストのIP番号のrdpによってアクセスされますが、独自のポート番号があり、各学校の元のセキュリティが維持されます。

財務担当者は、物理的に配置された場所に移動することなく、一時停止された学校で作業できるようになりました。サーバールームの物理的なスペースが増え、一時停止されたすべての学校のバックアップが簡単な自動化されたプロセスになりました。

それぞれのモスボールされた学校が独自のvboxにあるため、システム間でデータが相互に汚染されることはありません。数千ドル相当のハードウェアも再配置のために解放されます。

仮想化は、この問題の完璧な解決策のようです。

于 2009-07-05T00:53:50.433 に答える
3

Windows で VM を使用して Linux を実行しています。Windows 用のバージョンの emacs は既に存在しますが、それを Linux で使用すると、何らかの理由で満足感が得られます。

于 2009-01-02T12:46:05.857 に答える
2

開発環境で仮想マシンをホストする専用の物理サーバーがあります。仮想マシンは定期的に起動および破棄され、既知の標準オペレーティング環境でソフトウェアをテストするために使用されます。

また、開発環境とは異なるドメインでアプリケーションを実行したい場合にも非常に役立ちます。

また、私が所属している組織では、大規模な仮想試験場を作成する計画段階にあります。これは、独自のネットワーク上にあるマシンの大規模なグリッドであり、組織のすべての内部スタッフ、請負業者、およびサードパーティ ベンダーは、運用環境に実装する前に、テスト目的でソフトウェアをステージングできます。仮想マシンは、実稼働環境の物理マシンを反映します。

それは素晴らしいように聞こえますが、誰もが少し懐疑的です。これは政府機関です... 官僚主義と官僚主義は、おそらくこれを時間とお金の大きな無駄に変えるでしょう.

于 2009-01-05T05:12:21.137 に答える
2

私の知る限り、Mac 上の Parallels のようなものはなく、テストではなく作業用です。

統合 (「コヒーレンス」を使用すると、VM はホスト システムの「ウィンドウ内」で実行されず、ゲスト システム内のすべてのプログラムはホスト システム内に適切なウィンドウを持ちます) は素晴らしく、すべて ( ALL! ) のギャップを埋めることができます。 :
私の同僚は、Mac 上の Firefox でブラウズした Web ページの「mailto:」リンクをクリックすると、Windows の Outlook (MacOSX 用の Outlook のようなものはありません) がポップアップするように構成しています。
逆に、PDF を送信する場合は、Outlook (Windows) で添付ファイルをダブルクリックすると、Mac 内蔵の PDF ビューアーで PDF ファイルが開きます。

VirtualBox は、このウィンドウ分離の可能性も提供します (少なくとも Windows が Linux 上の VM で実行されている場合)。これは作業に非常に役立ちます。

もちろん、テストなどでは、きれいに分離された環境のようなものはありません。

于 2009-01-02T15:55:29.343 に答える
2

目の前のタスクが WebSphere Application Server のクラスター化された環境をテストすることだったとき、私は VMWare Server を使用した仮想化アプローチを使用しました。VMWare Server をセットアップした後、新しい仮想マシンを作成し、必要なすべてのソフトウェア (WebSphere App Server、Oracle、WebSphere Commerce など) をインストールした後、VM をシャットダウンし、仮想ハード ディスク イメージを 2 つの異なる仮想マシンにコピーしました。 1 つはクローン VM として、もう 1 つはバックアップとして。

新しい VM を作成し、コピーしたディスク イメージの 1 つを割り当てたので、2 つのシステムを稼働させて、クラスター環境の同じシナリオをテストすることができました。私は VMware を介して VM のスナップショットを作成しました。アクティビティに失敗した場合は、作成したスナップショットへの変更を元に戻すことで以前の状態に戻り、元に戻すものを見つける必要がなくなり、生産性が向上しました。バックアップ ディスク イメージは、最初からやり直すのではなく、非常に古い状態に戻す必要がある場合にも使用できます。

VMWare と Microsoft の Virtual PC/Server の両方に存在するスナップショット機能は、元に戻すのがそれほど簡単ではない変更を破壊する可能性があると思われるシナリオで仮想化を検討するのに十分です。

于 2009-01-02T12:25:41.857 に答える
1

仮想マシン (vpc 2007、Virtual Server 2005、VMWare アプリケーションなど) を使用している場合

1.複数のオペレーティング システム (windows98、2000、XP、Vista、Windows Server 2003、2008、Windows 7/linux/solaris) を 1 台のサーバーで実行できます。

2.ハードウェアコストとデータセンタースペースを削減できます

3.電力とAC冷却のコストを削減できます。

4.管理リソースを削減できます。

5.申請費用を抑えることができる

6.ADS/DNS/DHCP/Exchange/SQL/Sharepoint Server/File Serverなどを実行できます。

于 2009-12-08T10:41:31.733 に答える