返回列表

NAS挂载缓存问题

📈 86

问题背景

今天在本地机器挂载NAS时,出现某个文件与NAS不同步的情况,文件大小、修改时间均相同,但是数据丢失了(均为Nonetype),尝试了重新挂载无果。

正常的机器

root@ubuntu-AML:/NAS/occ_debug_1224_all# md5sum 032.pcd 
732f99e695083373f3d8a21cf39a5d2a  032.pcd
root@ubuntu-AML:/NAS/fusion/occ_debug_1224_all# ll 032.pcd 
-rw-r--r-- 1 root root 9496620 Dec 24 10:27 032.pcd

本地机器

user@ubuntu-local:~$ md5sum /media/occ_debug_1224_all/032.pcd
e0181bef17fb03acb21406bca5615cc2  /media1/nas/occ_log/fusion/occ_debug_1224_all/032.pcd
user@ubuntu-local:~$ ll /media/occ_debug_1224_all/032.pcd
-rw-r--r-- 1 root root 9496620 12月 24 18:27 /media/nas/occ_debug_1224_all/032.pcd

解决方法

通过在挂载命令添加 -o sync 的flag解决了问题,这个flag会强制不使用缓存,每一次读操作都直接访问服务器。

sync

All I/O to the filesystem should be done synchronously. In the
case of media with a limited number of write cycles (e.g. some
flash drives), sync may cause life-cycle shortening.

Ref