Storing FOG Images on Separate Network Drive
-
@Data31337 said in Storing FOG Images on Separate Network Drive:
Would I be able to setup a storage node on the same box as my normal server is on and mount the network drive to it?
I’m not sure I understand the question.
A FOG server is either configured as a full-server, or as a storage node. It doesn’t matter what is hosting a share, fog cannot re-export it, Linux cannot re-export it. Where-ever the images are stored must too be a storage node or a main server.
A storage node doesn’t need to be in a VM, it can be physical too.
Perhaps your main fog server doesn’t need to be in a VM? Maybe set everything up on a physical box with a set of large HDDs configured in RAID 1. Just throwing ideas out there.
You may find a better understanding from this: https://wiki.fogproject.org/wiki/index.php?title=Location_Plugin
-
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.
-
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.
-
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.
-
@Data31337 If possible, I’d rip out the old fog server and build a new one with the space you need.
-
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]
-
@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 folderNext you need the UUID of the drive
-Go to a terminal and typesudo blkid
and find the dev for your external drive and copy/make note of the UUID.
-Thensudo 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.
-
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?
-
@Data31337 I haven’t tried that, so not sure it it will or not.
-
@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.
-
@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?
-
Ill try it and respond with what I find. thanks again!
-
@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 read back in the thread and it’ll make sense.
-
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.
-
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 0Which 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.
-
@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
-
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.
-
@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.
-
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- Login to the Ubuntu
- Navigate to the /images folder (cd <folder path>)
- Delete any old images being used (rm –r <dirname>)
- Pull Needed image from Archive Directory from the external drive (Copy + Paste to NetworkImages)
- Navigate to the NetworkImages Directory
- Copy the image you want to use (cp –r <dirname>)
- Set the permissions for everyone to read/write/execute (chmod 777 <dirname)
- Review the folder contents using ls –l and make sure its highlighted green
- Set task in FOG using correct image
- 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.