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/5.1.3.xNote: 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 run the mmces service disable OBJ command.
Uninstalling Ansible
The installation toolkit is built on the Ansible® automation platform. For more information, see Supported Ansible version.
- Check the version of Ansible that is installed by
using one of the following
commands.
ansible --versionor
rpm -qa | grep ansible - Uninstall Ansible by using one of the following
commands depending on your environment.
- Uninstall by using the rpm command on RHEL and SLES
nodes.
rpm -qa | grep ansible | xargs rpm -e - Uninstall by using the yum command on RHEL
nodes.
yum remove ansible - Uninstall by using the pip3 command on RHEL, SLES, and Ubuntu
nodes.
pip3 uninstall ansible - Uninstall by using the apt-get command on Ubuntu
nodes.
apt-get purge ansible
- Uninstall by using the rpm command on RHEL and SLES
nodes.
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-disableProtocol 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/keystoneDelete the objectization temp directory. In the following example, the temp directory was created in the fs1 file system 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 run (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 command returned the following and the filesets got created in file system fs1:
Index Name Deprecated Fileset Path Functions Function Details Fileset ------------------------------------------------------------------------------------------------------------------------ 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 - 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 and SLES
rpm -qa --last|moreUbuntuAfter you have determined which packages need to be removed, do so by issuing the following commands, as needed:dpkg -lRHEL and SLESmmdsh -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 -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 python2-keystoneauth1 python2-keystoneclient python2-keystonemiddleware \ python2-openstackclient python2-oslo-cache python2-oslo-concurrency python2-oslo-config \ python2-oslo-context python2-oslo-db python2-oslo-i18n python2-oslo-middleware python2-oslo-policy \ python2-oslo-service python2-swiftclient python3-keystone python3-keystoneauth1 python3-keystoneclient \ python3-keystonemiddleware python3-openstackclient python3-openstacksdk python3-oslo-cache \ python3-oslo-concurrency python3-oslo-config python3-oslo-context python3-oslo-db python3-oslo-i18n \ python3-oslo-log python3-oslo-messaging python3-oslo-middleware python3-oslo-policy \ python3-oslo-serialization python3-oslo-service python3-oslo-upgradecheck python3-oslo-utils \ python3-swift python3-swiftclient python-openstackclient-lang python-openstacksdk \ python-oslo-cache-lang python-oslo-concurrency-lang python-oslo-db-lang python-oslo-i18n-lang \ python-oslo-log python-oslo-log-lang python-oslo-messaging python-oslo-middleware-lang \ python-oslo-policy-lang python-oslo-utils-lang python-swift -y mmdsh -N NodeList yum erase gpfs.smb-debugsource -ymmdsh -N NodeList yum erase sssd-tools krb5-workstationmmdsh -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-posix_ipc python-sqlalchemy -y mmdsh -N NodeList yum erase gpfs.gss.pmsensors gpfs.gss.pmcollector gpfs.pm-ganesha boost-regex -y mmdsh -N NodeList yum erase openstack-utils -y mmdsh -N NodeList yum erase python-ordereddict -y mmdsh -N NodeList yum erase mariadb-libs -y mmdsh -N NodeList yum erase pmswift -y mmdsh -N NodeList yum erase python-cryptography python-enum34 swift3 python-pyeclib liberasurecode \ openstack-utils crudini python-msgpack python-wsgiref python-pycparser python-ply python-cffi \ openstack-selinux xmlsec1 python-pyasn1 python-retrying \ postgresql-server postgresql python-psycopg2 python-repoze-who jerasure gf-complete \ python-zope-interface postgresql-libs pytz -y mmdsh -N NodeList yum erase spectrum-scale-object spectrum-scale-object-selinux \ openstack-swift openstack-swift-account openstack-swift-container openstack-swift-object \ openstack-swift-proxy python-swiftclient swiftonfile keystonemiddleware openstack-keystone \ python-keystone python-cinderclient python-glanceclient python-keystoneclient python-neutronclient \ python-novaclient python-keystoneauth1 python-openstackclient -yUbuntummdsh -N NodeList dpkg -P 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 gpfs.nfs-ganesha-gpfs gpfs.nfs-ganesha -y mmdsh -N NodeList dpkg -P 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 dpkg -P 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-posix_ipc python-sqlalchemy -y mmdsh -N NodeList dpkg -P gpfs.gss.pmsensors gpfs.gss.pmcollector gpfs.pm-ganesha boost-regex -y mmdsh -N NodeList dpkg -P openstack-utils gpfs.gpfs.nfs-ganesha-gpfs -y mmdsh -N NodeList dpkg -P python-ordereddict -y mmdsh -N NodeList dpkg -P mariadb-libs -y mmdsh -N NodeList dpkg -P pmswift -y mmdsh -N NodeList dpkg -P python-cryptography python-enum34 swift3 python-pyeclib liberasurecode \ crudini python-msgpack python-wsgiref python-pycparser python-ply python-cffi \ openstack-selinux xmlsec1 python-pyasn1 python-retrying postgresql-server postgresql \ python-psycopg2 python-repoze-who jerasure gf-complete python-zope-interface postgresql-libs \ pytz -y mmdsh -N NodeList dpkg -P spectrum-scale-object spectrum-scale-object-selinux \ openstack-swift openstack-swift-account openstack-swift-container openstack-swift-object \ openstack-swift-proxy python-swiftclient swiftonfile keystonemiddleware openstack-keystone \ python-keystone python-keystoneauth1 python-cinderclient python-glanceclient python-keystoneclient \ python-neutronclient python-novaclient python-openstackclient -yFile protocols authentication packages cleanup
RHELmmdsh -N NodeList yum erase bind-utils krb5-workstation openldap-clients sssd-tools ypbind yp-tools -ySLESmmdsh -N NodeList yum erase bind-utils krb5-client openldap2-client sssd-tools ypbind yp-tools -yUbuntummdsh -N NodeList dpkg -P dnsutils krb5-user ldap-utils sssd-tools nis libslp1 -yNote: Plan to erase the SSSD packages only if you do not plan to use the SSSD service on the nodes for any other purpose.SSSD packages cleanup commands are as follows:
RHELmmdsh -N NodeList yum erase sssd*SLESmmdsh -N NodeList yum erase sssd*Ubuntummdsh -N NodeList dpkg -P sssd* - Issue rpm -qa --last|more or dpkg -l 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 and SLESmmdsh -N NodeList rpm -e pmswift-5.1.3-x.noarch --noscriptsUbuntummdsh -N NodeList dpkg -P pmswift-5.1.3-x.noarch --noscriptsYou might also need to remove gpfs.smb.
- 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 nowIf some nodes do not fully come up, do the following:- Power off that node.
- Wait for a minute, then power on the node back. 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 IBM Spectrum Scale.)
- Check which GPFS packages are on each
node by issuing the following command:RHEL and SLES
mmdsh -N NodeList rpm -qa|grep gpfsUbuntuThe system displays output similar to the following:mmdsh -N NodeList dpkg -l|grep gpfsgpfs.msg.en_US-5.1.3-x.noarch gpfs.gskit-8.0.55.x.x86_64 gpfs.license.xx-5.1.3-x.x86_64 gpfs.crypto-5.1.3-x.x86_64 gpfs.adv-5.1.3-x.x86_64 gpfs.docs-5.1.3-x.noarch gpfs.base-5.1.3-x.x86_64 gpfs.gpl-5.1.3-x.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 the gpfs.base package, you lose the mmdsh access.Therefore, be sure to remove gpfs.base last, as shown here.RHEL and SLES
mmdsh -N NodeList rpm -e gpfs.base-debuginfo-5.1.3-x.x86_64 mmdsh -N NodeList rpm -e gpfs.crypto-5.1.3-x.x86_64 mmdsh -N NodeList rpm -e gpfs.adv-5.1.3-x.x86_64 mmdsh -N NodeList rpm -e gpfs.msg.en_US-5.1.3-x.noarch mmdsh -N NodeList rpm -e gpfs.gskit-8.0.55.x.x86_64 mmdsh -N NodeList rpm -e gpfs.compression-5.1.3-x.x86_64 mmdsh -N NodeList rpm -e gpfs.license.xx-5.1.3-x.x86_64 mmdsh -N NodeList rpm -e gpfs.docs-5.1.3-x.noarch mmdsh -N NodeList rpm -e gpfs.gpl-5.1.3-x.noarch mmdsh -N NodeList rpm -e gpfs.base-5.1.3-x.x86_64Ubuntummdsh -N NodeList dpkg -P gpfs.base-debuginfo_5.1.3-x.x86_64 mmdsh -N NodeList dpkg -P gpfs.crypto_5.1.3-x.x86_64 mmdsh -N NodeList dpkg -P gpfs.adv_5.1.3-x.x86_64 mmdsh -N NodeList dpkg -P gpfs.msg.en-us_5.1.3-x.all mmdsh -N NodeList dpkg -P gpfs.gskit_8.0.55.x.x86_64 mmdsh -N NodeList dpkg -P gpfs.compression_5.1.3-x.x86_64 mmdsh -N NodeList dpkg -P gpfs.license.xx_5.1.3-x.x86_64 mmdsh -N NodeList dpkg -P gpfs.docs_5.1.3-x.noarch mmdsh -N NodeList dpkg -P gpfs.gpl_5.1.3-x.noarch mmdsh -N NodeList dpkg -P gpfs.base_5.1.3-x.x86_64Note: 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.