在 UNIX 中,应用程序可以安装在 NFS 共享目录中,并包含指向 /local 的符号链接(例如用于日志和临时文件)。然后,应用程序的每个运行实例都将使用本地磁盘而不是 NFS。
在 Windows 中,我有一个应用程序,它使用 Windows 共享目录 ( \\shares\app
) 来存储应用程序的所有实例。日志位于此目录 ( \\shares\app\log
) 中,但无法在应用程序内配置为本地写入。我尝试使用 MKLINK /D 创建指向C:\logs\
( \\shares\app\logs <==> C:\logs
) 的链接,但此链接无法在访问共享的应用程序的远程实例上使用。
有没有办法在 Windows 中执行此操作,就像在 UNIX 应用程序中执行的操作一样?由于写入共享的日志量很大,我的应用程序的性能下降了,如果可能的话,确实应该在本地写入。
答案1
出于安全原因,不允许这样的链接。即使是 Samba 也默认关闭符号链接由于 Windows 处理方式存在一些安全问题。
Windows 在服务器端解析链接,因此如果它能正常工作,它将指向文件服务器上的 c:\logs。
我建议配置应用程序的日志记录位置(可能需要请求供应商添加这样的选项),以便它可以在本地记录。