Vmware ESXi에서 델타 파일(디스크)을 어떻게 복원합니까?

Vmware ESXi에서 델타 파일(디스크)을 어떻게 복원합니까?

VMware Server ESXi 사용(무료 버전)

저는 가상 머신(2k3 r2 서버 승리)을 가지고 있습니다. 처음 프로비저닝할 때 스냅샷을 찍었습니다. 최근에 Windows 디스크를 늘리기 위해 표준 하드웨어 기반 방법을 사용하여 기본 드라이브를 복제하려고 했습니다. (knoppix를 사용하여 드라이브를 새 드라이브로 복제하고 부팅 가능하게 만든 다음 Windows 내에서 diskpart를 통해 파티션을 확장하려고 했습니다.) 이 프로세스는 실패했습니다. 원래 드라이브를 교체하고 부팅하고 완료하기 위해 복제된 드라이브(vmware GUI를 통해)를 설정해 보았습니다. 이것은 그다지 잘 풀리지 않았습니다. 머신이 부팅되지 않았습니다. 부팅 순서와 디스크 위치, 평소 제가 하는 기본 사항을 모두 확인해 봤습니다.

그런 다음 안전 장치로서 모든 설정을 다시 변경하여 시스템이 원래 드라이브로 부팅되고 (결국 그랬듯이) 디스크를 늘리는 더 나은 방법을 알아낼 수 있었습니다. 그러나 원래 드라이브가 있는 컴퓨터의 전원을 켜면 내가 만든 초기 스냅샷으로 되돌아갔습니다. 그 이후의 모든 변경 사항이 손실되었습니다.

파일 시스템을 살펴보고 몇 개의 파일을 찾았습니다. 여기 키 파일은 "delta"라는 이름의 파일인 것 같습니다. 이것이 제가 원하는 디스크라고 가정하지만 가상 머신이 실제로 해당 디스크를 사용하도록 하는 방법을 찾을 수 없습니다. 드라이브/파일. 기존 드라이브를 추가하려고 하면 추가할 수 없습니다.

해당 델타를 원래 드라이브에 커밋한 다음 다시 부팅해야 합니까? 나에게 올바른 방향을 알려줄 수 있나요?

이후 "vmkfstools"를 사용하여 드라이브를 확장하는 적절한 방법을 발견했지만 이를 시도하려면 시스템의 원래 상태로 돌아가야 합니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

운이 좋지 않을 수도 있지만 백업이 없다면 이에 대해 구조적인 접근 방식을 취하는 작업이 필요할 수 있습니다.

VM 전원이 꺼진 상태에서 VM 폴더에 있는 모든 파일의 복사본을 만들어 안전한 곳에 보관하면 파일이 손상될 수 있지만 처음부터 다시 시작하려는 경우를 대비해 전체 복사본을 갖고 싶을 것입니다.

SSH 셸에서 또는 SCP 유틸리티(Windows를 사용하는 경우 Veeam FastSCP 또는 Tunnellier가 편리함)를 사용하여 VM 폴더를 찾고 확장자가 .vmdk인 모든 파일을 찾습니다. 기본 디스크에는 두 개가 있어야 하며(VMname1.vmdk라는 작은 설명자 파일과 VMname1-Flat.vmdk라는 실제 디스크 데이터를 포함하는 훨씬 큰 파일) 각 스냅샷 델타에 대해 유사한 쌍( VMname1-00001.vmdk 및 이 스냅샷의 수명 동안 기본 디스크에 적용된 변경 사항을 포함하는 VMname1-00001-delta.vmdk라는 더 큰 파일). 이는 VM의 모든 활성 스냅샷에 대한 모든 메타데이터가 포함된 스냅샷 관리 파일(VMname.vmsd 파일)에서도 참조됩니다. 가상 머신 자체에는 디스크의 현재 활성 VMDK 위치에 대한 참조를 포함하여 .VMX 파일에 모든 설정이 저장되어 있습니다. 이는 최신 스냅샷 델타를 가리킵니다.

