# 관리 안내서

# AFS 성능 모니터 및 감사

AFS는 3개의 기본 모니터 도구을 제공합니다.

- scout 프로그램, 파일 서버 성능에 대한 통계를 모니터하고 수집합니다.
- fstrace 명령 집합, 캐쉬 관리 프로그램의 동작을 자세하게 추적합니다.
- afsmonitor 프로그램, 파일 서버와 캐쉬 관리 프로그램 모두에 대한 통계를 모니터하고 수집합니다.

AFS는 또한 AIX를 실행하는 파일 서버 시스템에 대한 AFS 이벤트를 감사하는 툴을 제공합니다.

## 명령 요약

이 장에서는 표시된 명령을 사용하여 다음 타스크를 수행하는 방법에 대해 설명합니다.

scout 프로그램 시작 | scout
추적 로그에 대한 정보 표시 | fstrace lslog
이벤트 세트에 대한 정보 표시 | fstrace lsset
추적 로그 크기 변경 | fstrace setlog
이벤트 세트 상태 설정 | fstrace setset
추적 로그 내용 덤프 | fstrace dump
추적 로그 지우기 | fstrace clear
afsmonitor 프로그램 시작 | afsmonitor

## scout 프로그램 사용

scout 프로그램은 파일 서버 시스템에서 실행중인 파일 서버 프로세스의 상태를 모니터합니다. 지정된 파일 서버 프로세스 세트에서 통계를 정기적으로 수집하며, 이들을 그래픽 형식으로 표시한 다음, 통계가 구성할 수 있는 임계치를 초과하면 경보를 보냅니다.

특히 scout 프로그램에는 다음 기능이 포함됩니다.

- 한 위치에서, 로컬 및 외부 셀의 서버 시스템에 있는 파일 서버 프로세스를 모니터할 수 있습니다. 그 갯수는 디스플레이 창의 크기로만 제한되며, 이 창은 통계를 표시하기에 충분히 커야 합니다.
- 많은 통계에 대해 임계치를 설정할 수 있습니다. 통계값이 임계치를 초과하면, scout 프로그램은 이를 강조표시(역상 화면으로)하여 주의하도록 합니다. 값이 다시 임계치 이하로 되면, 강조표시는 해제됩니다. 임계치를 제어하므로, 강조표시를 사용하여 주목할 상황이 되었을 때 고려해야 하는 내용을 반영할 수 있습니다. 주요 통계 강조표시를 참조하십시오.
- scout 프로그램은 이 조사에 응답하지 않는 각 시스템 이름을 강조표시하여 파일 서버 프로세스, 시스템 및 네트워크 부족을 알리고, 좀 더 빨리 응답할 수 있도록 합니다.
- scout 프로그램이 파일 서버 프로세스에서 통계를 수집하는 빈도도 설정할 수 있습니다.

### 시스템 요구조건

scout 프로그램은 curses 그래픽 패키지에 액세스하는 모든 AFS 클라이언트 시스템에서 실행되며, 대부분의 UNIX 제품에는 표준 유틸리티로서 포함됩니다. 이것은 더미 터미널과, 터미널을 에뮬레이트하는 창 표시 시스템 모두에서 실행될 수 있지만, 출력은 역상(reverse) 비디오와 커서 주소지정을 지원하는 시스템에서 가장 좋습니다. 최상의 결과를 얻기 위해서는, TERM 환경 변수를 정확한 터미널 유형이나 실제 것과 비슷한 특성을 가진 터미널로 설정합니다. AIX를 실행중인 시스템에서는, TERM을 vt100으로 설정하는 좋으며, 터미널이 vt100과 유사하다고 가정합니다. 다른 운영 체제의 경우, 사용할 수 있는 값의 범위는 xterm, xterms, vt100, vt200 및 wyse85입니다.

scout 프로그램을 실행하는 데에는 아무 특권도 필요하지 않으므로, 2진 파일이 있는 디렉토리(일반 구성에서는 /usr/afsws/bin 디렉토리)에 액세스할 수 있는 사용자는 누구나 이를 사용할 수 있습니다. 통계를 수집하기 위한 프로그램 조사가 파일 서버 프로세스에 심각하게 부담되는 것은 아니지만 디렉토리에 있는 2진 파일을 좀 더 제한적인 액세스 제어 목록(ACL)에 삽입함으로써 그 사용을 제한할 수 있습니다.

scout 프로그램의 여러 인스턴스들은 단일 클라이언트 시스템에서 실행될 수 있으며, 각각은 자신의 전용 연결을 갖습니다(자신의 창에서). 포어그라운드로 실행되어야 하므로, 실행되는 창은 인터럽트 신호를 제외한 더 이상의 입력은 받아들이지 않습니다.

중앙 시스템에서 다른 시스템으로의 텔넷 연결을 개설하고 각 원격 창에서 프로그램을 초기설정하면 여러 시스템에서 scout 프로그램을 실행하고 단일 시스템에서 그 출력을 볼 수 있습니다. 이 경우, -host 플래그를 scout 명령에 포함시켜 출력을 표시하는 창 맨위에 있는 배너 행에 각각의 원격 시스템 이름이 표시되도록 할 수 있습니다. 배너 행을 참조하십시오.

### -basename 인수를 사용한 도메인 이름 지정

앞에서 설명한 바와 같이, scout 프로그램은 여러 파일 서버 시스템에서 파일 서버 프로세스를 모니터할 수 있습니다. 모든 시스템들이 같은 셀에 속하면, 이들의 호스트이름도 ABC 회사 셀의 abc.com처럼 모두 도메인 이름 접미어가 같습니다. 이 경우, -basename 인수를 scout 명령에서 사용할 수 있습니다. 이렇게 하면 여러가지 장점이 있습니다.

- 명령행에서 각 파일 서버 시스템의 이름을 입력할 때 도메인 이름을 생략할 수 있습니다. scout 프로그램은 각 시스템 이름에 도메인 이름을 자동으로 추가하여 완전한 호스트 이름을 생성합니다. -basename 인수를 포함시키지 않는 경우라도 도메인 이름 접미어를 생략할 수 있지만, 이 경우 이름의 정확도는 연결시 셀의 이름 서비스 상태에 따라 달라집니다.
- 시스템 이름이 축약되지 않고도 해당 디스플레이의 컬럼에 적합하게 됩니다(디스플레이 컬럼에서의 이름 축약에 대해서는 통계 디스플레이 영역 내용을 참조하십시오).
- 도메인 이름은 디스플레이 창의 맨 위에 있는 배너 행에 표시되어 모니터중인 셀의 이름을 나타냅니다.

### scout 디스플레이 배치

scout 프로그램은 전용 창이나, 창 환경을 사용할 수 없는 경우는 일반 화면에서 통계를 표시할 수 있습니다. 최상의 결과를 얻으려면, 역상으로 인쇄될 수 있고 커서를 지정할 수 있는 창이나 화면을 사용하십시오.

scout 프로그램 화면에는 3개의 기본 영역 즉, 배너 행, 통계 디스플레이 영역 및 조사/메시지 행이 있습니다. 이 절에서는 이들의 내용에 대해 설명하며, 명령 및 디스플레이 예에서는 그래픽 예도 있습니다.

#### 배너 행

기본적으로 창이나 화면의 맨 위에 있는 배너 행에서는 `scout` 문자열이 나타나 scout 프로그램이 실행중임을 표시합니다. 명령행에 적합한 옵션을 포함시켜 두 가지 유형의 정보를 표시할 수도 있습니다.

- -host 플래그를 포함시켜 배너 행에 로컬 시스템의 이름을 표시하십시오. 이것은 여러 시스템에서 scout 프로그램을 실행하고 있지만 한 시스템에서만 그 결과를 표시할 때 특히 유용합니다.

  예를 들어 다음 배너 행은 client1.abc.com 시스템에서 scout 프로그램을 실행하고 -host 플래그를 사용할 때 나타납니다.

         [client1.abc.com] scout

- -basename 인수를 포함시켜 배너 행에 지정된 셀 도메인 이름을 표시하십시오. 자세한 설명은 -basename 인수를 사용한 도메인 이름 지정의 내용을 참조하십시오

  예를 들어 -basename 인수에 abc.com 값을 지정할 경우 배너 행은 다음과 같습니다.

         scout for abc.com

#### 통계 디스플레이 영역

통계 디스플레이 영역이 창의 대부분을 차지하며, 6개의 컬럼으로 나눠집니다. 다음 목록에서는 창의 왼쪽에서 오른쪽으로 나타나는 이들에 대해 설명합니다.

`Conn`
  파일 서버와 클라이언트 시스템 사이에서 개설중인 RPC 연결 갯수를 표시합니다. 이 숫자는 주로 네 번째에 있는 `Ws` 컬럼 숫자보다 같거나 큽니다. 그 컬럼에 있는 숫자를 초과할 수 있으며, 이는 시스템에 있는 각 사용자가 한번에 하나 이상을 연결할 수 있고, 한 클라이언트 시스템은 여러 사용자를 처리할 수 있기 때문입니다.

`Fetch`
  파일 서버 프로세스가 시작된 이후 클라이언트 시스템으로부터 받은 패치 유형 RPC 갯수(패치 데이터, 패치 액세스 목록 및 패치 상태)를 표시합니다. 파일 서버 프로세스가 다시 시작되면 0으로 재설정됩니다.

`Store`
  파일 서버 프로세스가 시작된 이후 클라이언트 시스템으로부터 받은 저장 유형 RPC 갯수(저장 데이터, 저장 액세스 목록 및 저장 상태)를 표시합니다. 파일 서버 프로세스가 다시 시작되면 0으로 재설정됩니다.

`Ws`
  최근 15분 내에 파일 서버 프로세스와 통신했던 클라이언트 시스템(워크스테이션) 수를 표시합니다(이러한 시스템들을 활성화되었다고 합니다). 이 숫자는 `Conn` 컬럼에 있는 숫자보다 약간 작으며, 이는 단일 클라이언트 시스템이 한 파일 서버 프로세스로 여러개의 연결을 개설할 수 있기 때문입니다.

[Unlabeled column]
  파일 서버 프로세스가 실행중인 파일 서버 시스템의 이름을 표시합니다. 12자까지 가능합니다. 더 긴 이름은 축약되며, 별표(`*`)는 이름에서 마지막 문자로 나타납니다. 모든 시스템의 도메인 이름 접미어가 같은 경우, -basename 인수를 사용하면 축약하지 않아도 됩니다. -basename 인수를 사용한 도메인 이름 지정 내용을 참조하십시오.

`Disk attn`
  파일 서버 시스템의 AFS 서버(/vicep) 서버 중 최대 26개에서 사용할 수 있는 킬로바이트 블록 수를 표시합니다. 각 파티션에 대한 디스플레이의 형식은 다음과 같습니다.

         partition_letter:free_blocks

  예를 들어 `a:8949`는 /vicepa 파티션에서 8,949 KB가 사용되지 않고 있음을 나타냅니다. 창이 모든 파티션 항목이 단일 행에 표시되기에 충분하지 않은 경우, scout 프로그램은 자동으로 여섯 번째 칼럼내에 있는 서브칼럼으로 파티션 항목을 쌓습니다.

  `Disk attn` 컬럼에 있는 레이블은 컬럼내 항목이 강조표시되는 임계치를 나타냅니다. 기본적으로 scout 프로그램은 95% 이상이 차면 파티션을 강조표시하며, 이 경우 레이블은 다음과 같습니다.

         Disk attn: > 95% used

  이 임계치 및 강조표시 효과에 대해서는 주요 통계 강조표시의 내용을 참조하십시오.

다섯 번째(파일 서버 시스템 이름)를 제외한 모든 컬럼에서, -attention 인수를 사용하여 scout 프로그램이 통계를 강조표시하는 이상으로 임계치를 설정할 수 있습니다. 기본적으로 다섯 번째와 여섯 번째 컬럼에 있는 값만이 강조표시됩니다. -attention 인수 사용에 대해서는 주요 통계 강조표시 내용을 참조하십시오.

#### 조사 보고 행

