Hyper-V Clusters

'' and cluster not like '%-WM%' and cluster not like '%-C1MAS%' order by cluster"); ?>
"; } $data = Invoke_Infra("select * from cmdb_HyperV_Clusters where cluster = '" . $cluster['cluster'] . "'"); $nodes = count($data); $vms = 0; $vm_mem = 0; $disk = 0; $io = 0; $capacity = 0; foreach ($data as $d) { $vms += $d['vm_count']; $vm_mem += $d['vm_memory']; $node_mem = 0 + (int) $d['node_ram']; foreach (explode("|", $d['csvs']) as $csv) { if (instr($csv, ';')) { $free = explode(";", $csv)[1] - explode(";", $csv)[2]; $disk = max($disk, $free); $capacity += (int) explode(";", $csv)[1]; } } $io += $d['io_disk']; } $node_mem = $node_mem * count($data) / 2; $io = number_format($io / count($data), 2); $vmleft = floor(($node_mem - 24 - $vm_mem) / 16); $storageleft = floor($disk / 110); $vmleft = min($vmleft, $storageleft); $totalleft += $vmleft; if ($vmleft > 2) { $vleft = "(" . $vmleft . " VMs left)"; } elseif ($vmleft == 2) { $vleft = "(" . $vmleft . " VMs left)"; } else { $vleft = "(" . $vmleft . " VM left)"; } ?>

Nodes / VMs
2){$color='green';}elseif($storageleft==2){$color='orange';}else{$color='red';}?>
Max Storage
2){$color='green';}elseif(floor(($node_mem-24-$vm_mem)/16)==2){$color='orange';}else{$color='red';}?>
Max Memory
I/O Disk


Total VM Left :