11.2. Understanding the ESX Server File and Directory Structure
Whether you are working at the physical ESX Server Service Console or connecting to the Service Console remotely, you need to know several things about navigating the directory structure and accessing specific files that are critical to the function of ESX Server. This section covers the directory structure of the Service Console. Understanding the location of directories and configuration files will help you in configuring, troubleshooting, and maintaining ESX Server.
11.2.1. The Service Console Directory Structure
The directory structure of the Service Console contains many of the usual Linux directories, plus a few additional directories that are recommended for, or created by, the ESX Server installation. A typical directory structure for your ESX Server Service Console is shown in Figure 11.1 VMware recommends creating separate partitions for /, /boot, /home, /tmp, /var, and /vmimages. This helps isolate problems in the event that any of these partitions become full, and keeps them from overwriting files in the root file system. The purpose of several of these directories is explained in this section. Your directory structure may look a little different from the one shown in Figure 11.1, depending on which partitions or directories you created for storing ISO images, templates, and virtual machine configuration files.
Figure 11-1. The Service Console Top-Level Directories
The functions of the directories of the Service Console are described in the following section.
- /bin Contains system binaries and executables for the system.
- /boot Contains the Linux kernel for the Service Console.
- /dev Contains device files for the system. Each device on your system is represented by a file. If you look under the Filesystem column in Figure 11.2, you'll see all the partitions that exist on the system. These partitions reference /dev/sda1 and /dev/sda2, both of which are device files for partitions that exist on the first SCSI drive in the system. The whole drive would be referenced by /dev/sda.
- /etc Contains configuration files and run-level scripts that are executed at system boot.
- /home Should contain home directories for Virtual Machine Administrators and the configuration files for virtual machines. See the sidebar titled VMware Best Practices.
- /initrd Temporary mount point for initial ramdisk used during system boot. It is empty after startup.
- /iso A recommended partition and mount point that can be used for storing ISO images that will be used by virtual machines
- /lib Contains library files and modules needed by the kernel and other root-level commands located in /bin and /sbin. Similar to DLL files in the Windows System32 Folder.
- /lost+found Contains orphaned or lost file fragments that could result from a system crash or power failure.
- /mnt Generally used as the mount point for other file systems like the floppy drive, CD-ROM, or the partition.
- /opt Not used by ESX Server.
- /proc Though not actually a file system that is stored on disk, it exists in memory similar to a ramdisk and contains real-time performance and configuration data for the server.
- /proc/vmware Contains VMware-specific configuration data and performance statistics.
- /root The home directory of the root user.
- /sbin Contains utilities used by the root user to perform system maintenance and system administration, as well as files needed for the boot process
- /tmp Location where temporary files are stored.
- /usr Contains applications and configuration files that are available systemwide.
- /var Contains files that can vary in size.
- /var/log Subdirectory of /var that contains system log files.
- /vmfs A convenient pointer to the vmfs file system managed by the VMkernel.
- /vmimages Used to store ISO images or virtual machine templates for non-virtual-center environments. It is recommended that it be a separate partition and mount point.
Figure 11.2 displays the output of the vdf h command. This command displays each partition and their mount points, as well as the size, used space, and available space. This is an excellent command for checking disk space availability.
Figure 11-2. Output of the vdf h Command
|Designing & Planning…|
VMware Best Practices
VMware recommends storing configuration files in the home directory of the user who is responsible for managing the virtual machine or creating a directory structure which logically organizes the configuration files for the users or groups who will manage the virtual machines. Example: You are the server administrator for two virtual servers that are running Exchange 2003. You thus create a home directory on the ESX Server located in /home/exchadmin. Under the /home/exchadmin directory, you have two additional directories called /home/exchadmin/exchsrv02 and /home/exchadmin/exchsrv02 which contain the configuration files for your virtual servers (for instance, .vmx, nvram, .log, and so on).
This allows you to log in to the ESX MUI or the Service Console and perform management activities on your virtual machines without having to log in as root. Also remember that the file system is case sensitive, so it will make life easier on you if you create the directories in all lowercase and don't use spaces in your directory names. You will also want to create a group and assign it the appropriate permissions on the VM directories so that users who are members of those groups will also have the ability to manage the virtual machines.
18.104.22.168. Critical ESX Server Configuration Files
The following files are important to the configuration of ESX server, so you should be aware of their location and purpose in the event you need to reconfigure settings or troubleshoot your system:
- /etc/lilo.conf The default boot parameters of your ESX Server.
- /etc/inittab Governs the initialization of the server by setting the default runlevel and controlling the vmkstatus and mingetty utilities.
- /etc/resolv.conf Contains the DNS Server settings.
- /etc/sysconfig/network-scripts/ifcfg-eth0 Holds the Service Console network card settings (that is, the IP address and subnet mask); can also contain the default gateway address of Service Console.
- /etc/sysconfig/network The default gateway and hostname of the Service Console.
- /etc/hosts Host file; needs to be updated if the hostname of the Service Console is changed.
- /usr/lib/vmware-mui/apache/conf/httpd.conf Contains the value "ServerName," which needs to be updated if the server name is changed.