How do I set up an nfs, ftp or http share to host my Linux source files for a Deployment Solution for Dell Servers Scripted Install?
Performing scripted Linux installations is a bit more involved than scripted Windows installations. Network Linux installations require the OS source files to be available on a network share. This article explains how to set up your network so you can perform scripted installations using Linux. You'll be surprised by how well the Linux scripted installation process works. Once your network is properly configured, scripted installations of Linux are easy!
The general contents of this article are applicable to most distributions of Linux that support scripted network installations. Since Deployment Solution for Dell Severs only supports Red Hat Enterprise Linux and SUSE Enterprise Linux, I will focus on those.
The first step is to set up a network share. Most distributions of Linux support HTTP, FTP, or NFS. For HTTP or FTP we'll use Microsoft's IIS, but you can use any HTTP or FTP server.
Internet Information Services needs to be installed on the server hosting the files. This can be the same server as the Deployment Server and point to the [DS share]\Dell\OSSup directory where you can copy the source files using the Configuration Utility.
The HTTP Server can be accessed as either a web site or a virtual directory. If you set it up as its own web site, the files can be accessed directly from the IP address of the host server (e.g. http://192.168.0.100). If you set it up as a virtual directory of an existing web site, the files will be accessed as a directory off of the IP address (example: http://192.168.0.100/Linux). In our example we will set up a web site, and use the structure in the [DS share]\Dell\OSSup folder.
To set up a Web Site Using IIS
What steps 6 - 10 did is enabled the downloading of non-mime type files. Without doing this, your installations of linux will fail because they cannot download files.
Setting up an FTP server in Windows to access your Linux source files is fairly straight forward.
Internet Information Services needs to be installed on the server from which you are hosting the source files and the File Transfer Protocol (FTP) component needs to be installed along with it (this isn't installed by default). This can be the same server as the Deployment Server and point to the [DS share]\Dell\OSSup directory where you can copy the source files using the Configuration Utility. The source files can be accessed as its own FTP site (e.g. ftp://192.168.0.100), or as a virtual directory of an existing FTP site (e.g. ftp://192.168.0.100/Linux). In our example we will set up a FTP site, and use the structure in the [DS share]\Dell\OSSup folder.
To Set Up an FTP Site Using IIS
By default, anonymous access to the FTP server is allowed. However, you can require authentication to the server by right-clicking on the FTP Site in IIS and selecting properties. Click on the Security Accounts tab and uncheck the box labeled Allow anonymous connections.
To run an NFS server you will need a Linux server. Any distribution should work. You will need to download and install the NFS software if you do not already have it. The process of doing this is different for each distribution. Try using apt-get, yum, or another package manager to install the NFS software. A simple Internet search with your distribution name and NFS will probably lead you in the right direction.
directory computer1(optionA, optionB, ...) computer2(optionA, optionB, ...)
/share/rhel3as *(ro,sync)/share/rhel4as 192.168.(ro,sync)/share/rhel3es 192.168.0.0/255.255.255.0(rw,sync)/share/rhel4es 192.168.0.1(ro) 192.168.0.2(rw)
Editing your hosts.allow and hosts.deny files will help your server be more secure. Your NFS server should work even if these files are blank, but it is a good idea to add entries to theses files so unauthorized users can't access your system.
When a system first attempts to access the server, the server checks the hosts.allow file to see if the computer is listed there. If so, it is allowed access. If not, then the hosts.deny file is checked, and if the computer is listed there it is denied access. If the computer is not listed in either file then the computer is allowed access.
Simply list the service to allow, and the computers you want to allow.
portmap mountd nfsd statd lockd rquotad : 192.168.
This allows all computers with IP addresses that start with 192.168 to access the services listed.
ALL could be substituted to allow access for all computers.
List the services you want denied, and the computers you want denied.
This denies all computers from using the portmap service. Substituting 192.168. denies only those computers whose IP address starts with 192.168. Remember that the allow file is evaluated before the deny file, meaning even if you deny all computers from the portmap service, the ones in the allow file will still be allowed access.
All that should be required is restarting your server. The start up scripts should detect the changes made to your set up files and start the needed services. If you don't want to reboot your system, you can manually restart the applicable services. Again, this varies by distribution. I use the following script, it may or may not work for your distribution (I'm running Ubuntu Dapper Drake).
#!/bin/bashexportfs -ra /etc/init.d/portmap restart/etc/init.d/nfs-common restart/etc/init.d/nfs-kernel-server restartexit
If you run into problems, or if you need more information, search the Web for "NFS tutorial."
If you are hosting your source files on the deployment share you can use the configuration utility to copy the files. From the DS console click Tools > Dell Tools > Configuration Utility. Click the OS Deployment tab and select the OS you want to add files for and click the Copy button. If you have more than one CD you will be asked if you want to copy another CD each time the copy operation completes.
If you are not hosting your source files on the deployment share, or you don't want to use the Configuration Utility, you can simply use a utility such as Windows Explorer to copy the files. For Red Hat simply copy the entire first CD, and only copy the contents of the RedHat\RPMS folder of subsequent CDs (to avoid overwriting files and directories with the same name).
If the server hosting the OS source files is not the same as your Deployment Server, or you chose to store the files in a location other than the Deployment share, you will need to copy two files to the Deployment share. These files are used during the scripted installation process to load the OS and launch the install. The files needed depend on the OS. For Red Hat you need the files vmlinuz and initrd.img. For SUSE you need the files linux and initrd. These are also located in different places depending not only on the OS, but the CPU type. Here's a quick list:
|OS Type||Boot files location||Requires files|
|Red Hat Enterprise Linux 3 & 4, 32-bit & 64-bit||\isolinux||vmlinux, initrd.img|
|SUSE Enterprise Linux Server 10 32-bit||\boot\i386\loader||linux, initrd|
|SUSE Enterprise Linux Server 10 64-bit||\boot\x86_64\loader||linux, initrd|
The paths listed are relative to the root of the CD. The required files should be placed in the same directory structure as they are found on the CD. These files can be placed anywhere on the Deployment share, but by default the scripts point to [Deployment Share]\Dell\OSSup\[OS NAME] where [OS NAME] is RHEL, RHEL64, SUSE, or SUSE64. If you want to change this location you can use the OS Deployment tab in the configuration utility to do so.
For example, if we were setting up 32-bit RHEL, we'd copy vmlinuz and initrd.img from D:\isolinux (if D is my CD drive) to [Deployment share]\Dell\OSSup\RHEL\isolinux.
Note: The required files are specific to the version of the OS you are installing. Even though the file names are the same that doesn't mean you can use the same files for any version of Linux. You have to use the ones that are found on the CD of the version you are installing.
You can now use the Configuration Utility, Configuration Wizard or Job Builder to set up your Linux scripted installs and generate the corresponding jobs.
That should be all you have to do. Now you can just drag and drop the scripted installation job onto the system(s) you want to install Linux on and it should work. If something goes wrong run through these steps again to make sure you didn't miss anything.
Note: You may run into a small problem when installing Linux on a Dell 9th generation server. A combination of the way the Linux kernel iterates through devices at start up and the design of the 9g servers causes the network devices to be reversed (i.e. eth0 is nic2 and eth1 is nic1). As a result when the installer launches it may not be able to get an IP address or be able to connect to your OS source files server (because your answer file specifies eth0 as the interface to use during the install). A simple solution is to disable the second nic in the BIOS until the installation of the OS has completed. Many distributions of Linux have this problem including Red Hat, but I have never had this problem with SUSE.