3.7. Medición de la deduplicación VDO

Este procedimiento comprueba la eficacia de la deduplicación de datos VDO en un volumen de prueba VDO.

Requisitos previos

Procedimiento

  1. Prepara una tabla en la que puedas registrar los resultados de las pruebas:

    EstadísticaSistema de archivos sin soporteDespués de la semillaDespués de 10 copias

    Tamaño del sistema de archivos utilizado

       

    Datos VDO utilizados

       

    VDO lógico utilizado

       
  2. Cree 10 directorios en el volumen VDO para contener 10 copias del conjunto de datos de prueba:

    $ mkdir /mnt/vdo-test/vdo{01..10}
  3. Examine el uso del disco informado por el sistema de archivos:

    $ df --human-readable /mnt/vdo-test

    Ejemplo 3.1. Uso del disco

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vdo-test  1.5T  198M  1.4T   1% /mnt/vdo-test
  4. Registra los siguientes valores:

    # vdostats --verbose | grep "blocks used"

    Ejemplo 3.2. Bloques usados

    data blocks used                : 1090
    overhead blocks used            : 538846
    logical blocks used             : 6059434
    • El valor data blocks used es el número de bloques utilizados por los datos del usuario después de la optimización en el dispositivo físico que se ejecuta bajo VDO.
    • El valor logical blocks used es el número de bloques utilizados antes de la optimización. Se utilizará como punto de partida para las mediciones.
  5. Cree un archivo de origen de datos en el volumen VDO:

    $ dd if=/dev/urandom of=/mnt/vdo-test/sourcefile bs=4096 count=1048576
    
    4294967296 bytes (4.3 GB) copied, 540.538 s, 7.9 MB/s
  6. Vuelva a examinar la cantidad de espacio de disco físico utilizado:

    $ df --human-readable /mnt/vdo-test

    Ejemplo 3.3. Uso del disco con el archivo fuente de datos

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vdo-test  1.5T  4.2G  1.4T   1% /mnt/vdo-test
    # vdostats --verbose | grep "blocks used"

    Ejemplo 3.4. Bloques utilizados con el archivo de origen de datos

    data blocks used                : 1050093  # Increased by 4GiB
    overhead blocks used            : 538846   # Did not significantly change
    logical blocks used             : 7108036  # Increased by 4GiB

    Este comando debería mostrar un aumento en el número de bloques utilizados, correspondiente al tamaño del archivo escrito.

  7. Copie el archivo en cada uno de los 10 subdirectorios:

    $ for i in {01..10}; do
      cp /mnt/vdo-test/sourcefile /mnt/vdo-test/vdo$i
      done
  8. Vuelva a examinar la cantidad de espacio de disco físico utilizado:

    $ df -h /mnt/vdo-test

    Ejemplo 3.5. Uso del disco después de copiar el archivo

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vdo-test  1.5T   45G  1.3T   4% /mnt/vdo-test
    # vdostats --verbose | grep "blocks used"

    Ejemplo 3.6. Bloques utilizados después de copiar el archivo

    data blocks used                : 1050836   # Increased by 3 MiB
    overhead blocks used            : 538846
    logical blocks used             : 17594127  # Increased by 41 GiB

    El valor de data blocks used debería ser similar al resultado del listado anterior, con sólo un ligero aumento debido al registro en el diario del sistema de archivos y los metadatos.

  9. Reste este nuevo valor del espacio utilizado por el sistema de archivos del valor encontrado antes de escribir los datos de la prueba. Esta es la cantidad de espacio consumido por esta prueba desde la perspectiva del sistema de archivos.
  10. Observe el ahorro de espacio en sus estadísticas registradas:

    Ejemplo 3.7. Valores registrados

    EstadísticaSistema de archivos sin soporteDespués de la semillaDespués de 10 copias

    Tamaño del sistema de archivos utilizado

    198 MiB

    4.2 GiB

    45 GiB

    Datos VDO utilizados

    4 MiB

    4.1 GiB

    4.1 GiB

    VDO lógico utilizado

    23.6 GiB (file system overhead for 1.6 TiB formatted drive)

    27.8 GiB

    68.7 GiB

    Nota

    En la tabla, los valores se han convertido a MiB o GiB. Los bloques en la salida de vdostats tienen un tamaño de 4.096 B.

Pasos de limpieza