Forum Discussion

smp_86112's avatar
smp_86112
Icon for Cirrostratus rankCirrostratus
Sep 04, 2012

How many LTM objects do you have to manage?

I am curious to find out how large our LTM environment is compared to others. We have six LTM pairs, and several of them have what I suspect is an outrageously-large number of objects. Our configuration presents me with challenges like naming standards and admin GUI performance. I was curious to find out how your environment stacks up against ours in terms of a few objects:

 

 

 

 

 

 

 

 

 

 

Env VIPs Pools bigip.conf (bytes)

 

1 201 179 89972

 

2 86 87 45426

 

3 1290 1034 907704

 

4 551 429 562899

 

5 1740 1927 1064404

 

6 75 60 70608

 

 

  • Env VIPs Pools

     

    1 8 12

     

    2 49 33

     

    2 135 83

     

    2 19 44

     

    2 125 125

     

    2 82 99

     

     

    And here's a script to get the information.

     

     

    Initialize iControlSnapin

     

    if ( (Get-PSSnapin | Where-Object { $_.Name -eq "iControlSnapIn"}) -eq $null ){

     

    Add-PSSnapIn iControlSnapIn

     

    }

     

     

    Setup Credentials

     

    $user = "user"

     

    $pass = "password"

     

    $bigipdict = @{"10.0.0.1" = "Myfirstloadbalancer"; "10.10.10.10" = "Mysecondloadbalancer"}

     

     

    function main(){

     

     

     

    $bigipdict.keys | ForEach-Object {

     

    runQueries -bigipip $_ -bigipname $bigipdict.Get_Item($_)

     

    }

     

     

    }

     

     

    function runQueries(){

     

    Param(

     

    $bigipip,

     

    $bigipname

     

    )

     

     

    $virtualservers = 0

     

    $pools = 0

     

     

    $success = Initialize-F5.iControl -HostName $bigipip -Username $user -Password $pass;

     

    $f5 = Get-F5.iControl

     

    $f5partitions = $f5.ManagementPartition

     

     

     

    $f5partitions.get_partition_list() | foreach-object {

     

     

    $partition = $_.partition_name

     

    $f5partitions.set_active_partition($partition)

     

     

    $virtualservers += $f5.LocalLBVirtualServer.get_list().Count

     

    $pools += ($f5.LocalLBPool.get_list()).Count

     

    }

     

     

    "$bigipname`t$virtualservers`t$pools"

     

     

    }

     

     

    main

     

     

    And here's a script to get the information:

     

    Initialize iControlSnapin

     

    if ( (Get-PSSnapin | Where-Object { $_.Name -eq "iControlSnapIn"}) -eq $null ){

     

    Add-PSSnapIn iControlSnapIn

     

    }

     

     

    Setup Credentials

     

    $user = "user"

     

    $pass = "password"

     

    $bigipdict = @{"10.0.0.1" = "Myfirstloadbalancer"; "10.10.10.10" = "Mysecondloadbalancer"}

     

     

    $Global:sumvar = ""

     

     

     

     

    function main(){

     

     

     

    $bigipdict.keys | ForEach-Object {

     

    runQueries -bigipip $_ -bigipname $bigipdict.Get_Item($_)

     

    }

     

     

    }

     

     

     

    function runQueries(){

     

    Param(

     

    $bigipip,

     

    $bigipname

     

    )

     

     

    $virtualservers = 0

     

    $pools = 0

     

     

    $success = Initialize-F5.iControl -HostName $bigipip -Username $user -Password $pass;

     

    $f5 = Get-F5.iControl

     

    $f5partitions = $f5.ManagementPartition

     

     

     

    $f5partitions.get_partition_list() | foreach-object {

     

     

    $partition = $_.partition_name

     

    $f5partitions.set_active_partition($partition)

     

     

    $virtualservers += $f5.LocalLBVirtualServer.get_list().Count

     

    $pools += ($f5.LocalLBPool.get_list()).Count

     

    }

     

     

    "$bigipname`t$virtualservers`t$pools"

     

     

     

    }

     

     

    main

     

     

     

     

  • Regarding naming conventions, what's yours?

     

    I'm using partitions to separate the config and make it more maintainable but I have some naming conventions as well.

     

     

    VIPs are named with the dns-port, ie google.com-80

     

    Pools are named with dns-port_pool, ie mail.google.com-80_pool

     

    SSL profiles are named after DNS, ie google.com
  • That seems like a more reasonable environment to manage. We don't use partitions since we are a single organization, and the LTMs are managed by a single team.

     

     

    > Regarding naming conventions, what's yours?

     

     

    Similar to yours. We try to keep _ for VIPs and for Pools. But many times the architecture is more complex than that, so we need to tack on the port number for the pool names. We also use for SSL profiles.
  • ENVVIPsPools

     

    1286211

     

    2984970

     

    3302214

     

    4541558

     

    54299

     

    65067

     

     

    Naming Standards:

     

    vip.(2 Letter Location Code).(Environment - DEV, INT, UAT, CAP, PRD).(Application FQDN).(Service Name - HTTP, HTTPS, etc.)

     

    pool.(2 Letter Location Code).(Environment - DEV, INT, UAT, CAP, PRD).(Application FQDN).(Service Port - 80, 443, etc.)

     

     

    The naming conventions vary slightly between VIP and Pool, but still allows us to specify what belongs to what quickly. Having the Application FQDN included into the VIP and Pool Names also helps us to quickly filter or narrow down what we are specifically looking for when it comes to a specific application.

     

     

    The methodology has worked extremely well for us.