GNU/Linux >> Tutoriales Linux >  >> Linux

Configuración de lectura anticipada para LVM, Device-Mapper, Software Raid y Block Devices:¿qué gana?

Solución 1:

¿Cómo se transmite la configuración de RA a la cadena de dispositivos de bloques virtuales?

Eso depende. Supongamos que está dentro de Xen domU y tiene RA=256. Su /dev/xvda1 es el LV real en el dom0 visible en /dev/dm1. Entonces tienes RA(domU(/dev/xvda1)) =256 y RA(dom0(/dev/dm1)) =512 . Tendrá tal efecto que el kernel dom0 accederá a /dev/dm1 con otro RA que no sea el kernel de domU. Tan simple como eso.

Ocurrirá otra situación si asumimos la situación /dev/md0(/dev/sda1,/dev/sda2).

blockdev --report | grep sda
rw   **512**   512  4096          0   1500301910016   /dev/sda
rw   **512**   512  4096       2048      1072693248   /dev/sda1
rw   **512**   512  4096    2097152   1499227750400   /dev/sda2
blockdev --setra 256 /dev/sda1
blockdev --report | grep sda
rw   **256**   512  4096          0   1500301910016   /dev/sda
rw   **256**   512  4096       2048      1072693248   /dev/sda1
rw   **256**   512  4096    2097152   1499227750400   /dev/sda2

La configuración de /dev/md0 RA no afectará a los dispositivos de bloque /dev/sdX.

rw   **256**   512  4096       2048      1072693248   /dev/sda1
rw   **256**   512  4096    2097152   1499227750400   /dev/sda2
rw   **512**   512  4096          0      1072627712   /dev/md0

Entonces, en general, en mi opinión, el kernel accede a blockdevice de la manera en que realmente está configurado. Se puede acceder a un volumen lógico a través de RAID (del que forma parte) o un dispositivo mapeador de dispositivos y cada uno con otro RA que se respetará.

Entonces, la respuesta es:la configuración de RA en mi humilde opinión no se transmite a través de la cadena de dispositivos de bloques, pero sea cual sea la configuración de RA del dispositivo de nivel superior, se usará para acceder a los dispositivos constituyentes

¿Dm-0 triunfa sobre todo porque ese es el dispositivo de bloque de nivel superior al que realmente está accediendo?

Si se refiere a la propagación profunda por "triunfar sobre todo", según mi comentario anterior, creo que puede tener diferentes RA para diferentes dispositivos en el sistema.

¿Lvchange -r tendría un impacto en el dispositivo dm-0 y no aparecería aquí?

Sí, pero este es un caso particular. Supongamos que tenemos /dev/dm0, que es /dev/vg0/blockdevice de LVM. Si lo hace:

lvchange -r 512 /dev/vg0/blockdevice

/dev/dm0 también cambiará porque /dev/dm0 y /dev/vg0/blockdevice es exactamente el mismo dispositivo de bloque cuando se trata de acceso al kernel.

Pero supongamos que /dev/vg0/blockdevice es lo mismo que /dev/dm0 y /dev/xvda1 en Xen domU que lo está utilizando. La configuración de RA de /dev/xvda1 surtirá efecto, pero dom0 verá que todavía tiene su propio RA.

¿Qué usa, equivalente al tamaño del sector anterior para determinar el valor real de lectura anticipada para un dispositivo virtual:

Por lo general, descubro RA al experimentar con diferentes valores y probarlo con hdparm .

¿El tamaño de franja del RAID (para md0)?

Igual que arriba.

¿El FS juega un papel (estoy interesado principalmente en ext4 y XFS)?

Claro, este es un tema muy amplio. Te recomiendo que comiences aquí http://archives.postgresql.org/pgsql-performance/2008-09/msg00141.php

Solución 2:

Conozca la respuesta más difícil de explicar, así que lo haré en el ejemplo. Digamos que por el bien de esto, tiene 3 dispositivos de bloque y configura su RA para que diga 4 (4 * 512 bytes) asumiendo el sector estándar. Si tuviera que decir usar un esquema RAID-5 usando los 3 discos, cualquier lectura que incluso tocara una raya en un disco único agravaría el RA por el factor en el que inicialmente configuró el RA del dispositivo de bloqueo. Entonces, si su lectura abarcó exactamente los 3 discos, entonces su RA efectivo sería de 12 * 512 bytes. Esto se puede agravar ajustando RA en varios niveles, por ejemplo, MD o LVM. Como regla general, si mi aplicación se beneficia de RA, la configuro en la capa más alta posible para no aumentar la RA innecesariamente. Luego inicio el sistema de archivos en el sector 2049 y compenso cada inicio de sector en un número divisible por 8. Puede que esté muy lejos de lo que está preguntando, pero estos son mis 2¢.


Linux
  1. Qué significa arranque medido y arranque de confianza para Linux

  2. FreeCAD:un software de diseño y modelado 3D para Linux

  3. Cómo identificar el número mayor y menor para dispositivos de bloque en Unix

  4. 5 software de gestión escolar gratuito y de código abierto para Linux

  5. ¿Qué es una alternativa de XPerf para Linux y Mac OS X?

4 razones para elegir Linux para el arte y el diseño

Las peores distribuciones de Linux para principiantes [y qué elegir]

¿Qué es una base de datos distribuida y para qué sirven los sistemas de datos distribuidos?

Los 30 mejores software de contabilidad y finanzas para escritorio Linux

Las 20 mejores estaciones de trabajo de audio digital (DAW) y software de DJ para Linux

20 mejores programas de cifrado de discos y archivos para escritorio Linux