PowerFlex: La eliminación del servidor NAS mediante PowerFlex Manager falla
Resumen: En este artículo, se explica el problema durante la eliminación del servidor NAS mediante PowerFlex Manager y cómo superarlo.
Síntomas
1) Cuando intentamos eliminar el servidor NFS mediante PowerFlex Manager, de manera similar a los siguientes casos de error.
"El objeto <nas-server-id> no se encuentra en el sistema"
2) El registro de SDNASgw POD contiene un error similar al que se muestra a continuación.
"ERROR: la actualización o eliminación en la tabla "nas_server" infringe la
restricción de clave externa "fkey_nas_server_snapshot-rule-schedule-id-mapper"
en la tabla "snapshot-rule-schedule-id-mapper"
Causa
Una vez que la desconexión falla entre la lista de ID de programa, lo que sucede es que se activará la reversión de la desconexión. La reversión de la desconexión no es más que la conexión de los ID de programa ya desconectados al FS. Si eso también falla, en el núcleo de SDNAS, la desconexión se produjo por completo y en PowerFlex Manager no se eliminaron las entradas.
Resolución
El problema se debe resolver siguiendo los pasos que se indican a continuación:
Paso 1: Inicie sesión en CP-database (ingresando en el pod pgpool).
#kubectl exec -it postgresql-ha-pgpool-xxxx-xxxx -n powerflex /bin/bash
#psql -h postgresql-ha-pgpool.powerflex.svc.cluster.local -p 5432 -U postgres -d postgres
#provide password:
Note: to generate password you can utilize the below command.
#kubectl get secret -n powerflex postgresql-ha-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode
Step2: Conéctese a la base de datos de administración.
\c managementdb
Step3: Obtenga todas las entradas correspondientes a los servidores NAS (que no se pudieron eliminar) de "internal". snapshot-rule-schedule-id-mapper" y elimínelas, ya que esas son las entradas obsoletas. A continuación, elimine las entradas del servidor NAS (que no se pudieron eliminar) de la tabla "managementmodel.nas_server".
Ejemplo:
For example if testNasServer1 is the NAS server name you can get the NAS server id. managementdb=# select id,name from managementmodel.nas_server; id | name --------------------------------------+---------------- 6284cae0-f51a-c7f7-0043-2a2dec3cfa4f | testNasServer1 By using below commands you can list the entries for above nas_Server_id in mapper table and delete. managementdb=# select * from internal."snapshot-rule-schedule-id-mapper"; sdnas_gw_snapshot_rule_id | sdnas_core_snapshot_schedule_id | nas_server_id -------------------------------------+--------------------------------------+------------------------- 71ad0b39-31d5-4b0c-9319-a812e5a1314f | 62f23b6d-9790-d8ce-96d1-2a2dec3cfa4f | 6284cae0-f51a-c7f7-0043-2a2dec3cfa4f Delete above entry using below command. delete from internal."snapshot-rule-schedule-id-mapper" where nas_server_id='6284cae0-f51a-c7f7-0043-2a2dec3cfa4f';