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


11

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というディレクトリが存在しても意味がないということです。もう1つの議論は、Hyper-Vサーバー自体がすべてのハードディスクが1つのフォルダーにあり、すべての仮想マシンが別のフォルダーにあることを期待しているように見えることです。つまり、VMごとに個別のフォルダーを作成しません(Virtual MachinesディレクトリーのGUIDによって名前が付けられたものを除く)

テンプレート2

テンプレート2の引数は、Hyper-Vがレイアウトに期待していることのように思われるということです。

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

どちらのレイアウトにも落とし穴があると聞きたいです。


2
自転車が私に流したように見えます。
エヴァンアンダーソン

2
同意しません。経験から、Hyper-Vツールの外部からどのディスクがどのVMに属しているかを識別できる命名規則を持つことには、いくつかの技術的な理由があります。彼のオプションの1つでは、それを簡単に行うことはできません。または、hyper-v XMLファイルが破損している場合は、まったく起こり得ません。
グラント

2
あなたが正しい。テンプレート2はVMをフォルダーごとに分離しません。これは最初のVHD(X)には問題ありませんが、名前を付けることに慎重でない限り、後続のVHD(X)には問題になる可能性があります。
joeqwerty

1
パスにスペースがないテンプレートはどうですか?
user2813274

2
- @BenjaminPeikes自転車小屋はパーキンソンの凡俗法則を指しen.wikipedia.org/wiki/Parkinson's_law_of_triviality
グラント

回答:


12

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

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

それを考えると、テンプレート1に似たものを探します。そこでは、各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に属し、そのファイルが何のためであるかを確認できます。


私はあなたが提案するレイアウトに傾いてきました。私が気に入らないこの特定のレイアウトについての1つのことは、フォルダー構造とファイル命名規則の両方でマシン名を使用することです。つまり、マシンのフォルダを単純にコピーして新しいフォルダを作成することはできません。
ベンジャミンペイケス14年

私が聞いた議論の1つは、各GUIDのxmlファイルを調べることで、どのファイルがどの仮想マシンに属しているかを知ることができるということです。わかりやすい命名規則を持っていることは間違いなく便利ですが、誰かが一度も従わないと完全にばらばらになります。これは、コードと一致しないコードにコメントが含まれているようなものです。マシンに関するすべての情報はxmlファイルにあるため、フォルダーとファイルの名前に頼って何かを判断するのは慎重です。
ベンジャミンペイケス14年

@BenjaminPeikesファイルをVMに一致させるためにXMLファイルに依存するのは危険です。誤って削除したりデータが破損したりして、XMLファイルがなくなったり、読み取れなかったりすることがありました。また、GUIDを照合するよりも簡単です。ただし、ファイル名にVM名を使用する必要は必ずしもなく、必要に応じてフォルダーのみを使用する必要があることに同意します。ファイル構造だけを見れば、どのファイルがどのVMに属し、どのような目的でサービスを提供しているかを確認できます。
グラント14年

2

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

VMを移動した場合にテンプレートが安定しないためです。

ホスト間でVMを移動するときに取得するフォルダー構造と同じフォルダー構造を使用します。このようにすると、ホスト間でVMを移動しても、何も変わりません。


ホスト間でVMを移動すると、テンプレート1は取得しませんか?
ベンジャミンペイケス14年

それを試してください-そうではありません。たとえば、ディスクは、マシン名フォルダの下の「仮想ハードディスク」フォルダに配置されます。
トムトム14年

それが私のテンプレート1の機能です。各マシンには独自のフォルダーがあり、それらの各フォルダーには、Virtual MachinesフォルダーとVirtual Hard Disksフォルダーがあります。
ベンジャミンペイケス14年

1
VMの作成時にデフォルトで記述した構造@TomTomをHyper-Vで使用する方法はありますか?私は自分のVMを独自のフォルダーの下に置くのが好きです。しかし、毎回、VMを作成してから、目的のフォルダー構造を取得するためにすぐに移動します。
マティブラウン14年

1

テンプレート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>(リンク先)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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.