Skip to content

Archive for

Distributed Replicated Block Device (DRBD) in Netezza

Distributed Replicated Block Device (DRBD) is a block device driver that can replicate disk, partition, blocks, etc across different Linus database hosts in a HA cluster environment. Here are some of the high-level details on how DRDB works in Netezza appliance.

  • Netezza uses DRBD to replicate /nz and /export/home mount points from active (primary) host to passive (secondary) host
  • Data on primary host is committed only when it is written to secondary host i.e. synchronous replication is used
  • Synchronous replication helps in avoiding data loss incase of failover
  • Read activity from above mount points always take place in active host
  • Never stop DRBD service until or unless recommended by Netezza support. NOTE: This can result in brain split. A condition when both the nodes will have different data image

How to check DRBD service ?

DRBD service status can be checked by using one of the below two methods:

  • Run “service drbd status” command in Unix host
  • Run “cat /proc/drbd” command in Unix host

How to find which all library files are missing for Netezza client to run fine?

To find which all library files are missing for Netezza client to run fine, you can just run the below command:

$ pwd
/nzhome/nzclient/v707

$ ldd ./bin/nzsql
linux-gate.so.1 => (0x009b0000)
libz.so.1 => /lib/libz.so.1 (0x004ca000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x001ba000)
libssl.so.6 => not found
libcrypto.so.6 => not found
libresolv.so.2 => /lib/libresolv.so.2 (0x00182000)
libnsl.so.1 => /lib/libnsl.so.1 (0x003e1000)
libdl.so.2 => /lib/libdl.so.2 (0x002ef000)
libncurses.so.5 => not found
libm.so.6 => /lib/libm.so.6 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x004de000)
libfreebl3.so => /lib/libfreebl3.so (0x00711000)
/lib/ld-linux.so.2 (0x0013b000)

Here you will find all the missing files. So you may have to make a symbolic links to these library files for NzClient to run fine.
Since, Netezza Client v707 (and older) are 32bit clients for Linux, so make sure you link 32 bit library files only.

NOTE: In above example client is installed at /nzhome/nzclient/v707
Below library packages may needs to be installed (if required library fles does not exist) in order to fix above issue.

1) libssl.so.6 is a soft link that you should created to /usr/lib/libssl.so.10. So if this library file does not exist then you may have to get below package installed from Linus admin.

openssl-1.0.0-20.el6.i686 : A general purpose cryptography library with TLS implementation
Repo : as6-u2_64
Matched from:
Filename : /usr/lib/.libssl.so.10.hmac
Other : libssl.so.10
Filename : /usr/lib/libssl.so.1.0.0
Filename : /usr/lib/libssl.so.10
Filename : /usr/lib/.libssl.so.1.0.0.hmac

2) libcrypto.so.6 is a soft link that you should created to /usr/lib/libcrypto.so.10. So if this library file does not exist then you may have to get below package installed from Linus admin

openssl-1.0.0-20.el6.i686 : A general purpose cryptography library with TLS implementation
Repo : as6-u2_64
Matched from:
Filename : /usr/lib/.libcrypto.so.10.hmac
Filename : /usr/lib/.libcrypto.so.1.0.0.hmac
Filename : /usr/lib/libcrypto.so.1.0.0
Other : libcrypto.so.10
Filename : /usr/lib/libcrypto.so.10

3) libncurses.so.5 is a soft link that you should created to /lib/libncurses.so.5. So if this library file does not exist then you may have to get below package installed from Linus admin

ncurses-libs-5.7-3.20090208.el6.i686 : Ncurses libraries
Repo : as6-u2_64
Matched from:
Filename : /lib/libncurses.so.5.7
Other : libncurses.so.5
Filename : /lib/libncurses.so.5