Crear volumen lvm en los últimos cilindros del disco.

Crear volumen lvm en los últimos cilindros del disco.

En todos los discos magnéticos la diferencia de velocidad entre el primer y el último sector es notable, hasta un factor de dos o tres. Esto sigue siendo cierto con los nuevos discos de varios terabytes. Por lo tanto, todavía tiene sentido reservar los últimos cilindros del disco para archivos que se utilizan con poca frecuencia, en particular para copias de seguridad.

Con un disco particionado, es trivial hacer esto, con la única salvedad de permitir futuros cambios de tamaño.

Pero mi configuración esLVM sin particiones. Por lo tanto, necesito colocar dos grupos de volúmenes en el mismo hardware físico (uno usando los inicios de un conjunto de discos, el otro usando los extremos) o asegurarme de que un volumen lógico prefiera usar las extensiones en los últimos cilindros del hardware. . ¿Es posible? ¿Tenemos algún control sobre dónde estará un LV?

Respuesta1

Realmente no estoy de acuerdo en que esto sea una gran preocupación en la mayoría de las cargas de trabajo debido al almacenamiento en caché, las políticas de lectura anticipada y los elevadores de discos que puede utilizar, pero esto es posible con algunas advertencias.

La mejor manera de abordar esto sería particionar físicamente los medios que desea asignar en 'fragmentos' que considere cada extremo del disco que desea separar.

Algo como esto

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1075MB  1074MB  primary  ext4         boot
 2      1075MB  4TB     4TB     primary               lvm # My fast partition
 3      4TB     8TB     4TB     primary               lvm # My slow partition

Luego, cree uno o más grupos de volúmenes. En este ejemplo, estoy usando un grupo de volúmenes, pero podría ser más fácil tener un VG "lento" y un VG "rápido".

# pvcreate /dev/sda2 
# pvcreate /dev/sda3
# vgcreate vg /dev/sda2 /dev/sda3

Luego asigne sus LV fuera de dichos volúmenes físicos.

# lvcreate -n myFastLV -L1TB vg /dev/sda2
# lvcreate -n mySlowLV -L1TB vg /dev/sda3

Las advertencias aquí son que los sectores defectuosos pueden ser reemplazados silenciosamente por el controlador de disco con una 'reserva' que a menudo se encuentra en otro lugar (que es totalmente independiente del fabricante). Además, algunos discos más sofisticados pueden reasignar internamente los sectores que son lógicamente consistentes con las afirmaciones ofrecidas, pero físicamente no están en el lugar que esperaba.

Finalmente, el problema de carga de trabajo que está sugiriendo (canalización de archivos enormes) realmente es un problema de carga de trabajo muy secuencial que obtendría mayores beneficios al utilizar técnicas de preasignación en los archivos escritos (para mantenerlos contiguos y no fragmentados).

Luego, establezca políticas agresivas de lectura anticipada para leer franjas completas de sectores adyacentes/próximos que probablemente serán contiguos al archivo que está leyendo.

También se podría lograr un enfoque más detallado dmsetupmapeando los sectores físicos en cualquier orden y forma que desee, pero esto no sería demasiado portátil y probablemente requeriría más esfuerzo de lo que vale a largo plazo (necesitaría un script para reconstruir el mapeo en el arranque, por ejemplo).

información relacionada