Technical Blog Post
How to debug the reason of a gpfs install failure during the installation of pureScale
This is a simple case demonstrating how to find out the reason of a gpfs installation failure during setting up a pureScale environment.
It is a Redhat Linux 7.4 server, I was trying to install pureScale v184.108.40.206 on it. However, I saw this error and db2_install aborted:
Task #27 start
Description: General Parallel File System (GPFS)
Estimated time 100 second(s)
Task #27 end
DB2 Setup is undoing the changes made to your computer during this installation.
A major error occurred while installing "DB2 Server Edition " on this
computer. The installation cannot continue. If the problem persists contact
your technical service representative.
Checked db2_install.log.xxxx, obviously gpfs install failed:
ERROR: DBI20105E An error occurred while installing the following file set:
"gpfs". Because these files were not successfully installed, functionality that
depends on these files might not work as expected.
Checked installGPFS.log.xxx. we can see gpfs failed to be installed due to failure on "gpfs.ext-4.2.3-0.x86_64.rpm":
"GPFS" is not installed.
DBI1065E Program installGPFS terminated prematurely.
An error has occurred during the execution and that has caused this
program to terminate prematurely.
Correct the problem and try the command again.
So, have to find out why installation of "gpfs.ext-4.2.3-0.x86_64.rpm" failed. Do we have any more tracing information?
Checked install trace, we can see installer was actually calling "installGPFS -a -f" to install gpfs:
2019-05-01-21:58:54 3840448256 -DATA- 10 InstallProcess::setCommand - , STRING = /root/db2/server_dec/db2/linuxamd64/gpfs/installGPFS -a -f
2019-05-01-21:58:54 3840448256 EXIT InstallProcess::setCommand - , INT = 0 }
2019-05-01-21:58:54 3840448256 -DATA- 10 GPFSFileset::update - , STRING = /root/db2/server_dec/db2/linuxamd64/gpfs/installGPFS -a -f
So, cd to /root/db2/server_dec/db2/linuxamd64/gpfs/, installGPFS is actually a shell script, it has debug mode can be turned on by option "-d"
# USAGE: installGPFS -i | -g | -u [-h | -?] [-d] [-l logFile]
# -h|-? display the usage information.
# -d turn debug mode on.
# -i Install GPFS and update to fixpack level
# -g Upgrade installed GPFS base version and update to fixpack level
# -u Update to fixpack level
# -l logFIle Specifies the full path name to an output log file
# -f force install
So, ran installGPFS with debug mode:
$ ./installGPFS -a -f -d > /tmp/gpfs.debug.out 2>&1
Checked /tmp/gpfs.debug.out, saw this:
+ rpm -i gpfs.ext-4.2.3-0.x86_64.rpm
error: Failed dependencies:
m4 is needed by gpfs.ext-4.2.3-0.x86_64
So, gpfs installation failed due to missing dependency of m4. Install it:
$ yum install -y m4
Before retry the db2_install, uninstall the gpfs at first:
$ ./ uninstallGPFS
Then db2_install finally completed without any problem.