所以我最近在家里build立了自己的小型服务器。
我把我的主系统设置在一个SSD和一个大型硬盘的ZFS池上进行数据存储。
现在我问自己的问题是,如果我想build立的服务,如MySQL,ownCloud,gitolite等,将数据文件夹保持在SSD上,并做一个常规的RSYNC到一个特殊的备份数据集ZFS卷,或者将数据文件夹保留在ZFS池中。
在我看来,让他们在SSD和同步他们可能不是一个好主意,因为这使我失去了ZFS一致性检查和一种失败的首要目标。
在这种情况下推荐的选项是什么? 将/ var / lib中的所有内容合并到池文件夹中是否正确? 我应该修改configuration脚本吗? 我应该首先将/ var放在ZFS卷上吗?
一般来说,哪些文件夹应放在ZFS卷上?
一如既往,这取决于你的情况。
如果您希望ZFS仅用于长时间的备份存档而没有位翻转的危险,并且不想改变太多,那么您可以以任何您想要的方式使用主系统,并对活动数据使用校验和(例如md5deep ),然后复制/ rsync到备份池,再做一次散列并完成它。
如果您希望获得最高的应用程序性能,则可以将应用程序和数据应用程序分散在任何文件系统(因为可以轻松重新安装),数据池(因为它很有价值)。 然后,您可以在本地甚至通过NFS使用这些数据,这取决于您的应用程序需要什么。
如果您想要平衡的性能(更好的池性能,但不像第二个示例中的本地访问那么快),并且在重新布局布局的情况下也可以,则可以将SSD添加为ZFS意向日志(ZIL)的单独日志设备, ,这加快了同步写入。 但要小心,因为写入磁盘的所有数据也写入到SSD中,所以可能会比平常更快地磨损平均化。
无论如何,你只会在ZFS文件系统和zvols上获得快照。 这个function本身就能说服我尽可能地使用ZFS。 安装了错误的软件? 只要回滚,你的状态将再次清洁。 系统升级后引导失败? 只需要提前15分钟使用最后的快照,不用担心。 在编辑/ etc /中的某些文件时意外地覆盖了重要的系统信息? 没问题,有你覆盖。