
我在我的伺服器上運行的虛擬機器上看到一個奇怪的問題。我在下面設定了一個小測試場景,說明了我所經歷的症狀,但我不知道我還應該看什麼。
所以我有以下標準
- Virtiofs 模式為「/mnt/user/Backup/Logs/」(主機)=>「日誌」(虛擬機器 debian)
- fstab 條目“logs /mnt/logs virtiofs ro,relatime,sync 0 0”
- 測試文件上的完整 rwe
我從左到右來回執行命令。
- root "ls -l" 顯示 unraid 作業系統上的目前目錄
- alexander "ls -l" 顯示虛擬機器上的目前目錄
- root "cat testfile" 在 unraid 上顯示檔案內容
- alexander "cat testfile" 在虛擬機器上顯示檔案內容
- root「sudo nano testfile」並在 nano 中附加一個字串
- root "cat testfile" 顯示nano修改後的新內容
- alexander“cat testfile”仍然具有文件的舊內容
- alexander "ls -l" 重新列出目錄並刷新一些緩存
- alexander“cat testfile”現在擁有來自 unraid 驅動器的新內容。
我不太確定發生了什麼,因為虛擬機似乎有一個較舊的文件副本,只有當我執行“ls -l”(或刷新它的等效操作)時,文件才會正確更新。
這整件事源於我嘗試使用 filebeat 轉發日誌文件,結果發現日誌是從主機寫入的,但虛擬機從未真正注意到文件發生變化,直到在“ls -l”中運行該日誌文件的目錄。