디스플레이 하단 행은 scout 프로그램이 통계를 위해 파일 서버 프로세스를 조사했던 횟수를 나타냅니다. 마지막 조사에서 수집한 통계는 통계 디스플레이 영역에 나타납니다. 기본적으로 scout 프로그램은 매 60초마다 파일 서버를 조사하지만, -frequency 인수를 지정하여 다른 조사 빈도를 지정할 수 있습니다.

### 주요 통계 강조표시

현재 임계치 값을 초과하는 통계를 주목하기 위해, scout 프로그램은 이를 역상으로 (강조표시하여) 표시합니다. 대부분의 통계에서 임계치 값을 설정할 수 있으므로, 특별한 주의를 해야 하는 값과 일반 값을 결정할 수 있습니다.

#### 서버 정지 강조표시

강조표시를 제어할 수 없는 유일한 컬럼은 다섯 번째로서, 다른 컬럼에서 통계가 표시되는 파일 서버 시스템을 나타냅니다. scout 프로그램은 이 컬럼에서 강조표시를 사용하여 시스템에 있는 파일 서버 프로세스가 조사에 응답하지 않았음을 나타내고 자동으로 다른 컬럼은 공백이 됩니다. 조사에 응답하지 않았음은 파일 서버 프로세스, 파일 서버 시스템 또는 네트워크 정지를 나타낼 수 있으므로, 강조표시하면 사용자에 대한 서비스가 인터럽트되는 상황에 주목할 수 있습니다.

파일 서버 프로세스가 다시 한번 조사에 응답할 때, 이름은 정상적으로 표시되고 통계는 다른 컬럼에 다시 나타납니다. 모든 시스템 이름이 갑자기 강조표시되면, 네트워크 정지로 인해 파일 서버 시스템과 scout 프로그램을 실행중인 클라이언트 시스템간의 연결이 중단될 수 있습니다.

#### 과도한 통계 값 강조표시

5개 통계 표시 컬럼 중 하나 이상에 대한 임계치를 설정하려면 -attention 인수를 사용하십시오. 임계치는 모니터하는 모든 파일 서버 프로세스에 적용됩니다(서로 다른 각 시스템에 대해 다른 임계치를 설정할 수 없습니다). 자세한 내용은 scout 프로그램 시작하기에 있는 구문 설명을 참조하십시오.

실행중인 scout 프로그램의 임계치는 변경할 수 없습니다. 현재 프로그램을 정지하고 새로운 프로그램을 시작하십시오. 또한 scout 프로그램은 재시작하는 동안 임계치를 유지하지 않으므로, 프로그램을 시작할 때마다 모든 임계치를 지정해야 합니다.

### scout 디스플레이 크기 재조정

scout 프로그램이 실행되고 있는 동안에는 디스플레이 창의 크기를 재조정하지 마십시오. 크기를 증가시켜도 아무 해가 없지만 scout 프로그램이 새로운 차원으로 조정할 필요는 없습니다. 디스플레이의 폭을 줄이면 컬럼 정렬이 흐트러져 디스플레이를 읽기가 어려워 집니다. 어떤 유형의 크기 재조정이든, scout 프로그램은 다음 조사 결과를 표시할 때까지 어떤 방법으로든 디스플레이를 조정하지 않습니다.

디스플레이의 크기를 효과적으로 재조정하려면, scout 프로그램을 정지하고 창의 크기를 재조정한 다음 프로그램을 다시 시작하십시오. 이런 경우에서도 scout 프로그램의 응답은 디스플레이 환경에서 받은 정보의 정확도에 따라 달라집니다. 개발 도중의 검사에서는 디스플레이 환경이 창 크기 재조정을 위한 정보를 신용있게 제공하지 않음을 보여줍니다. X 창 시스템을 사용하는 경우, 때때로 scout 프로그램을 시작하기 전에 일련의 명령들을 실행하면(또는 이들을 쉘 초기설정 파일에 삽입하면) 크기를 제대로 재조정할 수 있게 됩니다.

       % set noglob
       % eval '/usr/bin/X11/resize'
       % unset noglob

### scout 프로그램 시작하기

1. 전용 명령 쉘을 여십시오. 필요하면 이를 해당 크기로 조정하십시오.
2. scout 명령을 실행하여 프로그램을 시작하십시오.

          % scout  [initcmd]
       -server <FileServer name(s) to monitor>+  \
                   [-basename <base server name>]  \
                   [-frequency <poll frequency, in seconds>] [-host]  \
                   [-attention <specify attention (highlighting) level>+]  \
                   [-debug <turn debugging output on to the named file>]

   여기서

   initcmd
     AFS 명령 구문 분석기의 명령 사용법에 맞는 선택적인 문자열입니다. 누락될 수도 무시될 수도 있습니다.

   -server
     실행중인 파일 서버 시스템의 이름을 지정하여, 모니터할 각 파일 서버 프로세스를 나타냅니다. -basename 인수가 사용되지 않았으면 완전한 호스트 이름을 제공하십시오. 이 경우, 각 시스템 이름의 초기 파트만을 지정하십시오. 모든 시스템 이름에 공통인 도메인 이름 접미어는 생략하십시오.

   -basename
     -server 인수로 이름을 지정한 파일 서버 시스템 모두에 공통적인 도메인 이름 접미어를 지정합니다. 이 인수의 효과에 대해서는 -basename 인수를 사용한 도메인 이름 지정의 내용을 참조하십시오.

     도메인 접미어와 시스템 이름의 초기 파트를 구분하는 점은 포함하지 마십시오. 그러나 접미어 자체에 있는 점은 포함하십시오(예를 들어 ABC 회사 셀에서 적합한 값은 .abc.com이 아닌 abc.com입니다).

   -frequency
     파일 서버 프로세스에 대한 scout 프로그램의 조사 빈도를 초 단위로 설정합니다. 0 이상의 정수를 지정하십시오. 기본값은 60초입니다.

   -host
     디스플레이 창의 배너 행에 scout 프로그램을 실행중인 시스템 이름을 표시합니다. 기본적으로 아무 시스템 이름도 표시되지 않습니다.

   -attention
     하나 이상의 통계를 강조표시할 임계치를 정의합니다. 순서에 관계없이 통과와 임계치 쌍을 제공할 수 있으며, 각 쌍과 각 쌍의 파트는 하나 이상의 공백으로 구분됩니다. 다음 목록에서는 각 통계의 구문을 정의합니다.

     conn connections
       파일 서버가 클라이언트 시스템으로 개설한 연결 수가 connections 값을 초과할 때 `Conn`(첫번째) 컬럼에 있는 값을 강조표시합니다. 값이 다시 임계치 이하가 되면 강조표시는 해제됩니다. 기본 임계치는 없습니다.

     fetch fetch_RPCs
       클라이언트가 파일 서버 프로세스에 수행한 패치 RPC 갯수가 fetch_RPCs 값을 초과하는 경우 `Fetch`(두 번째) 컬럼에 있는 값을 강조표시합니다. 파일 서버가 다시 시작될 때에만 강조표시가 해제되며, 이 때 값은 0으로 리턴됩니다. 기본 임계치는 없습니다.

     store store_RPCs
       클라이언트가 파일 서버 프로세스에 수행한 저장 RPC 갯수가 store_RPCs 값을 초과하는 경우 `Store`(두 번째) 컬럼에 있는 값을 강조표시합니다. 파일 서버가 다시 시작될 때에만 강조표시가 해제되며, 이 때 값은 0으로 리턴됩니다. 기본 임계치는 없습 니다.

     ws active_clients
       활성화된 클라이언트 시스템(최근 15분동안 파일 서버에 접속한 시스템) 수가 active_clients 값을 초과할 때 `Ws`(네 번째) 컬럼에 있는 값을 강조표시합니다. 값이 다시 임계치 이하가 되면 강조표시는 해제됩니다. 기본 임계치는 없습니다.

     disk percent_full % or disk min_blocks
       사용된 디스크 양이 percent_full 값에서 표시된 비율을 초과하거나 사용하지 않는 블록 수가 min_blocks 값 이하인 경우 `Disk attn`(여섯 번째) 컬럼에 있는 파티션 값을 강조표시합니다. 값이 percent_full 임계치 이하가 되거나 min_blocks 임계치 이상이 되면 강조표시는 해제됩니다.

       사용자가 지정한 값은 뒤에 `Disk attn` 문자열이 오는 여섯 번째 컬럼 헤더에 나타납니다. 기본 임계치는 95%입니다.

       percent_full에 적합한 값은 0 - 99 이내의 정수값이며, 이 통계를 min_blocks 값과 구분하려면 퍼센트 기호를 삽입해야 합니다. .

     다음 예에서는 `Conn` 컬럼의 임계치를 100으로, `Ws` 컬럼은 50, `Disk attn` 컬럼은 75%로 설정합니다. `Fetch` 및 `Store` 컬럼의 임계치는 없습니다.

     -attention conn 100 ws 50 disk 75%

     다음 예는 `Disk attn` 컬럼의 임계치를 5000개 미사용 KB 블록으로 설정한 것을 제외하면 이전 예와 그 효과가 같습니다.

     -attention disk 5000 ws 50 conn 100

   -debug
     출력을 디버깅할 수 있으며, 이를 지정된 파일로 전송할 수 있습니다. 일부 경로 이름은 현재의 작업 디렉토리와 관련하여 해석됩니다. 기본적으로 디버깅 출력은 생성되지 않습니다.

### scout 프로그램 정지하기

1. 디스플레이 창에서 Ctrl-c를 입력하십시오. 이것은 사용자 환경에서 일반 인터럽트 신호가 다른 경우라도 적당한 인터럽트 신호입니다.

### 명령 및 디스플레이 예

이 절에서는 서로 다른 인수를 결합하고 그 결과를 표시하는 화면에 대해 설명하는 scout 프로그램 예를 제공합니다.

첫번째 예에서, ABC사에 있는 관리자는 선택적인 인수나 플래그를 제공하지 않고 scout 명령을 실행합니다. 여러 시스템 이름을 제공하므로 -server 인수를 포함합니다. -basename 인수를 사용하지 않는 경우라도 scout 프로그램이 연결을 설정하는 데 필요한 완전한 이름을 확인하는 셀의 이름 서비스에 따라 각 시스템 이름의 처음 파트를 지정하도록 선택합니다.

       % scout -server fs1 fs2

그림 2에서는 결과 디스플레이에 대해 설명합니다. 먼저 다섯 번째(unlabeled) 컬럼에 있는 시스템 이름이 명령행에서 관리자가 사용했던 형식으로 나타남을 주의하십시오. 이제는 디스플레이 영역에 있는 두 번째 행을 살펴보십시오. 여기서 시스템 이름 `fs2`는 다섯 번째 컬럼에서 나타납니다. `Conn`과 `Ws` 컬럼은 함께 시스템 fs2에는 44 클라이언트 시스템에 대해 144개의 RPC 연결이 개설되어 있음을 보여주며, 클라이언트당 여러 연결이 가능함을 설명하고 있습니다. `Fetch` 컬럼에서는 클라이언트 시스템에서 파일 서버 프로세스가 마지막으로 시작된 뒤 fs2에 대해 2,734,278개의 패치 RPC가 작성되었음을 보여주며, `Store` 컬럼에서는 34,006개의 저장 RPC를 작성했음을 보여줍니다.

6개 파티션 항목은 `Disk attn` 컬럼에 표시되어, `a` - `f` 범위 이내로 표시됩니다(/vicepa - /vicepf). 이들은 차의 폭으로 인해 두 개의 서브칼럼에서 3개 행으로 표시되며, 창이 좀 더 넓으면 그 이상의 많은 서브칼럼이 있을 수 있습니다. 4개의 파티션 항목(`a`, `c`, `d` 및 `e`)은 역상으로 나타나 95%(`Disk attn` 헤더에 나타나는 파티션) 이상이 가득 찼음을 나타냅니다.

그림 2. scout 디스플레이 첫번째 예

두 번째 예에서, 관리자는 좀 더 많은 scout 프로그램 선택 인수를 사용합니다.

