我在一家小型(6 名员工)网页/设计店工作。我们有一个文件服务器,用于存储大型设计文档(photoshop 文件、flash 源文件、indesign 等)和其他正在进行的工作。该服务器只是一台基本的 Windows 机器,配备了一些强大的硬盘和启用的文件共享功能。(我们正在转向使用 FreeNAS 的解决方案)。
公司的所有者/首席设计师喜欢直接在服务器上处理文件(而不是制作本地副本并处理该文件)。这当然会导致各种严重的文件损坏和文件访问问题。我向他展示了 Adobe 网站上的支持文章,并解释说他的工作流程是个糟糕的想法。他仍然坚信问题实际上只是一个“权限问题”,如果我们改用 NFS 而不是 Windows 共享/Samba,一切都会好起来。
我的问题是:你能推荐其他可能帮助我改变他想法的资源吗?或者,你能推荐任何可能有助于改变我的介意吗?他用的是 Mac,所以如果该操作系统有什么特别之处,那么它可能比一般信息更有分量。
目前我了解:
答案1
文件损坏不可能是由于权限问题造成的。只要有多个用户可能同时处理同一个文件,就会发生损坏,除非应用程序在文件打开时锁定文件(以便每次只有一个用户可以打开文件)和锁定适用于您的文件共享系统 (NFS/samba/…)。使用 NFS 代替 samba 可能有助于后者,但那毫无意义,因为根据您引用的参考资料,您的团队使用的应用程序不使用锁定。
有些地方尝试实行纪律,即每个人在处理文件之前都必须获得许可,并在完成工作后向许可经理报告。墨菲定律注定会失效(尤其是在截止日期前一天,每个人都处于疯狂状态)。
版本控制系统是正确的解决方案:签出、工作、提交;如果两个人同时处理文件,则提交操作将失败,并告知第二个提交者必须将其工作与第一个提交者合并。版本控制系统的另一个好处是保留更改历史记录。
遗憾的是,你面临的是社会问题,而不是技术问题。你可以试着向你的老板展示一些赞美版本控制优点的文章(谷歌搜索“为什么要使用版本控制”,然后过滤掉任何关注开发人员的内容),但他很可能会直接忽略它们。你所能做的最好的事情可能是确保当出现问题时,他参与其中,并且他知道为什么会发生这种情况。祝你好运。
答案2
我读了 flash 2009 文章,同意这很荒谬。单个用户通过网络访问文件的方式应该与本地存储类似。
NFS 不能解决这个问题,iSCSI 也不能。iSCSI 会向系统提供一个驱动器,但一旦安装了该驱动器,您就需要“共享”它,因此会陷入与之前相同的困境。
如果目标是拥有一个中央存储库,并且您要遵守 Adobe 的荒谬限制,即“在任何情况下都不支持在本地网络上使用 Flash 文件“,您将需要使用某种系统来检出文件。不确定细节,但 subversion 或其他 cvs 系统可能适合。
答案3
我认为在服务器上处理大型文件完全没问题,而且我使用它没有问题。它们是不同类型的文件,从 photoshop 到 outlook 个人文件夹,每个文件接近 2GB,如果网络(或服务器的磁盘)没有故障,就不会出现损坏问题。您必须确保文件锁定有效,并且您的网络必须可靠。我为 Linux 桌面使用 NFSv4,为 Windows 桌面使用 Samba(在同一个文件上)。之前我通过 samba 使用一切,但由于我将所有 Windows 都移至 Linux,所以我也安装了 nfs4,一切运行正常。
无论如何,在编辑时将文件复制到本地绝对不是解决方案!如果有两个不同的同时修改的副本,您会怎么做?要做到这一点,您不需要文件服务器......将每个文件放在指定的计算机上会更安全,并且您必须坐在电脑上编辑文件,就像在网络时代之前一样。您的商店老板对此完全正确。
答案4
iSCSI 听起来像是一个解决方案。