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:获取存储区域上的可用空间的主要内容,如果未能解决你的问题,请参考以下文章