- 예 1에서와 같은 양식으로 시스템 이름을 제공하지만, 이 때에는 -basename 인수를 사용하여 도메인 이름 접미어로 abc.com을 지정합니다. 이것은 scout 프로그램이 이름을 완전한 호스트 이름으로 확장할 때 이름 서비스가 필요하지 않음을 의미하지만, 이름 서비스는 그래도 계속 호스트 이름을 IP 주소로 변환시킵니다.
- -host 플래그를 사용하여 배너 행에서 scout 프로그램이 실행중인 클라이언트 시스템 이름을 표시합니다.
- -frequency 인수를 사용하여 기본값인 1분에 한번에서 매 5초마다 한번으로 조사 빈도를 변경합니다.
- -attention 인수를 사용하여 파티션에 대한 강조표시 임계치를 기본값인 95%에서 최소 5,000 KB로 변경합니다.

       % scout -server fs1 fs2 -basename abc.com -host -frequency 5 -attention disk 5000

선택적인 인수를 사용하면 그림 3 및 그림 2에서 여러가지가 달라질 수 있습니다. 먼저, -host 플래그가 포함되지 않으므로, 배너 행에서는 scout 프로세스를 실행하는 시스템 이름을 -basename 인수로 지정된 기본이름이 `abc.com`인 `[client52]`로서 표시합니다.

또 다른 차이점은 값이 그림 2에서 처럼 거의 같은 경우라도 시스템 fs2의 파티션 4개 중 두 개가 역상으로 표시되는 것입니다. 이것은 관리자가 강조표시 임계치를 최소 5000 블록으로 변경했기 때문이며, `Disk attn` 컬럼의 헤더에서도 반영됩니다. 그리고 시스템 fs2의 파티션 /vicepa 및 /vicepd가 여전히 95%로 가득차 있는 동안, 5000 이상의 자유 블록이 남습니다. 파티션 /vicepc 및 /vicepe 는 5000 블록 이하가 사용되지 않은 것이므로 강조표시됩니다.

또한 조사 빈도를 변경한 결과는 디스플레이의 하단 왼쪽 코너에 있는 조사 보고 행에 반영됩니다. 이 예와 이전 예 모두에서는 관리자가 scout 명령을 실행한 뒤 1분의 경과 시간을 표현합니다. 그러나 이 예에서, scout 프로그램은 1번과는 대조적으로 파일 서버 프로세스를 12번 조사합니다.

그림 3. scout 디스플레이의 두 번째 예

그림 4에서, 주립 대학 셀에서 관리자는 셀의 파일 서버 시스템 중 3개를 모니터합니다. 관리자는 -basename 인수를 사용하여 stateu.edu 도메인 이름을 지정합니다.

       % scout -server server2 server3 server4 -basename stateu.edu

그림 4. scout 디스플레이의 세 번째 예

그림 5에서는 scout 프로그램 기능 중 3개에 대해 설명합니다. 첫번째, 한 디스플레이에서 다른 셀에 있는 파일 서버 시스템(fs1.abc.com, server3.stateu.edu 및 sv7.def.com)을 모니터할 수 있습니다. 시스템은 서로 다른 셀에 속하므로, -basename 인수를 제공할 수 없습니다.

두 번째, 디스플레이가 다섯 번째 컬럼에 맞지 않는 시스템 이름을 축약하는 방법을 설명합니다. 이름 끝에서는 별표를 사용하여 이 이름이 축약되었음을 알려줍니다.

세 번째, scout 프로세스가 파일 서버 프로세스에 도달할 수 없을 때 발생하는 내용에 대해 설명합니다. 이 경우는 sv7.def.com 시스템상에 있는 것. 시스템 이름을 강조표시하고 다른 컬럼에서는 값을 공백처리합니다.

그림 5. scout 디스플레이 네 번째 예

## fstrace 명령 집합 사용

이 절에서는 시스템 관리자가 디버그 목적으로 캐쉬 관리 프로그램 활동을 추적하기 위해 사용하는 fstrace 명령에 대해 설명합니다. 여기서는 독자가 클라이언트 시스템 및 캐쉬 관리 프로그램 관리에서 설명한 캐쉬 관리 프로그램의 개념에 익숙한 것으로 가정합니다.

fstrace 명령 집합은 캐쉬 관리 프로그램의 내부 활동을 모니터하고, 그 동작을 자세하게 기록 또는 추적할 수 있게 합니다. 이벤트라고 하는 동작들은 cm 이벤트 세트에 포함됩니다. cm 이벤트 예에서는 파일을 패치하고, UNIX ls 명령을 사용하여 파일 및 하위 디렉토리 목록에 대한 정보를 조사합니다.

다음은 fstrace 명령과 이들의 기능입니다.

- fstrace apropos 명령은 명령의 축약형 설명을 제공합니다.
- fstrace clear 명령은 추적 로그를 지웁니다.
- fstrace dump 명령은 추적 로그 내용을 덤프합니다.
- fstrace help 명령은 명령에 대한 설명과 구문을 제공합니다.
- fstrace lslog 명령은 추적 로그에 대한 정보를 나열합니다.
- fstrace lsset 명령은 이벤트 세트에 대한 정보를 나열합니다.
- fstrace setlog 명령은 추적 로그의 크기를 변경합니다.
- fstrace setset 명령은 이벤트 세트의 상태를 설정합니다.

### fstrace 명령 집합 정보

fstrace 명령 집합은 fs debug 명령이 제공하는 앞의 기능들을 대체하며 확대합니다. 확장 사용은 특정 캐쉬 관리 프로그램 문자점, 예를 들면 클라이언트 시스템 정지, 캐쉬 일치 문제점, 시계 동기화 오류 및 볼륨 또는 AFS 파일에 대한 액세스 실패등을 진단하는 데 도움을 주기 위한 것입니다. 그러므로, AFS 서버 프로세스에 대한 로그와는 달리 항상 fstrace 로그를 사용가능으로 설정하지 않는 것이 좋습니다.

추적 로그에 있는 메시지 대부분은 하위 캐쉬 관리 프로그램 동작에 해당됩니다. AFS 소스 코드에 익숙한 개인만이 이들을 해석할 수 있습니다. AFS 소스 사용권을 가지고 있는 경우, 스스로 추적을 해석하기 위해 시도하거나, AFS 제품 지원 그룹에 대해 작업하여 기본 문제점을 해결할 수 있습니다. AFS 소스 사용권이 없으면, 문제가 발생한 경우 즉시 AFS 제품 지원 그룹에 접속하는 것이 가장 효과적입니다. 해당되면 fstrace 추적을 활성화하도록 지시할 수도 있습니다.

로그의 크기는 매우 빠르게 성장할 수 있습니다. 이것은 로컬 파일 공간에 있는 파일로 기록할 때 사용가능한 디스크 공간을 사용할 수 있습니다. 뿐만 아니라 로그 크기가 너무 크면, 관련 정보에 대한 결과를 해석하기가 어려워질 수 있습니다.

When AFS 추적이 사용 가능할 경우, cm 이벤트가 발생할 때마다 메시지는 추적 로그 cmfx로 기록됩니다. 문제점을 진단하려면, 추적 로그의 출력을 읽고 캐쉬 관리 프로그램이 실행한 동작을 분석하십시오. 추적 로그의 기본 크기는 60KB이지만, 증가 또는 축소시킬 수 있습니다.

fstrace 명령 집합을 사용하려면, 먼저 추적을 사용 가능으로 설정하고 fstrace setset 명령을 사용하여 추적 로그에 대한 공간을 예약 또는 할당해야 합니다. 이 명령을 사용하면 cm 이벤트 세트를 세 가지 상태 중 하나로 설정하고 이벤트 세트에 대한 추적을 사용가능 또는 불능으로 설정한 뒤 커널에서 추적 로그에 대한 공간을 할당 또는 할당해제할 수 있습니다.

활성화
  이벤트 세트에 대한 추적이 가능하며 추적 로그에 공간을 할당할 수 있습니다.

비활성화
  이벤트 세트에 대한 추적이 잠시 불가능합니다. 그러나, 이벤트 세트는 계속해서 데이터를 전송한 로그가 차지할 공간을 할당합니다.

휴면중
  이벤트 세트에 대한 추적이 불가능하며, 이벤트 세트는 데이터를 전송한 로그가 차지하는 공간을 릴리즈합니다. cmfx 추적 로그로 데이터를 전송한 cm 이벤트 세트가 이 상태이면, 그 로그에 할당된 공간은 릴리즈되거나 할당해제됩니다.

이벤트 세트와 추적 로그 모두는 영속적인 것으로 지정될 수 있으며, 이벤트 세트 상태가 갑자기 재설정되거나 추적 로그가 지워지지 않도록 합니다. 대상은 커널이 컴파일되고 나면 결정되고, 변경될 수 없습니다.

cm과 같은 이벤트 세트가 영속적이면, -set 인수를 fstrace setset 명령에 포함시켜야만 그 상태를 변경시킬 수 있습니다(즉, 인수없이 fstrace setset 명령을 실행하면 다른 모든 이벤트 세트 상태와 함께 그 상태를 변경할 수 없습니다). 이처럼, cmfx과 같은 추적 로그가 영속적이면, -set 또는 -log 인수를 fstrace clear 명령에 포함시켜야만 지울 수 있습니다(인수없이 fstrace clear 명령을 실행하면 다른 모든 추적 로그와 함께 이것을 지울 수 없습니다.)

문제가 발생하면, fstrace setset 명령을 사용하여 cm 이벤트 세트를 활성화로 설정하십시오. 사용중인 AFS 클라이언트에 대해 추적이 가능할 경우 기록되는 이벤트 볼륨은 중요합니다. 그러므로 문제를 진단할 때, 가능한 최대로 AFS 활동을 제한하여 로그에 있는 최대 추적양을 최소화하십시오. 추적은 시스템 성능에 역효과를 줄 수 있으므로, 문제점을 진단하지 않을 때 cm 추적을 휴면중으로 설정하십시오.

문제를 다시 생성할 수 없으면, fstrace clear 명령으로 cmfx 추적 로그를 지우고 문제를 다시 생성하십시오. 문제점을 쉽게 다시 생성할 수 없으면, 문제가 발생할 때까지 이벤트 세트 상태를 활성화로 유지하십시오.

추적 로그 내용을 보고 cm 이벤트를 분석하려면, fstrace dump 명령을 사용하여 추적 로그의 내용 행들을 표준 출력(STDOUT)이나 파일로 복사하십시오.

주: | 특별한 명령이나 프로세스로 인해 문제가 발생하면, 이것의 프로세스 ID(PID)를 판별하십시오. PID가 문제와 연관된 행만을 찾을 수 있도록 fstrace dump 명령의 출력을 탐색하십시오.

### fstrace 명령 집합을 사용하기 위한 요구조건

특별한 권한이 필요없는 fstrace help 및 fstrace apropos 명령은 제외하고, fstrace 명령을 실행하려면 실행자가 로컬 클라이언트 시스템에 로컬 수퍼유저 루트로서 로그인해야 합니다. fstrace 명령을 실행하기 전에. 필요한 특권을 가지고 있는 지 확인하십시오.

로그가 발생할 수 있으려면 캐쉬 관리 프로그램 카탈로그가 있어야 합니다. fstrace 명령 집합에서는 표준 UNIX 카탈로그 유틸리티를 사용합니다. 이것의 기본 위치는 /usr/vice/etc/C/afszcm.cat입니다. 파일을 다른 위치에 두고 해당 NLSPATH 및 LANG 환경 변수를 사용하면 다른 디렉토리에 둘 수도 있습니다.

### fstrace 명령의 효과적인 사용

fstrace 명령을 가장 효과적으로 사용하려면, 다음과 같이 이들을 구성하십시오.

