2012-06-14 12 views
1

我有一個Plough網站,有95000個文件的blobstorage。 經過一段時間的備份,文件總量超過了虛擬服務器的限制。blobstorage中的文件數量如何減少?

+0

@bdares:不完全;除非您的硬盤驅動器在無論如何都保留在文件修訂版中,直到清理完畢。 :-) –

回答

3

您有幾種選擇:

  • 收拾好你的ZODB如果您還沒有。刪除舊的交易數據也會導致這些交易的BLOB文件被刪除。

    當然,打包會刪除歷史記錄,所以如果您需要能夠撤消事務處理,您可能只想打包到30天前或類似事件。

  • 使用具有更高虛擬服務器文件限制的專用ZEO服務器來存儲您的ZODB和blobstorage,然後在客戶端上使用blob緩存。

    使用非共享blobstorage;你的Zope服務器將通過網絡從ZEO服務器拉入BLOB,以存儲在本地blob緩存中,這可能會限制整個磁盤空間。 (共享blobstorage是通過NAS共享的目錄或類似的目錄,在這裏達到目的)。

    這不會降低要備份的BLOB文件的數量,但可能使其更易於管理,因爲可以爲磁盤空間而不是CPU和內存負載指定ZEO服務器。客戶機上的blob緩存不需要備份。

  • 重新工具您的應用程序沒有這麼多的BLOB或不經常更改它們。最終,這就是你所有的blob文件的來源; ZODB每個ZODB blob使用一個blob文件來修改它們。

+0

AFAIR,打包blob存儲只會將blob截斷爲0字節,但不會刪除它們。 –

+0

@UlrichSchwarz:不,包裝肯定會刪除文件(在文件上調用「os.remove」);我剛剛證實了這一點。而且,空目錄被刪除。 –