¿Hay alguna forma de evitar que Storage Spaces Direct agregue discos automáticamente?


8

Tengo un problema aquí en un clúster de conmutación por error de Windows Server 2016 (WSFC) que aloja una instancia de clúster de conmutación por error de SQL (FCI) que emplea Storage Spaces Direct (S2D). En cada servidor, después de la creación inicial exitosa, S2D agrega automáticamente un volumen RAID que de otro modo no se usaría al grupo de almacenamiento (aunque S2D no se puede crear en volúmenes RAID e insiste absolutamente en discos no asignados). Ahora está roto, debido a, por lo que pude entender, exactamente eso. Como consecuencia, el disco virtual está fuera de línea, lo que elimina todo el clúster. No volverá a estar en línea debido a la falta de recursos de la red del clúster. Los discos en cuestión pueden retirarse pero no eliminarse. La reparación del disco virtual no se ejecuta, la prueba de compatibilidad del clúster afirma que la configuración no es válida.

Esta es una nueva configuración. Entonces podría simplemente eliminar el disco virtual, el clúster o incluso los servidores y comenzar de nuevo. Pero antes de ser productivos, debo asegurarme de que esto nunca vuelva a suceder. El sistema que se dispara en la rodilla virtual hasta detenerse con solo agregar innecesaria y erróneamente un disco no compatible no es una plataforma que podamos implementar. Así que principalmente necesito una forma de evitar que esto suceda, en lugar de repararlo ahora. Mi conjetura es que evitar que una configuración de S2D tome más discos de los que fue creado haría el truco. El costo de una interacción potencialmente más manual durante un reemplazo de disco real es insignificante para el grupo ... que tenemos aquí. Por mucho que haya examinado la documentación hasta ahora, sin embargo, no puedo encontrar ninguna manera de controlar eso. A menos que me falte algo, ni Set-StoragePool,

Cualquier ayuda o sugerencia sería muy apreciada.

Los siguientes son solo más detalles sobre lo anterior: Tenemos 2 máquinas de servidor HPE DL380 Gen9 doblemente conectadas entre sí a través de Ethernet de 10GB con capacidad RDMA y 1GB a la red del cliente. Cada característica tiene un controlador RAID HP ??? y un simple controlador HBA HP ??? (dado que S2D requiere absolutamente y funciona solo en discos conectados directamente, sin guía). La configuración de almacenamiento consta de un OS-RAID en el controlador RAID, un RAID de archivos en el controlador RAID y el conjunto de discos directamente conectados en el HBA destinados a S2D.

Configuré 2 Windows Servers 2016 datacenter edition en los OS-RAID, instalé la función WSFC, ejecuté y pasé la prueba de compatibilidad del clúster, incluida la opción S2D, creé el clúster sin almacenamiento, agregué un testigo de uso compartido de archivos (en una máquina separada), habilité S2D en el grupo de almacenamiento, que se componía automáticamente de todos los discos no asignados, y encima de ese grupo creó un disco virtual del tipo espejo y utilizó NTFS como sistema de archivos, ya que se supone que este es el FS elegido para un FCI SQL instalación.

Luego instalé la edición estándar de SQL 2016 como un FCI en ese clúster, importé una base de datos y lo probé todo. Todo estuvo bien. La base de datos estaba allí y más rápido que nunca. La conmutación por error forzada y automática fue muy fácil. Todo se veía bien.

Al día siguiente intentamos hacer uso de los archivos RAID restantes. Lo primero fue cambiar el nivel RAID ya que no nos gustó la preconfiguración. Poco después de eliminar el volumen RAID preconfigurado y crear uno nuevo (en cada servidor), detectamos que el clúster estaba inactivo. Por lo que pude deducir hasta ahora, el volumen preconfigurado de Archivos RAID se había agregado mientras tanto automáticamente al grupo y, como lo eliminamos, ahora faltaba en el grupo. Mientras lo comprobaba, encontré el nuevo RAID de archivos, que aún se estaba creando, que también se muestra como una unidad física del grupo. Por lo tanto, el grupo ahora incluye 2 volúmenes RAID en cada servidor, uno de los cuales ni siquiera existía. Get-PhysicalDisk enumera estos volúmenes (pero no sus discos) junto con los discos realmente físicos en el HBA, no estoy seguro de si eso es regular.

