如何使用netapp ontap api(8.1)和java获取存储系统的磁盘、聚合和LUN信息?
我想使用netapp ontap api 8.1获取有关磁盘、聚合和LUN的信息。 我可以使用以下代码获取卷列表:如何使用netapp ontap api(8.1)和java获取存储系统的磁盘、聚合和LUN信息?,java,netapp,Java,Netapp,我想使用netapp ontap api 8.1获取有关磁盘、聚合和LUN的信息。 我可以使用以下代码获取卷列表: VolumeListInfoIterStartRequest volumeListReq = new VolumeListInfoIterStartRequest(); Iterator<VolumeInfo> volumeIter = apirunner.iterate(volumeListReq,10); VolumeInfo volume ;
VolumeListInfoIterStartRequest volumeListReq = new VolumeListInfoIterStartRequest();
Iterator<VolumeInfo> volumeIter = apirunner.iterate(volumeListReq,10);
VolumeInfo volume ;
while(volumeIter.hasNext()) {
System.out.println("------------------------------------------------");
volume = volumeIter.next();
System.out.println("Name : " + volume.getName());
System.out.println("Type : " + volume.getType());
System.out.println("State : " + volume.getState());
System.out.println("Total size (bytes) : " + volume.getSizeTotal());
System.out.println("Used size (bytes) : " + volume.getSizeUsed());
System.out.println("Total disk count is .. "+ volume.getDiskCount());
System.out.println("sysinfo is .. "+ volume.getSis());
System.out.println("Total available size .. " + volume.getSizeAvailable());
System.out.println("UUID is .. "+volume.getUuid());
String vol = volume.getName();
System.out.println("snapshot is "+ volume);
System.out.println("------------------------------------------------");
}
VolumeListInfoIterStartRequest volumeListReq=新的VolumeListInfoIterStartRequest();
迭代器volumeIter=apirunner.iterate(volumeListReq,10);
卷信息卷;
while(volumeIter.hasNext()){
System.out.println(“------------------------------------------------------------”);
volume=volumeIter.next();
System.out.println(“Name:+volume.getName());
System.out.println(“Type:+volume.getType());
System.out.println(“状态:+volume.getState());
System.out.println(“总大小(字节):”+volume.getSizeTotal());
System.out.println(“使用的大小(字节):”+volume.getSizeUsed());
System.out.println(“磁盘总数为..”+volume.getDiskCount());
System.out.println(“sysinfo is..”+volume.getSis());
System.out.println(“总可用大小..”+volume.getSizeAvailable());
System.out.println(“UUID是..”+volume.getUuid());
字符串vol=volume.getName();
System.out.println(“快照为”+卷);
System.out.println(“------------------------------------------------------------”);
}
但当我尝试使用与上面完全相同的LUN api时,我在迭代函数中遇到了错误。
我的代码是:
LunListInfoRequest lunreq = new LunListInfoRequest();
System.out.println("luninfo is .. " + lunreq);
Iterator<LunInfo> lunInfoIter = apirunner.iterate(lunreq,10);
LunListInfoRequest lunreq=new LunListInfoRequest();
System.out.println(“luninfo是..”+lunreq);
迭代器lunifoiter=apirunner.iterate(lunreq,10);
我在最后一行出错了
如何获取有关磁盘、聚合和LUN的信息???import java.util.List;
import java.util.List;
import com.netapp.nmsdk.client.ApiRunner;
import com.netapp.nmsdk.client.ApiTarget;
import com.netapp.nmsdk.client.ApiTarget.TargetType;
import com.netapp.nmsdk.ontap.api.lun.LunStatsInfo;
import com.netapp.nmsdk.ontap.api.lun.LunStatsListInfoRequest;
import com.netapp.nmsdk.ontap.api.lun.LunStatsListInfoResponse;
public class LUN {
public static void main(String[] args) {
String host="";
String userName="";
String password="";
try {
ApiRunner runner = new ApiRunner(ApiTarget.builder()
.withHost(host)
.withUserName(userName)
.withPassword(password)
.withTargetType(TargetType.FILER)
.useHttp()
.build());
LunStatsListInfoRequest req=new LunStatsListInfoRequest();
LunStatsListInfoResponse res= runner.run(req);
List<LunStatsInfo> list=res.getLunStats();
for (LunStatsInfo luninfo : list) {
System.out.println("*****************************");
System.out.println("Block Size=="+luninfo.getBlockSize());
System.out.println("Read Blocks=="+luninfo.getReadBlocks());
System.out.println("Read Ops=="+luninfo.getReadOps());
System.out.println("Write Blocks=="+luninfo.getWriteBlocks());
System.out.println("write Ops=="+luninfo.getWriteOps());
System.out.println("Other OPs=="+luninfo.getOtherOps());
System.out.println("*****************************");
}
}
catch(Exception e){
}
}
}
导入com.netapp.nmsdk.client.ApiRunner;
导入com.netapp.nmsdk.client.ApiTarget;
导入com.netapp.nmsdk.client.ApiTarget.TargetType;
导入com.netapp.nmsdk.ontap.api.lun.LunStatsInfo;
导入com.netapp.nmsdk.ontap.api.lun.LunStatsListInfoRequest;
导入com.netapp.nmsdk.ontap.api.lun.LunStatsListInfoResponse;
公共类LUN{
公共静态void main(字符串[]args){
字符串host=“”;
字符串userName=“”;
字符串密码=”;
试一试{
ApiRunner=新的ApiRunner(ApiTarget.builder()
.withHost(主机)
.withUserName(用户名)
.withPassword(密码)
.withTargetType(TargetType.FILER)
.useHttp()
.build());
LunStatsListInfoRequest req=新的LunStatsListInfoRequest();
LunStatsListInfoResponse res=runner.run(req);
List=res.getLunStats();
用于(LunStatsInfo luninfo:list){
System.out.println(“*************************************”);
System.out.println(“块大小=”+luninfo.getBlockSize());
System.out.println(“读取块=”+luninfo.getReadBlocks());
System.out.println(“Read Ops==”+luninfo.getReadOps());
System.out.println(“Write Blocks==”+luninfo.getWriteBlocks());
System.out.println(“write Ops==”+luninfo.getWriteOps());
System.out.println(“其他操作==”+luninfo.getOtherOps());
System.out.println(“*************************************”);
}
}
捕获(例外e){
}
}
}