web-dev-qa-db-ja.com

Hyper-Vサーバーでのファイルレイアウトのベストプラクティス

Hyper-Vサーバーをセットアップしました。複数のユーザーがセットアップしたため、ファイルのレイアウトに一貫性がありません。使用された2つの異なる「テンプレート」は次のとおりです。

テンプレート1

D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Hard Disks\MACHINE_NAME_1.vhdx
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1.xml

D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Hard Disks\MACHINE_NAME_2.vhdx
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2.xml

....

そして

テンプレート2

D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_1.vhdx
D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_2.vhdx

D:\Hyper-V\Virtual Machines\GUID_1
D:\Hyper-V\Virtual Machines\GUID_1.xml
D:\Hyper-V\Virtual Machines\GUID_2
D:\Hyper-V\Virtual Machines\GUID_2.xml

テンプレート1

テンプレート1に対して行われた議論は、VMのエクスポートを実行すると、マシン名でフォルダーが作成され、ディスクとvmに別々のフォルダーが配置されるというものでした。インポートを実行すると、マシンディレクトリに移動します。

このテンプレートスタイルに関する議論は、ファイルが1つしかない場合、Virtual Machinesと呼ばれるディレクトリが存在しても意味がないということです。反対意見として、Hyper-Vサーバー自体がすべてのハードディスクが1つのフォルダーにあり、すべての仮想マシンが別のフォルダーにあると想定しているようです。つまり、VMのそれぞれに個別のフォルダを作成しません(GUIDで名前が付けられたものは、仮想マシンディレクトリにあります)

テンプレート2

テンプレート2の議論は、Hyper-Vがレイアウトを想定しているように見えるということです。

引数AGAINSTテンプレート2は、xmlファイル内を調べない限り、特定のマシンに関連付けられている仮想マシンファイルを特定できないことです。

どちらかのレイアウトの落とし穴について聞きたいです。

11
Benjamin Peikes

あなたは本当に、どのファイルがどの仮想マシンに属しているかを簡単に識別できるようにしたいのです。 Hyper-Vコンソールにアクセスできなくなった場合でも。

これは、バックアップからVMを復元しようとした場合、またはHyper-VがすべてのVMを忘れてインポ​​ートする必要がある場合に発生します。またはVM =構成ファイルが破損しているため、VMを再作成し、古いハードドライブファイルを指す必要があります(構成ファイルが破損しているため、識別できなくなります)。または、それぞれのディスク容量をすばやく確認したいVM=または、ファイル名を確認できるが、復元プロセス全体を実行せずにXMLファイルを簡単に読み取ることができないバックアップから復元する必要がある最初。

それを考えると、私はテンプレート1に似たものを選びますVM-それぞれにフォルダがありますが、「仮想マシン」と「仮想マシンのハードディスク」サブフォルダは除外します-ちょうどVMに関連するすべてのファイルを、VMの名前が付いたフォルダに配置します。

また、Hyper-V\Virtualマシンは必要ありません。これらのラベルのいずれかを選択してください。両方は必要ありません。

そう:

 D:\ Virtual Machines\MACHINE_A\GUID_1.xml 
 D:\ Virtual Machines\MACHINE_A\Machine_a_OS.vhdx 
 D:\ Virtual Machines\MACHINE_A\Machine_a_Data.vhdx 
 
 D:\ Virtual Machines\MACHINE_B\GUID_2.xml 
 D:\ Virtual Machines\MACHINE_B\Machine_b_OS.vhdx 
 D:\ Virtual Machines\MACHINE_B\Machine_b_Data。 vhdx 

等.

または、仮想マシンと一致させるためにファイル名を必要としないと決めるかもしれません-フォルダー名で十分です。このように名前を付けると、ファイルの名前を変更することを心配する必要なく、VMのクローンを作成しやすくなります。

 D:\ VMs\Machine A\GUID_1.xml 
 D:\ VMs\Machine A\OS.vhdx 
 D:\ VMs\Machine A\Data.vhdx 
 
 D:\ VMs\Machine B\GUID_2.xml 
 D:\ VMs\Machine B\OS.vhdx 
 D:\ VMs\Machine B\SQLData。 vhdx 
 D:\ VMs\Machine B\SQLLog.vhdx 

