我正在用Php開發Xen管理web應用程序。 VDI(虛擬磁盤映像)重命名API和調整API使用情況非常相似。我還沒有設法成功調整VDI的大小。你認爲我在這裏做錯了嗎?VDI調整api大小不起作用
重命名功能:
function xenapi_set_vdi_name($session, $ref, $name)
{
$conn = $session[0];
$sess = new xmlrpcval($session[1]);
$vdi = new xmlrpcval($ref);
$name = new xmlrpcval($name);
$msg = new xmlrpcmsg("VDI.set_name_label", array($sess, $vdi, $name));
$res = $conn->send($msg);
if ($res->faultcode())
return false;
$val = $res->value();
$status = $val->structmem("Status");
if ($status->scalarval() != "Success")
return false;
$value = $val->structmem("Value");
return $value->scalarval();
}
重命名工作用法:
...
xenapi_set_vdi_name($session, $vdi, "NewNameToMyVDI");
...
調整大小功能:
function xenapi_set_vdi_virtual_size($session, $ref, $size)
{
$conn = $session[0];
$sess = new xmlrpcval($session[1]);
$vdi = new xmlrpcval($ref);
$size = new xmlrpcval($size);
$msg = new xmlrpcmsg("VDI.set_virtual_size", array($sess, $vdi, $size));
$res = $conn->send($msg);
if ($res->faultcode())
return false;
$val = $res->value();
$status = $val->structmem("Status");
if ($status->scalarval() != "Success")
return false;
$value = $val->structmem("Value");
return $value->scalarval();
}
不工作調整用法:
...
$size = '27011707392';
settype($size, "integer");
xenapi_set_vdi_virtual_size($session, $vdi, $size);
...
新的大小值與XEN命令物理服務器上的工作原理爲:
xe vdi-resize uuid="91fe671c-93e1-4162-8128-96fedc3c215c" disk-size="27011707392"
您使用的是32位系統嗎? '$ size ='27011707392';'鑄造到int將是'2147483647'。 –
Xen服務器是一個32位系統。我的網絡服務器的VPS是64位。你告訴我一些我從未聽過的話。什麼是轉換參數。同時'2147483647'也不起作用。 – Kemal
我只是發現我的虛擬機管理程序作爲英特爾32位運行,網絡服務器作爲AMD 64位運行。有關係嗎? – Kemal