Можно ли запустить SystemTap внутри док-контейнера, который не является не привилегированным? Я смонтировал /lib/modules
и /sys/kern/debug
внутри контейнера и предоставил контейнеру все возможности, но это не помогло. Хотя SystemTap устанавливает модуль без проблем, ему не удается подключиться к модулю на проходе 5 с ошибкой: невозможно открыть канал управления модулем.
Запуск SystemTap внутри непривилегированного док-контейнера
comment
Вы можете запустить stap -vv [...], чтобы найти командную строку staprun, которую он вызывает для прохода 5, а затем запустить ее вручную под # strace, чтобы выяснить, что случилось.
- person fche   schedule 11.08.2016
comment
Да, я понял это так. Извините за поздний ответ, хотя! Я обнаружил, что debugfs был смонтирован только для чтения, так как он находится в каталоге /sys. Перемонтирование вне /sys и в режиме чтения-записи решает проблему.
- person MEE   schedule 13.08.2016
Ответы (1)
Решение состоит в том, чтобы смонтировать debugfs с разрешениями на чтение и запись за пределами /sys. Без привилегированного режима /sys монтируется только для чтения, и SystemTap не может записывать в канал управления (файл отладки) модуля трассировки.
person
MEE
schedule
13.08.2016