ここでの主なポイントは、ファイルを整理して、ファイル構造だけを調べることで、VM各ファイルが何に属しているか、およびそのファイルの目的がわかるようにすることです。

12
Grant

私はどれも好きではありません。

VMを移動する場合に備えて、どのテンプレートも安定していないためです。

VMホスト間で移動するときに取得するものと同じフォルダ構造を使用します。つまり、VMホスト間。

2
TomTom

テンプレート2を実行して、仮想マシンパーツのカップリングをストレージの問題から分離する必要があります。つまりVMの1つのVHDXはパフォーマンスボリュームに使用でき、同じVMの別のVHDXは容量にもっと関係しています-そして、すべてに回復力の違いがあります。

そのため、ファイル構造レイアウトに、さまざまなストレージの場所を仮想マシンのファイルパーツのカップリングにマッピングするという複雑さを導入しない限り、テンプレート1を実行することはできません。

したがって:

テンプレート2

テンプレート2-ここでは、ストレージ管理が名前空間のレイアウトよりも優先されます(その一方で、名前空間のレイアウトはVMを管理するためのUIで処理されます。つまり、VMの一部はローカルですが、たとえばストレージバスを使用してクラウドなどにあります)

...ストレージ管理におけるさまざまな懸念の管理:

D:\ Storage\Pool1\Hyper-V\Virtual Hard Disks\xxx-xx-xx-System-01-Prod.vhdx

D:\ Storage\Pool1\Hyper-V\Virtual Hard Disks\xxx-xx-xx-Data-01-Prod.vhdx

D:\ Storage\Pool2\Hyper-V\Virtual Hard Disks\xxx-xx-xx-Data-02-Prod.vhdx

D:\ Storage\Pool3\Hyper-V\Virtual Hard Disks\xxx-xx-xx-Recovery-01-Prod.vhdx

D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_1

D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_1.xml

D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_2

D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_2.xml

テンプレート1

テンプレート1でこのマッピングを行うには-ストレージの問題を維持しながら、ファイルシステムの名前空間の問題(別名疑似プロビジョニングされたUI)が優先されます。

D:\ VMs\xxx-xx-xx-01-Prod\xxx-xx-xx-System-01-Prod.vhdx>(linked to)D:\ Storage\Pool1\Hyper-V\Virtual Hard Disks\xxx- xx-xx-System-01-Prod.vhdx

D:\ VMs\xxx-xx-xx-01-Prod\xxx-xx-xx-Data-01-Prod.vhdx> D:\ Storage\Pool1\Hyper-V\Virtual Hard Disks\xxx-xx-xx- Data-01-Prod.vhdx

D:\ VMs\xxx-xx-xx-01-Prod\xxx-xx-xx-Data-02-Prod.vhdx> D:\ Storage\Pool2\Hyper-V\Virtual Hard Disks\xxx-xx-xx- Data-02-Prod.vhdx

D:\ VMs\xxx-xx-xx-01-Prod\xxx-xx-xx-Recovery-01-Prod.vhdx> D:\ Storage\Pool3\Hyper-V\Virtual Hard Disks\xxx-xx-xx- Recovery-01-Prod.vhdx

D:\ VMs\xxx-xx-xx-01-Prod\GUID_1> D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_1 D:\ VMs\xxx-xx-xx-01-Prod\GUID_1.xml > D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_1.xml D:\ VMs\xxx-xx-xx-01-Prod\GUID_2> D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_2 D:\ VMs\xxx-xx-xx-01-Prod\GUID_2.xml> D:\ Storage\Pool1\Hyper-V\Virtual Machines\GUID_2.xml

1
computermensch