Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

As tecnoloxías para mellorar o rendemento baseadas no uso de SSD e amplamente utilizadas nos sistemas de almacenamento foron inventadas dende hai tempo. En primeiro lugar, é o uso de SSD como espazo de almacenamento, que é 100% efectivo, pero caro. Polo tanto, utilízanse tecnoloxías agotadoras e de caché, onde os SSD só se usan para os datos ("quentes") máis populares. A clasificación é boa para escenarios de uso a longo prazo (días-semanas) de datos "quentes". A caché, pola contra, é para uso a curto prazo (minutos-horas). Ambas opcións están implementadas no sistema de almacenamento QSAN XCubeSAN. Neste artigo analizaremos a implementación do segundo algoritmo: Almacenamento en caché SSD.

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

A esencia da tecnoloxía de caché SSD é o uso de SSD como caché intermedia entre os discos duros e a memoria RAM do controlador. O rendemento do SSD é, por suposto, inferior ao rendemento da propia caché do controlador, pero o volume é unha orde de magnitude superior. Polo tanto, obtemos un certo compromiso entre velocidade e volume.

Indicacións para usar a caché SSD para ler:

  • O predominio das operacións de lectura sobre as operacións de escritura (a maioría das veces típicas de bases de datos e aplicacións web);
  • A presenza dun pescozo de botella en forma de rendemento da matriz de discos duros;
  • A cantidade de datos necesarios é menor que o tamaño da caché SSD.

As indicacións para usar unha caché SSD de lectura+escritura son as mesmas, excepto pola natureza das operacións: tipo mixto (por exemplo, servidor de ficheiros).

A maioría dos provedores de almacenamento usan caché SSD de só lectura nos seus produtos. A diferenza fundamental QSAN Ofrecen a capacidade de usar a caché tamén para escribir. Para activar a funcionalidade de almacenamento en caché SSD nos sistemas de almacenamento QSAN, debes mercar unha licenza separada (suministrada electrónicamente).

A caché SSD en XCubeSAN está fisicamente implementada en forma de conxuntos de caché SSD separados. Pode haber ata catro deles no sistema. Cada grupo, por suposto, usa o seu propio conxunto de SSD. E xa nas propiedades do disco virtual determinamos se utilizará un pool de caché e cal. Activar e desactivar o uso da caché para volumes pódese facer en liña sen deter as E/S. Tamén podes engadir SSD á piscina e eliminalos de alí. Ao crear unha caché de grupo SSD, debes escoller en que modo funcionará: só lectura ou lectura+escritura. Diso depende a súa organización física. Dado que pode haber varias agrupacións de caché, a súa funcionalidade pode ser diferente (é dicir, o sistema pode ter grupos de caché de lectura e escritura ao mesmo tempo).

Se se utiliza un conxunto de caché de só lectura, pode constar de 1 a 8 SSD. Os discos non teñen que ter a mesma capacidade e o mesmo provedor, xa que se combinan nunha estrutura NRAID+. Todas as unidades SSD do grupo son compartidas. O sistema tenta paralelizar de forma independente as solicitudes entrantes entre todos os SSD para acadar o máximo rendemento. Se un dos SSD falla, non pasará nada malo: despois de todo, a caché só contén unha copia dos datos almacenados na matriz de discos duros. É só que a cantidade de caché SSD dispoñible diminuirá (ou pasará a ser cero se se usa a caché SSD orixinal dunha unidade).

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Se a caché se usa para operacións de lectura + escritura, entón o número de SSD no grupo debería ser un múltiplo de dous, xa que o contido reflíctese en pares de unidades (utilízase a estrutura NRAID 1+). É necesario duplicar a caché porque pode conter datos que aínda non se escribiron nos discos duros. E neste caso, o fallo do SSD do grupo de caché levaría á perda de información. No caso de NRAID 1+, un fallo do SSD simplemente levará a que a caché se transfira a un estado de só lectura, con datos non escritos que se volcarán na matriz de discos duros. Despois de substituír o SSD defectuoso, a caché volverá ao seu modo de funcionamento orixinal. Por certo, para unha maior seguridade, podes asignar recambios dedicados a unha caché de lectura + escritura.

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Cando se utiliza a función de almacenamento en caché SSD en XCubeSAN, hai unha serie de requisitos para a cantidade de memoria dos controladores de almacenamento: canta máis memoria do sistema, maior será o conxunto de caché dispoñible.

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

A diferenza da maioría dos fabricantes de sistemas de almacenamento, que só ofrecen unha opción para activar/desactivar a caché SSD, QSAN ofrece máis opcións. En particular, pode seleccionar o modo de funcionamento da caché dependendo da natureza da carga. Existen tres modelos preestablecidos que se aproximan no seu funcionamento aos servizos correspondentes: base de datos, sistema de ficheiros, servizo web. Ademais, o administrador pode crear o seu propio perfil configurando os valores dos parámetros necesarios:

  • Tamaño do bloque (Tamaño do bloque da caché): 1/2/4 MB
  • Número de solicitudes para ler un bloque para que se copie na caché (Limiar de enchemento en lectura) - 1..4
  • Número de solicitudes para escribir un bloque para que se copie na caché (Limiar de enchemento en escritura) - 0..4

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Os perfís pódense cambiar sobre a marcha, pero, por suposto, co contido da caché restablecida e o seu novo "quecemento".

