2016. december 1., csütörtök

Egy kis PowerCLI - virtual socket és virtual core lekérdezése

Már egy ideje lehetőség van arra, hogy egy virtuális gép esetében ne csak azt mondjuk meg, hogy hány vCPU-t tartalmazzon, hanem azt is, hogy ezek milyen virtuális socket/core elrendezésben legyenek. Ennek több előnye is van, pl. licence szempontból sokszor nem mindegy, hogy 1 db. 4 core-os CPU van a virtuális gépben, vagy pedig 4 db. 1 core-os.

Viszont ha bármelyik kliensben megnézzük egy virtuális gép adatait, ott csak az látszik, hogy mennyi CPU van. Ha az elrendezést is látni szeretnénk, akkor a virtuális gép módosítását kell választani, és ott már látszik.

Ha PowerCLI-t használunk, ott sem másabb a helyzet.


Tegyük fel, hogy olyan listát kell készíteni az SQL-t futtató virtuális gépekről, ahol látszik az is, hogy a fenti képen látható 8 vCPU mennyi virtuális socket-ben helyezkedik el. Ehhez persze lehetne írni szépen formázott kis eljárást, de most inkább maradjunk egy egysoros scriptnél, mivel a lényeg benne van.

 get-vm -Location SQL|get-view|select Name 
                                     ,@{N="vCPU";E={$_.Config.Hardware.NumCPU}}
                                     ,@{N="vSockets";E={$_.Config.Hardware.NumCPU/$_.Config.Hardware.NumCoresperSocket}}
                                     ,@{N="vCores";E={$_.Config.Hardware.NumCoresperSocket}}|ft * -AutoSize 

A fenti script valóban egysoros, csak az olvashatóság miatt van több sorba szétszedve. A "trükk" csupán annyi, hogy ezt az információt a get-view használatával kaphatjuk meg. A végén az -AutoSize nélkül a listát széthúzva mutatná az egész gépernyőn, így viszont összébb húzza az aktuális méreteknek megfelelően.

Az eredmény:


vCPU- amit egyébként is látunk
vSockets - mennyi virtuális socket van a gépben
vCores - egy virtuális socket-ben mennyi virtuális mag taglálható

Nincsenek megjegyzések:

Megjegyzés küldése