- 로컬 디스크 디렉토리에 fstrace 2진 파일을 저장하십시오.
- fstrace 로그를 파일로 덤프할 때, 직접 로컬 디스크로 덤프하십시오.
- 추적은 몇 분만에 용량이 갑자기 커질 수 있습니다. 로그를 로컬 파일로 덤프하기 전에 충분한 공간이 있는 지 확인하십시오. 로컬 파일 시스템에 있는 파티션에서 디스크 할당량을 사용하는 경우는 특히 주의하십시오.
- 문제 동작은 제외하고, AFS 클라이언트 시스템에 대한 캐쉬 관리 프로그램의 활동을 제한하십시오. 추적시 기타 데이터 양이 줄어듭니다.
- 가능한 짧은 기간동안 fstrace 로그를 활성화하십시오. 문제 동작을 수행하기 바로 전에 추적을 활성화시킬 수 있으면, 동작이 완료되자마자 이를 비활성화시킨 뒤 추적 로그를 파일로 즉시 덤프할 수 있습니다.
- 가능하면 문제 동작을 시작하는 명령이나 프로그램의 UNIX 프로세스 ID(PID)를 알아 내십시오. 그렇게 하면 추적 로그를 분석하는 사람이 PID와 연관된 메시지를 탐색할 수 있습니다.

### 추적 로그 활성화

AFS 클라이언트 시스템에서 캐쉬 관리 프로그램 추적을 시작하려면 먼저 다음을 구성해야 합니다.

- fstrace setlog 명령을 사용한 cmfx 커널 추적 로그
- fstrace setset 명령을 사용한 cm 이벤트 세트

fstrace setlog 명령은 cmfx 커널 추적 로그의 크기를 킬로바이트 단위로 설정합니다. 기본적으로 추적 로그는 커널의 60 킬로바이트를 차지합니다. 추적 로그가 이미 있으면, 이 명령이 실행될 때 지워지고 지정된 크기의 새로운 로그가 작성됩니다. 그렇지 않으면 원하는 크기의 새로운 로그가 작성됩니다.

fstrace setset 명령은 cm 커널 이벤트 세트의 상태를 설정합니다. cm 이벤트 세트의 상태는 그 이벤트 세트가 기록되는 이벤트에 대한 정보를 결정합니다.

AFS 클라이언트 시스템에서 커널 추적을 설정한 뒤에는, 이벤트 세트의 상태와, 추적 로드에 할당된 커널 버퍼의 크기를 체크할 수 있습니다. cm 이벤트 세트 상태에 대한 정보를 표시하려면 fstrace lsset 명령을 실행하십시오. cmfx 추적 로그에 대한 정보를 표시하려면, fstrace lslog 명령을 사용하십시오. 추적 로그 또는 이벤트 세트의 상태 표시에서 그 설명을 참조하십시오.

### 추적 로그 구성하기

1. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

2. fstrace setlog 명령을 실행하여 cmfx 커널 추적 로그의 크기를 설정하십시오.

          # fstrace setlog  [-log
       <log_name>+]  -buffersize <1-kilobyte_units>

다음 예에서는 cmfx 추적 로그의 크기를 80KB로 설정합니다.

       # fstrace setlog cmfx 80

### 이벤트 세트 설정하기

1. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

2. fstrace setset 명령을 실행하여 이벤트 세트의 상태를 설정하십시오.

          % fstrace setset [-set <set_name>+] [-active] [-inactive]  \
                           [-dormant]

다음 예에서는 cm 이벤트 세트를 활성화합니다.

       # fstrace setset cm -active

### 추적 로그 또는 이벤트 세트의 상태 표시

이벤트 세트가 추적 로그에 포함되려면 활성화 상태에 있어야 합니다. 이벤트 세트의 상태를 표시하려면, fstrace lsset 명령을 사용하십시오. 그 상태를 설정하려면, 이벤트 세트 설정하기에서 설명한 것처럼 fstrace setset 명령을 실행하십시오.

추적 로그에 대한 크기 및 할당 정보를 표시하려면, fstrace lslog 명령을 -long 인수와 함께 실행하십시오.

### 이벤트 세트 상태 표시하기

1. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

2. fstrace lsset 명령을 실행하여 사용가능한 이벤트 세트 및 그 상태를 표시하십시오.

          # fstrace lsset
       [-set <set_name>+]

다음 예에서는 로컬 시스템에 있는 이벤트 세트 및 그 상태를 표시합니다.

       # fstrace lsset cm
       Available sets:
       cm active

이 명령의 출력에서는 이벤트 세트와 그 상태를 나열합니다. cm 이벤트 세트에 대한 3가지 이벤트 상태는 다음과 같습니다.

`활성화`
  추적이 가능합니다.

`비활성화`
  추적이 불가능하지만, 해당 추적 로그(cmfx)에 대해서는 계속 공간이 할당됩니다.

`휴면중`
  추적이 불가능하며, 해당 추적 로그(cmfx)에 대한 공간도 할당되지 않습니다. 이벤트 세트에 대한 추적도 불가능합니다.

### 로그 크기 표시하기

1. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

2. fstrace lslog 명령을 실행하여 커널 추적 로그에 대한 정보를 표시하십시오.

          # fstrace lslog
       [-set <set_name>+]
       [-log <log_name>]  [-long]

다음 예에서는 -long 플래그를 사용하여 cmfx 추적 로그에 대한 추가 정보를 표시합니다.

       # fstrace lslog cmfx -long
       Available logs:
       cmfx : 60 kbytes (allocated)

이 명령의 출력에서는 추적 로그에 대한 정보를 나열합니다. -long 플래그 없이 실행될 때 fstrace lslog 명령은 로그 이름만을 나열합니다. -long 플래그와 함께 실행될 때, fstrace lslog 명령에서는 로그, 킬로바이트 단위의 로그 크기 및 로그의 할당 상태를 나열합니다.

커널 추적 로그에 대한 두 가지 할당 상태입니다.

`할당됨`
  커널에 있는 로그용으로 공간이 예약됩니다. 이것은 이 로그를 기록하는 이벤트 세트가 활성화(이벤트 세트에 대해 추적이 가능함) 또는 비활성화(이벤트 세트에 대한 추적이 임시로 불가능함) 상태임을 나타냅니다. 그러나, 이벤트 세트는 데이터를 전송하는 로그가 차지하는 공간을 계속해서 예약합니다.

`할당해제됨`
  커널에 있는 로그용으로 공간이 예약되지 않습니다. 이것은 이 로그를 기록하는 이벤트 세트가 휴면중(이벤트 세트에 대한 추적이 불가능함)임을 나타냅니다. 뿐만 아니라, 이벤트 세트는 데이터가 전송하는 로그가 차지하는 공간을 릴리즈합니다.

### 추적 로그 덤프 및 지우기

추적하려는 캐쉬 관리 프로그램 동작이 완료되면, fstrace dump 명령을 사용하여 표준 출력 문자열로 또는 -file 인수가 지정한 파일로 추적 로그를 덤프하십시오. 또는 추적 로그를 연속적으로 덤프하려면, -follow 인수를 사용하십시오(원하면 -file 인수와 이를 결합하십시오). 연속적인 덤프를 정지시키려면, <Ctrl-c>와 같은 인터럽트 신호를 누르십시오.

더 이상 추적 로그에 있는 데이터가 필요없을 때 추적 로그를 지우려면, fstrace clear 명령을 실행하십시오(fstrace setlog 명령은 이를 사용하여 로그 크기를 변경할 때 자동으로 기존 추적 로그를 지웁니다).

### 추적 로그 내용 덤프하기

1. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

2. fstrace dump 명령을 실행하여 추적 로그를 덤프하십시오.

          # fstrace dump [-set <set_name>+]  [-follow <log_name>]  \
                         [-file <output_filename>]  \
                         [-sleep <seconds_between_reads>]

각 덤프의 출력 처음에는 덤프가 시작된 날짜와 시간을 지정하는 헤더가 옵니다. 덤프되는 로그 수는 -follow 인수가 지정되지 않은 경우 표시됩니다. 헤더는 다음과 같습니다.

       AFS Trace Dump --
       Date: date time
       Found n logs.

여기서 date는 추적 로그 덤프의 시작 날짜이고, time은 추적 로그 덤프의 시작 시간이며, n은 fstrace dump 명령으로 발견한 로그 수를 지정합니다.

다음은 추적 로그 덤프 헤더의 예입니다.

       AFS Trace Dump --
       Date: Fri Apr 16 10:44:38 1999
       Found 1 logs.

로그 내용은 헤더 다음에 오며, 활성화된 이벤트 세트에서 로그로 기록된 메시지로 구성됩니다. 로그에 기록된 메시지에는 다음의 세 구성요소가 포함됩니다.

- 메시지와 연관된 시간 소인(임의 시작 위치에서 부터의 초 수)
- 메시지와 연관된 프로세스 ID 또는 스레드 ID
- 메시지 자체

추적 로그 메시지의 형식은 다음과 같습니다.

       time timestamp, pid pid:event message

여기서 timestamp는 임의 시작 지점에서 부터의 초 수이며, pid는 캐쉬 관리 프로그램 이벤트의 프로세스 ID 번호이며, event message는 AFS 소스 코드로 된 기능에 해당하는 캐쉬 관리 프로그램 이벤트입니다.

다음은 덤프된 추적 로그 메시지의 예입니다.

       time 749.641274, pid 3002:Returning code 2 from 19

추적 로그에 있는 메시지를 읽기 쉽도록 하려면, 캐쉬 관리 프로그램 카탈로그 파일이 클라이언트 시스템의 로컬 디스크에 설치되어야 합니다. 보통 그 위치는 /usr/vice/etc/C/afszcm.cat입니다. 다음과 같이 `raw op` 문자열로 시작되는 로그 메시지는 카탈로그가 설치되지 않았음을 나타냅니다.

       raw op 232c, time 511.916288, pid 0
       p0:Fri Apr 16 10:36:31 1999

매 1024 초마다 현재 메시지가 각 로그로 기록됩니다. 이 메시지의 형식은 다음과 같습니다.

       time timestamp, pid pid: Current time: unix_time

여기서 timestamp는 임의 시작 지점에서 부터의 초 수이며, pid는 프로세스 ID 번호이며, unix_time은 1970년 1월 1일 이후의 표준 시간 형식입니다.

현재 메시지는 각 로그 메시지와 연관된 실제 시간을 결정하는 데 사용될 수 있습니다. 다음과 같이 실제 시간을 결정하십시오.

1. 실제 시간을 결정하려는 로그 메시지를 찾으십시오.
2. 현재 시간 메시지가 나올 때까지 덤프 레코드를 역방향으로 탐색하십시오.
3. 현재 시간 메시지의 시간 소인이 로그 메시지의 시간 소인보다 적은 경우, 뒤 소인에서 앞 소인을 빼십시오. 현재 시간 메시지의 시간 소인이 로그 메시지의 시간 소인보다 큰 경우, 후자에 1024를 추가하고 그 결과에서 앞의 것을 빼십시오.
4. 결과 수를 현재 시간 메시지의 unix_time에 추가하여 로그 메시지의 실제 시간을 판별하십시오.

로그 데이터는 한정된 원형 버퍼에 저장되므로, 일부 데이터는 읽혀지기 전에 변경될 수 있습니다. 이런 경우, 다음 메시지는 덤프의 해당 위치에 나타납니다.

       Log wrapped; data missing.

주: | 과부하된 작업 로드하에서 발생할 수 있는 이 메시지가 덤프 중간에 나타나면, 이는 모든 로그 데이터가 로그에 기록된 것이 아니거나 몇몇 데이터가 변경되었음을 나타냅니다. fstrace setlog 명령으로 로그 크기를 증가시키면 이 문제가 완화될 수 있습니다.

### 추적 로그 내용 지우기

1. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

2. fstrace clear 명령을 실행하여 로그 이름으로 또는 이벤트 세트별로 로그를 지우십시오.

          # fstrace clear
       [-set <set_name>+]
       [-log <log_name>+]

다음 예에서는 로컬 시스템상의 cm 이벤트 세트에서 사용하는 cmfx 로그를 지웁니다.

       # fstrace clear cm

다음 예에서도 로컬 시스템상의 cmfx 로그를 지웁니다.

       # fstrace clear cmfx

### fstrace 명령 예

