FileNet:获取存储区域上的可用空间

Posted

技术标签:

【中文标题】FileNet:获取存储区域上的可用空间【英文标题】:FileNet: obtaining available space on a Storage Area 【发布时间】:2019-03-19 16:03:11 【问题描述】:

在我的 FileNet 环境中,一个特定的对象存储使用 NAS 作为存储区域(这是典型配置)。顺便说一句,我无法访问该 NAS(维护存储的团队离我很远),我想知道 - 在特定时刻 - 可用空间。如果 NAS 快饱和了,我希望及时知道,以便在其上请求添加空闲空间。

如果我从 FEM 检查存储区的属性,我会得到:

如您所见,它显示没有空闲字节,但事实并非如此。顺便说一下,按文件计数的顺序是精确的。

我还访问了http://server:port/P8CE/Health 的“存储区”部分,但它只显示了它们的状态:

有没有办法通过 FEM 或 API 了解存储区域的可用空间?

【问题讨论】:

在浏览了 API 的 JavaDoc 之后,我会拒绝。但是,如果您知道初始大小(NAS 人员应该能够给您),您可以使用 ibm.com/support/knowledgecenter/en/SSGLW6_5.2.1/… 进行数学计算。 【参考方案1】:

您无法获取 FileNet 中底层存储设备的大小或可用空间。但是你可以做以下两个中的任何一个

设置存储区的“最大尺寸”参数

将存储区域的“最大大小”参数设置为 NAS 上已分配/最大可用空间。

完成后,您可以使用 API 检查和计算可用空间。 要获取这些值,下面的代码 sn-p 应该可以解决问题

StorageAreaSet storageAreaSet = filenetConnection.getObjectStore().get_StorageAreas();

  Iterator<StorageArea> iter = storageAreaSet.iterator();
  while(iter.hasNext())

    StorageArea sa = iter.next();
    System.out.printf("Storage Area %s is %s uses %f KB of %f KB available\n", sa.get_DisplayName(), sa.get_ResourceStatus().toString(), sa.get_ContentElementKBytes(), sa.get_MaximumSizeKBytes());

  

使用监控软件

我们通常做的是,使用我们的监控解决方案监控存储设备的可用空间。如果可用存储低于某个百分比,监控解决方案会发出警报

【讨论】:

感谢您的 sn-p,它非常有帮助。只是一件事:当您说“NAS 上的已分配/最大可用空间”时,我怀疑我必须联系系统管理员才能知道它。应该没有办法从 API 或 FEM 中检索它。因为,现在,我已经选择了“最大尺寸”,“设备上允许的最大尺寸”,所以我无法进行计算。 是的,您对 NAS 空间的怀疑是正确的。您必须联系负责存储的系统管理员。再想一想(我还没有尝试过),可能值得看看java.io.File.getUsableSpace() Method “设备上允许的最大值”只有在存储区设置时才有用。在这里,您还必须与系统管理员联系才能获得价值。参见[StorageArea 类的JavaDoc]()ibm.com/support/knowledgecenter/en/SSGLW6_5.2.1/… 非常感谢您,我将从您的输入开始进行一些测试,我会通知您。

以上是关于FileNet:获取存储区域上的可用空间的主要内容,如果未能解决你的问题,请参考以下文章

获取内部存储器的可用空间

如何使用 FileNet API 获取对象存储的文档计数

FileNet:FileNet 文件夹中的文档总数

Filenet - 如何获取工作流组中的属性值

iPhone上的存储空间/高清空间通过代码

在 Filenet 中获取和更新工作流数据