Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2. Deployment

Upstart
In Red Hat Enterprise Linux 6, init from the sysvinit package has been replaced with Upstart, an event-based init system. This system handles the starting of tasks and services during boot, stopping them during shutdown and supervising them while the system is running. For more information on Upstart itself, refer to the init(8) man page.
Processes are known to Upstart as jobs and are defined by files in the /etc/init directory. Upstart is very well documented via man pages. Command overview is in init(8) and job syntax is described in init(5).
Upstart provides the following behavioral changes in Red Hat Enterprise Linux 6:
  • The /etc/inittab file is deprecated, and is now used only for setting up the default runlevel via the initdefault line. Other configuration is done via upstart jobs in the /etc/init directory.
  • The number of active tty consoles is now set by the ACTIVE_CONSOLES variable in /etc/sysconfig/init, which is read by the /etc/init/start-ttys.conf job. The default value is ACTIVE_CONSOLES=/dev/tty[1-6], which starts a getty on tty1 through tty6.
  • A serial getty is still automatically configured if the serial console is the primary system console. In prior releases, this was done by kudzu, which would edit /etc/inittab. In Red Hat Enterprise Linux 6, configuration of the primary serial console is handled by /etc/init/serial.conf.
  • To configure a getty running on a non-default serial console, you must now write an Upstart job instead of editing /etc/inittab. For example, if a getty on ttyS1 is desired, the following job file (/etc/init/serial-ttyS1.conf) would work:
    # This service maintains a getty on /dev/ttyS1.
    
    start on stopped rc RUNLEVEL=[2345]
    stop on starting runlevel [016]
    
    respawn
    exec /sbin/agetty /dev/ttyS1 115200 vt100-nav
    
As in prior releases, you should still make sure that ttyS1 is in /etc/securetty if you wish to allow root logins on this getty.
There are some features from prior releases that are not supported in the move to Upstart. Among these are:
  • Custom runlevels 7, 8 and 9. These custom runlevels can no longer be used.
  • Using /etc/shutdown.allow for defining who can shut the machine down.
System z Performance
Some of the default tunables in Red Hat Enterprise Linux 6 are currently not optimally configured for System z workloads. Under most circumstances, System z machines will perform better using the following recommendations.
Dirty Ratio
It is recommended that the dirty ratio be set to 40 (Red Hat Enterprise Linux 6 default 20) Changing this tunable tells the system to not spend as much process time too early to write out dirty pages. Add the following line to /etc/sysctl.conf to set this tunable:
vm.dirty_ratio = 40
Scheduler
To increase the average time a process runs continuously and also improve the cache utilization and server style workload throughput at minor latency cost it is recommended to set the following higher values in /etc/sysctl.conf.
kernel.sched_min_granularity_ns = 10000000
kernel.sched_wakeup_granularity_ns = 15000000
kernel.sched_tunable_scaling = 0
kernel.sched_latency_ns = 80000000
Additionally, deactivating the Fair-Sleepers feature improves performance on a System z machine. To achieve this, set the following value in /etc/sysctl.conf
kernel.sched_features = 15834234
False positive hung task reports
It is recommended to prevent false positive hung task reports (which are rare, but might occur under very heavy overcommitment ratios). This feature can be used, but to improve performance, deactivate it by default by setting the following parameter in /etc/sysctl.conf:
kernel.hung_task_timeout_secs = 0
irqbalance service on the POWER architecture
On POWER architecture, the irqbalance service is recommended for automatic device Interrupt Request (IRQ) distribution across system CPUs to ensure optimal I/O performance. The irqbalance service is normally installed and configured to run during Red Hat Enterprise Linux 6 installation. However, under some circumstances, the irqbalance service is not installed by default. To confirm that the irqbalance service is running, execute the following command as root:
service irqbalance status
If the service is running, command will return a message similar to:
irqbalance (pid  1234) is running...
However, if the message lists the service as stopped, execute the following commands as root to start the irqbalance service:
service irqbalance start
chkconfig --level 345 irqbalance on
If the output of the service irqbalance status command lists irqbalance as an unrecognized service, use yum to install the irqbalance package, and then start the service.
yum install irqbalance
service irqbalance start

Note

The system does not need to be restarted after starting the irqbalance service
Setting the console log level
Use of the LOGLEVEL parameter in /etc/sysconfig/init to set the console loglevel is no longer supported. To set the console loglevel in Red Hat Enterprise Linux 6, pass loglevel=<number>' as a boot time parameter.
Upgrading from previous pre-release versions
Upgrading to Red Hat Enterprise Linux 6 from Red Hat Enterprise Linux 5 or from previous pre-release versions of Red Hat Enterprise Linux 6 is not supported. If an upgrade of this type is attempted issues may be encountered including upgrading Java/OpenJDK packages. To work around this, manually remove the old packages and reinstall.