Pude retirar esos discos físicos (es decir, aquellos que en realidad son los volúmenes RAID), y ahora están marcados como retirados. Pero todavía están en la piscina y no puedo eliminarlos en este momento, intentar hacerlo falla. Repair-VirtualDisk debería reconstruir el disco virtual a un estado apropiado solo en los discos restantes (seguí esto: https://social.technet.microsoft.com/Forums/windows/en-US/dbbf317b-80d2-4992- b5a9-20b83526a9c2 / storage-spaces-remove-physical-disk? forum = winserver8gen ), pero este trabajo termina inmediatamente, "exitoso", por supuesto, sin ningún efecto.

Intentar volver a conectar el disco virtual en línea falla, indicando que un recurso de clúster en red no está disponible. Según tengo entendido, esto solo podría referirse al grupo de almacenamiento (disponible), ya que los discos que faltan no son recursos de clúster. El grupo no muestra errores que corregir. La ejecución de la prueba de compatibilidad de clúster reclama una configuración no adecuada para un clúster.

No puedo encontrar ninguna parte que se mueva otra pulgada, todo parece estancado para siempre. ¿Alguna idea sobre cómo evitar que un WSFC en funcionamiento se acelere de esa manera?

No encontré ningún mensaje de error que encontré particularmente esclarecedor, y no quería bombardear la página aún más al publicarlos todos. Si alguien quiere tener algún detalle específico, házmelo saber.

¡Muchas gracias por su tiempo, muchachos!

Karsten

Actualización según lo solicitado por el Sr. Raspberry ingrese la descripción de la imagen aquí


3
¿Podría compartirnos una lista de sus unidades y sus tipos de bus? Comando PoweShell: Get-PhysicalDisk -CanPool $true | Sort Model | ft FriendlyName, BusType, CanPool, OperationalStatus, HealthStatus, Usage, SizeAdemás, ¿hay alguna posibilidad de que haya cometido un error al reconfigurar File-RAID al asignar una unidad S2D a un nuevo RAID?
Sr. Raspberry

2
¿Cuál es el punto en S2D + SQL Server? ¿Por qué quiere gastar dinero en máquinas virtuales con licencia ilimitada si no planea (en realidad no puede ...) ejecutar ninguna? SQL Server 2016 puede hacer AlwaysOn Basic AG incluso con el estándar y puede ahorrar una GRAN cantidad de dinero solo con Windows Server Standard 2016. docs.microsoft.com/en-us/sql/database-engine/…
BaronSamedi1958

@Señor. Frambuesa: actualicé la entrada con la lista de discos físicos. Tenga en cuenta que omití "-CanPool $ true" ya que ninguno es acumulable.
Karsten Köpnick

3
@ KarstenKöpnick: Bueno, te sugiero que consideres sobre SQL Server AlwaysOn FCI + StarWind Virtual SAN Free. Esta configuración haría el trabajo mejor en su caso de clúster de 2 nodos por menos costo y es mucho más fácil de implementar y administrar sin tales problemas. starwindsoftware.com/…
Sr. Raspberry

1
"S2D era el camino a seguir parecía" Bueno ... Buena suerte con eso :)
BaronSamedi1958

Respuestas:


5

Sí, puede deshabilitar el comportamiento de agrupación automática. La experiencia no es excelente, pero ciertamente es factible y compatible. El nombre de la configuración y la sintaxis de cmdlet de ejemplo se encuentran en la sección Configuración de este documento público:

https://technet.microsoft.com/en-us/windows-server-docs/failover-clustering/health-service-overview

Básicamente, ejecute esto como Administrador:

Get-StorageSubSystem Cluster * | Set-StorageHealthSetting -Name "System.Storage.PhysicalDisk.AutoPool.Enabled" -Value False

¡Espero que esto ayude! - Cosmos (@cosmosdarwin), Microsoft PM


@ CosmosDarvin: ¡Gracias! Parece que eso podría hacer el truco. Necesito leer un poco más en profundidad y comprender las implicaciones, luego lo intentaré e informaré.
Karsten Köpnick

@ CosmosDarvin: Muchas gracias. Finalmente tuve la oportunidad de profundizar en el tema para descubrir posibles repercusiones. Hasta donde puedo decir, con esa opción deshabilitada, la única consecuencia sería que los discos tendrán que agregarse al grupo manualmente con un comando Add-PhysicalDisk. Lo cual es una buena compensación. No pude encontrar ninguna indicación sobre otras complicaciones o desventajas, así que intentaré esto. - Solo necesita documentar la necesidad de agregar discos manualmente en caso de reemplazo. - Informaré los resultados.
Karsten Köpnick

Informar los resultados: Me gustaría agregar que no podría reunir ninguna experiencia de la vida real con este enfoque. Se decidió agregar un alojamiento de disco y usarlo en lugar de S2D. Los reemplazos de disco en un RAID de ese tamaño son una tarea frecuente, y el requisito de contar con alguien con suficiente experiencia en todo momento para realizar una intervención de PowerShell, incluso documentada, para un simple intercambio de disco fue visto como un obstáculo. Mirándolo de esa manera, estoy totalmente de acuerdo. Así que reinstalamos usando el gabinete y no tuvimos problemas desde entonces. - Gracias a todos por su amable y experta ayuda.
Karsten Köpnick

2

La solución que he encontrado para este problema es cambiar el tipo de bus de los volúmenes o discos RAID cambiándolo de uno de los tipos compatibles a uno no compatible.

Tendrá que identificar el controlador del controlador desde el Administrador de dispositivos y después de ir al registro y encontrar el nombre del controlador en la ubicación a continuación.

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SmartPqi \ Parameters

En mi caso, he cambiado la clave de registro que corresponde a SAS en RAID

«BusType» = 0x00000008 (RAID) (en lugar de 0x0000000a) (SAS)

reiniciar la máquina

Después de este cambio, puede tener el grupo de almacenamiento en el subsistema de almacenamiento de Windows en lugar de los espacios de almacenamiento en clúster

Tenga cuidado si desea aplicar este tipo de solución alternativa, ya que no es una solución validada y puede exponer su entorno de producción a un alto riesgo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.