Actualice los clústeres
Colaboradores
Puede usar Ansible para realizar actualizaciones graduales sin interrupciones en su clúster de SolidFire eSDS. Con el nar_solidfire_sds_upgrade
Rol proporcionado por NetApp, Ansible realiza actualizaciones graduales de un nodo a la vez, mientras se mantiene la disponibilidad de datos a todos los volúmenes.
Asegúrese de que se cumplen las siguientes condiciones antes de realizar la actualización:
-
No hay errores del clúster en la interfaz de usuario de Element.
-
El archivo de inventario está actualizado con la información de compilación de archivos RPM actual y los detalles acerca de los nodos miembros del clúster.
-
Los hosts se definen en el archivo de inventario utilizando direcciones IP (y no nombres de dominio completos [FQDN]).
|
La actualización fallará si define los hosts utilizando FQDN. |
-
Los hosts se definen en el archivo de inventario con el formato del ejemplo siguiente:
hosts: 10.117.136.26: 10.117.136.27:
-
El número de nodos del archivo de inventario es el mismo que el número de nodos del clúster que se va a actualizar. Si hay un error de coincidencia de números, el procedimiento de actualización fallará y aparecerá un error similar al siguiente ejemplo:
"Cluster 10.194.79.151 consists of more nodes than what has been specified for upgrade!"
-
El archivo de inventario tiene las siguientes variables especificadas: sf_mgmt_virt_ip (MVIP), sf_cluster_admin_username, sf_cluster_admin_passwd y solidfire_Element_rpm (ruta al nuevo archivo RPM).
A continuación se ofrece una descripción general de lo que sucede durante el proceso de actualización:
-
La información introducida en el archivo de inventario se valida.
-
Se recopila información del nodo.
-
RPM se instala en todos los nodos incluidos en el archivo de inventario en paralelo.
-
Una vez instalado el RPM en cada nodo, cada nodo SolidFire eSDS se actualiza de uno en uno. Cada nodo se coloca automáticamente en modo de mantenimiento. No tiene que habilitar manualmente el modo de mantenimiento si está ejecutando la actualización de playbook.
-
Después de colocar el primer nodo en modo de mantenimiento, los volúmenes alojados en ese nodo SolidFire eSDS se fallan en los nodos SolidFire eSDS restantes del clúster.
-
El servicio SolidFire se reinicia para recoger la versión más reciente de la aplicación.
-
El modo de mantenimiento se desactiva para el nodo y el clúster espera a que el nodo se recupere.
-
Cuando el nodo vuelve a estar en línea, el clúster se encuentra equilibrado.
-
Se repite el mismo proceso para todos los nodos del clúster.
-
Después de que se actualizan todos los nodos, el clúster muestra la versión más reciente.
|
Si se produce un error durante la actualización o en el clúster se produce un error, la actualización no se detiene. Progresa en la medida en que puede e imprime una lista de todos los nodos que se han actualizado correctamente y sin éxito. Después de solucionar cualquier error, puede volver a ejecutar la tableta playbook o rechazar el archivo para completar el proceso de actualización. |
|
Si la actualización falla debido a un error, debe solucionarlo y reanudar la actualización. El clúster permanece en estado de actualización hasta que se completa la actualización. Si Element no borra la falla mientras el clúster está en estado de actualización, debe ponerse en contacto con el soporte de NetApp. En función de la naturaleza del error y si es seguro hacerlo, el soporte puede indicarle que añada la yes_i_want_to_ignore_cluster_faults variable y configúrelo como true en el libro de estrategia de actualización y vuelva a ejecutar el libro de estrategia. No lo intente sin consultar con el servicio de soporte técnico.
|
-
Ejecute el
ansible-galaxy install
para instalar elnar_solidfire_sds_upgrade
función.ansible-galaxy install git+https://github.com/NetApp-Automation/nar_solidfire_sds_upgrade.git
También puede instalar manualmente la función copiándola de "Repositorio de GitHub de NetApp" y colocar el rol en el
~/.ansible/roles
directorio. NetApp proporciona un archivo README que incluye información acerca de cómo ejecutar una función.Asegúrese de descargar siempre las versiones más recientes de las funciones. -
Mueva los roles que descargó hacia arriba en un directorio desde el lugar donde se instalaron.
$ mv ~/.ansible/roles/ansible/nar_solidfire_sds_* ~/.ansible/roles/
-
Ejecute el comando de lista de roles de galaxia de Ansible para garantizar que Ansible esté configurado para utilizar los nuevos roles.
$ ansible-galaxy role list # ~/.ansible/roles - nar_solidfire_sds_install, (unknown version) - nar_solidfire_sds_upgrade, (unknown version) - ansible, (unknown version) - nar_solidfire_sds_compliance, (unknown version) - nar_solidfire_cluster_config, (unknown version) - nar_solidfire_sds_uninstall, (unknown version)
-
Cree el libro de estrategia que se usará en las actualizaciones. Si ya tiene un libro de estrategia y desea utilizarlo, asegúrese de especificar el
nar_solidfire_sds_upgrade
en este libro de estrategia. -
Ejecute el libro de estrategia:
$ ansible-playbook -i inventory.yaml playbook_upgrade_sample.yaml
El nombre del libro de estrategia utilizado aquí es un ejemplo. Deberá reemplazarlo por el nombre del libro de estrategia. Si se ejecuta el libro de estrategia, se valida la información que introdujo en el archivo de inventario e instala el RPM en todos los nodos indicados en el inventario. Puede comprobar la salida de Ansible para verificar que cada nodo está actualizado.
-
Una vez completada la actualización, compruebe cada nodo para garantizar que la nueva versión esté en ejecución mediante la interfaz de usuario de Element o la API de clúster.