FOG Storage node in remote site using Windows DFS

  • A little back story on where I work. I work for a company that has 6 major offices and a few other smaller office across North America all connected to a Sprint MPLS network at speeds from 1.5 MBPS to 10MBPS, the average of the major offices being 3MBPS. We needed a solution by which we could deploy a universal system image to computers in these multiple sites. That’s when I came across FOG. The product worked beautifully within my own site but was horrible when I teied to do anything across the WAN segment. I am now in the process of testing the setup to use our DFS replica that we already have in place to distribute the system images across sites.

    Here is roughly what went in to getting our setup where it is now:

    1. [SIZE=3]Install OS (I used Ubuntu 11.10 x86)[/SIZE]
      [SIZE=3]2. Download FOG installer package and extract. [/SIZE]
    2. [SIZE=3]Edit install script to enable TFTP and PXE as described here:[/SIZE]
      [INDENT=1][SIZE=3]a. [URL=‘’][U][COLOR=#0000ff][/COLOR][/U][/URL][/SIZE][/INDENT]
      [INDENT=1][SIZE=3]b. [SIZE=3]Do NOT set up the synchronization settings as described on page. DFS handles that procedure.[/SIZE][/SIZE][/INDENT]
      [SIZE=3]4. [SIZE=3]Run install script and install software as storage node[/SIZE][/SIZE]
      [SIZE=3]5. [SIZE=3]Add line to /etc/fstab to link storage node’s /tftpboot/pxelinux.cfg folder directly to main server’s /tftpboot/pxelinx.cfg folder for real-time access.[/SIZE][/SIZE]
      [INDENT=1][SIZE=3]a. Fstab> /tftpboot/pxelinux.cfg nfs ro 0 0[/SIZE][/INDENT]
    3. [SIZE=3]Create scrip to run at boot to link system to datastores on DFS. (adjust as needed)[/SIZE]
      [INDENT=1][SIZE=3]a. [SIZE=3]Link script to /etc/rc2.d . Script includes the following:[/SIZE][/SIZE][/INDENT]
      [INDENT=2][SIZE=3]mount.cifs // /images -o username=user,password=[I]password[/I],domain=yourdomain[/SIZE][/INDENT]
      [INDENT=2][SIZE=3]mount.cifs // /tftpboot/fog –o …[/SIZE][/INDENT]
      7.Configure storage node in web interface of main server.

    After all this the configuration looks something like this:

    [url="/_imported_xf_attachments/0/56_FOG with DFS.PNG?:"]FOG with DFS.PNG[/url]

  • Bill -

    I’m new to FOG, a complete newbie on LINUX, but fairly well versed with the MS world. I have just come up with a way to enhance FOG snapin deployment using DFS. I had assumed the rsync stuff I’ve seen would get me replicas of the images on different storage nodes, but I want redundancy and multiple sources at each site for snapins. Further, I find the whole single-file installation limitation of FOG untenable. I can’t have software installation content stuffed into a single file, as most SW in the MS world consists of several files.

    So I wrote a program called FOGExe.exe. It leverages the TFTP site where a FOGExe.ini file is stored that has the sharename (DFS or UNC), username and password for accessing the Windows server. A parameter in the snapin parameter field points to the dir within the share and the program looks there for a specific .cmd file - FOGExe.cmd. This cmd has all the commands you’d want to perform the snapin installation. I typically put two versions of an installation in such directories - one to install and the other to repair.

    This program is brand new and has been only lightly tested. As I’m new to FOG, I can’t say I won’t enhance this more over the next little while. I’m using FOG now as a replacement for a homegrown system that used BartPE for XP and WInBuilder for Win7 to create ISO that were PXEbooted and uncasted images with Ghost32. For software deployment we had a system that could detect if someone was logged in and would allow for interactive and silent installation. I may want to retain this feature and it would be easy to add it to FOGExe.

    If this is of any interest to you, I’ll post it sooner rather than later. I had planned to post it but as I said, it’s new. I’d appreciate any info related to your problem with syncing Linux storage repositories over WAN and how one mounts DFS on a Linux box. Also, why use the Linux bos for TFTP at all? If you can copy the contents of the linux tftpboot dir to windows? I’ve used pxelinux.0 and pxeclient.cfg on windows for some time.

    I’m not sure how these forums work, so I’ll check back here for a response.

  • Good stuff.

    Look forward to any further details, after your testing.

    Hopefully this will scale to multiple sites, so long as each site has a DFS then can’t see why not

    Did you every try rsync over slow WAN links, whats it like compared to DFS?

    I really think fog FOG 0.34 MultiSite patch needs to be built in!

  • Note: I an still in the testing phase of this setup and I’m sure that I’ve left out a lot of critical details including the fact that the main server needs to have the multisite patch applied. I hope this helps some people out.