11.3. The ESX Server Boot ProcessSeveral boot loaders are used on Linux systems, such as the Grand Unified bootloader (GRUB) and the Linux Loader (LILO). ESX uses LILO as the boot loader and has system components that expect the presence of LILO as the boot loader, so don't replace LILO with another boot loader, or your server may experience problems. The configuration parameters for the bootloader are contained in /etc/lilo.conf in a human-readable format, but the actual bootloader is stored in a binary format on the boot sector of the default boot disk. This section explains the boot process of ESX Server, as well as how to load the VMkernel and configuration files. 11.3.1. High-Level Boot Process for ESX Server
11.3.2. Detailed Boot ProcessAs you can see in Figure 11.3, esx is the default boot image that loads automatically after the timeout period. This is actually configured in the /etc/lilo.conf file shown in Figure 11.4 on the line default=esx. The Linux kernel for the Service Console is loaded in the lowest part of memory when it is started and occupies the amount of memory specified during the installation of ESX Server. If you look at the line in the /etc/lilo.conf file shown in Figure 11.4 that reads append="mem=272M cpci=0;*;1:*;2:*;3:*;6:*;". This shows that the Service Console occupies the first 272MB of memory on the server. Figure 11.5 shows a screen shot from the MUI where the Reserved Memory is set in the Options|Startup Profile for the server. If the Reserved Memory option is changed in the MUI, it will update the /etc/lilo.conf file and write those changes to the Master Boot Record/Boot Sector in binary format. Figure 11-3. The LILO Boot MenuFigure 11.4 shows a typical /etc/lilo.conf file for ESX Server. Figure 11-4. Contents of /etc/lilo.confFigure 11-5. Setting Service Console Memory in the MUI11.3.2.1. The Start-up ProcessThe start-up process consists of the following steps:
Figure 11-6. A Section of the /etc/inittab File That Shows RunlevelsThe purpose of /etc/rc.d/rc.sysinit is to initialize the system by performing the following actions:
Figure 11.7 displays the entries in the /vare/log/boot.log file that show rc.sysinit activities during the booting up of ESX Server. The grep command was used to show only log entries containing rc.sysinit. Figure 11-7. Output for the boot.log File Using the grep Command to Show Entries for Only rc.sysinitThe rc script executes all the S scripts located in the directory of the default runlevel, which for ESX Server is /etc/rc.d/rc3.d (runlevel 3), shown in Figure 11.8 All scripts that start with "S" are executed in numbered order starting from lowest to highest. For example, S00vmkstart runs before S10network, which runs before S11vmware, and so on. The scripts shown in Figure 11.8 are really symbolic links to the actual scripts that reside in the /etc/rc.d/init.d directory. For users unfamiliar with Linux, a symbolic link is similar to a shortcut in Windows. It is a file that points to another file or directory in a different location. Also, notice the scripts that start with "K." These are symbolic links to the scripts that are called during a shutdown, reboot, or when changing the runlevel to stop running daemons/services in an orderly manner. Figure 11-8. Contents of the /etc/rc.d/rc3.d DirectoryFigure 11.9 displays the output of the ls l command, which shows the actual location that the symbolic links point to in the /etc/rc.d/rc3.d directory. Figure 11-9. Command Output Showing the Location to Which Symbolic Links Are Pointing11.3.2.1.1. Important Scripts for Runlevel 3The S10network script performs the following actions:
Figure 11.10 shows the contents of /etc/sysconfig/network-scripts/ifcfg-eth0.
Figure 11-10. The Contents of /etc/sysconfig/network-scripts/ifcfg-eth0 Service Console InterfaceThe S11vmware script performs the following actions:
Figure 11-11. The Contents of the /etc/sysconfig/network FileS12syslog starts syslogd daemon, which is governed by /etc/syslog.conf. The default logging directory for VMkernel is /var/log, while VMware-specific log files start with vmk. All VMware services use local6 for their facility name to log traffic. The VMware logging configuration in /etc/syslog.conf is shown in Figure 11.12 Figure 11-12. A Section of the /etc/syslog.conf File that Contains VMware Logging DetailsS55sshd starts the secure shell daemon governed by /etc/ssh/sshd_config. This daemon is what allows remote Secure Shell logins and manages those connections.
S56xinetd script starts the xinetd daemon which is governed by /etc/xinetd.conf. This daemon runs other daemons on demand when they are required. This helps conserve system resources by not running unneeded daemons until they are required. The way it achieves this is by listening for incoming port requests that it has specific knowledge of and launches the required daemon to service the incoming request. This includes vmware-serverd, vmware-ccagent (Virtual Center), and when starting Remote Console sessions. The vmware-serverd daemon interacts with the MUI, while vmware-ccagent interacts with the MUI and Virtual Center (VC) if ESX Host is managed by VC.
S91httpd.vmware script starts the MUI Web server. The MUI server uses the Apache Web server to service MUI sessions. The Web server then communicates with vmware-serverd or vmware-ccagent (Virtual Center) to retrieve the required information from ESX Server.
|