Tendo en conta o principio de funcionamento da caché SSD, podemos destacar as principais operacións ao traballar con ela:

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Lendo datos cando non están na caché

  1. Unha solicitude do host chega ao controlador;
  2. Dado que os solicitados non están na caché SSD, lense desde os discos duros;
  3. Os datos lidos envíanse ao host. Ao mesmo tempo, faise unha comprobación para ver se estes bloques están "quentes";
  4. Se si, cópiase na caché SSD para o seu uso posterior.

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Ler os datos cando están presentes na caché

  1. Unha solicitude do host chega ao controlador;
  2. Dado que os datos solicitados están na caché SSD, léase desde alí;
  3. Os datos lidos envíanse ao host.

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Escribindo datos ao usar a caché de lectura

  1. Unha solicitude de escritura do host chega ao controlador;
  2. Os datos escríbense nos discos duros;
  3. Devólvese ao host unha resposta que indica a gravación correcta;
  4. Ao mesmo tempo, compróbase se o bloque está "quente" (compárase o parámetro Populate-on-Write Threshold). Se si, cópiase na caché SSD para o seu uso posterior.

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Escribindo datos cando se utiliza unha caché de lectura+escritura

  1. Unha solicitude de escritura do host chega ao controlador;
  2. Os datos escríbense na caché SSD;
  3. Devólvese ao host unha resposta que indica a gravación correcta;
  4. Os datos da caché SSD escríbense en discos duros en segundo plano;

Cheque en acción

Banco de probas

2 servidores (CPU: 2 x Xeon E5-2620v3 2.4 Hz / RAM: 32 GB) están conectados por dous portos a través de Fibre Channel 16G directamente ao sistema de almacenamento XCubeSAN XS5224D (16 GB de RAM/controlador).

Usamos 16 Seagate Constellation ES, ST500NM0001, 500 GB, SAS 6 Gb/s, combinados en RAID5 (15+1), para a matriz de datos e 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100 GB, SASs como caché 12Gb

Creáronse 2 volumes: un para cada servidor.

Proba 1. Caché SSD de só lectura de 1 a 8 SSD

Caché SSD

  • Tipo de E/S: Personalización
  • Tamaño do bloque da caché: 4 MB
  • Limiar de poboación en lectura: 1
  • Limiar de enchemento na escritura: 0

Patrón de E/S

  • Ferramenta: IOmeter V1.1.0
  • Traballadores: 1
  • Sobresaliente (profundidade da fila): 128
  • Especificacións de acceso: 4KB, 100% de lectura, 100% aleatorio

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

En teoría, cantos máis SSD hai no grupo de caché, maior será o rendemento. Na práctica, isto foi confirmado. O único aumento significativo no número de SSD cun pequeno número de volumes non leva a un efecto explosivo.

Proba 2. Caché SSD en modo lectura + escritura con 2-8 SSD

Caché SSD

  • Tipo de E/S: Personalización
  • Tamaño do bloque da caché: 4 MB
  • Limiar de poboación en lectura: 1
  • Limiar de enchemento na escritura: 1

Patrón de E/S

  • Ferramenta: IOmeter V1.1.0
  • Traballadores: 1
  • Sobresaliente (profundidade da fila): 128
  • Especificacións de acceso: 4KB, 100% de escritura, 100% aleatorio

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

O mesmo resultado: crecemento explosivo do rendemento e escalado a medida que aumenta o número de SSD.

En ambas as probas, a cantidade de datos de traballo foi menor que o tamaño total da caché. Polo tanto, co paso do tempo, todos os bloques foron copiados na caché. E o traballo, de feito, xa se levou a cabo con SSD, practicamente sen afectar aos discos duros. O propósito destas probas era demostrar claramente a eficacia de quentar a caché e escalar o seu rendemento dependendo da cantidade de SSD.

Agora volvamos á terra e comprobemos unha situación máis realista, cando a cantidade de datos é maior que o tamaño da caché. Para que a proba pase nun tempo razoable (o período de "quecemento" da caché aumenta moito a medida que aumenta o tamaño do volume), limitaremos o tamaño do volume a 120 GB.

Proba 3. Emulación de bases de datos

Caché SSD

  • Tipo de E/S: Base de datos
  • Tamaño do bloque da caché: 1 MB
  • Limiar de poboación en lectura: 2
  • Limiar de enchemento na escritura: 1

Patrón de E/S

  • Ferramenta: IOmeter V1.1.0
  • Traballadores: 1
  • Sobresaliente (profundidade da fila): 128
  • Especificacións de acceso: 8KB, 67% de lectura, 100% aleatorio

Implementación de caché SSD no sistema de almacenamento QSAN XCubeSAN

Veredicto

A conclusión obvia, por suposto, é a boa eficiencia de usar unha caché SSD para mellorar o rendemento de calquera sistema de almacenamento. Aplicado a QSAN XCubeSAN Esta afirmación aplícase plenamente: a función de caché SSD está implementada perfectamente. Isto refírese ao soporte para os modos de lectura e lectura + escritura, a configuración flexible para calquera escenario de uso, así como ao rendemento xeral do sistema no seu conxunto. Polo tanto, por un custo moi razoable (o prezo da licenza é comparable ao custo de 1-2 SSD), pode aumentar significativamente o rendemento xeral.

Fonte: www.habr.com

Engadir un comentario