이 절에는 fstrace 명령 집합의 확장된 사용 예가 들어 있으며, AFS 제품 지원에 대해 작업하여 문제점을 진단하는 경우 캐쉬 관리 프로그램 활동에 대한 자세한 추적을 수집할 때 유용합니다. 제품 지원 담당자는 추적에 적합한 매개변수 설정을 선택하도록 지도할 수 있습니다.

커널 추적 로그를 시작하기 전에, 파일 액세스 문제점을 경험하는 캐쉬 관리 프로그램을 AFS 클라이언트 시스템에서 분리하려 합니다. 필요하면, 이 시스템에서 캐쉬 관리 프로그램 활동을 최소화할 때 처럼 사용자에게 다른 시스템으로 이동하도록 합니다. 추적 로그에 기록된 관련없는 AFS 활동양을 줄이려면, fstrace 2진 파일 및 덤프 파일 모두가 AFS가 아닌 로컬 디스크에 있어야 있어야 합니다. fstrace 명령을 실행하려면 로컬 수퍼유저 루트로서 로그인해야 합니다.

커널 추적을 시작하기 전에, fstrace lsset 명령을 실행하여 cm 이벤트 세트의 상태를 체크하십시오.

       # fstrace lsset cm

이전에 추적이 사용 가능으로 설정되지 않았거나 추적이 클라이언트 시스템에서 오프로 설정되었으면, 다음 출력이 표시됩니다.

       Available sets:
       cm inactive

추적이 오프로 설정되어 있고 클라이언트 시스템에 있는 추적 로그용으로 커널 메모리가 할당되지 않았으면, 다음 출력이 표시됩니다.

       Available sets:
       cm inactive (dormant)

cm 이벤트 세트의 현재 상태가 `비활성화` 또는 `비활성화(휴면중)`인 경우는 fstrace setset 명령을 -active 플래그와 함께 실행하여 커널 추적을 온으로 설정하십시오.

       # fstrace setset cm -active

현재 클라이언트 시스템에서 추적이 가능한 경우, 다음 출력이 표시됩니다.

       Available sets:
       cm active

추적이 현재 가능한 경우는 fstrace setset 명령을 사용할 필요가 없습니다. fstrace clear 명령을 실행하여 기존 추적 로그의 내용을 지우고, 현재 문제와 연관되지 않은 이전 추적은 제거하십시오.

       # fstrace clear cm

이벤트 세트의 상태를 체크한 다음, -long 플래그를 fstrace lslog 명령과 함께 실행하여 커널 추적 로그의 현재 상태와 크기를 체크하십시오.

       # fstrace lslog cmfx -long

이전에 추적이 사용가능으로 설정되어 있지 않고 cm 이벤트 세트가 이전에 `활성화` 또는 `비활성화`로 설정되어 있으면, 다음과 비슷한 출력이 표시됩니다.

       Available logs:
       cmfx : 60 kbytes (allocated)

fstrace 추적 유틸리티는 기본적으로 60 킬로바이트 메모리를 추적 로그에 할당합니다. 이를 fstrace setlog 명령을 설정하여 커널 추적 로그에 할당된 메모리 양을 줄이거나 늘릴 수 있습니다. -buffersize 인수로 지정된 숫자는 커널 추적 로그에 할당된 킬로바이트 수를 나타냅니다. 커널 추적 로그의 크기를 100 킬로바이트로 증가시키려면 다음 명령을 실행하십시오.

       # fstrace setlog cmfx 100

커널 추적 로그가 사용자 요구에 맞게 구성된 다음에는 커널 추적 로그를 덤프할 수 있는 파일을 설정할 수 있습니다. 예를 들어 다음 fstrace dump 명령을 사용하여 cmfx.dump.file.1 이름으로 덤프를 작성하십시오. -follow 및 -sleep 인수를 추가하여 연속적인 프로세스로서 명령을 실행하십시오. -sleep 인수를 10으로 설정하면 커널 추적 로그의 출력이 매 10초 마다 파일로 덤프됩니다.

       # fstrace dump -follow cmfx -file cmfx.dump.file.1 -sleep 10
       AFS Trace Dump -
          Date: Fri Apr 16 10:54:57 1999
       Found 1 logs.
       time 32.965783, pid 0: Fri Apr 16 10:45:52 1999
       time 32.965783, pid 33657: Close 0x5c39ed8 flags 0x20
       time 32.965897, pid 33657: Gn_close vp 0x5c39ed8 flags 0x20 (returns
       0x0)
       time 35.159854, pid 10891: Breaking callback for 5bd95e4 states 1024
       (volume 0)
       time 35.407081, pid 10891: Breaking callback for 5c0fadc states 1024
       (volume 0)
           .                         .
           .                         .
           .                         .
       time 71.440456, pid 33658: Lookup adp 0x5bbdcf0 name g3oCKs fid (756
       4fb7e:588d240.2ff978a8.6)
       time 71.440569, pid 33658: Returning code 2 from 19
       time 71.440619, pid 33658: Gn_lookup vp 0x5bbdcf0 name g3oCKs (returns
       0x2)
       time 71.464989, pid 38267: Gn_open vp 0x5bbd000 flags 0x0 (returns 0x
       0)
       AFS Trace Dump - Completed

## afsmonitor 프로그램 사용

afsmonitor 프로그램을 사용하면 통계 정보를 수집하여 지정된 파일 서버 및 캐쉬 관리 프로그램 프로세스의 상태와 성능을 모니터할 수 있습니다. 또 다른 사용 용도는, afsmonitor 프로그램이 캐쉬 관리 프로그램 구성을 조정하고 파일 서버를 로드 밸런스하는 데 사용될 수 있다는 것입니다.

afsmonitor 프로그램을 사용하면 다음 타스크를 수행할 수 있습니다.

- 한 위치에서(로컬 및 외부 셀 모두에 있는) 임의 시스템상에 있는 파일 서버 및 캐쉬 관리 프로그램 프로세스 모니터.
- 모니터되는 통계의 임계치 설정. 통계값이 임계치를 초과하면, afsmonitor 프로그램은 주의하도록 이를 강조표시합니다. 모든 시스템 또는 일부 시스템에만 적용되는 임계치 레벨을 설정할 수 있습니다.
- 통계치가 임계치를 초과하면 자동으로 프로그램이나 스크립트를 호출하십시오.

### afsmonitor 프로그램을 실행하기 위한 요구조건

다음 소프트웨어는 afsmonitor 프로그램이 실행중인 시스템에서 액세스할 수 있어야 합니다.

- AFS xstat 라이브러리, afsmonitor 프로그램이 데이터를 수집하는 데 사용합니다.
- curses 그래픽 패키지, 대부분의 UNIX 제품에서 표준 유틸리티로서 제공됩니다.

afsmonitor 화면은 소위 더미 터미날과, 터미널을 에뮬레이트하는 창 시스템 모두에서 형식화됩니다. 최상의 출력을 얻으려면, 표시 환경에서 역상 비디오와 커서 주소지정을 지원해야 합니다. TERM 환경 변수를 정확한 터미널 유형으로 설정하거나, 실제 터미널 유형과 유사한 특성을 갖는 값으로 설정하십시오. 표시 창 또는 터미널은 적어도 80 컬럼, 12행이어야 합니다.

afsmonitor 프로그램은 포어그라운드로 별도의 전용창 또는 터미널에서 실행되어야 합니다. 창이나 터미널은 afsmonitor 프로그램이 실행되는 동안에는 다른 활동에 사용할 수 없습니다. 임의 갯수의 afsmonitor 프로그램 인스턴스들은 단일 시스템에서 수행될 수 있으며, 그 동안 각각의 인스턴스들은 자신의 전용 창 또는 터미널에서 실행됩니다. 추가로 인스턴스를 시작하려면 최대 3분이 소용될 수 있음을 기억하십시오.

afsmonitor 프로그램을 실행하는 데에는 아무런 특권이 필요하지 않습니다. 일반적으로, 이 프로그램은 /usr/afsws/bin 디렉토리에 있으면, 디렉토리에 액세스할 수 있는 모든 사용자는 파일 서버와 캐쉬 관리 프로그램을 모니터할 수 있습니다. 수백명이 프로그램을 실행하지 않는다면 이 afsmonitor 프로그램이 통계를 수집하는 조사로 인해 파일 서버나 캐쉬 관리 프로그램에 심한 부담이 주어지는 것은 아닙니다. 그 사용을 제한하려면, 인증받은 사용자만 사용할 수 있는 디렉토리에 2진 파일을 두십시오.

### afsmonitor 출력 화면

afsmonitor 프로그램은 3개의 화면에서 그 데이터를 표시합니다.

- `시스템 개요`: 이 화면은 afsmonitor 프로그램이 시작될 때 자동으로 나타납니다. 파일 서버와 캐쉬 관리 프로그램에 대해 모니터되는 시스템 수와, 경고가 있는 수(임계치를 초과하는 통계치)를 각각 요약합니다. 그런 다음 모니터되는 각 시스템에 대한 호스트 이름과 경보 횟수를 나열하여, 프로세스가 마지막 조사에 응답하지 않은 것이 적합한 것인 지 여부를 나타냅니다.
- `파일 서버`: 이 화면에서는 모니터되는 각 파일 서버에 대한 파일 서버 통계치를 표시합니다. 임계치를 초과한 통계는 강조표시하며, 마지막 조사에 대해 응답하지 않은 시스템도 나타냅니다.
- `캐쉬 관리 프로그램`: 이 화면에서는 모니터하는 각 클라이언트에 대한 캐쉬 관리 프로그램 통계를 표시합니다. 임계치를 초과한 통계는 강조표시하며, 마지막 조사에 대해 응답하지 않은 시스템도 나타냅니다.

모든 화면 코너에 있는 필드들은 다음 정보를 표시합니다.

- 왼쪽 상단 코너에서는 프로그램 이름과 버전 번호.
- 오른쪽 상단 코너에서는 화면 이름, 현재 및 총 페이지 번호, 현재 및 총 컬럼 갯수. 페이지 번호(예를 들면 `p. 1 of 3`)는 데이터가 표시되는 현재 페이지 색인과 전체 페이지 수를 나타냅니다. 컬럼 번호(예를 들면 `c. 1 of 235`) 는 현재 가장 왼쪽 컬럼의 색인과, 데이터가 나타나는 전체 컬럼 수를 나타냅니다. (`>>>` 기호는 오른쪽에 추가 데이터가 있음을, `<<<` 기호는 왼쪽에 추가 데이터가 있음을 나타냅니다.)
- 왼쪽 하단 코너에서는 사용가능한 명령 목록. 명령 이름의 첫 글자를 입력하여 그 명령을 실행하십시오. 현재 사용할 수 있는 옵션만이 나타납니다. 예를 들어 1 페이지의 데이터만 있는 경우, 화면을 위와 아래로 각각 이동시키는 `next`와 `prev` 명령은 나타나지 않습니다. 명령에 대한 설명은 디스플레이 화면 선택진행에 관한 다음 절을 참조하십시오.
- 오른쪽 하단 코너에서, `probes` 필드는 프로그램이 파일 서버(`fs`), 캐쉬 관리 프로그램(`cm`) 또는 모두를 조사한 회수를 알려줍니다. 파일 서버 및 캐쉬 관리 프로그램에 대한 계수는 다를 수 있습니다. `freq` 필드는 프로그램이 조사를 전송한 빈도를 알려줍니다.

afsmonitor 디스플레이 화면 선택진행

앞에서 설명한 바와 같이 모든 디스플레이 화면의 왼쪽 하단 코너에서는 대체 화면으로 이동하는 데 사용할 수 있는 명령 이름이 표시됩니다. 이것은 다른 유형이 될 수도, 현재 유형의 통계나 시스템을 표시할 수도 있습니다. 명령을 실행하려면, 그 이름에 있는 첫번째 문자의 소문자를 입력하십시오. 몇몇 명령에는 다음 목록에서 설명하는 것처럼 다소 효과가 다른 대문자 버전도 있습니다.

`cm`
  `캐쉬 관리 프로그램` 화면으로 전환합니다. `시스템 개요` 및 `파일 서버` 화면에서만 사용할 수 있습니다.

