Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Модуль ядра Device Mapper Proxy для сбора статистики операций

Программа направлена на реализацию модуля ядра под ОС linux, который создаёт виртуальные блочные устройства поверх существующего на базе device mapper и следит за статистикой выполняемых операций на устройстве.

Поддерживаемые статистические данные

  • Количество запросов на запись

  • Количество запросов на чтение

  • Средний размер блока на запись

  • Средний размер блока на чтение

  • Общее количество запросов

  • Средний размер блока

Требования

  • linux-headers (версия зависит от устройства)

  • gcc, make

  • Утилиты: lsmod, dmsetup, dd

Сборка

  1. Для автоматической сборки нужно прописать make и запустить скрипт ./build.sh (через sudo).

  2. Для ручной сборки необходимо выполнить следующие команды:

$ make 

# insmod dmp.ko

# dmsetup create zero1 --table "0 $size zero"

# dmsetup create dmp1 --table "0 $size dmp /dev/mapper/zero1"

$size - размер устройства.

Тестирование

Тестирование заключается в проверке установки модулей:

$ lsmod | grep -e dmp -e zero

$ ls -l /dev/mapper

И осуществлении операций записи и чтения, с последующей проверкой сбора статистики:

# dd if=/dev/random of=/dev/mapper/dmp1 bs=4k count=1

# dd if=/dev/mapper/dmp1 of=/dev/null bs=4k count=1

$ cat /sys/module/dmp/stat/volumes

Перечисленные команды можно запустить через скрипт ./test.sh.

Пример вывода:

read:
 reqs: 340
 avg size: 4096
write:
 reqs: 266
 avg size: 4096
total:
 reqs: 606
 avg size: 4096

Очистка

Для удаления созданных устройств создан скрипт ./clean.sh.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages