Network Deployment

From ubermix Wiki
Jump to: navigation, search

While the USB-based deployment method is fast and efficient for deployments within reasonable geographic reach, network managers with larger deployments over wider geographic areas may seek a more managed approach to deploying ubermix. For those users, we have created a solution that works with any PXE (Preboot Execution Environment), with particular integration/support for the open source Fog imaging solution. The install typically requires less than 6 minutes, and can be remotely applied to any registered workstation. Keep in mind that Fog is NOT required - this will work with any PXE environment/solution - however a strong familiarity with PXE and your deployment tool will be required to deploy it. We do, however, recommend Fog, as we have added the necessary code to provide full support for the Fog management interface.

Note: The following instructions are not intended for novice users, but for advanced users with extensive familiarity with their PXE-based imaging/deployment solution. They assume that you already know how to install and use your deployment solution, and clearly understand the design and function of that solution, as well as the surrounding technologies, such as TFTP, NFS, kernel parameters, etc. Since these technologies are well beyond the scope of this document, they will not be covered in any detail here.

Instructions for any PXE environment, as well as Fog specific instructions are below. Fog users can skip to the Fog section.

Instructions for use in any PXE environment

Essentially, what we are providing is an initrd that performs the functions of the USB installer, but is designed to pull the image from an NFS share instead of a USB key. It will work with any PXE solution that enables the use of an alternate initrd declaration. Obviously, to set this up you must have an NFS share available to deploy the files, and a working PXE environment. This environment can be built on something so simple as a TFTP server and PXE menus, so long as you understand how these technologies actually work.

First thing you will need is an NFS share to store the files. Chances are, you already have one of these if you are using PXE, but if you don't, set one up.

Next, download the initrd image: File:Uberinitrd.gz Place the initrd in your TFTP boot folder, along side any other initrd files you might have there.

The initrd expects specific parameters to function properly, so you'll want to be sure to set them properly in your PXE menus and/or via whatever mechanism your imaging solution uses. The initrd string should look as follows:

initrd=uberinitrd.gz storage=10.5.1.65:/images/ img=ubermix nofog

Keep in mind that these will need to be adjusted to fit your environment. Descriptions of the flags are as follows:

  • initrd=uberinitrd.gz: Defines the initrd to use when booting the workstation. Keep in mind that the path may need to be adjusted to fit your environment
  • storage=10.5.1.65:/images/: This defines the location of the NFS share that stores all the images your are using
  • img=ubermix: The name of the subfolder on the NFS share that houses the ubermix image files. You can have as many ubermix images as you want, so long as you place them in different subfolders and adjust the img flag appropriately.
  • nofog: Tells the initrd to not perform the final update steps, which essentially notify a fog server that the task is complete.

Finally, create the appropriate subfolder in your NFS share and copy all of the files from your ubermix key to that folder.

Keep in mind that this process does not do simple updates, so for any customizations to a default ubermix install, you will want to follow the instructions under "Rebuilding the base image" on the Customization page.


Instructions for Fog users

Ubermix is very easy to deploy from a functioning Fog server. To deploy ubermix, do the following:

  1. Download the initrd image: File:Uberinitrd.gz
  2. Copy the uberinitrd.gz file to /tftpboot/fog/images/ on your server
  3. Use the Fog console to create a new image (just as you would for any other image) and name it something that makes sense for the image you intend to create. Leave the rest of the settings at their defaults.
  4. Create a subfolder under /images on your Fog server with the same name as the image you created in step 3 above
  5. Copy the entire contents of the key to the subfolder you created in step 4

You're now ready and able to apply the image to as many machines as you want. To apply an image, register the machine as you ordinarily would and assign it the image you just created, but do not tell Fog to image the machine on reboot. We need to make a change in the Fog console first, as follows:

  1. Open up the host record in the Fog console and change the "Host kernel arguments" to "initrd=fog/images/uberinitrd.gz" (no quotes) and click "Update"
  2. Click on "Basic Tasks" then "Deploy" to set the machine for imaging
  3. Reboot the machine, and it will set itself up.

Keep in mind that this process does not do simple updates, so for any customizations to a default ubermix install, you will want to follow the instructions under "Rebuilding the base image" on the Customization page.