Category Archives: System Administration

Oracle removes gnome packages from its database requirements

As a sysadmin I try to make sure my servers will have the minimal installation needed in order for them to work. In most cases this policy works fine, but some applications depend on too much unneeded software like GUI or sound packages.

Two years ago I wrote about “Why does Oracle’s applications needs xscreensaver in order to run ?“. It seems that finally things have changed.

In it’s latest version of the 10g r2 release notes (B15666-14), Oracle dropped the control-center and gnome-libs packages from the software requirements. This change is only relevant for RHEL5, as the list for RHEL4 (x86_64) haven’t changed except from dropping xscreensaver and adding some other packages.

Notice that for RHEL5, 3 packages were added in order to let the installer display it’s graphical interface:

  • libXp-1.0.0 (i386)
  • libXt-1.0.2 (i386)
  • libXtst-1.0.1 (i386)

I’m glad to see Oracle update it’s software requirements as a lot of people in the databases world are afraid to make changes which are against the official documentation, regardless of how wrong it might be.

Leave a comment

Filed under Proprietary software, Red Hat Enterprise Linux, System Administration

Network bonding types and configuration in Linux

A few days after the first time I created a network bonding device in Linux, I had to create two network bonding on the same machine.

Sounds simple, but it seems that be default you can create only one device. As I tried to figure how to create two devices, I had a chance to investigate a bit on the issue of network bonding.

While the setting in /etc/sysconfig/network-scripts are quite simple and straight forward (see the RHEL References guide – Channel Bonding Interfaces), the settings in /etc/modules.conf hold some options to choose from.

First, we need to have a line the says that the device is a bonding device, so the the bonding module will manage it: alias bondX bonding

Most how-to also sugget to add the following line: options bond0 mode=0 miimon=100 or options bond0 mode=1 miimon=100

But the mode parameter has a meaning that the system administrator should choose:

  • Mode 0 or balance-rr is the Round-robin policy which gives fault tolerance and load balancing. This mode sends are receives package on each node in a sequential order. So the load is distributed on all NICs.
  • Mode 1 or active-backup which gives only fault tolerance without load balancing. This modes sends all packets through the one active slave. The slave changes only if the active slave fails.

Other, more advanced modes are documented in the Kernel documentation at Documentation/networking/bonding.txt and the RHEL References guide – bonding Module Directives.

Returning to my original issue – creating two network boding devices. By default the bonding module let you create only one bonding device, adding the line options bonding max_bonds=2 to /etc/modules.conf lets you (after reloading the driver) to make two bonding devices.

Notice that this time the options are for the bond module and not for a specific alias of the module.

RHEL5, lets you change the bonding options in the bond config file (e.g. /etc/sysconfig/network-scripts/ifcfg-bondo), with the BONDING_OPTS variable: BONDING_OPTS="mode=1 miimon=100".

On RHEL4, you can achive the same goal with these settings in /etc/modules.conf:

alias bond0 bonding
options bond0 -o bond0 mode=1 miimon=100
alias bond1 bonding
options bond1 -o bond1 mode=0 miimon=50

as it causes the bonding module to be loaded twice and alias each one of the differently.

On RHEL machines you’ll need the iputils packages, which has /sbin/ifenslave to add the slaves to the bond when the are configured.


Filed under Red Hat Enterprise Linux, System Administration

Speed Up Multiple SSH Connections to the Same Server

Don Marti writes at linuxjournal about howto Speed Up Multiple SSH Connections to the Same Server.

This seems very usefull – so enjoy.

Leave a comment

Filed under System Administration

Why using Apache and mod_jk to redirect ports to Jboss/Tomcat ?

I’ve seen a lot of machines running both Apache with mod_jk just to redirect ports to Jboss/Tomcat or another Java application server. As most of the Java AS have a built in HTTP server and can “talk” with that protocol, I can just let them run on the web (80) port and save me the extra configuration and memory Apache needs.

While this solution works fine, we should bear some things in mind:

  1. This solution requires running the Java AS as root, otherwise it can’t use a port lower than 1024. Running as root have some security implications.
  2. This means we can’t run regular websites on the server, as everything is handled by the Java AS.
  3. We can’t use Apache to load balance the Java AS (if we have more than one)
  4. We can’t run several Java AS on the same machine.
  5. We usually keeps the control on the AS for the system administrator, while running the AS as a separate user lets us pass the control to someone else.

So after seeing all the disadvanteges of not using Apache and mod_kl, I decided it worth the extra configuration and memory (:


Filed under Free software applications, System Administration

kSar – Fixing bugs (almost) online

While working with kSar to visulize sar’s statistics, a friend found a bug with kSar.

Most IT people don’t think they can have access to the developers, I reminded my friend that we’re dealing with an open source application and we should report a bug or at least check the bug with the develpers.

He wrote a message in the kSar forums, and the answer, in the form of a new minor version came 4 hours later. We testing the fix and were very happy.

I can just hope all my bugs will be solved so quickly (:

So, please don’t be shy about your problems with free software. Most developers will be happy to get a good bug report and help you. I believe that’s specially true about developers of small applications who are just happy to hear people are using their software.

Leave a comment

Filed under Free software applications, Proud to use free software, QA stuff, System Administration

Visualizing SAR’s data

When you build a server architecture for a project, your often want to test the performance afterwards. That’s true especially when the only way to know the application needs is to test them.

Most distributions  already come with the needed tools to measure your performance of the operating system with tools like top, free, vmstat, iostat, mpstat and sar. The latter is usually configured to run periodically through cron to collect statistics all the time.

But when you want to analyze the data, creating a graph is much better way to do it. I found two ways to do that easily:

  1. Using kSar, which reads the sar files and lets you choose which graph to show. As this is a java application its platform independent and can be using everywhere.
  2. Using sar2rrd and RRDTool.

I used the first method as it lets the user creates the graphs with a GUI, and makes my life easier. kSar also support creating a PDF report from the raw data, and thus lets the user/me to send an easy report for others to review.

If you need to follow graphs for many systems over time, I would advise you to install Cacti, which collects the data and summarize it nicely with a web intreface.


Filed under Free software applications, System Administration

To separate or not to separate (the file systems)?

I have to handle some machines of commercial places which has a different standards about thier installations. The main difference is about creating a lot of file system instread of the normal few familiar in most distributions (/, /usr, /var, /tmp, /home).

While they create a FS for each product installed on the machine (a habit taken from UNIX when they didn’t have any meaning of installation other than copying files), they also separate the variale files (e.g. logs or other very active files) of each product.

I’m trying to change these standards to be more close to the FHS (and use the advantenges of RPM/DEB), but one of the main questions I get is what will happen when the FS reach 100%. When everything is separated one product can’t affect another, but that costs with a lot of sysadmin overhead. Leaving everhing variale in /var makes things easy, but hold some risk.

I’d be happy to hear what other sysadmins chose to do…


Filed under System Administration