Hyper-V 서버의 파일 레이아웃에 대한 모범 사례?


11

Hyper-V 서버가 설정되어 있으며 여러 사람이 설정했기 때문에 파일의 레이아웃이 일치하지 않습니다. 사용 된 두 가지 "템플릿"은 다음과 같습니다.

템플릿 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

FOR Template 1에 대한 주장은 VM 내보내기를 수행 할 때 내보내기가 시스템 이름으로 폴더를 작성하고 디스크와 vm에 대해 별도의 폴더를 넣는다는 것입니다. 그런 다음 가져 오기를 실행할 때 단순히 시스템 디렉토리를 가리킬 수 있습니다.

이 템플릿 스타일에 대한 논쟁은 파일이 하나 뿐인 경우 가상 머신이라는 디렉토리가 존재하지 않는다는 것입니다. 다른 주장은 Hyper-V 서버 자체가 모든 하드 디스크가 하나의 폴더에 있고 모든 가상 컴퓨터가 다른 폴더에 있다고 예상하는 것 같습니다. 즉, 각 VM마다 별도의 폴더를 생성하지 않습니다 (Virtual Machines 디렉토리에서 GUID로 명명 된 폴더 제외).

템플릿 2

FOR Template 2의 주장은 Hyper-V가 레이아웃을 기대하는 것과 같다는 것입니다.

AGAINST 템플릿 2 인수는 xml 파일을 살펴 보지 않으면 특정 컴퓨터와 연결된 가상 컴퓨터 파일을 알 수 없다는 것입니다.

두 레이아웃의 함정에 대해 듣고 싶습니다.


2
자전거가 나에게 헛간 것 같습니다.
Evan Anderson

2
동의하지 않습니다. 경험상, Hyper-V 도구 외부에서 어떤 디스크가 어떤 VM에 속하는지 식별 할 수있는 명명 규칙이 있어야하는 기술적 이유가 있습니다. 그의 옵션 중 하나를 사용하면 쉽게 할 수 없거나 하이퍼 v XML 파일이 손상된 경우 발생할 수 있습니다.
Grant

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에 대한 폴더가 있지만 "Virtual Machines"및 "Virtual Machine Hard Disks"하위 폴더는 제외하고 VM과 관련된 모든 파일을 넣습니다. VM의 이름을 가진 폴더.

Hyper-V \ Virtual 시스템이 필요하지 않습니다. 레이블 중 하나를 선택하면 둘 다 필요하지 않습니다.

그래서:

D : \ 가상 머신 \ MACHINE_A \ GUID_1.xml
D : \ 가상 머신 \ MACHINE_A \ Machine_a_OS.vhdx
D : \ 가상 머신 \ MACHINE_A \ Machine_a_Data.vhdx

D : \ 가상 머신 \ MACHINE_B \ GUID_2.xml
D : \ 가상 머신 \ MACHINE_B \ Machine_b_OS.vhdx
D : \ 가상 머신 \ 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과 해당 파일의 용도를 알 수 있도록 파일을 구성하는 것입니다.


나는 당신이 제안하는 레이아웃에 기울고 있습니다. 내가 좋아하지 않는이 특정 레이아웃에 대한 한 가지는 폴더 구조와 파일 명명 규칙 모두에서 컴퓨터 이름을 사용한다는 것입니다. 이것은 단순히 컴퓨터의 폴더를 복사하여 새로운 폴더를 만들 수 없다는 것을 의미합니다.
Benjamin Peikes

내가 들었던 한 가지 주장은 각 GUID의 xml 파일을 조사하여 어떤 파일이 어떤 가상 머신에 속하는지 알 수 있다는 것입니다. 이름 지정 규칙을 이해하기 쉽게 이해하는 것이 도움이 되더라도 한 번도 따르지 않으면 완전히 분리됩니다. 더 이상 코드와 일치하지 않는 주석이 코드에있는 것과 같습니다. 컴퓨터에 대한 모든 정보가 xml 파일에 있기 때문에 폴더와 파일의 이름을 사용하여 무엇이든 알아내는 것에주의를 기울입니다.
Benjamin Peikes

@BenjaminPeikes 파일을 VM에 일치시키기 위해 XML 파일에 의존하는 것은 위험합니다. 실수로 삭제하거나 데이터가 손상되어 XML 파일이 사라지거나 읽을 수없는 경우가있었습니다. 또한 GUID를 일치시키는 것보다 평범합니다. 그러나 필자는 파일 이름에 VM 이름을 반드시 사용할 필요는 없으며 원하는 경우 폴더 만 사용해야한다는 데 동의합니다. 파일 구조 만 살펴보면 어떤 파일이 어떤 VM에 속하는지, 어떤 용도로 사용되는지 알 수 있습니다.
Grant

2

나는 아무것도 좋아하지 않습니다.

VM을 이동할 경우 안정적인 템플릿이 없기 때문입니다.

호스트 사이에서 VM을 이동할 때 얻는 것과 동일한 폴더 구조를 사용합니다. 이렇게하면 호스트간에 VM을 이동할 때 아무것도 변경되지 않습니다.


템플릿 1이 호스트간에 VM을 이동할 때 얻는 것이 아닙니까?
Benjamin Peikes

시도해보십시오-그렇지 않습니다. 예를 들어 디스크는 시스템 이름 폴더 아래의 "Virtual Hard Disks"폴더에 있습니다.
TomTom

그것이 제 템플릿 1이하는 일입니다. 각 컴퓨터에는 자체 폴더가 있으며 각 폴더에는 가상 컴퓨터 폴더와 가상 하드 디스크 폴더가 있습니다.
Benjamin Peikes

1
VM을 만들 때 기본적으로 설명한 구조 인 @TomTom을 사용하여 Hyper-V를 가져 오는 방법이 있습니까? 내 VM을 자신의 폴더에 넣는 것을 좋아합니다. 그러나 매번 VM을 만들고 나서 원하는 폴더 구조를 얻기 위해 VM을 똑바로 움직입니다.
Matty Brown

1

가상 머신 부품에 대한 커플 링을 스토리지 문제와 분리하려면 템플릿 2를 수행해야합니다. 즉, VM에 대한 하나의 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 하드 디스크 \ xxx-xx-xx-Data-02-Prod.vhdx

D : \ Storage \ Pool3 \ Hyper-V \ Virtual 하드 디스크 \ 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

스토리지 문제를 유지하면서 파일 시스템의 네임 스페이스 문제 (의사 프로비저닝 된 UI)가 우선하는 템플리트 1에서이 맵핑을 수행하려면 다음을 수행하십시오.

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- 복구 -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.