如何确保网络上对 USB 磁盘的写入被刷新?

如何确保网络上对 USB 磁盘的写入被刷新?

我最近在我的 LAN 中添加了一台 Orange Livebox ADSL 路由器(作为附加 WiFi 接入点),同时也作为网盘服务器。

这是 Orange 为西班牙市场重新贴牌的 Arcadyan 路由器。它仅支持 FAT32。

我可以使用 Linux 笔记本电脑对插入路由器 USB 端口的数据棒进行写入和读取

smb://192.168.x.y

我正在考虑购买一个 USB 磁盘作为网络服务器,这样我就可以从 Linux 甚至 MacOS 等系统备份我的文件。

我熟悉卸载连接到笔记本电脑的 USB 数据棒,以便将所有写入的数据刷新到设备。

我可以使用什么东西来确保我的路由器也将所有数据刷新到其磁盘吗?

路由器时不时会重启,偶尔会断电。

答案1

  1. 您可以添加一个定期运行的 cron 作业sync,例如每分钟甚至每 10 秒运行一次。

  2. 您可以将这些变量添加到 rc.local 或 sysctl 中:

vm.dirty_background_bytes = 1048576
vm.dirty_bytes = 4194304

这会不是完全解决问题,但如果发生断电,问题就会变得不那么严重。也许您可以将两个变量都设置为零,但这可能会严重影响 IO 性能。

  1. 您可以修补您正在使用的网络守护程序(例如 smbd/vsftpd/等)的源代码,以便在关闭文件后调用 fflush() 。

不幸的是,我不知道有任何现成的解决方案。

相关内容