2.1. Known Issues

  • When a system is configured to require smart card authentication, and there is no smartcard currently plugged into the system, then users might see the debug message:
    ERROR: pam_pkcs11.c:334: no suitable token available'
    
    This message can be safely ignored.
  • Red Hat Enterprise Linux 6 Beta features Dovecot version 2.0. The configuration files used by Dovecot 2.0 are significantly different from those found in dovecot 1.0.x, the version shipped in previous releases of Red Hat Enterprise Linux. Specifically, /etc/dovecot.conf has been split into /etc/dovecot/dovecot.conf and /etc/dovecot/conf.d/*.conf
  • Under some circumstances, the readahead service may cause the auditd service to stop. To work around this potential issue, disable the readahead collector by adding the following lines to the /etc/sysconfig/readahead configuration file:
    READAHEAD_COLLECT="no"
    READAHEAD_COLLECT_ON_RPM="no"
    
    Alternatively, the readahead package can be removed entirely.
  • An error exists in the communication process between the samba daemon and the Common Unix Printing System (CUPS) scheduler. Consequently, the first time a print job is submitted to a Red Hat Enterprise Linux 6 system via Server Message Block (SMB), a timeout will occur. To work around this issue, use the following command to create a CUPS certificate before the first print job is submitted:
    lpstat -E -s
    
  • Under some circumstances, using the rhn_register command to register a system with the Red Hat Network (RHN) might fail. When this issue is encountered, the rhn_register command will return an error similar to:
    # rhn_register
    Segmentation fault (core dumped)
    or
    # rhn_register
    ***MEMORY-ERROR***: rhn_register[11525]: GSlice: assertion failed:
    sinfo->n_allocated > 0
    Aborted (core dumped)
    
    To work around this issue, set the following environment variable, then run the rhn_register command again:
    G_SLICE=always-malloc
    
  • If a user has a .bashrc which outputs to stderr, the user will be unable to sftp into their account. From the user's point of view, the sftp session is immediately terminated after authentication.

2.1.1. Architecture Specific Known Issues

2.1.1.1. System z
The minimum hardware requirement to run Red Hat Enterprise Linux Beta is IBM System z9 (or better). The system may not IPL (i.e. boot) on earlier System Z hardware (e.g. z900 or z990)
2.1.1.2. IBM POWER (64-bit)
  • When network booting an IBM POWER5 series system, you may encounter an error such as:
    DEFAULT CATCH!, exception-handler=fff00300
    
    If the path that locates the kernel and ramdisk is greater than 63 characters long, it will overflow a firmware buffer and the firmware will drop into the debugger.
    POWER6 and POWER7 firmware includes a correction for this problem. Note that IBM POWER5 series is not a supported system.
  • On some machines yaboot may not boot, returning the error message:
    Cannot load ramdisk.image.gz: Claim failed for initrd memory at 02000000 rc=ffffffff
    
    To work around this issue, change real-base from to c00000. Real-base can be obtained from OpenFirmware prompt with the printenv command and set with setenv command.
  • Remote installs on IBM BladeCenter JS22 servers may encounter the following error message:
    No video available. Your server may be in an unsupported resolution/refresh rate.
    
    To work around this issue, specify the following GUI parameters:
    video=SVIDEO-1:d radeon.svideo=0
    
  • Some HP Proliant servers may report incorrect CPU frequency values in /proc/cpuinfo or /sys/device/system/cpu/*/cpufreq. This is due to the firmware manipulating the CPU frequency without providing any notification to the operating system. To avoid this ensure that the "HP Power Regulator" option in the BIOS is set to "OS Control". An alternative available on more recent systems is to set "Collaborative Power Control" to "Enabled".
  • filecap crashes with a segmentation fault when run directly on an empty file. For example:
    # filecap /path/to/empty_file
    Segmentation fault (core dumped)
    
    To work around this, run filecap on the directory that contains the empty file, and search the results for the required information. For example:
    filecap /path/to/ | grep empty_file
    
  • A change in the package that the sos tool uses to determine the installed version of Red Hat Enterprise Linux will cause the tool to incorrectly identify the major release version. This adversely impacts a small number of non-default sos plugins and may cause incomplete information to be captured from the system when these plugins are enabled. The affected plugins are:
    • general (only when using the non-default all_logs option)
    • cluster (diagnostics may not be run)
    Users affected by this problem should retrieve any missing data manually from systems.