.
contact contact

Eloquence B.06.32 release notes

 
.
 

Linux Platform Installation Notes

Eloquence B.06.32 requires a license key version B.06.32 or above. For a new Eloquence installation or when upgrading from a previous Eloquence version a new license key must be obtained to use the Eloquence server components. To ease the update from a previous HP Eloquence release, a key revision of A.06.31 is accepted as well.

The default license file includes a license key for the Eloquence Personal Edition. Please request a new permanent license key using the form included with the delivery or refer to the Eloquence web site at URL http://eloquence.marxmeier.com/license.

Eloquence for the Linux platform is available in separate packages for glibc based Linux systems and a separate build for RedHat 8.x.

glibc2.2 based systems

Recent Linux distributions (such as SuSE 8.x or RedHat 7.x) are based on the glibc2.2 library and it is recommended to use the Eloquence glibc2.2 package for installation.

Please make sure that at least following shared library versions are installed:

  • glibc 2.2.5
      libc.so.6
      libm.so.6
      ld-linux.so.2
    
  • ncurses
      libncurses.so.5.2
    
  • libstdc++
      libstdc++-libc6.2-2.so.3
    
Eloquence provides its own copy of the following libraries in the /opt/eloquence6/lib directory:
  • libstdc++-libc6.2-2.so.3
Those libraries have been included to solve compatibility problems with various Linux distributions using possibly incompatible versions of those libraries. These libraries can be removed to make use of the shared library installed on the system.

Eloquence B.06.32 has been compiled with gcc2.95.3 for the glibc2.2 build.

glibc2.1 based systems

For compatibility with previous Linux distributions (such as SuSE 7.x or RedHat 6.x) a glibc2.1 based build is available.

Please make sure that at least following shared library versions are installed:

  • glibc 2.1.2
      libc.so.6
      libm.so.6
      ld-linux.so.2
    
  • ncurses
      libncurses.so.4.2
    
  • libstdc++
      libstdc++-libc6.1-1.so.2
    
Eloquence provides its own copy of the following libraries in the /opt/eloquence6/lib directory:
  • libncurses.so.4.2
  • libstdc++-libc6.1-1.so.2
Those libraries have been included to solve compatibility problems with various Linux distributions using possibly incompatible versions of those libraries. These libraries can be removed to make use of the shared library installed on the system.

Eloquence B.06.32 has been compiled with egcs-1.1.2 for the glibc2.1 build.

libc6 (glibc2.0) based systems

For compatibility with older Linux distributions (such as SuSE 6.x or RedHat 5.x) a glibc2.0 based build is available.

Please make sure that at least following shared library versions are installed:

  • glibc 2.0.7
      libc.so.6
      libm.so.6
      ld-linux.so.2
    
  • ncurses
      libncurses.so.4.2
    
  • libstdc++
      libstdc++.so.2.9
    
Eloquence provides its own copy of the following libraries in the /opt/eloquence6/lib directory:
  • libncurses.so.4.2
  • libstdc++.so.2.9
Those libraries have been included to solve compatibility problems with various Linux distributions using possibly incompatible versions of those libraries. These libraries can be removed to make use of the shared library installed on the system.

Eloquence B.06.32 has been compiled with egcs-1.1.2 for the glibc2.0 build.

RedHat 8.x based systems

Due to incompatibilities with the glibc version used with RedHat 8.x a separate build has been created.

This build is considered experimental and is intended for testing purposes only, there are known problems with Eloquence on RedHat 8.0

  • eloqdb6 crashes with a segmentation violation (SIGSEGV) when reverse dns lookup is enabled. As a workaround, make sure to set NODNS=1 in the eloqdb6.cfg configuration file (this is the default as of B.06.32). This might be a problem related to the glibc version used in RedHat 8.0 and does not happen with other glibc versions.

  • eloqcore encounters unexpected SIGIO signals. Eloqcore uses the SIGIO signal to get a notification of pending keyboard (or TIO and network) events. On RedHat 8.0 a SIGIO is also encountered when writing to stdout. This causes a performance degradation and may result in subsequent failures due to corner cases (a previously encountered problem was the tty configuration not properly restored when exiting eloqcore). This might also affect eloqdb6. This might indicate a problem in the Linux kernel as used in RedHat 8.0 and does not happen with other Linux distribution.

This Eloquence B.06.32 build has been compiled with gcc3.2 and depends on the glibc2.2.93.

Linux kernel version

Eloquence should work with any Linux kernel version 2.0 and above. You are encouraged to use the latest stable kernel version which fits four your installed system. New kernel versions include bug fixes, updated drivers and security fixes. Your distribution should provide an updated kernel package which fits for your base system.

We do not recommend to use early Linux 2.4 kernels (before version 2.4.6) in production environments. Database corruption has been reported when using early Linux 2.4 kernel versions.

For new installations, a recent glibc2.2 based distribution (such as SuSE 8.x or RedHat 8.x) is recommended.

Future Eloquence releases will no longer support glibc2.0 based systems and Linux kernel versions below 2.2.

Installation

Eloquence is available as a rpm package. The rpm package is not specific to a particuar Linux distribution however it has only been tested against SuSE and RedHat distributions. If you encounter a problem during installation, please send us a notice at support@marxmeier.com.

Please check the Eloquence web site for updates and patches.

Note: Any previous HP Eloquence product (B1368B) must be uninstalled before Eloquence can be installed. A rpm update is not possible. Please refer to the update section below for details.

To install Eloquence execute the command below:

   rpm -i Eloquence-B0632.glibc2.2-*.i386.rpm

