[Request] FOG NAS Tutorial

  • Hello FOG community! I am a beginner at linux and am trying to find a guide for setting up a NAS to store my fog images. If anyone could help me or point me in the right direction I would appreciate it. It is a Windows network and our NAS is a Iomega StorCenter px4-300r.

  • Have this working with Freenas… Thank you Joshua…

  • I have been searching for a detailed tutorial for a wile about configuring a FOG Server inside a virtualbox with an other virtualbox having FreeNAS installed.

    This topic has a lot of good information about that but unfortunetly I have little experience with linux and freenas so it´s hard to make sence of all that you posted before.

    I have managed to install ubuntu with fog and using it´s own dhcp service I managed to backup and deploy multiple images but I´m trying to learn new and better ways to store and deploy images. Using FreeNAS is my goal but the little information I find it´s still hard to absorb.

    I would like to know if you had a video of all the steps involving the configurations or a tutorial that could explain step by step.

    Thank you all for the previous posts and the knowledge that you share.
    Oh, and sorry for my english, it´s not my first language.

  • You have a lot of drive space on your FOG server 0_0 lol, but good tutorial. I’m going to try this out with FreeNAS, just to see how well it works.

  • First off, yes, did you create a user on your device named fog with the password of password of password? (unless you changed your default password in fog or set it on linux)

    I was able to replicate this and have successfully got it passed the permission denied error.
    This is NOT what I was talking about before. This requires you actually setup a new storage node in FOG web settings.

    Step 1: Select “Storage Management” from the top menu in the Fog web interface.
    Step 2: Add New storage node.
    – See my screenshot
    – Be sure to use “/mnt/pools/A/A0/images/” if this is accurate to your device. (On my Iomega share I have /images setup-- change the name to reflect your share.)

    NOTICE: I set this to my default storage node / is Master node. (because my server is just a virtual appliance, the storage is external…)

    Now, make sure your fog installation can see it… go back to the home page and check your storage size.
    (It will be blank until you change to the Storage node you just created.) (for my new storage node, it says “Unable to connect”… but when I select “default member” from the list, I see all my disk space from my Iomega device.)
    Finally, as you can see, In Image Management, I have it set to store images in the Default Storage group.
    This method should work for you, it worked for me twice… I set it up and it worked, then I re-installed fog and re-did it just to make sure.


  • Here’s my TFTPBOOT directory listing :
    technicien@FOGSERVER:/tftpboot/pxelinux.cfg$ ls -la
    total 12
    drwxr-xr-x 2 fog root 4096 2013-03-13 14:47 .
    drwxr-xr-x 5 fog root 4096 2011-09-27 11:27 …
    -rw-r–r-- 1 fog root 3006 2012-12-11 11:31 default
    I changed the ownership of /images to fog:root
    No success. Is there something I have to configure in my NAS ?

  • looks like your /images is mounted as user = root with group = root.
    run this command.
    sudo chown fog /images (that will Change Owner to fog for /images.)

    As for your TFTP: I was more interested to see the contents of one of your files.

    do: cd /tftpboot/pxelinux.cfg/

    inside this directory is where your workstation looks for the PXE file to boot.

    when you set a task to run in fog, a file is output to this directory (/tftpboot/pxelinux.cfg)
    the name of the file IS THE MAC ADDRESS of the host to be imaged. (ex. 01-00-24-e8-fa-e9)

    I want to see what is inside of that file… that is where all of the connection information is at.

    Please paste the contents of this file.

    Finally, do not hesitate to ask for assistance if you need help with anything mentioned above.

  • Here’s the result of the ls -la :
    drwxrwxrwx 40 root root 4096 2013-03-08 12:29 images --> HDD 1To
    drwxrwxrwx 45 root root 4096 2013-03-11 11:00 nfs --> NFS
    Inside the HDD 1To that is working :
    drwxrwxrwx 2 root root 4096 2012-02-08 08:22 Windows7
    drwxrwxrwx 2 root root 4096 2012-02-08 08:22 .
    drwxrwxrwx 40 root root 4096 2013-03-08 12:29 …
    -rwxrwxrwx 1 root root 512 2012-02-08 08:22 d1.mbr
    -rwxrwxrwx 1 root root 9071479 2012-02-08 08:22 d1p1.img
    -rwxrwxrwx 1 root root 7166395069 2012-02-08 08:38 d1p2.img
    TFTPBOOT folder :
    drwxr-xr-x 5 fog root 4096 2011-09-27 11:27 .
    drwxr-xr-x 25 root root 4096 2012-11-20 13:54 …
    -rw-r–r-- 1 fog root 828 2011-09-27 11:27 boot.txt
    drwxr-xr-x 6 fog root 4096 2012-06-08 09:05 fog
    -rw-r–r-- 1 fog root 25340 2011-09-27 11:27 memdisk
    -rw-r–r-- 1 fog root 16794 2011-09-27 11:27 pxelinux.0
    drwxr-xr-x 2 fog root 4096 2013-03-11 11:36 pxelinux.cfg
    drwxr-xr-x 2 fog root 4096 2011-09-27 11:27 tftpboot
    -rw-r–r-- 1 fog root 147728 2011-09-27 11:27 vesamenu.c32
    IP of FOG server :
    IP of NAS :

  • make sure your newly mounted /images has user= fog group = root permissions

    just run the ls -al command in the root / to check this.
    Also, go into the /tftpboot directory and paste the contents of one of the command files here so I can see exactly what’s going on.
    in order to see a command file, you must have an active task. the command file will have the name of the MAC address of the machine that the task is created for.

    also, = that is your fog-server correct? or is that the storage’s IP address?

    I will check my setup for any additional details that could help resolve this for you…

  • Thanks for your fast answer,:)

    To make a long story short, this is an existing server to a local hard disk 1TB I want to migrate to a NAS to have more disk space. I synced the content of local disk on the NAS with rsync to not lose any images created with FOG. I deleted the files .Mntcheck files from /images/ and /dev/ then I recreated. I also checked the contents of /etc/exportfs to have everything consistent.

    What else I have to look too?

  • is there a .mntcheck file in the /images and /images/dev locations?
    if not, create a file named .mntcheck in each of those locations.

  • I’ve tried your procedure to activate the access to the NAS, that worksd well. But there’s a problem that I still have with the client. When the client tries to start, it tries to mount the NFS point from the server, but here is the error message that appears on the screen :

    • Mounting File System … Failed
    • mount failed, reason given by server: Permission denied
      mount: mounting on /images failed: Bad file descriptor

    I do not understand why. What can I do to solve my problem?

  • alright, here is the quick and dirty: (I can make a step by step if need be)
    my fstab looks like this:,bg,noexec00

    Explanation: IP of Iomega storage node
    /mnt/pools/A/A0/images = the actual location on the device (although it looks like its is just /images its not)
    /images = location on fog server that the iomega storcenter is mounted to. so, when I ls in /images I see everything on my storage device (iomega)

    nfs= the filesystem
    user= allow users to mount the filesystem
    bg= retry mounting in background
    noexec= do not allow execution of binaries in this directory (optional, but if its only storage, its a good idea)
    0= read size zero is default
    0= write size, zero is default

    My exports looks like this:
    /images *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
    /images/dev *(rw,sync,no_wdelay,no_root_squash,insecure)

    More detail on why its done this way:
    See, its not exactly an external storage node. This is just allowing the system to access the remote storage device. FOG doesnt care where it sends the images, just as long as there is a place to put them.

  • This post is deleted!

  • I am also interested in this procedure to allow me to use my Iomega NAS Storcenter PX6-300D 12TB. Where can I find how to install?

  • Moderator

    If you send me a unit, I’ll see if I can get it working 😉
    If I can’t, I’ll give the unit back, but if I can, I get to keep the unit YAY.

    Seriously though, if the device can be setup to export NFS mounts, and you can mount those R/W from your fog server, then you can use it to store your images.

    If you need help, there are several articles on the wiki about moving /images/ and using separate NFS server.

    Just ask if you need more help or hit any bumps along the way.

  • I agree with Leroy, just setup a FreeNAS box and create an NFS share. Should take just a couple minutes once FreeNAS is setup. FreeNAS has become one of the programs that I can’t live without. Being able to have Apple, *Nix, and Windows boxes all being able to talk with one server is invaluable, file storage, scheduled backups etc. The only downside is you need to have a beefy box for all that. If you were to use it just for FOG, you wouldn’t need much. Plus FreeNAS uses the ZFS file system which is much more robust than NTFS and even EXT4 in Linux. Data integrity is built in, much larger files can be stored (the largest single file that can be stored is 16 exabytes). It will also RAID very nicely. It’s also future proof being a 128 bit filesystem.

    So i’ve rambled on a bit about FreeNAS. But hey, it’s Free, takes less than 10 minutes to install from scratch, proven reliable, and everything can be managed through a web interface. It doesn’t get much easier than that.

  • Can you just mount the FreeNAS/Openfiler NAS using NFS?

  • Edit - UPDATE: If you scroll down in this topic, you will get my tutorial. Alternatively, I have created a howto on Spiceworks.

    Ding Ding! I second that motion… if I can ever figure it out, I will make a tutorial.
    I have the same setup, just a larger device. (Iomega Storcenter PX6-300D --18TB)

    There is currently 3 separate threads with the exact same question.