Estoy usando Linux con 4 discos duros que usan 4k sectores. Hay varias capas entre mi sistema de archivos y los dispositivos sin formato: Discos> Linux Raid 5> dm-crypt> LVM.
Cada recurso que he encontrado ha explicado cómo configurar cada capa para garantizar que las escrituras en la parte superior de esa capa se alinearán con el límite del sector 4k. Sin embargo, no he encontrado nada que explique cómo verificar que las escrituras realizadas en los discos duros realmente están sucediendo en los límites de 4k.
No estoy interesado en volver a examinar mi configuración para usar la lógica para determinar si está alineada correctamente. Quiero examinar qué sucede realmente cuando se realizan escrituras en el disco.
¿Cómo puedo registrar o ver las direcciones y el tamaño de las escrituras que se están realizando en mis discos duros, para poder verificar que estén correctamente alineados?
fuente
Escriba un bloque de 4k y observe cuántos datos se leen / escriben con
iostat
(las columnas 'Blk_read' 'Blk_wrtn'). Si los datos no están alineados, una escritura activará las lecturas primero y activará más de 4k de escrituras.Sin embargo, deberá tener cuidado de no medir ninguna actualización de metadatos ... o simplemente ahogarlos haciendo miles de escrituras de 4k ... Así que asegúrese de que nada más esté escaneando discos o sosteniendo archivos abiertos (creo
lsof
que sería ¿suficiente?), luego abra un nuevo archivo, espere, ejecuteiostat
, escriba 4k en el archivo, sincronice la escritura (¿o simplemente espere un momento?) y luego verifiqueiostat
nuevamente.Esto parece dar un resultado razonable para mí:
iostat
La página de manual de Note dice que se informa en bloques de 512 bytes, y veo que se escribieron más de 80000 bloques adicionales, y no se leyeron bloques. Si su alineación está desactivada, verá un número similar de lecturas (ya que para escribir un 4k mal alineado, es necesario leer los dos bloques afectados, mutarlos y volver a escribirlos). De hecho, la única razón por la que la alineación es importante es evitar tales lecturas (así que eso es realmente lo que desea buscar: ¿se lee un disparador de carga de trabajo de escritura?)fuente