"ls -l"이 트리거되지 않으면 호스트 시스템에서 변경될 때 가상 시스템이 파일 변경 사항을 인식하지 못합니다.

"ls -l"이 트리거되지 않으면 호스트 시스템에서 변경될 때 가상 시스템이 파일 변경 사항을 인식하지 못합니다.

내 서버에서 실행되는 가상 머신에 이상한 문제가 있습니다. 나는 내가 겪고 있는 증상을 설명하는 작은 테스트 시나리오를 아래에 설정했지만 다른 것을 살펴봐야 할지 알 수 없습니다.

그래서 저는 다음과 같은 기준을 가지고 있습니다.

  1. "/mnt/user/Backup/Logs/"(호스트) => "logs"(가상 머신 debian)에 대한 Virtiofs 모드
  2. "logs /mnt/logs virtiofs ro,relatime,sync 0 0"의 fstab 항목
  3. 테스트 파일의 전체 rwe

왼쪽에서 오른쪽으로 앞뒤로 명령을 실행했습니다.

  1. unraid OS에서 현재 디렉토리를 표시하는 루트 "ls -l"
  2. 가상 머신의 현재 디렉토리를 표시하는 alexander "ls -l"
  3. unraid에서 파일의 내용을 표시하는 루트 "cat testfile"
  4. 가상 머신에 파일 내용을 표시하는 alexander "cat testfile"
  5. "sudo nano testfile"을 루트하고 nano에 문자열을 추가합니다.
  6. 나노 수정 후 새 콘텐츠를 표시하는 루트 "cat testfile"
  7. Alexander "cat testfile"에는 여전히 파일의 이전 내용이 있습니다.
  8. 디렉토리를 다시 나열하고 일부 캐시를 새로 고치는 alexander "ls -l"
  9. alexander "cat testfile"에는 이제 unraid 드라이브의 새로운 콘텐츠가 있습니다.

예제 명령

가상 머신에 파일의 이전 복사본이 있고 "ls -l"(또는 새로 고치는 것과 동등한 기능)을 수행할 때만 파일이 올바르게 업데이트되는 것처럼 보이기 때문에 무슨 일이 일어나고 있는지 정확히 모르겠습니다.

이 모든 것은 호스트 시스템에서 로그가 기록되고 있다는 것을 알아내기 위해 filebeat를 사용하여 로그 파일을 전달하려고 시도했지만 가상 시스템은 "ls -l"이 실행될 때까지 파일 변경을 실제로 알아차리지 못한 데서 비롯되었습니다. 해당 로그 파일의 디렉터리입니다.

관련 정보