그런 다음 VMware는 내부 ID(CID라고 함)와 설명자 VMDK 내의 ParentFileNameHint라는 매개 변수를 사용하여 기본 디스크에 도달할 때까지 각 델타를 상위(그 자체가 델타일 수 있음)에 반복적으로 다시 연결합니다. -delta 자체는 완전한 디스크가 아니므로 작동하려면 상위 디스크의 수정되지 않은 복사본에 연결되어야 합니다. 상위 파일이 수정된 경우 운이 좋지 않은 것이 거의 확실합니다.

델타 파일과 관련 설명자를 수동으로 이동하고 항목이 손실된 시나리오를 수정할 수 있지만 이는 기본 디스크나 중간 델타가 변경되지 않은 경우에만 작동합니다. 설명자 파일은 모두 텍스트 편집기로 편집할 수 있습니다.

일단 이 문제에 대해 머리를 숙이고 나면 읽어야 합니다.SANBarrow의 CID 체인 수리 가이드다시 꿰맬 수 있다면 다시 꿰매는 방법을 알아내는 데 도움이 될 것입니다.

마지막으로, 스냅샷을 백업으로 의존하지 마십시오. 이러한 목적에는 적합하지 않으며 활성화되면 상당한 추가 IO 오버헤드가 발생합니다.

답변2

일반적으로 델타 파일은 디스크를 복제할 때 생성되는 파일이며 복제 시 생성될 수도 있습니다. 델타는 복사되는 동안 전원이 꺼지지 않고 라이브 VM에 대한 모든 변경 사항을 저장하는 일회용 파일입니다. 복제, 복제 등을 종료하면 델타(변경 사항)가 라이브 VM에 다시 기록됩니다. + 변경이므로 델타로 되돌릴 수 없다고 생각합니다.

참고 사항: vmkfstools를 사용하여 디스크를 확장하는 것에 대해 이야기하고 있지만 동적이 아닌 디스크에서는 작동하지 않습니까? 귀하의 diskpart 및/또는 vmkfstools는 동적 기본에서만 작동할 것이라고 확신합니다. 새 디스크를 생성하여 시스템에 추가할 수 있는 경우.

답변3

VMware 스냅샷은 스냅샷을 만든 순간부터 새 파일인 델타 파일에 디스크에 대한 모든 변경 사항을 기록하는 방식으로 작동합니다. 스냅샷으로 되돌리면 시스템은 단순히 델타를 삭제하고, 사전 스냅샷 지점으로 돌아갑니다. 스냅샷을 삭제하면 시스템은 모든 변경 사항을 원본 파일에 병합하는데, 오래 전에 스냅샷을 만든 경우 시간이 오래 걸릴 수 있습니다.

귀하의 질문은 호스트의 파일에 무엇을 했는지에 대해 특별히 명확하지 않지만 시스템이 이미 스냅샷을 되돌린 것처럼 들리므로 호스트가 더 이상 VM에 있다고 생각하지 않기 때문에 운이 좋지 않을 것입니다. 스냅 사진. 그래도 내가 시도할 것은 다음과 같습니다.

  1. 스냅샷에 의존하지 않는 백업 정책을 구현합니다.
  2. VM의 전원을 끕니다.
  3. 모든 파일을 안전한 장소에 복사하세요.
  4. 스냅샷을 삭제해 보세요.
  5. 무슨 일이 일어나는지 확인하세요. 3단계에서 원하는 대로 작동하지 않으면 5단계로 진행하세요.
  6. 새로운 스냅샷을 찍으세요.
  7. 5단계에서 생성된 델타 파일 위에 백업의 모든 델타 파일을 복사합니다.
  8. 무슨 일이 일어나는지 확인하세요. 6단계가 원하는 대로 이루어지지 않았다면 운명을 받아들이고 잃어버린 것을 회복하기 위한 노력을 시작하세요.

행운을 빌어요, --제드

관련 정보