`fs`
  `파일 서버` 화면으로 전환합니다. `시스템 개요` 및 `캐쉬 관리 프로그램` 화면에서만 사용할 수 있습니다.

`left`
  왼쪽으로 화면이동하여, 현재 세트의 왼쪽에 있는 데이터 컬럼에 액세스합니다. `<<<` 기호가 화면의 상단 왼쪽에 표시될 때 사용할 수 있습니다. 대문자 L을 눌러 왼쪽 수평 이동하십시오(데이터 컬럼의 첫번째 세트를 표시함).

`next`
  시스템 이름의 다음 페이지로 아래로 화면이동합니다. 둘 이상의 시스템 페이지가 있고, 최종 페이지가 현재 표시되지 않을 때 사용할 수 있습니다. 대문자 N을 눌러 최종 페이지로 화면이동하십시오.

`oview`
  `시스템 개요` 화면으로 전환합니다. `캐쉬 관리 프로그램` 및 `파일 서버` 화면에서만 사용할 수 있습니다.

`prev`
  시스템 이름의 이전 페이지로 위로 화면이동합니다. 둘 이상의 시스템 페이지가 있고, 처음 페이지가 현재 표시되지 않을 때 사용할 수 있습니다. 대문자 N을 눌러 처음 페이지로 화면이동하십시오.

`right`
  오른쪽으로 화면이동하여, 현재 세트의 오른쪽에 있는 데이터 컬럼에 액세스합니다. 이 명령은 `>>>` 기호가 화면의 상단 오른쪽에 있을 때 사용할 수 있습니다. 대문자 R 을 눌러 오른쪽으로 수평 이동하십시오(데이터 컬럼의 최종 세트를 표시함).

### 시스템 개요 화면

`시스템 개요` 화면은 afsmonitor 프로그램이 시작되면 자동으로 나타납니다. 이 화면에서는 현재 창에 표시될 수 있는 가능한 많은 파일 서버 및 캐쉬 관리 프로그램 프로세스의 상태를 표시하며, 화면을 아래로 이동시켜 추가 정보를 얻을 수 있습니다.

이 화면에 있는 정보는 왼쪽의 파일 서버 정보와, 오른쪽의 캐쉬 관리 프로그램 정보로 구분됩니다. 각 그룹의 헤더에서는 다음 두 정보를 보고합니다.

- 프로그램이 표시된 프로세스를 모니터하는 시스템 수
- 경보수와, 이들 경보에 영향을 받는 시스템 수(경보는 통계치가 임계치를 초과했거나 프로세스가 최종 조사에 대한 응답에 실패했음을 의미합니다)

모니터되는 시스템 목록이 옵니다. 시스템에 경보가 없으면, 호스트 이름 왼쪽에 대괄호로 경보 수가 표시됩니다. 프로세스가 최종 조사에 대한 응답에 실패했으면, 호스트 이름의 왼쪽에 괄호로 문자 `PF`(조사 실패)가 나타납니다.

다음 그래픽은 `시스템 개요` 화면 예입니다. afsmonitor 프로그램은 6개의 파일 서버와 7개의 캐쉬 관리 프로그램을 모니터하고 있습니다. 호스트 fs1.abc.com에 있는 파일 서버 프로세스와 호스트 cli33.abc.com에 있는 캐쉬 관리 프로그램은 각각 `[ 1]`로 표시되어 한 개의 임계치가 초과되었음을 나타냅니다. 호스트 fs6.abc.com 상에 있는 `[PF]` 표시자는 이것의 파일 서버 프로세스가 최종 조사에 응답하지 않았음을 나타냅니다.

그림 6. afsmonitor 시스템 개요 화면

### 파일 서버 화면

`파일 서버` 화면에서는 파일 서버 화면 통계를 위한 가장 최근의 조사에서 수집된 값들을 표시합니다.

화면 맨 위에 있는 요약 행(표준 프로그램 버전 및 화면 제목 블록 바로 아래)에서는 모니터되는 파일 서버 수, 경보 수, 그리고 경보에 영향을 받는 시스템 수를 지정합니다.

첫번째 컬럼에서는 항상 모니터되는 파일 서버를 실행중인 시스템의 호스트명을 표시합니다.

호스트 이름 컬럼의 오른쪽에는 표시 화면 또는 창의 현재 폭내에서 표시할 수 있는 많은 통계의 칼럼이 표시되며, 각 컬럼에는 10자 공간이 필요합니다. 통계 이름은 각 컬럼 맨 위에 나타납니다. 시스템에 있는 파일 서버가 가장 최근의 조사에 응답하지 않았으면, 한 쌍의 대쉬(`--`)가 각 컬럼에 나타납니다. 값이 구성된 임계치를 초과하면, 역상으로 강조표시됩니다. 값이 할당된 컬럼 너비에 비해 너무 크면, 같은 컬럼의 다음 행으로 오버플로우됩니다.

사용가능한 파일 서버 통계 목록에 대해서는 부록 C, afsmonitor 프로그램 통계의 내용을 참조하십시오.

다음 그래픽에서는 이전에 설명했던 시스템 개요 예 다음에 오는 `파일 서버` 화면에 대해 설명합니다. 그러나, 하나의 추가 서버 조사가 완료되었습니다. 이 예에서, fs1에 있는 파일 서버 프로세스는 수신된 성능 호출의 갯수로 구성된 임계치를(numPerfCalls 통계)를 초과하며, 이 필드는 역상으로 나타납니다. 호스트 fs6은 조사 10에 응답하지 않았으므로, 모든 필드에 대쉬(-)가 나타납니다.

그림 7. afsmonitor 파일 서버 화면

파일 서버와 캐쉬 관리 프로그램 화면(다음 절에서 설명함) 모두에서는 수백개의 데이터 컬럼을 표시할 수 있으므로, 왼쪽 오른쪽 화면이동할 수 있도록 지정됩니다. 이전 그래픽에서, 화면은 가장 왼쪽에 있는 화면을 표시하며, 화면 제목 블록에서는 235개 중 컬럼 1이 표시됨을 보여줍니다. 화면의 상단 오른쪽 코너에 `>>>` 기호가, 명령 블록에 right 명령이 표시되면 이는 오른쪽으로 화면이동하여 추가 데이터를 사용할 수 있음을 나타냅니다(사용가능한 통계에 대해서는 부록 C, afsmonitor 프로그램 통계의 내용을 참조하십시오).

right 명령이 실행되면, 화면은 다음 예와 같이 표시됩니다. 수평 화면이동 기호는 왼쪽(`<<<`)과 오른쪽(`>>>`) 모두를 나타내며, left 및 right 명령 모두가 표시됨을 기억하십시오. 이것은 왼쪽과 오른쪽 모두로 화면이동하면 추가 데이터를 사용할 수 있음을 나타냅니다.

그림 8. 1페이지 오른쪽으로 이동한 afsmonitor 파일 서버 화면

### 캐쉬 관리 프로그램 화면

`캐쉬 관리 프로그램` 화면에서는 캐쉬 관리 프로그램 통계에 관한 가장 최근의 조사에서 수집된 값들을 표시합니다.

화면 맨 위에 있는 요약 행(표준 프로그램 버전 및 화면 제목 블록 바로 아래)에서는 모니터되는 캐쉬 관리 프로그램 수, 경보 수, 그리고 경보에 영향을 받는 시스템 수를 지정합니다.

첫번째 컬럼에서는 항상 모니터되는 캐쉬 관리 프로그램을 실행중인 시스템의 호스트명을 표시합니다.

호스트 이름 컬럼의 오른쪽에는 표시 화면 또는 창의 현재 폭내에서 표시할 수 있는 많은 통계의 칼럼이 표시되며, 각 컬럼에는 10자 공간이 필요합니다. 통계 이름은 각 컬럼 맨 위에 나타납니다. 시스템에 있는 캐쉬 관리 프로그램이 가장 최근의 조사에 응답하지 않았으면, 한 쌍의 대쉬(`--`)가 각 컬럼에 나타납니다. 값이 구성된 임계치를 초과하면, 역상으로 강조표시됩니다. 값이 할당된 컬럼 너비에 비해 너무 크면, 같은 컬럼의 다음 행으로 오버플로우됩니다.

사용가능한 캐쉬 관리 프로그램 통계 목록에 대해서는 부록 C, afsmonitor 프로그램 통계의 내용을 참조하십시오.

다음 그래픽에서는 이전에 설명했던 시스템 개요 화면 다음에 오는 캐쉬 관리 프로그램 화면에 대해 설명합니다. 이 예에서, cli33에 있는 캐쉬 관리 프로그램 프로세스는 접속할 수 있는 셀의 갯수에 대해 구성된 임계치(numCellsContacted 통계)를 초과하므로, 이 필드는 역상으로 나타납니다.

그림 9. afsmonitor 캐쉬 관리 프로그램 화면

## afsmonitor 프로그램 구성

afsmonitor 프로그램을 사용자 정의하려면, ASCII 형식의 구성 파일을 작성하고 이에 대해 -config 인수를 사용하십시오. 구성 파일에서 다음을 지정할 수 있습니다.

- 모니터할 파일 서버, 캐쉬 관리 프로그램 또는 모두
- 표시할 통계. 기본적으로 디스플레이에는 파일 서버에 대한 271개의 통계와, 캐쉬 관리 프로그램에 대한 570개의 통계가 포함됩니다. 사용가능한 통계에 대해서는 부록 C, afsmonitor 프로그램 통계의 내용을 참조하십시오.
- 통계에 설정하는 임계치와 임계치를 초과할 때 실행할 스크립트 또는 프로그램. 기본적으로 정의된 임계치도 없고, 실행할 스크립트나 프로그램도 없습니다.

다음 목록에서는 구성 파일에 표시될 수 있는 명령에 대해 설명합니다.

`cm host_name`
  캐쉬 관리 프로그램 통계를 표시하기 위한 클라이언트 시스템의 이름입니다. 파일에 있는 cm 행의 순서는 클라이언트 시스템이 `시스템 개요` 및 `캐쉬 관리 프로그램` 출력 화면에서 나타나는 순서를 결정합니다.

`fs host_name`
  파일 서버 통계를 표시할 파일 서버 시스템의 이름입니다. 파일에 있는 fs 행의 순서는 파일 서버 시스템이 `시스템 개요` 및 `파일 서버` 출력 화면에서 나타나는 순서를 결정합니다.

`thresh fs | cm field_name thresh_val [cmd_to_run] [arg1] . . . [argn]`
  파일 서버 통계(fs) 또는 캐쉬 관리 프로그램(cm)의 경우 임계치 값 thresh_val을 통계 field_name에 지정합니다. 선택적인 cmd_to_execute 필드에서는 thresh_val 이하의 통계값이 thresh_val 또는 그 이상으로 변경될 때 마다 실행할 2진 파일 또는 스크립트의 이름을 결정합니다. thresh_val이 두 값 사이에서 변경되어도 2진 파일이나 스크립트가 다시 트리거되지 않습니다. 선택적인 arg1 - argn 필드는 afsmonitor 프로그램이 cmd_to_execute 명령에 인수로서 전달하는 추가 값입니다. 이들 중에 하나 이상의 공백이 들어 있으면, 전체 필드를 큰 따옴표로 묶으십시오.

  매개변수 fs, cm, field_name, threshold_val 및 arg1 - argn은 thresh 행에서 이름이 같은 값에 해당됩니다. host_name 매개변수는 통계치가 임계치를 넘는 파일 서버나 클라이언트 시스템을 식별하며, actual_val 매개변수는 임계값과 같거나 초과하는 field_name의 실제 값입니다.

  thresh 행을 사용하여 전역 임계치를 설정하십시오. 이는 fs 행에 나열된 모든 파일 서버 시스템 및 구성 파일에서 cm 행에 나열된 클라이언트 시스템에 적용됩니다. 또는 시스템 고유의 임계치를 설정하십시오. 이것은 하나의 파일 서버 또는 클라이언트 구성 파일에만 적용됩니다.

  - 전역 임계치를 설정하려면, 파일에서 thresh 행을 fs 또는 cm 행 앞에 두십시오.
  - 시스템 고유의 임계치를 설정하려면, thresh 행을 해당 fs 또는 cm 행 아래, 그리고 다른 fs 또는cm 행 위에 두십시오. 시스템 고유 임계치가 설정되면 항상 해당 전역 임계치를 덮어쓰기합니다. thresh fs 행을 fs 행 바로 뒤에 있는 cm 행이나 thresh cm 행 바로 뒤에 두지 마십시오.

