VMware ESXi VM을 새로운 데이터 스토어로 이동-씬 프로비저닝 유지


27

vCenter를 사용할 수없는 VMware ESXi 환경 문제에 대한 좋은 솔루션을 찾고 있습니다.

VMDK 씬 프로비저닝을 유지하면서 단일 ESXi 호스트에서 하나의 데이터 저장소에서 다른 데이터 저장소로 VM을 이동하는 가장 좋은 방법은 무엇입니까?

이것은 다른 드라이브 어레이 / 데이터 저장소로 확장 된 독립형 서버입니다. 이전 배열에 포함 된 데이터를 새 배열로 옮기고 싶습니다.

편집 : 대상 데이터 스토어 크기가 실제로 소스보다 작습니다. 두꺼운 파일을 복사 할 공간이 충분하지 않습니다.


VM을 너무 작아서 데이터를 저장하기에 너무 작은 데이터 스토어로 옮기는 것이 현명하다고 생각하십니까? VM에서 모든 저장 공간을 사용하기로 결정한 불량 프로세스의 결과는 무엇입니까?
Zoredache

일반적으로, 아니요 ... 그러나 이것은 특별한 경우입니다. VM은 성장하지 않습니다.
ewwhite

VM이 커지지 않으면 씬 프로비저닝을 유지할 이유가 없습니다.
Jim B

ESXi의 버전은 무엇입니까?
Jed Daniels

이것은 ESXi 5입니다.
ewwhite

답변:


21

파일-> 내보내기-> OVF 템플릿 내보내기를 사용할 수도 있습니다.

그런 다음 가져옵니다. 마지막으로 시도했을 때 이것이 vmdk 형식을 유지한다고 생각합니다. 꽤 시간이 지났으므로 지금은 확실하지 않습니다.


3
버전 4.1 이상을 가정하면 가져올 때 얇거나 두껍게 사용하라는 메시지가 표시됩니다.
Jed Daniels

2
당신은 그것을 얻었다! 압축 스파 스 파일로의 OVF 내보내기는 빠르고 고통스럽지 않았습니다. 수입시 얇거나 두꺼운 공급 옵션이 주어졌으며 수입이 빨라졌습니다. 72GB (8GB 사용) 가상 머신의 경우 5 분
ewwhite

3
FWIW에서는 ovftool을 사용하여 명령 줄에서이 작업을 수행 할 수도 있습니다.
Jed Daniels

28

이 작업을 직접 수행하는 방법을 찾았습니다. 전송 중에 씬 프로비저닝을 유지하면서 전송 시간을 단축하면서 VM을 새 데이터 저장소로 이동하는 방법에 대한 다음과 같은 가이드를 참조하십시오.

CLI에서 vmkfstools를 사용하는 단계별 안내서

  1. VM 전원 끄기
  2. (선택 사항) 필요한 경우 스냅 샷을 통합합니다.
  3. vCenter 인벤토리에서 VM 제거
    • VM을 마우스 오른쪽 버튼으로 클릭하고 "인벤토리에서 제거"를 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  4. ESXi 시스템에서 SSH 사용
    • vSphere 클라이언트에서 구성-> 보안 프로필-> 속성 (서비스 옆) -> SSH (목록에서) -> 옵션-> 시작으로 이동하십시오.
  5. SSH를 통해 루트로 로그인
  6. 대상 데이터 스토어에서 디렉토리 준비
    • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  7. 씬 프로비저닝을 사용하여 .vmdk 파일 복제
    • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  8. 나머지 파일을 복사합니다 (.vmdk 파일 덮어 쓰기 방지)
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep -v ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  9. 2 단계에서 스냅 샷을 통합하지 않은 경우 스냅 샷 .vmdk 델타 파일이있을 수 있으며 이러한 파일도 복사해야합니다 (시간이 걸릴 수 있음).
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789] | grep ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  10. 필요한 모든 파일 복제 및 복사가 완료되면 새 데이터 스토어의 VM을 인벤토리에 다시 추가하십시오.
    • vSphere 클라이언트에서 구성-> 스토리지-> 데이터 브라우저 로 이동하여 VM을 이동 한 대상 데이터 스토어를 마우스 오른쪽 버튼으로 클릭하고 "데이터 스토어 찾아보기"를 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  11. VM을 찾아 .vmx 파일을 마우스 오른쪽 버튼으로 클릭 한 다음 "인벤토리에 추가"를 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  12. VM을 부팅하여 작동하는지 확인합니다. 복사 또는 이동 여부를 물었을 때 복사 한 것에 응답하십시오. (이것의 의미가 확실하지 않지만 적어도 vNIC의 MAC 주소가 변경되는 것과 관련이 있다고 생각합니다.) 여기에 이미지 설명을 입력하십시오
  13. VM이 제대로 부팅되면 이전 데이터 스토어에서 VM을 제거 할 수 있습니다.
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

