Cleanup procedures required if reinstalling with the installation toolkit
Before you can reinstall with the installation toolkit, you must perform some cleanup procedures first.
You can use the following procedures to clean up various stages of the previous GPFS™ installation and protocols deployment.
Starting the cleanup process
- Clean up the installer directory by issuing the following
command:
mmdsh -N NodeList rm -rf /usr/lpp/mmfs/4.2.3.0
Note: The installer directory in this command depends upon the release version. - Check /etc/resolv.conf for any changes that pointed the authentication directory to DNS, and remove them.
- If the object protocol was enabled and storage policies were created, use the mmobj policy list -v command and save the output list before you execute the mmces service disable OBJ command.
Cleaning up the authentication configurations
Use these commands to completely remove the current authentication configuration for all protocols, NFS/SMB only, or Object only. Be aware that doing so may cause loss of access to previously written data.
- Remove the configurations. To do so, issue the following
commands:
mmuserauth service remove --data-access-method file mmuserauth service remove --data-access-method object
- Delete the ID mapping information when authentication was configured with AD. To do so, use the
following command. Note: Once this ID mapping information is deleted, you might not be able to access existing files (or you might experience other unforeseen access issues), so do this only if you do not need access to existing data.
mmuserauth service remove --data-access-method file --idmapdelete
Disabling CES
mmchnode -N nodeNameX --ces-disable
Protocol cleanup steps
- Use the following steps to clean up some of the object state on
the system:
mmdsh -N cesNodes systemctl stop postgresql-obj rm -rf path_to_cesSharedRoot/object/keystone
Delete the objectization temp directory. In the following example, the temp directory was created in filesystem fs1 at /ibm/fs1/ibmobjectizer/tmp:rm -rf /ibm/fs1/ibmobjectizer/tmp
- Remove the fileset created for object.
In the following example, the configured fileset object_fileset in file system fs1 was linked at /gpfs/fs1.
mmlsfileset fs1 mmunlinkfileset fs1 object_fileset mmdelfileset fs1 object_fileset -f
- Remove any fileset created for an object storage policy.
Run the mmobj policy list -v command. If for some reason mmobj policy list -v cannot be executed (For example, if the Object Protocol or CES was already disabled) or you cannot detect which filesets are used for object storage policies, contact the IBM® Support Center.
For example:
If the mmobj policy list returned the following and the filesets got created in file system fs1:
Index Name Deprecated Fileset Fileset Path Functions Function Details ------------------------------------------------------------------------------------------------------------------------------------ 0 SwiftDefault object_fileset /ibm/cesSharedRoot/object_fileset 11751509160 sof-policy1 obj_sof-policy1 /ibm/cesSharedRoot/obj_sof-policy1 file-and-object-access regions="1" 11751509230 mysofpolicy obj_mysofpolicy /ibm/cesSharedRoot/obj_mysofpolicy file-and-object-access regions="1" 11751510260 Test19 obj_Test19 /ibm/cesSharedRoot/obj_Test19 regions="1"
Use the following commands for each row except the first:
mmunlinkfileset fs1 sof-policy1 mmdelfileset fs1 sof-policy1 -f
- Clean up installer remnants. To do so, issue the following
command:
mmdsh -N NodeList rm -rf /root/.chef
- Clear the cesSharedRoot configuration by issuing the following
command:
mmchconfig cesSharedRoot=DEFAULT
- Check your recent package installs to determine which packages need to be removed by issuing the
following commands:RHEL 7.x and SLES 12Once you have determined which packages need to be removed, do so by issuing the following commands, as needed:
rpm -qa --last|more
RHEL 7.x and SLES 12mmdsh -N NodeList yum erase gpfs.smb nfs-ganesha-mount \ nfs-ganesha-vfs PyQt4 nfs-ganesha-utils phonon-backend-gstreamer phonon sip qt-x11 kde-filesystem \ qt qt-settings libmng nfs-ganesha-proxy nfs-ganesha-nullfs nfs-ganesha-gpfs nfs-ganesha chef -y mmdsh -N NodeList yum erase python-webob MySQL-python mariadb-server perl-DBD-MySQL mariadb \ python-futures python-warlock python-jsonpatch python-jsonschema python-jsonpointer python-cmd2 \ python-cliff pyparsing memcached python-oslo-utils python-oslo-serialization python-oslo-i18n \ python-babel babel python-keyring python-stevedore python-prettytable python-pbr python-oslo-config \ python-netaddr python-iso8601 python-dnspython python-urllib3 python-six python-requests python-paste-deploy \ python-tempita python-paste python-netifaces python-simplejson python-greenlet python-eventlet -y mmdsh -N NodeList yum erase gpfs.smb gpfs.smb-debuginfo sssd-ipa sssd python-sssdconfig sssd-proxy \ sssd-ldap sssd-krb5 libipa_hbac sssd-krb5-common sssd-common-pac sssd-ad sssd-common cyrus-sasl-gssapi c-ares \ libsss_idmap libdhash yp-tools ypbind -y mmdsh -N NodeList yum erase python-routes python-repoze-lru python-oauthlib python-crypto \ python-qpid-common python-qpid python-dogpile-cache python-fixtures python-dogpile-core python-testtools \ python-extras python-oslo-context python-kombu python-anyjson python-amqp python-mimeparse \ python-markupsafe PyYAML python-passlib libyaml python-ibm-db-sa python-ibm-db python-sqlparse \ python-memcached python-webob python-posix_ipc python-sqlalchemy python-pbr python-greenlet -y mmdsh -N NodeList yum erase nfs-ganesha gpfs.gss.pmsensors gpfs.gss.pmcollector gpfs.pm-ganesha boost-regex -y mmdsh -N NodeList yum erase gpfs.smb python-oslo-i18n openstack-utils qt-settings nfs-ganesha-gpfs nfs-ganesha -y mmdsh -N NodeList yum erase python-ordereddict python-routes python-passlib python-amqp python-crypto -y mmdsh -N NodeList yum erase mariadb-libs -y mmdsh -N NodeList yum erase pmswift nfs-ganesha-gpfs nfs-ganesha gpfs.smb -y mmdsh -N NodeList yum erase python-cryptography python-enum34 swift3 python-pyeclib liberasurecode \ openstack-utils crudini python-msgpack python-wsgiref python-extras python-pycparser python-ply python-cffi \ python-ibm-db openstack-selinux xmlsec1 python-pyasn1 python-mimeparse python-retrying \ postgresql-server postgresql python-psycopg2 python-repoze-who jerasure gf-complete python-zope-interface \ postgresql-libs pytz python-oslo-context python-webob python-six nfs-ganesha-gpfs nfs-ganesha -y mmdsh -N NodeList yum erase spectrum-scale-object spectrum-scale-object-selinux -y
- Issue rpm -qa --last|more on all nodes again, as the preceding list does not
contain everything in the new builds.
If the pmswift package still exists, remove it as follows:
RHEL 7.x and SLES 12mmdsh -N NodeList rpm -e pmswift-4.2.3-0.noarch —noscripts
You might also need to remove gpfs.smb.
- Clean up additional chef files. To do so, issue the following
commands:
mmdsh -N NodeList rm -rf /var/chef mmdsh -N NodeList rm -rf /etc/chef mmdsh -N NodeList rm -rf /opt/chef mmdsh -N NodeList rm -rf /root/.chef mmdsh -N NodeList rm -rf /root/.berkshelf
- Clean up performance monitoring tool files. To do so, issue the following
commands:
mmdsh -N NodeList rm -rf /opt/IBM/zimon* mmdsh -N NodeList rm -rf /usr/IBM/zimon* mmdsh -N NodeList rm -rf /var/log/cnlog/zimon* mmdsh -N NodeList rm -rf /var/lib/yum/repose/x86_64/7Server/*zimon* mmdsh -N NodeList rm -rf /var/lib/yum/repose/ppc64/7Server/*zimon*
- Clean up CTDB. To do so, issue the following
commands:
mmdsh -N NodeList rm -rf /var/lib/ctdb
- Clean up Swift files. To do so, issue the following
commands:
mmdsh -N NodeList rm -rf /etc/swift mmdsh -N NodeList rm -rf /var/lib/mysql mmdsh -N NodeList rm -rf /etc/keystone mmdsh -N NodeList rm -rf /var/lib/keystone mmdsh -N NodeList rm -rf /root/openrc mmdsh -N NodeList rm -rf /var/cache/yum/x86_64/7Server/* mmdsh -N NodeList rm -rf /var/cache/yum/ppc64/7Server/* mmdsh -N NodeList rm -rf /var/log/maria* mmdsh -N NodeList rm -rf /usr/share/pixmaps/comps/maria* mmdsh -N NodeList rm -rf /var/log/keystone mmdsh -N NodeList rm -rf /var/spool/cron/keystone mmdsh -N NodeList rm -rf /usr/lib/python2.7/site-packages/sos/plugins/openstack_keystone* mmdsh -N NodeList rm -rf /tmp/keystone-signing-swift mmdsh -N NodeList rm -rf /usr/lib/python2.7/site-packages/sos/plugins/* mmdsh -N NodeList rm -rf /var/lib/yum/repos/x86_64/7Server/icm_openstack mmdsh -N NodeList rm -f /usr/lib/python2.7/site-packages/swiftonfile-2.5.0_0-py2.7.egg* mmdsh -N NodeList rm -f /usr/bin/*objectizer*.pyc mmdsh -N NodeList rm -f /usr/bin/generate_dbmap.pyc mmdsh -N NodeList systemctl disable openstack-keystone.service mmdsh -N NodeList systemctl disable openstack-swift-container-updater.service mmdsh -N NodeList systemctl disable openstack-swift-container-update mmdsh -N NodeList systemctl disable openstack-swift-object-updater.service mmdsh -N NodeList systemctl disable openstack-swift-container-auditor.service mmdsh -N NodeList systemctl disable openstack-swift-container-replicator.service mmdsh -N NodeList systemctl disable openstack-swift-container.service mmdsh -N NodeList systemctl disable openstack-swift-object-replicator.service mmdsh -N NodeList systemctl disable openstack-swift-object.service mmdsh -N NodeList systemctl disable openstack-keystone.service mmdsh -N NodeList systemctl disable openstack-swift-account-reaper.service mmdsh -N NodeList systemctl disable openstack-swift-account-auditor.service mmdsh -N NodeList systemctl disable openstack-swift-account-replicator.service mmdsh -N NodeList systemctl disable openstack-swift-account.service mmdsh -N NodeList systemctl disable openstack-swift-proxy.service mmdsh -N NodeList systemctl disable openstack-swift-object-auditor.service mmdsh -N NodeList systemctl disable openstack-swift-object-expirer.service mmdsh -N NodeList systemctl disable openstack-swift-container-reconciler.service mmdsh -N NodeList rm -rf /var/lib/yum/yumdb/o/0b01eb65826df92befd8c161798cb842fa3c941e-openstack-utils-2015.1-201502031913.ibm.el7.7-noarch
- Reboot the nodes. To do so, issue the following
command:
mmdsh -N NodeList shutdown -r now
If some nodes do not fully come up, do the following:- Power off that node.
- Wait one minute, then power the node back on. Note: Some nodes might need to be powered off and on more than once.
- Clean up Yum on all nodes. To do so, issue the following
commands:
mmdsh -N NodeList yum clean all mmdsh -N NodeList rm -rf /etc/yum.repos.d/gpfs.repo /etc/yum.repos.d/icm* /etc/yum.repos.d/ces.repo mmdsh -N NodeList rm -rf /etc/yum.repos.d/epel* /etc/yum.repos.d/rdo* mmdsh -N NodeList rm -rf /var/lib/yum/repos/x86_64/7Server/* mmdsh -N NodeList rm -rf /var/lib/yum/repos/ppc64/7Server/*
- Remove GPFS. Notes:
- This step is not required if you know that GPFS has not changed between old and new builds.
- This step is not required if you prefer to perform an upgrade of GPFS.
- This step is not required if you would like to keep the base GPFS installation intact and merely rerun the protocols deployment.
- (To permanently remove GPFS, see Steps to permanently uninstall GPFS and/or Protocols.)
- Check which GPFS packages are on each node by issuing the
following command:RHEL 7.x and SLES 12The system displays output similar to the following:
mmdsh -N NodeList rpm -qa|grep gpfs
gpfs.ext-4.2.3-0.x86_64 gpfs.msg.en_US-4.2.3-0.noarch gpfs.gskit-8.0.50-75.x86_64 gpfs.license.xx-4.2.3-0.x86_64 gpfs.crypto-4.2.3-0.x86_64 gpfs.adv-4.2.3-0.x86_64 gpfs.docs-4.2.3-0.noarch gpfs.base-4.2.3-04.2.3-0.x86_64 gpfs.gpl-4.2.3-0.noarch
- Before removing anything, make sure that GPFS is shut down on all nodes. To do so, issue
the following command:
mmshutdown -a
- Remove the packages by issuing the following commands in the order shown.Note: When you remove gpfs.base, you will lose mmdsh access.Therefore, be sure to remove gpfs.base last, as shown here.RHEL 7.x and SLES 12
mmdsh -N NodeList rpm -e gpfs.base-debuginfo-4.2.3-0.x86_64 mmdsh -N NodeList rpm -e gpfs.crypto-4.2.3-0.x86_64 mmdsh -N NodeList rpm -e gpfs.adv-4.2.3-0.x86_64 mmdsh -N NodeList rpm -e gpfs.ext-4.2.3-0.x86_64 mmdsh -N NodeList rpm -e gpfs.msg.en_US-4.2.3-0.noarch mmdsh -N NodeList rpm -e gpfs.gskit-8.0.50-75.x86_64 mmdsh -N NodeList rpm -e gpfs.license.xx-4.2.3-0.x86_64 mmdsh -N NodeList rpm -e gpfs.docs-4.2.3-0.noarch mmdsh -N NodeList rpm -e gpfs.gpl-4.2.3-0.noarch mmdsh -N NodeList rpm -e gpfs.callhome-4.2.3-0.000.el7.noarch mmdsh -N NodeList rpm -e gpfs.base-4.2.3-0.x86_64
Note: In the preceding commands, the package name gpfs.license.xx needs to be changed depending on the IBM Spectrum Scale™ product edition.
- Reinstall GPFS.
- Proceed to Installation prerequisites and Using the installation toolkit to perform installation tasks: Explanations and examples.