`show fs | cm field/group/section`
  `파일 서버` 화면(fs) 또는 `캐쉬 관리 프로그램` 화면(cm)에서 표시할 각 통계치, 통계 그룹 또는 통계 섹션과, 이들을 표시할 순서를 지정합니다. AFS 관리 안내서에 있는 afsmonitor 통계 부록에서는 각 통계치가 속하는 그룹과 섹션을 지정합니다. 가능한 많은 show 행을 포함시켜 원하는 대로 화면 디스플레이를 조정하고, 이를 파일 어느 위치에나 두십시오. 구성 파일에 있는 show 행의 상하 순서는 해당 화면에서 통계치가 나타나는 좌우 순서를 결정합니다.

  구성 파일에 show 행이 없으면, 화면에서는 캐쉬 관리 프로그램과 파일 서버 모두에 대한 모든 통계치를 표시합니다. 이처럼 show fs 행이 없으면, `파일 서버` 화면에서는 모든 파일 서버 통계치를 표시하며, show cm 행이 없는 경우 `캐쉬 관리 프로그램` 화면에서는 모든 클라이언트 통계치를 표시합니다.

# comments
  afsmonitor 프로그램이 초기 번호(#) 사인으로 인해 무시하는 텍스트 행 앞에 두십시오. 이것은 행의 맨 처음 컬럼에 표시되어야 합니다.

show 명령의 field/group/section 필드에 표시될 수 있는 값 목록은 부록 C, afsmonitor 프로그램 통계의 내용을 참조하십시오.

다음 예에서는 가능한 구성 파일에 대해 설명합니다.

       thresh cm dlocalAccesses  1000000
       thresh cm dremoteAccesses  500000 handleDRemote
       thresh fs rx_maxRtt_Usec     1000
       cm client5
       cm client33
       cm client14
       thresh cm dlocalAccesses  2000000
       thresh cm vcacheMisses      10000
       cm client2
       fs fs3
       fs fs9
       fs fs5
       fs fs10
       show cm numCellsContacted
       show cm dlocalAccesses
       show cm dremoteAccesses
       show cm vcacheMisses
       show cm Auth_Stats_group

처음 3개의 thresh 명령문이 fs 또는 cm 명령문 앞에 나타나므로, 이들은 전역 임계치를 설정합니다.

- 이 파일에 있는 모든 캐쉬 관리 프로그램 프로세스들은 dlocalAccesses 통계의 임계치로서 1000000을 사용합니다(덮어쓰기하는 값으로 2000000을 사용하는 client2 시스템의 경우는 제외).
- 이 파일에 있는 모든 캐쉬 관리 프로그램 프로세스들은 dremoteAccesses 통계에 대한 임계치로서 500000을 사용하며, 이 값을 초과하면 스크립트 handleDRemote가 호출됩니다.
- 이 파일에 있는 모든 파일 서버 프로세스들은 1000을 rx_maxRtt_Usec 통계에 대한 임계치로서 사용합니다.

4개의 cm 명령어들은 시스템 client5, client33, client14 및 client2에서 캐쉬 관리 프로그램을 모니터합니다. 처음 3개는 전역 임계치 모두를 사용합니다.

client2에 있는 캐쉬 관리 프로그램은 dremoteAccesses 통계에 대한 전역 임계치를 사용하지만 dlocalAccesses 통계에 대해서는 다른 값을 사용합니다. 뿐만 아니라 client22는 vcacheMisses 통계에 대해 설정한 임계치를 사용하는 유일한 캐쉬 관리 프로그램입니다.

fs 명령은 시스템 fs3, fs9, fs5 및 fs10에서 파일 서버를 모니터합니다. 이들 모두는 rx_maxRtt_Usec 통계에 대한 전역 임계치를 사용합니다.

show fs 명령이 없으므로, 파일 서버 화면에서는 모든 파일 서버 통계를 표시합니다. 캐쉬 관리 프로그램 화면에서는 show cm 명령으로 지정한 통계만을 표시하며, 이들은 왼쪽으로 오른쪽으로 정렬됩니다. Auth_Stats_group에는 여러 개의 통계가 포함되며, 이들 모두가 표시됩니다(curr_PAGs, curr_Records, curr_AuthRecords, curr_UnauthRecords, curr_MaxRecordsInPAG, curr_LongestChain, PAGCreations, TicketUpdates, HWM_PAGS, HWM_Records, HWM_MaxRecordsInPAG 및 HWM_LongestChain).

## 파일로 afsmonitor 통계 기록하기

afsmonitor 프로그램에 의해 수집되어 표시되는 모든 통계 정보들은 이를 출력 파일로 기록하여 보존될 수 있습니다. afsmonitor 프로세스를 시작할 때 -output 인수를 사용하여 출력 파일을 작성할 수 있습니다. 출력 파일을 사용하여 장기간 동안의 프로세스 성능을 추적할 수 있으며, 사전처리 기법을 적용하여 시스템 경향을 분석할 수 있습니다.

afsmonitor 프로그램 출력 파일은 파일 서버 및 캐쉬 관리 프로그램 화면에서 알려주는 정보를 기록하는 간단한 ASCII 파일입니다. 출력 파일의 형식은 다음과 같습니다.

       time   host_name CM|FS   list_of_measured_values

출력 파일에서는 host_name에 있는 캐쉬 관리 프로그램(CM) 또는 파일 서버(FS)에서 list_of_measured_values 값이 수집되는 time을 지정합니다. 조사에 실패하는 경우, `-1` 값이 list_of_measured_values 대신 보고됩니다.

이 파일의 형식에는 여러가지 장점이 있습니다.

- 표준 편집기를 사용하여 볼 수 있습니다. 이 파일을 자주 보려는 경우, -detailed 플래그를 -output 인수와 함께 사용하십시오. 쉽게 읽을 수 있는 방식으로 출력 파일을 형식화하십시오.
- UNIX 툴의 표준 세트를 사용하여 원하는 정보를 추출하기 위해 필터를 통해 전달될 수 있습니다.
- afsmonitor 프로그램 출력을 장기간 저장하기에 적합합니다.

## afsmonitor 프로그램 시작하기

1. 별도의 명령 쉘 창을 열거나 afsmonitor 프로그램의 각 인스턴스에 대한 전용 터미널을 사용하십시오. 이 창이나 터미널은 명령이 백그라운드로 실행될 수 없으므로 afsmonitor 프로세스의 독점 사용을 위한 것이어야 합니다.
2. afsmonitor 프로그램을 초기설정하십시오. 뒤에 시스템 개요 화면이 오는 `afsmonitor Collecting Statistics...` 메시지는 성공적으로 시작되었음을 알려줍니다.

          % afsmonitor [initcmd]  [-config <configuration file>]  \
                       [-frequency <poll frequency, in seconds>]  \
                       [-output <storage file name>] [-detailed]  \
                       [-debug <turn debugging output on to the named file>] \
                       [-fshosts <list of file servers to monitor>+]  \
                       [-cmhosts <list of cache managers to monitor>+]
          afsmonitor Collecting Statistics...

   여기서

   initcmd
     AFS 명령 구문 분석기의 명령 사용법에 맞는 선택적인 문자열입니다. 누락될 수도 무시될 수도 있습니다.

   -config
     afsmonitor 구성 파일의 경로 이름을 지정합니다. 이것은 모니터할 시스템과 통계를 나열합니다. 일부 경로 이름은 현재의 작업 디렉토리와 관련하여 해석됩니다. 이 인수나, -fshosts 및 -cmhosts 인수 중 하나 또는 모두를 입력하십시오. 구성 파일을 사용하여 임계치를 설정하거나 화면 디스플레이를 사용자 정의해야 합니다. 구성 파일 작성에 대해서는 afsmonitor 프로그램 구성의 내용을 참조하십시오.

   -frequency
     파일 서버 및 캐쉬 관리 프로그램 프로세스를 조사하는 빈도를 초 단위로 지정합니다. 사용가능한 값의 범위는 1 - 86400이며, 기본값은 60입니다. 이 빈도는 파일 서버와 캐쉬 관리 프로그램 조사 모두에 적용되지만, 파일 서버와 캐쉬 관리 프로그램 조사는 각각 독립적으로 시작되어 처리됩니다. 호스트 조사의 실제 간격은 조사 빈도에, 모든 호스트가 조사에 응답하기 위해 필요한 시간을 더한 값입니다.

   -output
     모든 통계 데이터를 기록하는 출력 파일의 이름을 지정합니다. 기본 출력 파일은 작성되지 않습니다. 이 파일에 대해서는 파일로 afsmonitor 통계 기록하기의 내용을 참조하십시오.

   -detailed
     좀 더 읽기 쉽도록 하기 위해 -output 인수가 명명한 출력 파일을 형식화합니다. -output 인수는 이 플래그와 함께 제공되어야 합니다.

   -fshosts
     실행중인 호스트를 지정하여, 모니터할 각 파일 서버 프로세스를 나타냅니다. 셀의 이름 서비스가 수용할 수 있는 축약형이나 완전한 인터넷 양식의 호스트 이름을 사용하여 호스트를 식별할 수 있습니다. 원하면 이 인수를 -cmhosts와 함께 사용하십시오. 그러나 -config 인수와는 사용하지 마십시오.

   -cmhosts
     실행중인 호스트를 지정하여, 모니터할 각 캐쉬 관리 프로그램을 나타냅니다. 셀의 이름 서비스가 수용할 수 있는 축약형이나 완전한 인터넷 양식의 호스트 이름을 사용하여 호스트를 식별할 수 있습니다. 원하면 이 인수를 -fshosts와 함께 사용하십시오. 그러나 -config 인수와는 사용하지 마십시오.

## afsmonitor 프로그램 정지하기

afsmonitor 프로그램 세션을 종료하려면, <Ctrl-c> 인터럽트 신호나 대문자 Q를 입력하십시오.

## xstat 데이터 모음 기능

afsmonitor 프로그램은 xstat 데이터 모음 기능을 사용하여(afsmonitor 프로그램이) 그 기능을 수행하기 위해 사용하는 데이터를 모아 계산합니다. 또한 xstat 기능을 사용하여 자신만의 데이터 디스플레이 프로그램을 작성할 수도 있습니다. 그런 경우 다음을 기억하십시오. 파일 서버는 RPC 루틴을 호출하는 프로그램을 캐쉬 관리 프로그램으로 생각하므로, 파일 서버 인터페이스를 직접 호출하는 프로그램은 캐쉬 관리 프로그램의 콜백 인터페이스를 직접 반출해야 합니다. 호출하는 프로그램은 필요한 콜백 상태를 에뮬레이트할 수 있어야 하며, 파일 서버로부터의 정기적인 생존 메시지에 응답해야 합니다. 뿐만 아니라, 호출하는 프로그램은 수집된 데이터를 집적할 수도 있어야 합니다.

xstat 기능으로 사용자 레벨 응용 프로그램에서 사용할 수 있는 두 개의 C 언어 라이브러리로 구성됩니다.

- /usr/afsws/lib/afs/libxstat_fs.a는 실행중인 하나 이상의 파일 서버 프로세스에서 정보를 수집하는 호출을 반출합니다.
- /usr/afsws/lib/afs/libxstat_cm.a는 실행중인 하나 이상의 캐쉬 관리 프로그램으로부터 정보를 수집하는 호출을 반출합니다.

라이브러리를 사용하면 호출자가 다음을 등록할 수 있습니다.

- 점검할 파일 서버 또는 캐쉬 관리 프로그램 세트.
- 파일 서버나 캐쉬 관리 프로그램이 데이터를 조사할 빈도.
- 데이터가 수집될 때 마다 호출되는 사용자 지정 루틴.

라이브러리는 모든 가벼운 프로세스, 콜백 동작 및 데이터 모음과 연관된 시간 사항 모두를 처리합니다. 사용자는 도착하는 대로 데이터를 처리해야 합니다.

### libxstat 라이브러리

libxstat_fs.a 및 libxstat_cm.a 라이브러리는 콜백 요구조건과, 파일 서버 및 캐쉬 관리 프로그램의 데이터 모음과 연관된 기타 복잡한 내용을 처리합니다. 사용자는 원하는 데이터를 누적시키는 방법만을 제공합니다. 각각의 xstat 라이브러리에서는 3개 루틴을 구현합니다.

- 초기설정(xstat_fs_Init 및 xstat_cm_Init)에서는 정기적인 모음 및 데이터 처리를 재배열합니다.
- 즉시 조사(xstat_fs_ForceProbeNow 및 xstat_cm_ForceProbeNow)는 즉각적으로 데이터를 모으도록 하며, 이 다음 모음은 일반 조사 스케줄로 리턴됩니다.
- 정리(xstat_fs_Cleanup 및 xstat_cm_Cleanup)는 모든 연결을 종료하고, 메모리에서 모든 데이터 모음 추적을 제거합니다.

파일 서버 및 캐쉬 관리 프로그램 각각은 클라이언트가 패치할 수 있는 데이터 모음을 정의합니다. 데이터 모음은 단순히 하나의 단위로서 수집될 수 있는 관련 번호 세트입니다. 예를 들어 파일 서버와 캐쉬 관리 프로그램은 프로파일링 및 성능 데이터 모음을 정의합니다. 프로파일링 모음에서는 서버내에서 내부 기능이 호출되는 횟수를 유지하여 병목 현상 분석을 수행할 수 있도록 합니다. 성능 모음에서는 파일 서버에 대한 내부 디스크 입/출력 통계와 캐쉬 관리 프로그램에 대한 캐쉬 효율성 그림을 기록하여 성능을 분석할 수 있도록 합니다.

xstat 기능, 그 라이브러리 및 라이브러리에 있는 루틴에 대한 추가 이용 정보를 제공하는 자세한 스펙 사본은 AFS 제품 지원 부서에 문의하십시오.

### xstat 명령 예

AFS는 두 개의 하위 예 명령인 xstat_fs_test 및 xstat_cm_test를 제공합니다. 이 명령을 사용하면 xstat 기능을 시험할 수 있습니다. 이것은 파일 서버 또는 캐쉬 관리 프로그램에 사용가능한 정보를 수집하고 데이터 모음을 표시합니다. 이들은 단순히 xstat를 통해 수집될 수 있는 데이터 유형의 예를 제공하기 위한 것입니다. 실제 데이터 모음에서 사용하기 위한 것은 아닙니다.

#### xstat_fs_test 명령 예 사용하기

1. xstat_fs_test 명령 예를 실행하여 libxstat_fs.a 라이브러리에 있는 루틴을 테스트하고, 파일 서버 프로세스와 연관된 데이터 모음을 표시하십시오. 명령은 포어그라운드로 실행됩니다.

          % xstat_fs_test [initcmd]  \
                          -fsname <File Server name(s) to monitor>+  \
                          -collID <Collection(s) to fetch>+  [-onceonly]  \
                          [-frequency <poll frequency, in seconds>]  \
                          [-period <data collection time, in minutes>] [-debug]

   여기서

   xstat_fs_test
     모두를 입력해야 합니다.

   initcmd
     AFS 명령 구문 분석기의 명령 사용법에 맞는 선택적인 문자열입니다. 누락될 수도 무시될 수도 있습니다.

   -fsname
     파일 서버 프로세스를 모니터할 각 파일 서버 시스템의 인터넷 호스트 이름입니다.

   -collID
     리턴할 각 데이터 모음을 지정합니다. 표시된 데이터 모음에서는 명령이 파일 서버에 대해 수집하는 데이터의 유형과 양을 정의합니다. 데이터는 미리 정의된 데이터 구조의 양식으로 리턴됩니다(데이터 구조에 대한 내용은 이전에 참조했던 스펙 문서를 참조하십시오).

     다음의 두 가지 사용가능한 값입니다.

     - 1은 파일 서버와 관련된 여러가지 내부 성능 통계를 보고합니다(예를 들어 vnode 캐쉬 항목 및 Rx 프로토콜 활동).
     - 2는 1 설정에서 제공하는 모든 내부 성능과 더불어, 파일 서버에 대한 상세한 성능 그림을 제공합니다(예를 들면 파일 서버 RPC에 관한 최소, 최대 및 누적 통계, 완료하는 데 수행되는 시간, 성공 횟수).

   -onceonly
     명령에게 한번만 통계를 집계하도록 합니다. 이 옵션을 생략하면 매 30초마다 통계를 위해 명령이 파일 서버를 계속해서 조사합니다. 이 옵션을 생략하면, <Ctrl-c> 인터럽트 신호를 사용하여 언제든지 명령을 정지시킬 수 있습니다.

   -frequency
     프로그램이 파일 서버에 대한 조사를 시작하는 빈도를 초 단위로 설정합니다. 이 인수를 생략할 경우 기본값은 30초입니다.

   -period
     종료하기 전에 유틸리티가 실행되는 기간을 분 단위로 설정합니다. 이 인수를 생략할 경우 기본값은 10분입니다.

   -debug
     명령이 실행되면서 추가 정보를 표시합니다.

#### xstat_cm_test 명령 예 사용하기

1. xstat_cm_test 명령 예를 실행하여 libxstat_cm.a 라이브러리에 있는 루틴을 테스트하고, 캐쉬 관리 프로그램과 연관된 데이터 모음을 표시하십시오. 명령은 포어그라운드로 실행됩니다.

          % xstat_cm_test [initcmd]  \
                          -cmname <Cache Manager name(s) to monitor>+  \
                          -collID <Collection(s) to fetch>+ \
                          [-onceonly] [-frequency <poll frequency, in seconds>]  \
                          [-period <data collection time, in minutes>] [-debug]

   여기서

   xstat_cm_test
     모두를 입력해야 합니다.

   initcmd
     AFS 명령 구문 분석기의 명령 사용법에 맞는 선택적인 문자열입니다. 누락될 수도 무시될 수도 있습니다.

   -cmname
     캐쉬 관리 프로그램을 모니터할 각 클라이언트 시스템의 호스트 이름입니다.

   -collID
     리턴할 각 데이터 모음을 지정합니다. 표시된 데이터 모음에서는 명령이 캐쉬 관리 프로그램에 대해 수집하는 데이터의 유형과 양을 정의합니다. 데이터는 미리 정의된 데이터 구조의 양식으로 리턴됩니다(데이터 구조에 대한 내용은 이전에 참조했던 스펙 문서를 참조하십시오).

     다음의 두 가지 사용가능한 값입니다.

     - 0은 캐쉬 관리 프로그램이 시작된 이후 다른 내부 캐쉬 관리 프로그램 루틴이 호출되었던 횟수에 대한 프로파일링 정보를 제공합니다.
     - 1에서는 캐쉬 관리 프로그램과 관련된 다양한 내부 성능 통계를 제공합니다(예를 들어, 캐쉬가 어느 정도 효과적으로 사용되는 지, 인트라셀 및 인터셀 데이터 액세스 양에 대한 통계).
     - 2는 1 설정에서 제공하는 모든 내부 성능 통계과 더불어, 캐쉬 관리 프로그램에 대한 상세한 성능 그림을 제공합니다(예를 들면 캐쉬 관리 프로그램이 전송한 RPC 양과 완료되는 데 소요되는 시간에 관한 통계, 및 데이터 액세스와 연관된 PAG 정보, 인증 및 액세스 등에 관한 통계).

   -onceonly
     명령에게 한번만 통계를 집계하도록 합니다. 이 옵션을 생략하면 매 30초마다 통계를 위해 명령이 캐쉬 관리 프로그램을 계속해서 조사합니다. 이 옵션을 생략하면, <Ctrl-c> 인터럽트 신호를 사용하여 언제든지 명령을 정지시킬 수 있습니다.

   -frequency
     프로그램이 캐쉬 관리 프로그램에 대한 조사를 시작하는 빈도를 초 단위로 설정합니다. 이 인수를 생략할 경우 기본값은 30초입니다.

   -period
     종료하기 전에 유틸리티가 실행되는 기간을 분 단위로 설정합니다. 이 인수를 생략할 경우 기본값은 10분입니다.

   -debug
     명령이 실행되면서 추가 정보를 표시합니다.

## AIX 파일 서버에서의 AFS 이벤트 감사

감사 정보를 AFS에서 AIX 감사 시스템으로 전송하는 AFS 메카니즘을 사용하여 AIX 파일 서버에서 AFS 이벤트를 감사할 수 있습니다. 다음의 AFS 이벤트 일반 클래스를 감사할 수 있습니다. 특정 AFS 감사 이벤트에 관한 완전한 목록은 부록 D, AIX 감사 이벤트의 내용을 참조하십시오.

- 인증 및 식별 이벤트
- 보안 이벤트
- 특권 필수 이벤트
- 오브젝트 작성 및 삭제 이벤트
- 속성 수정 이벤트
- 프로세스 제어 이벤트

주: | 이 절에서는 AIX 감사 시스템에 익숙한 것으로 가정합니다. 자세한 내용은 사용하는 AIX 버전의 AIX 시스템 관리 안내서를 참조하십시오.

### AIX 파일 서버에서 AFS 감사 구성

/usr/afs/local/audit 디렉토리에는 AFS 이벤트를 감사하도록 AIX 파일 서버를 구성하는 데 필요한 정보가 들어있는 3개의 파일이 포함됩니다.

- events.sample 파일에는 감사할 수 있는 AFS 이벤트에 대한 정보가 들어 있습니다. 이 파일의 내용은 해당 AIX 이벤트 파일(/etc/security/audit/events)로 통합됩니다.
- config.sample 파일은 각 클래스를 구성하는 이벤트와 AFS 감사 이벤트의 6개 클래스를 정의합니다. 또한 파일 서버에 대해 감사할 AFS 감사 이벤트의 클래스를 정의하며, 이 파일 서버는 로컬 수퍼유저 루트로서 실행됩니다. 이 파일의 내용은 해당 AIX 구성 파일(/etc/security/audit/config)로 통합됩니다.
- objects.sample 파일에는 감사된 파일에 대한 정보 목록이 들어 있습니다. 로컬 파일 공간에 있는 파일만을 감사해야 합니다. 이 파일의 내용은 해당 AIX 오브젝트 파일(/etc/security/audit/objects)로 통합되어야 합니다.

일단 AFS 관련 정보를 포함하도록 이들 파일을 구성했으면, AIX 감사 시스템을 사용하여 감사를 구동 및 종료하십시오.

### AFS 감사 사용 가능으로 설정하기

1. AFS 이벤트을 감사하려는 각각의 파일 서버에 있는 /usr/afs/local/Audit 파일에 다음 문자열을 작성하십시오.

       AFS_AUDIT_AllEvents

2. bos restart 명령(-all 플래그와 함께)을 실행하여 각 파일 서버에 있는 모든 서버 프로세스들을 정지한 뒤 다시 시작하십시오. 이 명령 사용에 대해서는 프로세스를 정지한 후 즉시 재시작하기의 내용을 참조하십시오.

### AFS 감사 사용 불가능으로 설정하기

1. AFS 이벤트를 감사할 때 더 이상 관심없는 /usr/afs/local/Audit 파일의 내용을 각각의 파일 서버에서 제거하십시오.
2. bos restart 명령(-all 플래그와 함께)을 실행하여 각 파일 서버에 있는 모든 서버 프로세스들을 정지한 뒤 다시 시작하십시오. 이 명령 사용에 대해서는 프로세스를 정지한 후 즉시 재시작하기의 내용을 참조하십시오.

[ 페이지의 맨 위 | 이전 페이지 | 다음 페이지 | 목차 | 색인 ]

© IBM Corporation 2000. All Rights Reserved