Difference between revisions of "FOGUserGuide"

From FOG Project
Jump to: navigation, search
(Fundamental Concepts)
(Legacy Client)
 
(42 intermediate revisions by 5 users not shown)
Line 46: Line 46:
 
=== Fundamental Concepts ===
 
=== Fundamental Concepts ===
 
This section provides some basic concepts that the FOG Project uses.
 
This section provides some basic concepts that the FOG Project uses.
{{:Deploying_your_Image_a_group_of_clients#Unicast_vs._Multicast_vs._Torrent-Cast_images}}
+
{{Unicast_vs._Multicast_vs._Torrent-Cast_images}}
 +
 
 
<LI>'''PXE Network Bootstrap loading'''<BR>
 
<LI>'''PXE Network Bootstrap loading'''<BR>
 
What is iPXE and the difference between the files? Check out the [[iPXE]] page.</li></UL>
 
What is iPXE and the difference between the files? Check out the [[iPXE]] page.</li></UL>
Line 61: Line 62:
  
 
The LAMP setup can also be easily adjusted for a "WAMP (Windows Apache MySQL PHP) system" though will require a bit more knowledge of what packages to use and how to integrate with the FOG system.
 
The LAMP setup can also be easily adjusted for a "WAMP (Windows Apache MySQL PHP) system" though will require a bit more knowledge of what packages to use and how to integrate with the FOG system.
 +
 +
  
 
=== Installation on different distributions of Linux ===
 
=== Installation on different distributions of Linux ===
Click below for step-by-step guides written for your favorite flavor of Linux:
+
* Find here step-by-step guides written for your favorite flavor of Linux: [[Installation#Installation_manuals|Installation manuals]]
{{Installation}}
+
 
 +
{{:DHCP_Settings}}
 +
----
  
 
== Network Integration ==
 
== Network Integration ==
Line 91: Line 96:
 
<ul><li>  [[HPMulticast|HP Multicast - Layer 2&3]] </li></ul>
 
<ul><li>  [[HPMulticast|HP Multicast - Layer 2&3]] </li></ul>
 
==== Full Listing of Ports used by FOG server and client ====
 
==== Full Listing of Ports used by FOG server and client ====
 +
MySQL - 3306<BR>
 
FTP – tcp 20,21<BR>
 
FTP – tcp 20,21<BR>
 
SSH – tcp 22<BR>
 
SSH – tcp 22<BR>
Line 106: Line 112:
 
So you have a FOG server installed and setup, now what do you do?  Below are a few common "Getting Started" items.
 
So you have a FOG server installed and setup, now what do you do?  Below are a few common "Getting Started" items.
  
#[[Booting into FOG and Uploading your first Image]]
+
#[[Booting into FOG and Capturing your first Image]]
 
#[[Deploying your Image a single client]]
 
#[[Deploying your Image a single client]]
 
#[[Deploying your Image a group of clients]]
 
#[[Deploying your Image a group of clients]]
Line 120: Line 126:
 
== Preparing a HOST for Cloning ==
 
== Preparing a HOST for Cloning ==
  
*Key Term: Host --> The computer that will be registered to FOG and imaged(upload/download). Client usually refers to the Client service later described in this guide.
+
*Key Term: Host --> The computer that will be registered to FOG and imaged(capture/deploy). Client usually refers to the Client service later described in this guide.
  
 
FOG's strength can be better harnessed if some time and work is put into preparing a master image that fits the needs of your environment. <br>
 
FOG's strength can be better harnessed if some time and work is put into preparing a master image that fits the needs of your environment. <br>
Line 142: Line 148:
 
This section covers management tasks such as: [[Managing_FOG#Adding a new host|Adding a new host]], [[Managing_FOG#Managing Hosts|Managing Hosts]], [[Managing_FOG#Host Status|Host Status]], and [[Managing_FOG#Creating Host Groups|Creating Host Groups]].</LI>
 
This section covers management tasks such as: [[Managing_FOG#Adding a new host|Adding a new host]], [[Managing_FOG#Managing Hosts|Managing Hosts]], [[Managing_FOG#Host Status|Host Status]], and [[Managing_FOG#Creating Host Groups|Creating Host Groups]].</LI>
 
<LI>'''Managing [[Managing_FOG#Groups|Groups of Hosts]]'''<BR>
 
<LI>'''Managing [[Managing_FOG#Groups|Groups of Hosts]]'''<BR>
This section provides an [[Managing_FOG#Overview_4|Overview]] of sorting hosts into useful Groups, and provides instruction on [[Managing_FOG#Managing Groups|Managing Groups]].</LI>
+
This section provides an [[Managing_FOG#Groups|Overview]] of sorting hosts into useful Groups, and provides instruction on [[Managing_FOG#Managing Groups|Managing Groups]].</LI>
 
<LI>'''Defining and Managing [[Managing_FOG#Images|Images]]'''<BR>
 
<LI>'''Defining and Managing [[Managing_FOG#Images|Images]]'''<BR>
 
Defines types of images: Single Partition | Multiple Partition - Single Disk | Multiple Partition - All Disks | Raw Image<br>
 
Defines types of images: Single Partition | Multiple Partition - Single Disk | Multiple Partition - All Disks | Raw Image<br>
 
Also describes [[Managing_FOG#Creating_Images_Objects|Creating]], [[Managing_FOG#Modifying_Image_Objects|Modifying Image Objects]], and [[Managing_FOG#Adding_Existing_Image_Objects|Adding Images to Existing Objects]].</LI>
 
Also describes [[Managing_FOG#Creating_Images_Objects|Creating]], [[Managing_FOG#Modifying_Image_Objects|Modifying Image Objects]], and [[Managing_FOG#Adding_Existing_Image_Objects|Adding Images to Existing Objects]].</LI>
 
<LI>'''[[Managing_FOG#Storage_Management|Storage Management]] - adding additional Storage Nodes'''<BR>
 
<LI>'''[[Managing_FOG#Storage_Management|Storage Management]] - adding additional Storage Nodes'''<BR>
This section introduces the [[Managing_FOG#Overview_6|concept of Storage Nodes]], which provide scalability to FOG with the ability to "share the load of computers being imaged."<br>
+
This section introduces the [[Managing_FOG#Storage Management|concept of Storage Nodes]], which provide scalability to FOG with the ability to "share the load of computers being imaged."<br>
 
Also covered are [[Managing_FOG#Adding_a_Storage_Node|Adding Storage Nodes]], Monitoring [[Managing_FOG#Monitoring_The_Master_Node|Image Replication]] between nodes, and Understanding the [[Managing_FOG#Master_Node_Status|role of the "Master Node"]] in a group.<br>
 
Also covered are [[Managing_FOG#Adding_a_Storage_Node|Adding Storage Nodes]], Monitoring [[Managing_FOG#Monitoring_The_Master_Node|Image Replication]] between nodes, and Understanding the [[Managing_FOG#Master_Node_Status|role of the "Master Node"]] in a group.<br>
 
In addition, this section details the necessary steps to [[Managing_FOG#Including_multiple_PXE_.2F_TFTP_servers|include PXE and TFTP Services]] for a node located on a remote network segment.</LI>
 
In addition, this section details the necessary steps to [[Managing_FOG#Including_multiple_PXE_.2F_TFTP_servers|include PXE and TFTP Services]] for a node located on a remote network segment.</LI>
Line 158: Line 164:
 
The [[Managing_FOG#Overview_8|Overview Section]] provides a quick list of tasks available within FOG.<br>
 
The [[Managing_FOG#Overview_8|Overview Section]] provides a quick list of tasks available within FOG.<br>
 
[[Managing_FOG#General_Tasks|General Tasks]] - Basic Imaging Tasks:
 
[[Managing_FOG#General_Tasks|General Tasks]] - Basic Imaging Tasks:
::Uploading an image (includes video tutorial)<BR>Deploying an image<BR>Multicasting<br>
+
::Capturing an image (includes video tutorial)<BR>Deploying an image<BR>Multicasting<br>
 
[[Managing_FOG#Advanced_Tasks|Advanced Tasks]] - Describes tasks other than imaging:
 
[[Managing_FOG#Advanced_Tasks|Advanced Tasks]] - Describes tasks other than imaging:
::Debug<BR>Upload - Unicast (Debug)<br>Send - Unicast (Debug)<br>Send - Unicast (Without Snapins)<br>Deploy All Snapins<br>Deploy Single Snapin<br>Memory Test<br>Wake Up<br>Fast Wipe<br>Normal Wipe<br>Full Wipe<br>Disk Surface Test<br>File Recovery<br>Virus Scan<br>Hardware Inventory
+
::Debug<BR>Capture - Unicast (Debug)<br>Send - Unicast (Debug)<br>Send - Unicast (Without Snapins)<br>Deploy All Snapins<br>Deploy Single Snapin<br>Memory Test<br>Wake Up<br>Fast Wipe<br>Normal Wipe<br>Full Wipe<br>Disk Surface Test<br>File Recovery<br>Virus Scan<br>Hardware Inventory<br>Donate<br>Torrent-Cast
 
===Delayed Tasks, or [[Managing_FOG#Scheduling|Scheduling Tasks]] in the future===
 
===Delayed Tasks, or [[Managing_FOG#Scheduling|Scheduling Tasks]] in the future===
 
Describes advanced settings available for scheduling tasks including Shutdown after Execution, [[Managing_FOG#Single_Execution_Scheduling|Single Task]] scheduling, and [[Managing_FOG#Cron_Style_Task_Scheduling|setting a CRON-Style Task]].
 
Describes advanced settings available for scheduling tasks including Shutdown after Execution, [[Managing_FOG#Single_Execution_Scheduling|Single Task]] scheduling, and [[Managing_FOG#Cron_Style_Task_Scheduling|setting a CRON-Style Task]].
 
===[[Managing_FOG#Printers|Adding Printers]] to FOG===
 
===[[Managing_FOG#Printers|Adding Printers]] to FOG===
 
How to add printers to FOG. This allows the [[Managing_FOG#Printer_Manager|FOG Service to manage printers]] on FOG Clients
 
How to add printers to FOG. This allows the [[Managing_FOG#Printer_Manager|FOG Service to manage printers]] on FOG Clients
 +
 
==The [[Managing_FOG#The_FOG_Client_Service|FOG Client Service]]==
 
==The [[Managing_FOG#The_FOG_Client_Service|FOG Client Service]]==
A service that runs on client computers allowing FOG to better manage them. Provides AD Integration, the ability to change a Hostname, Green Power management, Snap-in installation, User tracking, Printer Management, and more. See the [[Managing_FOG#Overview_10|Overview]] for a more complete list.<br>
+
=== Legacy Client ===
The FOG client can be partially or fully-enabled by [[Managing_FOG#Module_specific_configuration_settings|modifying the ini file.]]<br>
+
*A service that runs on client computers allowing FOG to better manage them. Provides Active Directory integration, the ability to change a Hostname, Green Power management, Snap-in installation, User tracking, Printer Management, and more.<br>
===[[Managing_FOG#Installation|Installing]] the FOG Client===
+
For FOG 1.3.0 Power Management, see [[Power Management]].
A typical client installation, Silent installation, and a video tutorial.
+
*The FOG client can be partially or fully-enabled by [[Managing_FOG#Module_specific_configuration_settings|modifying the ini file.]]<br>
===Advanced Description of [[Managing_FOG#Functions_and_Operation|FOG Services]]===
+
====[[Managing_FOG#Installation|Installing]] the FOG Client====
 +
* '''[[Managing_FOG#Installation|Client install location]]'''
 +
** After installing FOG server on your machine, log into the web gui. If you take note of the Footer of every page of the web gui you will see a few links there. One being the FOG Client. This link will take you to the Client Management page. Here is where you will find the Legacy Client and New Client services, along with FOG Crypt.
 +
**'''NOTE:''' It is not recommended to use the Legacy and New Client services in the same environment.
 +
*A typical client installation, Silent installation, and a video tutorial.
 +
 
 +
====Advanced Description of [[Managing_FOG#Functions_and_Operation|FOG Services]]====
 
More detail on:<br>
 
More detail on:<br>
::Auto Log Out<br>Hostname Changer<br>Host Register<br>Task Reboot<br>Directory Cleaner<br>Display Manager<br>Green FOG<br>Snapin Client<br>User Tracker<br>User Cleanup<br>Printer Manager<br>Client Updater
+
::Auto Log Out<br>Hostname Changer<br>Host Register<br>Task Reboot<br>Directory Cleaner<br>Display Manager<br>[[Green FOG]]<br>Snapin Client<br>User Tracker<br>User Cleanup<br>Printer Manager<br>Client Updater
=== Firewall Exceptions ===
+
==== Firewall Exceptions ====
* Run these in Administrative Command Prompt(cmd) on the host to allow communication between the FOG Client Service installed on the Host and the FOG Server
+
* Run these in Administrative Command Prompt (cmd) on the host to allow communication between the FOG Client Service installed on the Host and the FOG Server
* Past setups suggested disabling the firewall and is less secure
+
* Past setups suggested disabling the firewall, but this is less secure
 +
 
 +
=====x86 (32bit)=====
 
<pre>
 
<pre>
     netsh advfirewall firewall add rule name="Fog Client" dir=in action=allow program="C:\Program Files\FOG\FOGService.exe"
+
     netsh advfirewall firewall add rule name="Fog Client" dir=in action=allow program="%ProgramFiles%\FOG\FOGService.exe"
     netsh advfirewall firewall add rule name="Fog Service" dir=in action=allow program="C:\Program Files\FOG\FOGServiceConfig.exe"
+
    netsh advfirewall firewall add rule name="Fog Service" dir=in action=allow program="%ProgramFiles%\FOG\FOGServiceConfig.exe"
     netsh advfirewall firewall add rule name="Fog Tray" dir=in action=allow program="C:\Program Files\FOG\FOGTray.exe"
+
    netsh advfirewall firewall add rule name="Fog Tray" dir=in action=allow program="%ProgramFiles%\FOG\FOGTray.exe"
 +
</pre>
 +
=====x64 (64bit)=====
 +
<pre>
 +
    netsh advfirewall firewall add rule name="Fog Client" dir=in action=allow program="%ProgramFiles(x86)%\FOG\FOGService.exe"
 +
     netsh advfirewall firewall add rule name="Fog Service" dir=in action=allow program="%ProgramFiles(x86)%\FOG\FOGServiceConfig.exe"
 +
     netsh advfirewall firewall add rule name="Fog Tray" dir=in action=allow program="%ProgramFiles(x86)%\FOG\FOGTray.exe"
 
</pre>
 
</pre>
  
===[[Managing_FOG#Keeping_Clients_up_to_date|Updating]] the FOG Client===
+
====[[Managing_FOG#Keeping_Clients_up_to_date|Updating]] the FOG Client====
 
How to update the FOG client.
 
How to update the FOG client.
===The [[Managing_FOG#FOG_Tray|FOG Tray]]===
+
====The [[Managing_FOG#FOG_Tray|FOG Tray]]====
 
Describes the Windows application that runs in the taskbar
 
Describes the Windows application that runs in the taskbar
  
===[[Managing_FOG#Troubleshooting|Troubleshooting]] the FOG Client===
+
====[[Managing_FOG#Troubleshooting|Troubleshooting]] the FOG Client====
Log file location
+
Logs are usually located at <font color="red">C:\fog.log</font>. If the log is not here, this generally means the log path was changed during installation, and is probably in fog's program directory.
  
 
==Snap-ins==
 
==Snap-ins==
A FOG [[Managing_FOG#Snap-ins|Snap-in]] is anything that can be run on a Windows client. This can be ''just about anything'', including: installing applications like Firefox or Microsoft Office, adding an icon or shortcut to the desktop, or tweaking a registry key. This section covers [[Managing_FOG#Creating_a_Snapin_.2F_Overview|Creating a Snap-in]], adjusting the FOG server to handle snap-ins [[Managing_FOG#Preparing_the_FOG_Server|larger than 2MB]], [[Managing_FOG#Uploading_the_Snapin|Uploading the Snap-in]] into the FOG system, and [[Managing_FOG#Linking_the_Snapin_to_Hosts|Linking]] the Snap-in to hosts.
+
*A FOG [[Managing_FOG#Snap-ins|Snap-in]] is anything that can be run on a Windows client. This can be ''just about anything'', including: installing applications like Firefox or Microsoft Office, adding an icon or shortcut to the desktop, or tweaking a registry key. This section covers [[Managing_FOG#Creating_a_Snapin_.2F_Overview|Creating a Snap-in]], adjusting the FOG server to handle snap-ins [[Managing_FOG#Preparing_the_FOG_Server|larger than 2MB]], [[Managing_FOG#Uploading_the_Snapin|Uploading the Snap-in]] into the FOG system, and [[Managing_FOG#Linking_the_Snapin_to_Hosts|Linking]] the Snap-in to hosts.
  
 
== FOG Plugins ==
 
== FOG Plugins ==
Line 211: Line 232:
  
 
===Access Control Plugin===
 
===Access Control Plugin===
* <span style="background-color:RED; padding: 1px"> '''NOT Currently ready''' </span>
+
* <span style="background-color:RED; padding: 1px"> '''Removed in 1.3.0''' </span>
 
* To give a layer of security and control over the task and imaging processes as well as limit the GUI items from "designated" controls
 
* To give a layer of security and control over the task and imaging processes as well as limit the GUI items from "designated" controls
 
* For Example: IT vs. Regular User
 
* For Example: IT vs. Regular User
Line 219: Line 240:
 
* The Capone plugin allows FOG to recognize similar hardware platforms and push your specified image to them with minimal (or no) interaction
 
* The Capone plugin allows FOG to recognize similar hardware platforms and push your specified image to them with minimal (or no) interaction
 
* In FOG terms a "Quick Image" without any registration
 
* In FOG terms a "Quick Image" without any registration
* <span style="background-color:YELLOW; padding: 1px"> '''Obsolete''' </span> As of FOG v1.3.0-r2651 the fog user can now add Quick Image to the Fog iPXE Menu(For All Hosts) and then select the exact image desired without having to do any registration. BUT intervention is still required to start imaging.
+
* As of FOG v1.3.0-r2651 the fog user can now add Image Deploy to the Fog iPXE Menu(For All Hosts) and then select the exact image desired without having to do any registration. BUT intervention is still required to start imaging.
  
 
===WOL Broadcast Plugin===
 
===WOL Broadcast Plugin===
Line 269: Line 290:
  
 
'''KNOWN ISSUE'''
 
'''KNOWN ISSUE'''
You will get an error "Ftp connection to storage server has failed" at the end of uploading images though.
+
You will get an error "Ftp connection to storage server has failed" at the end of capturing images though.
 
You will have to manually rename and move the file from the dev directory to the directory below.
 
You will have to manually rename and move the file from the dev directory to the directory below.
  
Line 296: Line 317:
  
 
== Other Advanced Topics  ==
 
== Other Advanced Topics  ==
 
 
*[[Building a Custom Kernel]]
 
*[[Building a Custom Kernel]]
 
*[[Creating Custom FOG Service Modules]]
 
*[[Creating Custom FOG Service Modules]]
 
*[[Modifying the Init Image]]
 
*[[Modifying the Init Image]]
 
*[[Translating FOG]]
 
*[[Translating FOG]]
 +
*[[Fog Tweaks]]
 
*[[Bypass Host Registration]]
 
*[[Bypass Host Registration]]
 
*[[Building undionly.kpxe]]
 
*[[Building undionly.kpxe]]
Line 313: Line 334:
 
<li>[[Password Central]]</li>
 
<li>[[Password Central]]</li>
 
<li>[[Troubleshooting an image push to a client]]</li>
 
<li>[[Troubleshooting an image push to a client]]</li>
<li>[[Troubleshooting an image upload]]</li>
+
<li>[[Troubleshooting a capture]]</li>
<li>[[Troubleshooting a multicast]]</LI>
+
<li>[[Multicasting | Troubleshooting a multicast]]</LI>
 
<li>[[Troubleshooting Driver Issues]]</li>
 
<li>[[Troubleshooting Driver Issues]]</li>
 
<li>[[Speeding up the Graphical User Interface]]</li>
 
<li>[[Speeding up the Graphical User Interface]]</li>
 
<li>[[Bottleneck]] / Imaging Speed Issues</li>
 
<li>[[Bottleneck]] / Imaging Speed Issues</li>
 
<li>[[Advanced_Boot_Menu_Configuration_options]]</li>
 
<li>[[Advanced_Boot_Menu_Configuration_options]]</li>
<li>[[Troubleshooting Host Management Showing Hosts as Down]]</li></ul>
+
<li>[[Troubleshooting Host Management Showing Hosts as Down]]</li>
 +
<li>[[Troubleshoot_TFTP]]</li></ul>
  
 
== Appendix C: Alternative Resources ==
 
== Appendix C: Alternative Resources ==

Latest revision as of 22:02, 3 September 2016

A guide to deployment, management, And concept overview For FOG.

Based on a document by: Thomas J. Munn CISSP

Contents

Introduction

Preface

This document is intended to be modified by FOG users, in fact it is based on a document created by a FOG user. If you feel something could be said better or put more clearly, it is encouraged that you make changes to this document. We just ask that you keep it constructive and in good taste. In order to edit the wiki you are now required to create an account, as spamming of the forum has gotten pretty bad recently.


  • What is FOG?
    FOG is a Linux-based, free and open source computer imaging solution for Windows XP, Windows Vista, Windows 7, Windows 8, and Linux (limited) that ties together a few open-source tools with a php-based web interface. FOG doesn't use any boot disks, or CDs; everything is done via TFTP and PXE. Your PC boots via PXE and automatically downloads a small Linux client. From there you can select many activities on the PC, including imaging the hard drive. Also with FOG many network drivers are built into the Linux client's kernel, so you don't really need to worry about nic drivers (unless there isn't kernel support for it yet). FOG also supports putting an image that came from a computer with a 80GB partition onto a machine with a 40GB hard drive as long as the data is less than 40GB. FOG supports multi-casting, meaning that you can image many PCs from the same stream. So it should be as fast whether you are imaging 1 PC or 20 PCs.

  • How should FOG be implemented?
    FOG is best implemented on a dedicated server, any spare machine you have. We recommend that you have sufficient hard drive space as each image you make is usually between 5 and 10 GB. Using a RAID array allows imaging multiple computers simultaneously without much performance degradation. A gigabit NIC is recommended. For faster image compression and decompression, provide as much processor and RAM as you can make available.

  • What features are included with FOG?
    FOG is more than just an imaging solution, FOG has grown into an imaging/cloning and network management solution. FOG now performs tasks like installing and managing printers, tracking user access to computers, installing applications remotely via snap-ins, automatic user log offs and computer shutdown on idle timeouts. If a computer is badly infected with a virus or malware, you can boot FOG in AV mode and have it remove the viruses. You can wipe your disks, destroying all information that was on them, restore deleted files, or scan the disk for bad blocks.

  • How much does FOG cost?
    FOG is an Open Source project and licensed under the GPL which means that you are free to use FOG on as many computers as you like for free. This also means that if you want to make any changes to the source code you are free to do so. The creators of FOG make no profits from this project with the exception of donations. FOG comes with absolutely NO WARRANTY and the creators of FOG are in NO WAY RESPONSIBLE FOR ANY DAMAGE OR LOSS CAUSED BY FOG! Please see the license file included with the FOG release for more information. With that being said we attempt to do a very good job of supporting our users, in fact it is one of the goals of FOG to have better support than most commercial products. All support requests should be placed through the FOG's forum which is located at: http://fogproject.org/forum/ Thanks for supporting open source software and enjoy!

Background on FOG

  • Why FOG?
    Working in an educational environment our organization's techs very often re-imaged computers in their day to day activities. For a long time we used a commercial product that in many ways didn't meet our needs. It wasn't web based, and you needed to create driver disks, floppys or USB drives. Other things were very difficult, such as searching for a host by MAC address and the product was expensive, even with an educational discount. So we started to investigate ways in which we could do things better, and as our organization struggled to make a commercial product work better by trying to pxe boot dos, and testing it in Windows PE, we, the FOG Team started to build linux based solution on our own time. We finally got a working version and decided to release it as open source since we use many other open source products, and figured we should give back to the community.

Fundamental Concepts

This section provides some basic concepts that the FOG Project uses.

Unicast

  • Accessible from Host Management --> Select Host --> Basic Tasks
  • Accessible from Group Management --> Select Group --> Basic Tasks
  • Accessible from Fog iPXE Menu
  • This occurs when scheduling a "Download" task, "Quick Image", or during "Full Registration" the user selects image after registration. The server (or storage node) will directly send packets (the image) to that Host's MAC address.(aka. TCP) This is excellent for directing network traffic. This can be performed under Groups running multiple unicasts to multiple hosts. However, all the hosts will not finish at exactly the same time.
  • Since unicast does not rely or communicate with others in a group it is unaffected by "hung up" host

Multicast

  • Accessible from Group Management --> Select Group --> Basic Tasks
  • Accessible Image Management --> Multicast Image
  • This occurs when scheduling a "Multi-Cast" task from Groups. The server (or storage node) will wait for all Host computers to be network booted. Once all hosts have registered for the task the packets will be sent out out to the entire network.(aka. UDP) Packets are sent and received exactly the same. Image may not complete exactly the same time
  • Down side to this is if one host gets hung up then the entire process is stopped till that host catches up
  • Multicasting

Torrent-Cast

  • Currently not working.
  • Accessible from Host Management --> Select Host --> Basic Tasks --> Advanced
  • Accessible from Group Management --> Select Group --> Basic Tasks --> Advanced
  • The image is broken down into chunks and indexed to create a torrent file.
  • The server (or storage node) beings creates the torrent and starts seeding. The hosts request the torrent and start downloading chunks for the torrent. Once a chunk is received then the hosts will seed that chunk to other hosts. Once torrent is done downloading it will start imaging. Then the partition is rewritten to accomidate the size needed to download the files originally.
  • If one host gets "hung up" the other host are not affected, but marginal time and speed are lost.
  • PXE Network Bootstrap loading
    What is iPXE and the difference between the files? Check out the iPXE page.
  • </UL>

    Installing FOG

    FOG is a typical LAMP software bundle, so the main server is a Linux box. The rest of the components: Apache, MySQL, PHP, and several other services, are automatically downloaded and installed by the FOG installation script.

    Requirements

    This listing is for informational purposes only, as the required components will be automatically downloaded and installed by the FOG installation script.

    • PHP 5.3.0+
    • MySql 5+
    • Apache 2+

    The LAMP setup can also be easily adjusted for a "WAMP (Windows Apache MySQL PHP) system" though will require a bit more knowledge of what packages to use and how to integrate with the FOG system.


    Installation on different distributions of Linux

    DHCP Settings

    • It is important to know that versions 0.32 and below use pxelinux.0 for option 67 in DHCP
    • For all versions 0.33 to current(1.3.0beta) use undionly.kpxe is generally recommended for option 67.
      • Other files that can be used are listed in your directory "/tftpboot"

    Linux Based (ISC-DHCP)

    Articles related to ISC-DHCP

    BIOS and UEFI Co-Existence

    ProxyDHCP with dnsmasq

    FOG on a MAC

    Fedora 21 Server#Verify Fedora DHCP config (if_using_DHCP)

    Start/stop/enable/disable

    Configure DHCP

    FOG dnsmasq (ProxyDHCP)

    • You would use ProxyDHCP if you do not have access to your DHCP server, or are using a device that isn't capable of specifying option 066 and 067 (next server and file name). The most popular ProxyDHCP method with fog is dnsmasq. This article will walk you through that:
    • Not required unless you have an unmodifiable DHCP server/

    Using_FOG_with_an_unmodifiable_DHCP_server/_Using_FOG_with_no_DHCP_server

    Non-Linux DHCP

    If you do not use FOG to provide DHCP services, the following sections will give some indication of settings for DHCP servers on various platforms.

    Windows Server DHCP

    • Option 66
      • Windows 66.png
    • Option 67
      • Windows 67.png


    Novell (Linux) Server DHCP

    • DHCP Overview from DNS/DHCP Console (Netware 6.5)
      • Novelldhcp.gif
    • Option 66
      • Novelloption66.gif
    • Option 67
      • Novelloption67.gif

    Here is a link from Novell's website on how to setup their DHCP server: http://www.novell.com/coolsolutions/feature/17719.html

    MAC Server DHCP

    Use OS X Server app to install and utilize DHCP.

    Use DHCP Option Code Utility to generate the code necessary.
    https://docs.google.com/uc?id=0BwD4il5Z1G6fTmFFYU91bDNuRmc&export=download

    One MUST generate the codes in order for PXE booting to work!
    bootpd.plist is located in /etc/bootpd.plist

    • Option 66
      • MACOption66.png
    • Option 67
      • MACOption67.png


    • Sample bootpd.plist
      • This is a sample file DO NOT USE THIS IN YOUR ENVIRONMENT!!!! OS X Server app will generate most of this code for you, this example file is to show you the place where the generated code needs to be placed.
      • For Reference, your generated code should be placed between "dhcp_domain_search" and "dhcp_router"


    • Completed Bootpd.plist
      • MACbootpd.png

    Other DHCP Configurations

    Other DHCP Configurations


    Network Integration

    Basic Network Setup

    The FOG setup script asks several questions which might not be obvious. These sections describe only the most generic settings.

    • Isolated Network
      The easiest method to image machines and get started using FOG is on a small, isolated network. The FOG setup program will configure all the necessary services for you completely automatically. This section covers only those basic steps.
      See FOG on an Isolated Network

    • Integrating FOG Server with Existing Network Systems
      Slightly more complicated is the task of integrating FOG into your existing network infrastructure. This section attempts to describe the steps to link FOG with a fairly generic enterprise system.
      See Integrating FOG into an Existing Network

    Advanced Network Setup

    Integrating FOG Server with Existing Network Systems in non intrusive mode using MAC filtration

    This methods allows to use Fog in existing network without the need of controlling existing DHCP server. Requires you to input the MAC address of FOG clients. See Integrating FOG into an Existing Network in non intrusive mode

    Integrating FOG server into an existing network in non intrusive mode using ProxyDHCP

    This methods allows to use Fog in existing network without the need of controlling existing DHCP server. Does NOT required you to input the MAC addresses of FOG clients. See Setting up ProxyDHCP.

    Wake On Lan (WOL)

    Multicast/UDPCast

    Full Listing of Ports used by FOG server and client

    MySQL - 3306
    FTP – tcp 20,21
    SSH – tcp 22
    TFTP – udp 69
    HTTP(s) – tcp 80,443
    Portmap – tcp/udp 111
    NFS – tcp/udp 2049
    Transfer ports – tcp/udp 1024 – 65535
    As found at: http://fogproject.org/forum/threads/firewall-config.27/

    Getting Started

    Quick Start - Basic Tasks

    So you have a FOG server installed and setup, now what do you do? Below are a few common "Getting Started" items.

    1. Booting into FOG and Capturing your first Image
    2. Deploying your Image a single client
    3. Deploying your Image a group of clients

    Tips

    1. FOG requires that all hosts be entered in the FOG Database for imaging. The most important part is getting the MAC address of the host right. FOG uses the MAC for targeting image installs and acquires. Using the wrong MAC could result in unpredictable results, including the complete erasure of the wrong pc! The IP address isn’t that important, and the ‘name’ field is more for the user. Mac address format is 00:12:3F:C4:57:0C . Using dashes, spaces, or no items at all will result in the GUI not accepting the host.
    2. After hosts are entered, it is wise to group them together by function, hardware, or common image. The image will be shared among all members of a particular group. This occurs within the ‘hosts’ screen, and NOT on the groups screen. This is a little confusing, so it helps to think of the ‘groups’ screen as a task generator, rather than controlling group memberships.
    3. For importing hosts in a .csv file follow the format below: 1 line per host:
      "00:c0:4f:18:62:63","Hostname","1.1.1.1","Your description","XP/Vista","Image filename to use"
    4. Hosts are then configured to boot via PXE boot by going into the BIOS. Make sure PXE boot is the FIRST option, NOT the hard disk, or things won’t work.
    5. Configure your ‘master’ pc for the first image. Probably a good idea to run ‘sysprep’ prior to imaging, but not necessary. Sysprep will make your imaging life easier, if hardware is different, etc. See Microsoft.com for more details on using sysprep.

    Preparing a HOST for Cloning

    • Key Term: Host --> The computer that will be registered to FOG and imaged(capture/deploy). Client usually refers to the Client service later described in this guide.

    FOG's strength can be better harnessed if some time and work is put into preparing a master image that fits the needs of your environment.
    This section covers Host preparation steps that will save you time and headaches like:

    Setting a Default User Profile
    Installing Windows Updates
    Pre-Installing the FOG service, etc.

    It also covers more advanced ideas that are guaranteed to cause headaches, like:

    Sysprep, Hardware-Independent Images (HAL), and Driver integration.

    Read more about Host Setup

    FOG Benchmarks

    Internal Benchmarks

    Managing FOG

    The FOG web interface is your primary management console. It is very well-documented in the pages linked below:

    The Main Managing FOG Document

    The link above opens the Main Managing FOG document and has a Table of Contents of its own.
    Subcategories within the Managing Fog section include the following sections:

    FOG Tasks

    This is a major section of FOG Management because all day-to-day client management is initiated within the FOG Tasks section.
    The Overview Section provides a quick list of tasks available within FOG.
    General Tasks - Basic Imaging Tasks:

    Capturing an image (includes video tutorial)
    Deploying an image
    Multicasting

    Advanced Tasks - Describes tasks other than imaging:

    Debug
    Capture - Unicast (Debug)
    Send - Unicast (Debug)
    Send - Unicast (Without Snapins)
    Deploy All Snapins
    Deploy Single Snapin
    Memory Test
    Wake Up
    Fast Wipe
    Normal Wipe
    Full Wipe
    Disk Surface Test
    File Recovery
    Virus Scan
    Hardware Inventory
    Donate
    Torrent-Cast

    Delayed Tasks, or Scheduling Tasks in the future

    Describes advanced settings available for scheduling tasks including Shutdown after Execution, Single Task scheduling, and setting a CRON-Style Task.

    Adding Printers to FOG

    How to add printers to FOG. This allows the FOG Service to manage printers on FOG Clients

    The FOG Client Service

    Legacy Client

    • A service that runs on client computers allowing FOG to better manage them. Provides Active Directory integration, the ability to change a Hostname, Green Power management, Snap-in installation, User tracking, Printer Management, and more.

    For FOG 1.3.0 Power Management, see Power Management.

    Installing the FOG Client

    • Client install location
      • After installing FOG server on your machine, log into the web gui. If you take note of the Footer of every page of the web gui you will see a few links there. One being the FOG Client. This link will take you to the Client Management page. Here is where you will find the Legacy Client and New Client services, along with FOG Crypt.
      • NOTE: It is not recommended to use the Legacy and New Client services in the same environment.
    • A typical client installation, Silent installation, and a video tutorial.

    Advanced Description of FOG Services

    More detail on:

    Auto Log Out
    Hostname Changer
    Host Register
    Task Reboot
    Directory Cleaner
    Display Manager
    Green FOG
    Snapin Client
    User Tracker
    User Cleanup
    Printer Manager
    Client Updater

    Firewall Exceptions

    • Run these in Administrative Command Prompt (cmd) on the host to allow communication between the FOG Client Service installed on the Host and the FOG Server
    • Past setups suggested disabling the firewall, but this is less secure
    x86 (32bit)
        netsh advfirewall firewall add rule name="Fog Client" dir=in action=allow program="%ProgramFiles%\FOG\FOGService.exe"
        netsh advfirewall firewall add rule name="Fog Service" dir=in action=allow program="%ProgramFiles%\FOG\FOGServiceConfig.exe"
        netsh advfirewall firewall add rule name="Fog Tray" dir=in action=allow program="%ProgramFiles%\FOG\FOGTray.exe"
    
    x64 (64bit)
        netsh advfirewall firewall add rule name="Fog Client" dir=in action=allow program="%ProgramFiles(x86)%\FOG\FOGService.exe"
        netsh advfirewall firewall add rule name="Fog Service" dir=in action=allow program="%ProgramFiles(x86)%\FOG\FOGServiceConfig.exe"
        netsh advfirewall firewall add rule name="Fog Tray" dir=in action=allow program="%ProgramFiles(x86)%\FOG\FOGTray.exe"
    

    Updating the FOG Client

    How to update the FOG client.

    The FOG Tray

    Describes the Windows application that runs in the taskbar

    Troubleshooting the FOG Client

    Logs are usually located at C:\fog.log. If the log is not here, this generally means the log path was changed during installation, and is probably in fog's program directory.

    Snap-ins

    • A FOG Snap-in is anything that can be run on a Windows client. This can be just about anything, including: installing applications like Firefox or Microsoft Office, adding an icon or shortcut to the desktop, or tweaking a registry key. This section covers Creating a Snap-in, adjusting the FOG server to handle snap-ins larger than 2MB, Uploading the Snap-in into the FOG system, and Linking the Snap-in to hosts.

    FOG Plugins

    Plugins enhance FOG's functionality. See Plugins to activate and manage plugins.

    LDAP Plugin

    • Allows you to link with a LDAP server to add an user validation
    • You can add mulitple LDAP servers
    • You can config the DN base and the port of the LDAP Server
    • If FOG can not connect with the LDAP Server, FOG tries to do a local validation
    • If the user does not exist, FOG create one with the mobile profile

    Location Plugin

    • Allows you to direct hosts at separate locations and manage through a centralized server
    • Hosts will be imaged from their location setup, rather than trying to pull from a random node/server across, potentially, WAN links
    • Same works for "Tftp" in that it will direct the host to get it's kernel and init from it's related location
    • Can also be used to direct the host to download it's snapins from the relevant location

    Access Control Plugin

    • Removed in 1.3.0
    • To give a layer of security and control over the task and imaging processes as well as limit the GUI items from "designated" controls
    • For Example: IT vs. Regular User

    Capone Plugin

    • Ideally for retail markets and computer shops
    • The Capone plugin allows FOG to recognize similar hardware platforms and push your specified image to them with minimal (or no) interaction
    • In FOG terms a "Quick Image" without any registration
    • As of FOG v1.3.0-r2651 the fog user can now add Image Deploy to the Fog iPXE Menu(For All Hosts) and then select the exact image desired without having to do any registration. BUT intervention is still required to start imaging.

    WOL Broadcast Plugin

    • Allowing the Fog user to specify different broadcast address on your network
    • WOL will use those set values to send the WOL Packets to the broadcast addresses, rather than staying only on layer 2
    • WOL packets operate at the layer 2 of a network meaning that it can only reach it's "Subnet"
    • WOL Broadcast directly tells a packet to send to other broadcast addresses so that it network passes on the traffic

    Example Plugin

    • If you would like to create your own plugins here is a template to follow.

    FOG Server Maintenance

    Advanced Installations

    Separate TFTP and DHCP Server

    In this setup, the TFTP server and the DHCP server are hosted on a separate server. The TFTP server holds the PXE boot files including the Linux Kernel, boot file system image, and pxe config files. The DHCP server is the server that assigns the clients with IP addresses and network connection information.

    Click here for detailed steps:
    Separate TFTP and DHCP Server

    Additional TFTP / DHCP Server on separate subnet

    This setup allows FOG to manage systems at a remote network location by installing the necessary services to allow clients to PXE boot to a Storage Node:
    Including multiple PXE / TFTP servers

    This extends the work done in the above article, Including multiple PXE / TFTP servers, and extends it a bit to allow for FOG nodes to be used in various locations that pull from a central server.
    Using remote FOG nodes for distributed deployment

    Separate NFS Server

    Edit the storage node definition with the IP address of your NFS server and set the image location to the path on the nfs server. Make sure it has a file called .mntcheck in the root of the share, a directory called dev and a .mntcheck file in the dev folder.

    if you want to mount it on the fog server too, follow these steps:-

    • mv /images /imagesold
    • mkdir /images
    • edit /etc/fstab

    For example if your server name is mynfsserver and the share on it is called fogimages

    mynfsserver:/fogimages /images nfs defaults 0 0 

    then type

    mount -a


    KNOWN ISSUE You will get an error "Ftp connection to storage server has failed" at the end of capturing images though. You will have to manually rename and move the file from the dev directory to the directory below.

    If your NFS server supports ftp as well, enable ftp on it too with the username and password specified in the storage server settings and this message will go away.

    Hopefully someone will re-write POST_Stage2.php to change this at some point as if you already have the NFS share mounted why do we do this bit with ftp?

    You may also get an infinite loop of the following message:-

    "Unable to find a valid task ID based on the clients mac address of: <mac address>".

    if you add an @ sign before the ftp commands it appears to have fixed the issue.

    so line 133 of /var/www/fog/service/Post_Stage2.php would look like this

     if (@ftp_rename ( $ftp, $src, $dest ) || @ftp_rename ( $ftp, $srcdd, $dest ))

    Change NFS location

    This is not about a seperate NFS server in general, but about how to change the local storage directory and export it correctly.

    See Change NFS location for more.

    Upgrading to Trunk

    • Trunk installs are almost always buggy. This is bleeding edge and if you wish to update to trunk be prepared to update at least once a week or even once a day. At all times developers are making changes to correct problems
    • Upgrade_to_trunk

    Other Advanced Topics

    Troubleshooting

    This section is intended to bring together the most common issues from the forums.

    Troubleshooting Installation and Configuration Issues

    Appendix C: Alternative Resources

    For Microsoft sysprep information, see this page: http://vernalex.com/guides/sysprep/video.shtml

    FOG install HOWTO: http://www.howtoforge.com/installing-fog-computer-imaging-solution-on-fedora8

    FOG sourceforge page: http://freeghost.sf.net/

    Deployment Forum at Edugeek contains many Fog related threads http://www.edugeek.net/forums/o-s-deployment/

    About the Developers and other influences

    FOG Project Leads (Creators and Developers too)

    Chuck Syperski

    Chuck Syperski is the lead developer for FOG computer imaging solution. He is a software developer and network integration specialist for a public school district outside of Chicago, IL. Chuck Syperski has a Bachelor of Science in Computer Science from the University of Illinois and is half way done with his master's degree :). He specializes in Java, jsp, jsf, objective C, C, C++, C#, perl and php. You can contact Chuck Syperski directly via sourceforge as the following link:

    http://sourceforge.net/users/microleaks/

    Chuck Syperski releases other software titles through his company CWS Software LLC

    His username on the FOG forums is Chuck Syperski

    Jian Zhang

    No Content

    His username on the FOG forums is Jian Zhang

    Community Managers

    Chad-bsid

    No Content

    falko

    No Content

    andyroo54

    No Content

    BryceZ

    No Content

    Kevin

    No Content

    FOG Developers

    Andy Abplanalp

    No Content

    His username on the FOG forums is Andy Abplanalp

    Jaymes Driver

    • Jaymes "loves dnsmasq" Driver

    Jaymes is an aspiring software engineer and Ubuntu nut. He began working on his degree at University of Advancing Technology in Tempe, AZ but currently works as a Technology Support Specialist for Seymour Community School Corporation out of Seymour, IN. Jaymes spends his time breaking what isn't broken, and working on private projects that deal in html, php, and mysql. You can contact Jaymes by using the FOG forums.

    His username on the FOG forums is Jaymes Driver

    Tom Elliott

    • Senior Developer

    Tom Elliott is the Senior Developer for FOG computer imaging solution. He is a technical support specialist for Burlington School District in Burlington, VT. Tom Elliott has a Bachelor of Science in Information Technology (BSIT) Information Systems Security from the University of Phoenix. Currently looking at Master's programs. He also served 8 years active duty service with the United States Army as a Signal Support Systems Specialist. You can contact him directly via email at tommygunsster@gmail.com, thomas@mastacontrola.com, or on the FOG Forums.

    His username on the FOG forums is Tom Elliott

    Fernando Gietz

    • LDAP Plugin Creator

    No Content

    His username on the FOG forums is Fernando Geitz

    Peter Gilchrist

    No Content

    Greg Grammon

    Greg Grammon a Sysadmin for Fort Hays State University in Hays, KS.

    His username on the FOG forums is Junkhacker.

    Curtis Larsen

    No Content

    His username on the FOG forums is fractal13

    Gilles Pietri

    Gilles helps developping FOG (Web UI, and linux client code) and provides insights on how to drive the project. He is specialized in IT administration and virtualization, and provides training and consulting for FOG through a training center in France (in Paris, Nantes, Lille, Lyon, Toulouse...). You can find DAWAN's training offer here: http://www.dawan.fr/formations/reseaux/deploiement/fog--deploiement-d-images-initiation-approfondissement

    His username on the FOG forums is Gilou

    Lee Rowlett

    • Location Patch Creator (Now migrated to the Location Plugin)

    Lee currently works for the NHS Ambulance Service as a Senior IT Engineer. Most of his contributions to the FOG project are related to new feature developments and help drive modular style imaging.

    His username on the FOG forums is Lee Rowlett

    Joe Schmitt

    • Senior Developer

    You can contact him directly via the forums.

    His username on the FOG forums is Joe Schmitt

    John Shaw

    No Content

    His username on the FOG forums is jbsclm

    Travis Vlaminck

    Travis works for a public school district as a computer support specialist. Most of his contributions to the FOG project are related to feature integration and coding on the web UI.

    His username on the FOG forums is BPSTravis

    Dan Younkin

    Dan works for a public school district in Rockwood, PA, USA as a Technology Assistant. His titles include too many to count and if he takes a day off there are mass panics. Most of his contributions are testing new features, mass troubleshooting and confirming bugs, wiki updates, and suggesting more a simpler streamline FOG. It is his hope FOG will expand and compete with other streamline imaging software and systems.

    His username on the FOG forums is Wolfbane8653

    Notorious Beta Testers

    Ian Allison

    No Content

    His username on the FOG forums is ianabc

    Lane Garland

    No Content

    His username on the FOG forums is need2

    Greg Plamondon

    No Content

    His username on the FOG forums is Greg Plamondon

    Bill Rice

    Mr. Rice is a network engineer for Roxborough Memorial Hospital in Roxborough, PA. Enjoys tinkering with all things PC. Building servers, maintaining Infrastructure, WAN, WIFI, LAN, Microsoft Active Directory, Microsoft Exchange, Microsoft SQL. and is learning Linux, (prefers GUI from Mint)

    I have been toying around with FOG since build .30 I kinda got in a little late to the party. joined the forums a year later. I had used fog personally and then introduce this software to the hospital I work for. I provided my own equipment to demonstrate the benefits to using it in our environment, only 1 drawback. I was a total Linux NOOB. I muddled through, configured the original PXE boot and the menu options. I provided my organization with a free alternative for cloning systems on the go while providing a method of booting systems that were corrupted, and recovering lost data. All this was made possible with the FOG software with special thanks to the hard and dedicated work of the founders, Chuck Syperski & Jian Zhang. Also want to shout out to the additional members of the team for their hard work and the dedication that has provided you with many new updates and added features.

    I had spent many hours of researching commands, investigating Linux distro's and have had many pleasures in troubleshooting Ubuntu changes.. lol now I'm a bit more familiar with FOG and its configs, I hope to offer up my experience and ability to seek out those problems/bugs that plague the everyday user so that the development team can fix them quickly.

    My username on the FOG Forums is Bill Rice Feel Free to contact me, I'll do my best to assist. As stated earlier, I'm still new to Linux but the internet is my friend :) Good luck. -Bill

    Wayne Workman

    Mr. Workman works at a high school in St. Louis as a Technology Specialist, and oversees roughly 500 network-connected devices with about 900 users (among other systems) within an Active Directory / Open Directory environment. Holds an AAS degree in Computer Support from Jefferson College, along with CompTIA A+ & NET+. He's an experienced .NET framework programmer, BASH scripter, PHP writer, MySQL troubleshooter, Powershell scripter, Batch scripter, full LAMP stack developer, and Active Directory Administrator.

    He began testing the latest version of FOG in January 2015 due to needs of custom Multicast settings, and has worked closely with the Senior Developer to integrate support for Fedora 21, Debian 8, Ubuntu 15, and Fedora 22 into FOG, and has written numerous WiKi articles for installation and troubleshooting fog and is an active moderator on the fog forums, and is now the lead Technical Writer for the FOG Project.

    His username on the FOG forums is Wayne Workman

    Ray Zuchowski

    Mr. Zuchowski is a IT Administrator for Mansfield Elementary School in Port Murray, NJ and is also the owner of Sirus Computer Systems. LLC in Stewartsville, NJ.


    @ Mansfield Elementary School

    Administrator to over 700 Computers and 6 Servers. Active Directory Specialist. Network Administration and Installation. Security Administration, IP Cameras, and Installation. Smart Board Installations.


    @ Sirus Computers

    Handle IT Administration for small and large corporations.

    Honda Corporation, Police Departments, Pharmaceutical, Law Firms and many other small businesses.

    Partners with Barracuda Networks, Lenovo, Bit Defender, and Video Insight.


    Username on Fog Forums is Zuchowra


    Fog has changed the way I handle my everyday IT Administration. Hands down, one of the best open source software I have ever worked with. Beta testing since early 2014.

    Steven Goodman

    No content yet.