참고 : ESXi 5에서만 테스트

이 블로그 에서 뻔뻔스럽게 삽화가 복사되었습니다 .


1
이것은 작동하지만 스냅 샷으로 VM을 이동하는 방법에 대한 정보를 제공하는 것조차 어리 석습니다. 이와 같은 이동을 시도하기 전에 모든 스냅 샷을 제거하도록 사람들에게 지시하십시오.
pauska

2
esxi 5.5 u1에서 위의 @ohaal의 게시물은 -print0을 -print로 변경해야했으며 매력처럼 작동했습니다! 추신. 나는 투표하지만 담당자는 없습니다.
icereval

2
@ohaal은 ESXi 6.7에서 작동하는 것으로 확인되었습니다. 고맙습니다!
산의 에드

.vmdk 및 .vmx를 제외하고 다른 파일을 복사해야하는 이유가 있습니까? 없으면 find줄을 간단한로 바꿀 수 있습니다 cp.
Agustín Lado

8

이 답변을 확인하십시오 . 동일한 논리가 상황에 적용됩니다.

"컨버터"라고하지만 실제로는 "다목적 OS 데이터 이동기"라고해야합니다. 그래도 혀를 아주 잘 굴리지는 않습니다.

유일한 차이점은 소스 및 대상 호스트는 동일하지만 데이터 스토어는 다릅니다. 이는 파일이 ESXi 호스트에서 변환기 시스템으로 이동 한 다음 다시 호스트로 이동 함을 의미합니다. Converter가 "스마트"하고 동일한 호스트임을 알고 있으면 좋을 것입니다. 불행히도, 비용이 든다.

주의 사항 : VM을 변환하면 모든 네트워크 어댑터에 대한 새 MAC 주소가 생성됩니다. 대부분의 게스트 OS는이를 새로운 장치로 해석합니다.


1
MAC 주소에 대한 훌륭한 요점.
JamesBarnett

3

실제로 대상 위치에 폴더를 만든 다음 소스의 폴더에있는 파일을 복사하면 얇게 유지됩니다. 폴더를 복사하면 얇은 폴더에서 두꺼운 폴더로 변환됩니다.


2
이것은 올바르지 않습니다. du -h .동일한 데이터 저장소에서 이미 생성 된 폴더에 복사 할 때 Thin을 사용하여 확인 되었습니다. cp C* ../newdir
Rowan Hawkins

0

파일을 복사 한 다음 vmkfstools를 통해 thin으로 다시 변환합니다.


대상 데이터 스토어 크기는 실제로 소스보다 작습니다. 두꺼운 파일을 복사 할 공간이 충분하지 않습니다.
ewwhite

이 경우 복사 및 재 변환이 작동하지 않지만 vmkfstools를 사용하여 대상으로 직접 복제 할 수도 있습니다. 또한 여분의 GB를 0으로 전송하지 않으므로 전송하는 데 걸리는 시간이 줄어 듭니다. 내 답변에는 수행 방법에 대한 세부 정보가 포함되어 있습니다.
ohaal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.