Contents |
Overview
RPM Install
Building and Installing
Remaining work on this project
Support and Bug Tracking
Overview |
The DRLB LDM service is a front-end load balancer for the Unidata LDM
(Local Data Manager) protocol.
The DRLB LDM service uses your existing
ldmd.conf (plus include files) to allow or deny incoming client
requests to LDM product feeds. The DRLB LDM server listening on port
388 routes LDM requests and data to any number of back-end
clients. Each back-end client runs an LDM server. The ldmd.conf ALLOW
and ACCEPT rules are applied by the front-end load balancer. If the
incoming client request does not have matching ALLOW or ACCEPT rule
the front-end LB drops the client connection. If the client request
for a feed type does not match any ALLOW rules, with optional OK and
NOT patterns, the front-end LB drops the client connection. If a
client sends a product and the incoming product does not match any
ACCEPT rules the client connection is dropped. Client connections
meeting the ALLOW and/or ACCEPT criteria are forward on to a back-end
LDM server in accordance with the LB scheme. By using the front-end LB
to process initial LDM client requests we conserve CPU, memory, and
network resources on all back-end LDM servers. This methodology also
allows you to run the latest version of LDM on back-end clients
without having to delay upgrades due to clients running old versions
of LDM.
DRLB source code is distributed as an open source project under
the GNU general public license and can used by freely by commercial,
Government, and academic institutions.
RPM Install |
Latest pre-built RPMs are available for download:
RHEL9:
https://github.com/datareel/LDM-load-balancer/releases/download/1.63/drlb_ldm_server-1.63-1.el9.x86_64.x86_64.rpm
sha256sum: d8ae3f9fb49154c8b2f7ac6af0c9f0ffc5b9004579e5414a76ca42715158c4e2
RHEL8:
https://github.com/datareel/LDM-load-balancer/releases/download/1.63/drlb_ldm_server-1.63-1.el8.x86_64.x86_64.rpm
sha256sum: f443ad23106b7925bcb16eb924cbf92c598203e3edd73662d6c0a0a54ba26d2f
RHEL7/CENTOS7:
https://github.com/datareel/LDM-load-balancer/releases/download/1.62/drlb_ldm_server-1.62-1.el7.x86_64.x86_64.rpm
sha256sum: 24618567d351e4017a9e65c3ed5d76ab8ae7ede054314d2ba5c57959818acb4c
RHEL6/CENTOS6:
https://github.com/datareel/LDM-load-balancer/releases/download/1.62/drlb_ldm_server-1.62-1.el6.x86_64.x86_64.rpm
sha256sum: 95ee13f9174340f7bb07a3a942a04e9bb715d457a13d2d70c3153eec03f7f944
Follow the instructions below to build an RPM from latest source code for distribution:
$ cd $HOME; mkdir -pv git; cd $HOME/git $ git clone https://github.com/datareel/LDM-load-balancer $ cd ${HOME}/git/LDM-load-balancer/rpm_builderRHEL9:
$ ./make_ldm_rpm_package.sh rhel9 $ sudo su root -c "yum -y install ${HOME}/rpmbuild/RPMS/x86_64/drlb_ldm_server-1.63-1.el9.x86_64.x86_64.rpm"RHEL8:
$ ./make_ldm_rpm_package.sh rhel8 $ sudo su root -c "yum -y install ${HOME}/rpmbuild/RPMS/x86_64/drlb_ldm_server-1.63-1.el8.x86_64.x86_64.rpm"RHEL7/CENTOS7:
$ ./make_ldm_rpm_package.sh rhel7 $ sudo su root -c "yum -y install ${HOME}/rpmbuild/RPMS/x86_64/drlb_ldm_server-1.63-1.el7.x86_64.x86_64.rpm"RHEL6/CENTOS6:
$ ./make_ldm_rpm_package.sh rhel6 $ sudo su root -c "yum -y install ${HOME}/rpmbuild/RPMS/x86_64/drlb_ldm_server-1.63-1.el6.x86_64.x86_64.rpm"Useful RPM command to verify package contents:
List package: rpm -qf /usr/sbin/drlb_ldm_server
List files: rpm -ql drlb_ldm_server
List configs: rpm -qc drlb_ldm_server
List docs: rpm -qd drlb_ldm_server
To remove package:
$ sudo su root -c "yum -y remove drlb_ldm_server"
Building and Installing |
Follow the instructions below to build and install the DRLB LDM server from latest source code:
$ cd $HOME $ mkdir -pv git $ cd $HOME/git $ git clone https://github.com/datareel/LDM-load-balancer $ source $HOME/git/LDM-load-balancer/env/gnu_env.sh $ cd $HOME/git/LDM-load-balancer/drlb_ldm $ make $ sudo su root -c 'make install_root'The DRLB LDM service must have access to your LDM configuration, the default location is:
/usr/local/ldm/etc/ldmd.conf
NOTE: On the front-end LDM you will not be running the LDM server. If you want to store your ldmd.conf (plus any include files) in another local you can modify the LB configuration to point to another location.
The default LB configuration file for LDM clusters is:
/etc/drlb/ldm_cluster.cfg
In the LB configuration file, refer to the following section for all settings specific to DRLB LDM:
[LDMCONFIG] ldm_etc_dir = /usr/local/ldm/etc ldmd_conf_file = ldmd.conf resolve_ldm_hostnames = 1For all other DRLB setting please refer to the DRLB README file:
# more /usr/share/doc/drlb_ldm/README.txt
or online:
http://datareel.com/drlb/
The default LB scheme used with LDM is assigned. The default assignment rules file is:
/etc/drlb/ldm_cluster_rules.cfg
The assignment rules allow you to route LDM requests to specific back-end servers. This is done to isolate clients making excessive requests or manage clients with unique requirements. By default if the assigned back-end LDM server is down, the client request will be forward to the next available back-end LDM server.
After setting up your LB and LDM configuration files, start the service:
RHEL 7/CENTOS 7:
# systemctl start drlb_ldm_server # systemctl status drlb_ldm_serverRHEL 6/CENTOS 6:
# service drlb_ldm_server start # service drlb_ldm_server statusTo watch the log file:
# tail -f /var/log/drlb/ldm_cluster_lb.logTo watch LB stats:
# tail -n 25 -f /var/log/drlb/ldm_cluster_lb_stats.logTo make the LB service persistent:
RHEL 7/CENTOS 7:
# systemctl enable drlb_ldm_serverRHEL 6/CENTOS 6:
# chkconfig drlb_ldm_server on
Remaining work on this project |
Support and Bug Tracking |
https://github.com/datareel/LDM-load-balancer/issues