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.