Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

개요

동작 로그는 사용자의 커널 로그 분석 시 접근성을 높이기 위해 bsr 동작 시 출력되는 동작의 커널 로그를 설명합니다.

Info

동작 로그를 읽기 위해서는 먼저 https://mantech.jira.com/wiki/spaces/BSRUG , 로그을 숙지해주세요.

...

다음은 windows 에서 bsr 커널 드라이버 로드 시 출력 로그와 설명입니다.

  • bsr 드라이버 버전과 bsr 드라이버에서 사용하는 port 정보등을 출력합니다.

  • 시스템 로그가 없는 상황에서는 커널 로드 로그 출력 시간을 통해 시스템 시작 시간을 짐작하기도 합니다.

...

다음은 bsr 커널은 disk, peer disk, replication, connection, role 상태 변경 시 출력 로그와 설명입니다.

  • 복수의 상태 변경이 하나의 로그에 출력 될 수 있습니다.

  • 예상하지 못한 상태 설정 시 로그를 통해 문제 등을 유추 할 수 있습니다.

    • 예를 들어 연결 상태가 connected 에서 connecting 또는 standalone 으로 변경된다면 연결 상태 변경 로그 중심으로 원인을 분석 할 수 있습니다.

    • 로그에는 상태 변경을 진행한 함수 이름이 같이 출력되며 소스코드 확인이 가능하다면 더 상세한 분석을 할 수 있습니다.

      • 다음 로그에서 상태 변경을 진행한 함수 이름은 “change_disk_state, recevie_state, change_role, connect_work” 입니다.

...

다음은 bsradm.exe, bsrsetup.exe, bsrmeta.exe, bsrcon.exe 으로 명령 실행 시 출력 로그와 설명입니다.

  • 명령 실행 시 “"실행 명령" command has been received. Execute the command.”, 명령 실행 후 “"실행 명령" command execution terminated. (pending command:0)” 로그를 출력하며 실행되는 명령은 “실행 명령”으로 표시됩니다.

    • 예를들어 명령 실행 시 “"실행 명령" command has been received. Execute the command.” 은 있으나 매칭되는 “"실행 명령" command execution terminated. (pending command:0)” 이 없다면 명령이 완료되지 않은 상황임을 알 수 있습니다.

  • 명령에따라 실행 완료까지 대기 또는 대기하지 않을 수 있습니다.

  • 명령 실행으로 출력되는 로그는 “...” 으로 작성했습니다.

...

다음은 bsradm, bsrsetup 으로 connect 명령 실행 시 출력 로그와 설명입니다.

Info

시스템 또는 네트워크 상황등으로 재연결 시 connect 명령 실행과 동일한 과정의 로그가 출력됩니다.

...

다음은 bsradm, bsrsetup 으로 disconnect 명령 실행 시 출력 로그와 설명입니다.

Info

시스템 또는 네트워크 상황등으로 연결 종료 시 동일한 과정의 로그가 출력되나 연결 상태가 standalone으로 설정되지 않습니다.

...

up 실행

다음은 bsradm up 명령 실행 시 출력 로그와 설명입니다.

Info

bsradm up 명령 실행 시 new-resource, new-minor, new-peer, new-path, attach, connect 명령이 순차적으로 실행됩니다.

...

down 실행

다음은 bsradm down 명령 실행 시 출력 로그와 설명입니다.

Info

bsradm down 명령은 볼륨 lock, 볼륨 flush, 볼륨 dismount, 연결 종료, 볼륨 잠금 순서로 실행됩니다.

...

syncsource

다음은 syncsource에서 동기화 시작 출력 로그와 설명입니다.

Code Block
00000322 10/26/2020 16:48:53.1027626 [__receive_uuids] [UUID:16] bsr_warn<4> bsr r0/0 minor 2 pnode-id:1, pdsk(DUnknown), prpl(Off), pdvflag(0x100000): receive new current but not update UUID: A95D18E8D4AE8C78
00000323 10/26/2020 16:48:53.1027665 [bsr_uuid_compare] [RESYNC/OV:202] bsr_info<6> bsr r0/0 minor 2, ds(UpToDate), dvflag(0x0): Peer UUID and local bitmap UUID are the same. rule(70), res(2)

...

synctarget

다음은 synctarget에서 동기화 시작 출력 로그와 설명입니다.

Info

syncsource와 중복되는 로그는 설명하지 않습니다.

...

Code Block
00000230 10/26/2020 16:48:52.7915051 [make_resync_request] [RESYNC/OV:107] bsr_info<6> bsr r0/0 minor 2 pnode-id:0, pdsk(UpToDate), prpl(SyncTarget), pdvflag(0x100600): Finished the resync. resync target area does not exist.

다음은 synctarget에서 동기화 완료 출력 로그와 설명입니다.

Code Block
00000231 10/26/2020 16:48:52.7918471 [bsr_resync_finished] [RESYNC/OV:116] bsr_info<6> bsr r0/0 minor 2 pnode-id:0, pdsk(UpToDate), prpl(SyncTarget), pdvflag(0x100600): Resync done (total 1 sec; paused 0 sec; 0 K/sec), hit bit (in sync 0; marked rl 0)
00000232 10/26/2020 16:48:52.7918549 [bsr_print_uuids] [UUID:1] bsr_info<6> bsr r0/0 minor 2 pnode-id:0, pdsk(UpToDate), prpl(SyncTarget), pdvflag(0x100600): bsr_resync_finished, updated UUIDs CE5CC8B0672E645C:0000000000000000:A95D18E8D4AE8C78:3DF87D1E1EFC3E92
00000233 10/26/2020 16:48:52.7918808 [print_state_change] [STATE:20] bsr_info<6> bsr r0/0 minor 2, ds(Inconsistent), dvflag(0x20004): bsr_resync_finished, disk( Inconsistent -> UpToDate )
00000234 10/26/2020 16:48:52.7918840 [print_state_change] [STATE:21] bsr_info<6> bsr r0/0 minor 2 pnode-id:0, pdsk(UpToDate), prpl(SyncTarget), pdvflag(0x100600): bsr_resync_finished, repl( SyncTarget -> Established )
00000235 10/26/2020 16:48:52.7927024 [bsr_queue_bitmap_io] [RESYNC/OV:33] bsr_info<6> bsr r0/0 minor 2, ds(UpToDate), dvflag(0x20000): write from resync_finished, worker.task(FFFFE000E4CD8CF0), current(FFFFE000E4CD8CF0)