zoukankan      html  css  js  c++  java
  • vRO 添加已有磁盘到VM

    // 脚本需要两个输入 vm_obj和diskPath
    System.log("Attempting to attach " + diskPath + " to " + vcVM.name); // Max number of vmdks attached to a single scsi controller var MAX_NUMBER_ATTACHED_VMDKS = 15; var devices = vcVm.config.hardware.device; var diskFilePath = diskPath; // sample: [sharedata]abc/abc_1.vmdk var controllerKey; var unitNumber; var usedUnitNumbers = []; for each (controller in devices) { var isScsi = controller instanceof VcVirtualBusLogicController || controller instanceof VcVirtualLsiLogicController || controller instanceof VcParaVirtualSCSIController || controller instanceof VcVirtualLsiLogicSASController; if (!isScsi) { continue; } System.log("SCSI controller found: " + controller.deviceInfo.label); for each (device in devices) { if (device.controllerKey == controller.key) { System.log("Device found: '" + device.deviceInfo.label + "' 'SCSI (" + controller.busNumber + ":" + device.unitNumber + ")'"); controllerKey = controller.key; usedUnitNumbers.push(device.unitNumber); } } break; } if (usedUnitNumbers.length >= MAX_NUMBER_ATTACHED_VMDKS) { throw "SCSI controller is full, the VMDK can not be attached!"; } var backing = new VcVirtualDiskFlatVer2BackingInfo(); backing.fileName = diskFilePath; backing.diskMode = VcVirtualDiskMode.persistent; var connectable = new VcVirtualDeviceConnectInfo(); connectable.startConnected = true; connectable.allowGuestControl = false; connectable.connected = true; // Find the first available SCSI id for (i = 0; i < MAX_NUMBER_ATTACHED_VMDKS; i++) { if (usedUnitNumbers.indexOf(i) == -1) { unitNumber = i; System.log("Found available SCSI unit numebr '" + unitNumber + "'"); break; } } var device = new VcVirtualDisk(); device.backing = backing; device.connectable = connectable; device.controllerKey = controllerKey; device.unitNumber = unitNumber; var deviceChange = new VcVirtualDeviceConfigSpec(); deviceChange.operation = VcVirtualDeviceConfigSpecOperation.add; deviceChange.device = device; var deviceChangeArray = [deviceChange]; var spec = new VcVirtualMachineConfigSpec(); spec.deviceChange = deviceChangeArray; var task = vcVm.reconfigVM_Task(spec); System.log("Initiating reconfigure..."); System.getModule("com.vmware.library.vc.basic").vim3WaitTaskEnd(task,true,3); System.log("Reconfigure of VM '" + vcVm.name + "' successful.");
  • 相关阅读:
    echarts 柱状图移除圆角
    echarts 图例显示到右边
    css图片文字一排
    linux磁盘分区、挂载、查看
    mysql的sql筛选排重最大值并修改其属性
    Java调用Linux下的shell命令并将结果以流的形式返回
    SHELL脚本中执行SQL语句操作MYSQL的5种方法
    在 Mac 上使用 `sed` 命令的几个坑
    Linux sed命令实现替换文本内容
    docker ps -a
  • 原文地址:https://www.cnblogs.com/super-sos/p/8904284.html
Copyright © 2011-2022 走看看