To update an existing Eloquence installation, please shut down Eloquence and execute the commands below:

SuSE Linux 7.1 and above:
/etc/init.d/eloq6 stop
rpm -U Eloquence-B0632.glibc2.2-*.i386.rpm 
/etc/init.d/eloq6 start
SuSE Linux before 7.1:
/sbin/init.d/eloq6 stop
rpm -U Eloquence-B0632.glibc2.1-*.i386.rpm
/sbin/init.d/eloq6 start
RedHat Linux:
/etc/rc.d/init.d/eloq6 stop
rpm -U Eloquence-B0632.glibc2.2-*.i386.rpm 
/etc/rc.d/init.d/eloq6 stop
Installation of automatic startup of Eloquence servers during boot is only performed for SuSE, RedHat and LSB copliant distributions. If you are using another Linux distribution, you need to add the start and shutdown scripts manually. Template files are provided in the directory /opt/eloquence6/newconfig/startup.

Note for RedHat 6.x:
The startup script requires bash2 which is not installed by default on RedHat 6.x. In order to get the script working on RedHat 6.x, installation of bash2 is required (bash2-2.03-8.i386.rpm) and the first line of the startup script /etc/rc.d/init.d/eloq6 must be changed to refer to /bin/bash instead of /bin/sh: #!/bin/bash2

Updating from a previous Eloquence version

When updating from a previous Eloquence release the following actions should be performed in additon to updating the software.

Eloquence cannot update a previous HP Eloquence installation. Eloquence uses a different package name than previous HP Eloquence releases and cannot be installed without uninstalling any previous HP Eloquence release.

To uninstall a previous HP Eloquence release, execute the command below:

   rpm -e B1368B
This will remove the HP Eloquence product but leaves the configuration files in place.

License key

Eloquence B.06.32 requires a license key version B.06.32 or above. For a new Eloquence installation or when upgrading from a previous Eloquence version a new license key must be obtained to use the Eloquence server components. If you are using the commercial Eloquence version, please request the appropriate license key before updating Eloquence. Currently no temporary license key is generated on the Linux platform during installation.

The new license key can be requested by either submitting the Form enclosed with your software update or on-line at the Eloquence web site: http://eloquence.marxmeier.com/license.

Please comment out the previous license key when adding the new B.06.32 license key to your license file /etc/opt/eloquence6/license. Otherwise the new license may not be recognized and chklic might output a message like below:

  A.06.30: Bad license key revision.
  Duplicate sequence number: Ignoring license

Eloquence Personal Edition

With the Eloquence Personal Edition, please copy the B.06.32 license file template to /etc/opt/eloquence6/license. The new license file includes an updated license key for the Eloquence Personal Edition.
cp /opt/eloquence6/newconfig/config/license /etc/opt/eloquence6/license

Startup configuration

The B.06.32 startup script provides additional configuration options and uses a new startup configuration file template which supports multiple eloqdb6 instances. Previous startup configuration files are compatible. It is recommended to use a new template configuration file and manually change any options.

The default startup configuration file is /etc/sysconfig/eloquence6

cp /opt/eloquence6/newconfig/startup/eloquence6 /etc/sysconfig/eloquence6
The following locations are supported. During installation if a previous startup configuration file is recognized, it is moved to the new location.
  • RedHat Linux:
    • /etc/sysconfig/eloquence6

  • SuSE Linux:
    • /etc/sysconfig/eloquence6 (SuSE 8.0+)
    • /etc/rc.config.d/eloquence6 (up to SuSE 7.3)

Ext2 filesystem performance in sync write mode

The algorithm used by the ext2 filesystem for syncing buffers to disk is inefficient for big files in Linux kernel versions before 2.4. When using the eloqdb6 in sync write mode (which is the default now) this may cause delays and the system may seem to stall for a few seconds when eloqdb6 performs a checkpoint operation (by default every 60 seconds). This gets noticeable when the database volume files grow beyond 300 MB and gets worse the bigger the files get.

The solution is to use a larger block size for the ext2 filesystem which holds the database.

File system block size

The eloqdb6 database server always accesses the volume files in 8 KB block units. Those read or write requests can be combined to access up to 64 KB at a time.

Classical UNIX file systems are usually organized in blocks. The file system block size can be choosen at file system creation time (eg. on Linux by using the -b 4096 command line argument to mk2efs would result in a 4KB block size). For the Linux ext2 file system, the default block size used to be 1 KB for older distributions. The current mk2efs uses a block size of 4 KB.

In order to maintain your data on the disk, the operating system maintains additional information where your data is located on disk. When files get bigger so does the overhead to keep track where your data is located.
Enlarging the file system block size greatly reduces the amount of overhead required to maintain your data if you use big files (as eloqdb6 does) at the expense of using slightly more disk space for small files.

In addition to the data blocks (holding the file contents) additional information is maintained where the data blocks are actually located on the disk. When the file size exceeds a trivial size, the location of the data blocks is also maintained in a separate block on disk (indirect blocks - which the OS also needs to keep track of). At some point (depending on file size and block size) you need blocks that specify the location of blocks that specify the location of your data on disk (double indirection). At this point maintaining this information becomes a factor when reading or writing the database.

While a block size of 8 KB would be a "perfect fit", the max. usable block size depends on the architecture (processor). On the x86 this is 4 KB. We recommend to specify a block size of 4 KB for the Linux platform to create a file system dedicated to hold your database.

 
 
 
  Privacy | GDPR / DSGVO | Webmaster | Terms of use | Impressum Revision: 2003-02-14  
  Copyright © 1995-2024 Marxmeier Software AG