Fog Server Considerations



  • Hello Community FOG Gurus!
    I work for a very large school district in Texas. We are implementing FOG as our new imaging system and so far everything is working out great (Love the system so far). We have customized the setup so the images are stored on our NAS as opposed to setting up multiple fog server storage servers. We did this for sheer reasons of speed and redundancy.

    These are the specs of the server FOG is installed on:
    HP DL380 G8
    E5-2430 (6 Core/12 Threads)
    6 - 500 GB 7200RPM Drives (RAID 10)
    12GB Ram
    Ubuntu 12.04

    My concern is the Fog service. We have added it to our new images, but will this server and MySQL be able to handle 20-30,000 devices checking in all the time? (We also changed the checkintime in the ini file to 999.)

    This is probably a question better suited for the Ubuntu forums, but is there an easy way to monitor CPU usage, network connections, etc from command line or will I need to install a GUI to do this?



  • Thanks for all the replies! Good information to have. I guess what I should probably be more concerned about is the fog server serving up the tftp boot file to every client as they reboot. I imagine at the start of the school year a lot of machines will be booting up at the same time, but only time will tell.


  • Senior Developer

    [quote=“RobertD, post: 27229, member: 20512”]Hello Community FOG Gurus!
    I work for a very large school district in Texas. We are implementing FOG as our new imaging system and so far everything is working out great (Love the system so far). We have customized the setup so the images are stored on our NAS as opposed to setting up multiple fog server storage servers. We did this for sheer reasons of speed and redundancy.

    These are the specs of the server FOG is installed on:
    HP DL380 G8
    E5-2430 (6 Core/12 Threads)
    6 - 500 GB 7200RPM Drives (RAID 10)
    12GB Ram
    Ubuntu 12.04

    My concern is the Fog service. We have added it to our new images, but will this server and MySQL be able to handle 20-30,000 devices checking in all the time? (We also changed the checkintime in the ini file to 999.)

    This is probably a question better suited for the Ubuntu forums, but is there an easy way to monitor CPU usage, network connections, etc from command line or will I need to install a GUI to do this?[/quote]

    I don’t think 20-30,000 devices checking in all the time is actually going to hurt anything from the database side of things. On the side of dealing with connections, FOG only check’s in two services relatively regularly. The service’s that check in all the time are Task Reboot, which reboots the hosts if it has an active task in the database. The other service that checks in regularly is Snapin Client, which checks if there’s snapin’s to download/install on the host. The default check in time is set at about five minute intervals, but the first checkin time is randomized up wards of eight minutes. I don’t think the number of connections is going to hurt anything and probably will never have all clients connecting all at the same time. Even if it did, they’d basically be queued. The biggest worry would be RAM usage, but with 12GB I doubt that’d be a major issue.

    I don’t think the rest of the services would be a big issue. Hostname Registration, Hostname Change/AD Join, Autologout, etc… send the information when the service initially starts up (when the system boots up). The worst you may have to deal with is if you were to turn on all the hosts at the same time. Even then, I’d imagine it would just delay some hosts while the rest receive their information.

    The network side wouldn’t even be capped as the server would just be processing the TCP requests. The Server itself is managing the connection to the database, the FOG Client doesn’t make the connection to the db, it makes a connection to a php file. Because of that I still think your biggest worry MIGHT be RAM usage, not network bandwidth (unless you’re planning to send snapins all the time.)

    You could ensure you always have the RAM accessible by creating a crontab that clears the Buffer and Cache. How often is left up to you but I run the “refresh” every minute just to be on the save side.
    [code]* * * * * sync; echo 3 >| /proc/sys/vm/drop_caches[/code]



  • [quote=“RobertD, post: 27229, member: 20512”]Hello Community FOG Gurus!
    I work for a very large school district in Texas. We are implementing FOG as our new imaging system and so far everything is working out great (Love the system so far). We have customized the setup so the images are stored on our NAS as opposed to setting up multiple fog server storage servers. We did this for sheer reasons of speed and redundancy.

    These are the specs of the server FOG is installed on:
    HP DL380 G8
    E5-2430 (6 Core/12 Threads)
    6 - 500 GB 7200RPM Drives (RAID 10)
    12GB Ram
    Ubuntu 12.04

    My concern is the Fog service. We have added it to our new images, but will this server and MySQL be able to handle 20-30,000 devices checking in all the time? (We also changed the checkintime in the ini file to 999.)

    This is probably a question better suited for the Ubuntu forums, but is there an easy way to monitor CPU usage, network connections, etc from command line or will I need to install a GUI to do this?[/quote]

    Very large indeed. I guess everything in Texas is bigger.

    For monitoring I have just started using an open source project netxms. It can install an agent, read the Windows WMI data or SNMP data. I have not tried monitoring a Linux server, however I think there is an agent… I am mostly interested in traffic so I monitor the switch ports. Netxms has thresholds and can generate alerts. However a lot of the documentation is not completed or even available. it has been up and running for a couple of weeks and while there have been glitches I have found some work arounds. On the positive side I found a workstation with a bad NIC or some software issues that was spewing out almost 80 mps.

    I hope this helps.



  • [URL='http://fogproject.org/forum/threads/disabling-several-pieces-of-javascript-to-improve-performance-on-large-databases.10645/’]I’ve made a thread in the Tutorials forum on those changes I had mentioned in the above post.[/URL]



  • I wouldn’t be too concerned with the FOG client. What you will run into is instability and slowness on the web interface with that many hosts. What we’ve done here to alleviate that is to disable searching as you type, disabling pinging hosts in search results, and disabling the bandwidth graph on the dashboard.

    I’ve been considering making a post with the above items in the wiki or the tutorials section of the forums. Let me know if you’re interested in those.


  • Developer

    [quote=“RobertD, post: 27305, member: 20512”]Thanks for the suggestions moss. I will check them out. (Not much of a Linux guy myself)

    On this same topic regarding the fog client/service - Is it possible to have the service update the fog database when the host name changes. Often times our repair department does not know where a machine is going when they reimage it so they give it a generic name. When it gets to a campus and positioned in a class room it is then given a name and put on the domain. It would be nice if our fog database properly matched the machine name. (We are not using the host name changer)[/quote]

    No the fogclient works the other way. Whatever name you give it in Hosts Management section can be applied to the machine after imaging as long as the fog client is installed, the renamer is enabled on the client and the server side. Anytime the name changes in the hosts list it will update the machine to match.

    What I do is I match my FOG Host name to what I want the end machine to be ( i.e. RS-301) and I set up my sysprep to give it an automatic name. Then I let FOG client rename it properly and join it to my domain.



  • Thanks for the suggestions moss. I will check them out. (Not much of a Linux guy myself)

    On this same topic regarding the fog client/service - Is it possible to have the service update the fog database when the host name changes. Often times our repair department does not know where a machine is going when they reimage it so they give it a generic name. When it gets to a campus and positioned in a class room it is then given a name and put on the domain. It would be nice if our fog database properly matched the machine name. (We are not using the host name changer)



  • I’m no Linux expert but htop is a great program to display real time CPU/memory usage.
    iftop and nethogs do real time bandwidth/network monitoring and nmon does a bit of everything.
    All can be installed using apt-get and all will run from the command line.


Log in to reply
 

439
Online

39.3k
Users

11.0k
Topics

104.5k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.