Estamos estableciendo un ADAPT0 (RAID-60-like) de configuración para un servidor de archivos.
Tenemos seis pools de discos. Cada uno consta de 14 discos y se configura el uso de ADAPTARSE. De acuerdo con Dell oficial del libro blanco, ADAPTAR es similar a RAID 6 pero distribuye de la capacidad productiva. En la página 13, se indica que el tamaño de porción es de 512 KiB y que el ancho de franja es de 4 MiB (más de 8 discos) para cada uno de los discos de la piscina.
Mi entendimiento es que por cada 14 de disco piscina, 2 discos de la pena de capacidad está reservada para repuesto, el 20% restante de los 12 discos (2.4 discos de la pena de capacidad) se utiliza para la paridad y el 80% (9.6 discos) se utiliza para el almacenamiento. Sin embargo, el tamaño de porción es de 512 KiB y el ancho de franja sigue siendo 4MiB ya que estamos a sólo escribir para 8 discos en un bloque contiguo.
Para lograr un ADAPT0 (RAID-60-like) de configuración, a continuación, crea un volumen lógico que las franjas más de dos pools de discos con LVM. Nuestra intención es, finalmente, tiene 3 volúmenes seccionados, cada una de las bandas de más de dos pools de discos. Se utilizó un tamaño de banda que coincide con la de la RAID de hardware (512 KiB):
$ vgcreate vg-gw /dev/sda /dev/sdb
$ lvcreate -y --type striped -L 10T -i 2 -I 512k -n vol vg-gw
A continuación, configure un sistema de archivos XFS sobre el rayado de volumen lógico. Siguiendo las directrices de XFS.org y un par de otras fuentes, nos corresponde a la unidad de bandas su
a la RAID y LVM tamaño de banda (512k) y establecer el ancho de franja sw
a los 16 ya tenemos 16 "discos de datos".
$ mkfs.xfs -f -d su=512k,sw=16 -l su=256k /dev/mapper/vg--gw-vol
$ mkdir -p /vol/vol
$ mount -o rw -t xfs /dev/mapper/vg--gw-vol /vol/vol
Comparamos secuencial rendimiento de e/S de 4KiB tamaños de bloque en /dev/sda
y /dev/sdb
y /dev/mapped/vg--gw-vol
el uso de
fio --name=test --ioengine=posixaio --rw=rw --bs=4k --numjobs=1 --size=256g --iodepth=1 --runtime=300 --time_based --end_fsync=1
Nos sorprendió para obtener similares resultados:
Volumes Throughput Latency
--------------------- ---------- ----------
/dev/sda 198MiB/s 9.50 usec
/dev/sdb 188MiB/s 10.11 usec
/dev/mapped/vg--gw-vol 209MiB/s 9.06 usec
Si utilizamos el I/O la supervisión de la herramienta bwm-ng
, podemos ver I/O a ambos, /dev/sda
y /dev/sdb
cuando la escritura a /dev/mapped/vg--gw-vol
.
Hicimos configurar correctamente? Más específicamente:
(1) Era correcta para alinear el LVM raya tamaño a la de la RAID de hardware (512 KiB)?
(2) Era correcta para alinear el XFS unidad de bandas y anchos como nosotros (512 KiB de la raya tamaño y 16 discos de datos), o se supone que vamos a "abstracto" los volúmenes subyacentes (4 MiB tamaño de banda y 2 discos de datos)?
(3) Añadir a la confusión es el auto-reporte de salida de los dispositivos de bloque aquí:
$ grep "" /sys/block/sda/queue/*_size
/sys/block/sda/queue/hw_sector_size:512
/sys/block/sda/queue/logical_block_size:512
/sys/block/sda/queue/max_segment_size:65536
/sys/block/sda/queue/minimum_io_size:4096
/sys/block/sda/queue/optimal_io_size:1048576
/sys/block/sda/queue/physical_block_size:4096
Gracias!