Vmware ESXi에서 실행되는 Windows 2008 R2 X64 서버가 있습니다. 원래는 Hyper-V에서 실행 중이었지만 이후 VHD를 VMDK로 변환하고 ESXi로 마이그레이션했습니다. VMware Tools도 설치했습니다. 이 서버는 TeamCity 지속적 통합 서버로, 회사에서 개발하는 소프트웨어 패키지의 야간 빌드를 수행합니다. 이동 이후 빌드 프로세스에서 삭제해야 하는 특정 파일이 "파일이 다른 프로세스에서 사용 중입니다"라는 이유로 삭제되지 않는 경우가 있습니다. CMD del 명령을 사용하여 파일을 삭제하려고 합니다. 때로는 작동하지만 다른 경우에는 작동하지 않습니다. PATH 필터(PATH에 C:\work 포함)로 오류가 발생한 디렉터리 경로를 사용하여 프로세스 모니터를 시작했습니다. 많은 vmtoolsd.exe Createfile, FileSystemControl 및 CloseFile 작업이 빠르게 연속해서 반복적으로 발생하는 것을 볼 수 있습니다. Windows 게스트에서 파일 시스템 잠금을 일으키는 Vmware 도구에 대해 들어본 사람이 있습니까?
아직 실제 발생했을 때 프로몬으로 캡쳐는 못했는데 시도해 볼 생각입니다.
또한 공간 부족으로 인해 이 디렉터리 C:\work는 C:\work-old로 이름을 바꾸고 두 번째 가상 디스크 E:\를 추가한 다음 디스크를 C:\work 디렉터리에 마운트하여 다시 생성되었습니다. 그런 다음 C:\work-old의 내용을 새로 마운트된 C:\work에 복사합니다. Vmware Tools가 C:\work에서 FSCTL_Get_Reparse_Point를 지속적으로 수행하는 것을 확인했습니다.
업데이트: 어젯밤에 VMware 도구 서비스를 비활성화했는데 여전히 문제가 발생했습니다. 나는 실제로 C:\work에 디렉토리로 마운트된 E: 드라이브인 공유인 C:\work 디렉토리가 2개의 원격 호스트에 의해 동시에 액세스되고 있으며 아마도 이로 인해 첫 번째 호스트가 디렉토리를 잠그고 있다고 생각합니다. 주인. E:를 작업 디렉터리에 탑재하기 전에는 이런 일이 발생하지 않았습니다. 디렉터리로 탑재된 볼륨 및 파일 잠금과 관련된 알려진 문제가 있습니까?
답변1
VMware Tools로 인해 문제가 발생한 것이 아닌 것으로 나타났습니다. Windows Application Experience 서비스로 인해 이 문제가 발생했을 가능성이 높지만 긍정적이지는 않습니다. 결국 가상 디스크를 추가하고 새 공유를 생성한 다음 빌드가 이 공유를 찾도록 지정하여 문제를 해결했습니다. 빌드 단계에서 이 공유에 대해 열린 핸들을 남겨두면 해당 공유를 다시 참조하지 않는 후속 단계에 영향을 미치지 않습니다. 이전에는 모든 것이 동일한 공유에서 수행되었으므로 열린 핸들이 있으면 파일 작업이 실패합니다.