Storing FOG Images on Separate Network Drive



  • FOG Revision: 7945
    Ubuntu: 14.04

    After finally getting FOG up and running we were testing it with various images, XP & 7 in particular, and ran into a disk space error. We only had the server allocated for 40Gbs but it was working fine til we tried to image the 7 machine. Long story short it kept dropping out on us (with the disk space memory low, please cancel or allocate more.) I cancelled the task but it ended up corrupting my machine all together. I uninstalled FOG and it said there was only 2.8Gbs out of 37Gbs used but it still kept prompting me with the error.

    My question is, is it possible to store the images in a separate location but still only use the master node to distribute them? We have plenty of space to run the images, its just located somewhere else on the network. I was looking in the FOG wiki, and it said something about Storage nodes to help distribute images, but we aren’t wanting extra nodes to help distribute, we just want to use another memory location to store the images.



  • @ITSolutions

    Yup that is my current method so far, but if I were to do that, then my images would easily run past 40 GBs. Which is why I copy it to the mounted drive, then hop over with File Explorer and Cut/Paste it into a “Archived Folder” I have linked. Essentially the same thing just a bit more confusing than just being able write to the mounted drive. When I replace the drive locally, I’ll report back with the results and maybe we can figure something out thats not as step-intensive.

    If you want a complete list of steps that I do, it goes:
    Instructions dependant on cifs-utils package

    1. Login to the Ubuntu
    2. Navigate to the /images folder (cd <folder path>)
    3. Delete any old images being used (rm –r <dirname>)
    4. Pull Needed image from Archive Directory from the external drive (Copy + Paste to NetworkImages)
    5. Navigate to the NetworkImages Directory
    6. Copy the image you want to use (cp –r <dirname>)
    7. Set the permissions for everyone to read/write/execute (chmod 777 <dirname)
    8. Review the folder contents using ls –l and make sure its highlighted green
    9. Set task in FOG using correct image
    10. Profit

    I know this seems like a lot of work, but it really isn’t. Still takes less time than manually running to each PC and plugging my USB in and entering needed commands. With this, can run 10 PCs to a switch and image them all at the same time, which is exactly what we need because we build 10 - 15 PCs every quarter and in the start, there wasn’t ANY imaging solution. I had to build each OS by hand.


  • Testers

    @Data31337 My instructions are for a USB or Firewire style drive.

    You could instead just mount it the same way you currently do, just directly to /images instead. make sure you copy all files from the current /images including hidden files.



  • @ITSolutions

    Its currently mounted through the /images/external folder, but when I tried testing it out, it was mounted directly to the /images folder. The issue was that when I tried running

    blkid
    

    command it wouldn’t return a UUID for the external drive I was trying to use. What I’m going to do is probably try remounting the external drive locally as opposed to being on the network and then give the method another try. I think I understand the concept of what were trying to do, but it won’t do it with a network mounted drive (Because it won’t return a UUID while being connected to a separate server, unless there is another way of obtaining the UUID). Also too, I’m not sure if this would take care of the permissions problem that comes with the solution as well.


  • Testers

    @Data31337 How are you mounting the share currently? You said it is mounted as /images/external if you just change your mount point to /images you should be able to complete it that way



  • @ITSolutions

    UPDATE I tried doing

    Next you need the UUID of the drive
    -Go to a terminal and type sudo blkid and find the dev for your external drive and copy/make note of the UUID.
    -Then sudo nano /etc/fstab and add the following line tot he end of it:
    UUID=(Copy the UUID of your drive) /images ext4 nofail,auto,noatime,rw,user 0 0

    Which ended up failing due to the fact the Network Drive didn’t produce a UUID sadly. I’m not experienced enough with Linux to know of any work around either. But thanks again for the idea.



  • @ITSolutions

    The file system is NTFS. The issue I was running into is the Permissions. Everytime I transfer a image to the external storage drive, it would reset the permissions to drwxr-xr-x when I noticed it needed to be read/write/executable by everyone. I originally thought it was a issue with “Sticky Bits” Permissions but it wasn’t. It was just that the NTFS drive isn’t setup with the 777 permissions and when it mounted, it carried its permissions over.


  • Moderator

    @ITSolutions read back in the thread and it’ll make sense.


  • Testers

    @Wayne-Workman said in Storing FOG Images on Separate Network Drive:

    @Data31337 Yes, it’ll work for network drives - but again - you cannot re-export an already exported drive. You can mount as many shares as you like for whatever purpose you like on the fog server, but those can’t be used directly for imaging.

    I am not sure what you mean by this I have a simalar setup and it works great for me. Actually I have 2 storage groups on the same master FOG server. I did have to add in the /etc/exports the extra lines to do NFS correctly. But in the OP’s case that shouldn’t be needed.



  • @ITSolutions

    Ill try it and respond with what I find. thanks again!


  • Testers

    @Data31337 I just re-read your “work around” instead of do as I described you could just mount the /images directory directly to the external storage the same way you are doing the mount of the /images/extstorage

    What is the file system on your extstorage?


  • Moderator

    @Data31337 Yes, it’ll work for network drives - but again - you cannot re-export an already exported drive. You can mount as many shares as you like for whatever purpose you like on the fog server, but those can’t be used directly for imaging.


  • Testers

    @Data31337 I haven’t tried that, so not sure it it will or not.



  • @ITSolutions

    Thanks a lot! I think this is exactly what I’m looking for.

    Do you know if this will this work for a Networked External Drive that’s currently plugged into a different server?


  • Testers

    @Data31337 I think I actually have exactly what you are trying to do working in my setup.

    If you want Ubuntu to automatically mount a USB drive on boot it is possible.

    First I would rename the /images to /images2
    Then create a new /images folder

    Next you need the UUID of the drive
    -Go to a terminal and type sudo blkid and find the dev for your external drive and copy/make note of the UUID.
    -Then sudo nano /etc/fstab and add the following line tot he end of it:

     UUID=(Copy the UUID of your drive)   /images      ext4  nofail,auto,noatime,rw,user 0	 0
    

    Then run sudo mount -a

    Reset the permissions on the /images folder and move all images to the new /images folder.

    You should now be able to use your external drive. Make sure that the drive is plugged in at all times, especially at reboot.



  • @Wayne-Workman

    I know but its not much of a option for me because we’re a Medium size shop and not a big fan of random towers just sitting everywhere. Also, we have it hosted with 3 other servers with very limited drives since our last array broke due to a controller battery, so just making due with what we have.

    [edit] Trust me, after the array gets fixed, thats one of things I plan on doing is ripping out the old fog server and building a new one. [/edit]


  • Moderator

    @Data31337 If possible, I’d rip out the old fog server and build a new one with the space you need.



  • @george1421

    I have found a work around to do what I needed. Instead of having a active storage node, you can set a folder inside the /images folder that is mounted. You have to remember that, you cannot export images to that folder, but what you can do is copy the images to it. So instead of imaging/cloning directly to it, copy the image to it. Then if you want to retrieve your image, navigate to it and copy it back. Be sure to reset the permissions after you move it back. I have done this successfully with several images, using a 1.5 TB external drive mounted to a folder inside the /images folder. I’m only doing this due to the limited HD Space on my FOG server.



  • You’ve answered my question, but let me explain a bit clearer.

    Ok, so I have a 40 Gbs VM Machine, but (now that I’m thinking about it maybe better to run 5 or 6 Older HDs into a RAID 1) I want to be able store more images. We have a 1.5 TB external storage device but I can’t seem to figure out how to get Ubuntu to map to it successfully and store my images there.

    It doesn’t matter what is hosting a share, fog cannot re-export it, Linux cannot re-export it.

    Basically explains it, I can’t do it either way because Linux or FOG cannot re-export the images from the networked drive.


  • Moderator

    I wrote a kb a while ago about moving your images off the root partition.

    https://forums.fogproject.org/topic/6642/moving-fog-s-images-files-off-the-root-partition

    Ideally you would create a new vmdk file that is 100GB or larger and then mount that onto your fog server.

    If you don’t want to move your files off the root partition (not sure why you wouldn’t want to ), You can take another path, add a new vmdk file then use the lvm tools to add that new disk (partition) to your current fog volume root volume group.


Log in to reply
 

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