40.2. SystemTap 간 복원 초기화
SystemTap 간 복원을 초기화하여 한 시스템에서 SystemTap 스크립트에서 SystemTap 계측 모듈을 빌드하고 SystemTap이 완전히 배포되지 않은 다른 시스템에서 사용합니다.
사전 요구 사항
- SystemTap은 Systemtap 설치에 설명된 대로 호스트 시스템에 설치됩니다.
systemtap-runtime
패키지는 각 대상 시스템에 설치됩니다.# dnf install systemtap-runtime
- 호스트 시스템과 대상 시스템은 모두 동일한 아키텍처입니다.
- 호스트 시스템과 대상 시스템은 모두 동일한 Red Hat Enterprise Linux (예: Red Hat Enterprise Linux 9) 주요 버전을 실행하고 있습니다.
커널 패키징 버그로 인해 여러 kernel-debuginfo
및 kernel-devel
패키지가 하나의 시스템에 설치되지 않을 수 있습니다. 이러한 경우 호스트 시스템 및 대상 시스템의 마이너 버전이 일치해야 합니다. 버그가 발생하면 https://bugzilla.redhat.com/ 에서 보고합니다.
절차
각 대상 시스템에서 실행 중인 커널 확인:
$ uname -r
각 대상 시스템에 대해 이 단계를 반복합니다.
- 호스트 시스템에서 Systemtap 설치에 설명된 방법으로 각 대상 시스템의 대상 커널 및 관련 패키지를 설치합니다.
호스트 시스템에서 조정 모듈을 빌드하고, 이 모듈을 에 복사하여 대상 시스템의 에서 이 모듈을 실행합니다.
원격 구현 사용:
# stap --remote target_system script
이 명령은 대상 시스템에서 지정된 스크립트를 원격으로 구현합니다. 이 작업이 성공하려면 호스트 시스템에서 대상 시스템에 대한 SSH 연결을 수행할 수 있는지 확인해야 합니다.
수동:
호스트 시스템에서 조정 모듈을 빌드합니다.
# stap -r kernel_version script -m module_name -p 4
여기서 kernel_version 은 1단계에서 결정된 대상 커널 버전을 나타냅니다. script 는 조정 모듈로 변환할 스크립트를 나타내며 module_name 은 계측 모듈의 원하는 이름입니다.
-p4
옵션은 SystemTap에 컴파일된 모듈을 로드하지 않고 실행하도록 지시합니다.계측 모듈이 컴파일되면 대상 시스템에 복사하여 다음 명령을 사용하여 로드합니다.
# staprun module_name.ko