Technical Blog Post
Abstract
How to debug the reason of a gpfs install failure during the installation of pureScale
Body
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 v11.1.4.4 on it. However, I saw this error and db2_install aborted:
<skipped>
Task #27 start
Description: General Parallel File System (GPFS)
Estimated time 100 second(s)
Task #27 endDB2 Setup is undoing the changes made to your computer during this installation.
Undo complete.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:
<skipped>
Installing: GPFSERROR: 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.
<skipped>
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.
4.2.3.10.1
1
Installing "gpfs.base-4.2.3-0.x86_64.rpm"Success
Installing "gpfs.gpl-4.2.3-0.noarch.rpm"
Success
Installing "gpfs.msg.en_US-4.2.3-0.noarch.rpm"
Success
Installing "gpfs.docs-4.2.3-0.noarch.rpm"
Success
Installing "gpfs.ext-4.2.3-0.x86_64.rpm"
Failure
DBI1065E Program installGPFS terminated prematurely.
Explanation:
An error has occurred during the execution and that has caused this
program to terminate prematurely.User response:
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:
<skipped>
+ 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<skipped>
So, gpfs installation failed due to missing dependency of m4. Install it:
$ yum install -y m4
<skipped>
Before retry the db2_install, uninstall the gpfs at first:
$ ./ uninstallGPFS
<skipped>
Then db2_install finally completed without any problem.
UID
ibm13285747