我有一个 Plone 站点,其中包含 95000 个文件的 blobstorage。经过几天的备份,文件总量超过了虚拟服务器的限制。
1 回答
You have a few options:
Pack your ZODB if you haven't already. Removing old transaction data will also result in the BLOB files for those transactions being removed.
Of course, packing removes history, so if you need to be able to undo transactions you may want to only pack until 30 days ago or similar.
Use a dedicated ZEO server with higher virtual server file limits to store your ZODB and the blobstorage, then use a blob cache on the client(s).
Use a non-shared blobstorage; your Zope servers will pull in BLOBs over the network from the ZEO server to be stored in the local blob cache, which can be limited in total disk space. (A shared blobstorage is a directory shared over NAS or something similar defeating the purpose here).
This does not lower the number of BLOB files to back up but perhaps makes it more manageable for you as the ZEO server can be spec-ed for disk space instead of CPU and memory load. The blob caches on the client machines need not be backed up at all.
Re-tool your application to not have so many BLOBs or to not alter them so often. Ultimately, that's where all your blob files come from; the ZODB uses one blob file per ZODB blob per transaction that alters them.