snap 명령
용도
시스템 구성 정보를 수집합니다.
구문
스냅 ' [-@] ] [ ' -a ] [-z ' "product_name=prd_name,..." | "class=myclass,..." | ' 모두] [-M ' 시간 초과][ ' -A ] [ ' -b ] [ ' -B ] [ ' -c ] [ ' -C ] [ ' ' -D ] [ ' -f ] [ ' -F] [ ' -g ] [ ' -G ] [ ' -i ] [ ' -k ] [ ' -l ' ] [ ' -L ] [ ' -n ] [ ' -N ] [ ' -p ] [ ' -r ] [ ' -R ' ] [ ' -s ] [ ' -S ] [ ' -t ] [ ' -T ' ' 파일 이름 ] [-u ' user1,....] [ ' -w ] [ ' -X ] [ ' -Y ][ ' -o 'OutputDevice ] [ ' -d ' Dir ] [ ' -v '구성 요소 ] [ ' -O ' ' FileSplitSize ] [ ' -P ' 파일 ] [ ' script1 script2... | 모두 | 파일:파일 경로 ] [-U]
스냅 -e [ -m 노델리스트 ] [ -d 디렉터리 ]
snap -z ADD ["product_name=prod_name" "class=myclass" "/tmp/myprod_myscript -a"]
스냅 -z 삭제 ["product_name=prod_name" ]
설명
snap -o /dev/rfd0 명령을 사용하여 압축된 이미지를 디스켓에 복사하십시오. snap -o /dev/rmt0 명령을 사용하여 이미지를 테이프에 복사하십시오.
- 8mm, 2.3GB 용량
- 8mm, 5.0GB 용량
- 4mm, 4.0GB 용량
다른 형식을 사용하면 IBM 소프트웨어 지원이 내용을 검사할 수 없거나 검사가 지연됩니다.
snap -g 명령은 다음을 포함하여 일반 시스템 정보를 수집합니다.
- 오류 보고서
- 조정된 오브젝트 데이터 관리자(ODM) 데이터베이스의 사본
- 추적 파일
- 사용자 환경
- 실제 메모리 및 페이징 공간의 양
- 장치 및 속성 정보
- 보안 사용자 정보
- 시스템의 매개변수 정보 튜닝 및 구성
snap -g 명령의 출력이 /tmp/ibmsupt/general/general.snap 파일에 작성됩니다.
snap 명령은 snap 명령 출력용 디폴트 디렉토리인 /tmp/ibmsupt 디렉토리에서 사용 가능한 공간을 검사합니다. -d 플래그를 사용하여 출력을 다른 디렉토리에 기록할 수 있습니다. snap 명령 출력을 보유할 만큼 충분한 공간이 없는 경우, 파일 시스템을 확장해야 합니다.
snap 명령을 실행할 때마다 전에 작성한 파일에 정보가 추가됩니다. -r 플래그를 사용하여 이전에 수집하고 저장한 정보를 제거하십시오.
플래그
| 항목 | 설명 |
|---|---|
| -@ | 워크로드 파티션 정보를 수집한다. |
| -a | HACMP 관련 데이터를 제외한 모든 시스템 구성 정보를 수집합니다. HACMP 관련 데이터를 수집하려면 스냅 -e 옵션을 실행합니다. 외부 제품에 대해 등록된 디버그 데이터 스크립트 수집이 실행되고 해당 데이터도 시스템 구성의 일부로 포함되며, -z 플래그로 이름을 지정하여 선택한 제품에 대해 제한할 수 있습니다. -a 옵션에 최소 8MB의 임시 디스크 공간이 필요합니다. |
| -A | 비동기(TTY) 정보를 수집합니다. |
| -b | SSA 정보를 수집합니다. |
| -b | SSA 어댑터 덤프의 집합을 무시합니다. -b 플래그가 지정될 때 -B 플래그만 작동합니다. 그렇지 않으면, -B 플래그가 무시됩니다. |
| -c | ' /tmp/ibmsupt 디렉토리 트리 또는 -d 플래그로 지정된 기타 사용자 정의 디렉터리에 있는 스냅 알려진 컴포넌트 하위 디렉터리의 압축된 팍스 이미지snap.pax.Z 파일)를 생성합니다. 참고: 이 옵션으로 수집되지 않는 정보는 -c 플래그를 사용하기 전에 스냅 디렉토리 트리에 복사해야 합니다. 시스템 문제를 입증하기 위해 테스트 케이스가 필요한 경우, pax 파일을 압축하기 전에 테스트 케이스를 ' /tmp/ibmsupt/testcase ' 디렉터리에 복사하세요. 사용자가 정의한 모든 디렉토리는 스냅 명령이 압축할 수 있도록 ' /tmp/ibmsupt/other 디렉토리에 저장해야 합니다.
|
| -c | fwdump_dir 디렉토리에서 모든 파일을 검색합니다. 파일은 "general" 서브디렉토리에 배치됩니다. -C snap 옵션은 -P*와 동일하게 작동합니다. |
| -d | 덤프 및 /unix 정보를 수집합니다. 1차 덤프 장치가
사용됩니다. 참고:
|
| -d AbsolutePath | 선택적 snap 명령 출력 디렉토리(/tmp/ibmsupt가 디폴트임)를 식별합니다. 절대 경로를 지정해야 합니다. |
| -e | HACMP 정보를 축적합니다. 참고: HACMP 관련 데이터는 클러스터에 속한 모든 노드에서 수집됩니다. 이 플래그는 -m 및 -d를 제외한 다른 플래그와 함께
사용될 수 없습니다.
|
| -f | 파일 시스템 정보를 수집합니다. |
| -F | 플래시 어댑터 정보를 수집합니다. |
| -g | lslpp -hac 명령의 출력을 수집하고, 이는 정확한 운영 체제 환경을 재작성하는 데 필요합니다. /tmp/ibmsupt/general/lslpp.hac 파일에 출력을 작성합니다. 일반 시스템 정보를 수집하고 /tmp/ibmsupt/general/general.snap 파일에 출력을 작성합니다. |
| -G | 사전 정의된 오브젝트 데이터 관리자(ODM) 파일을 -g 플래그로 수집한 일반 정보에 포함시킵니다. |
| -i | 설치 디버그 필수 제품 데이터(VPD) 정보를 수집합니다. |
| -k | 커널 정보를 수집합니다. |
| -l | 프로그래밍 언어 정보를 수집합니다. |
| -l | LVM 정보를 수집합니다. |
| -m 노드 목록 | HACMP 정보를 축적하기 위한 노드 이름 리스트(쉼표로 구분됨). 참고: 현재 이 플래그는 -e 플래그와 함께 사용할 때만 유효합니다.
|
| -M 시간 초과 | 등록된 외부 제품 디버그 데이터 명령을 제거하기 전에 스냅형 프레임 작업이 기다릴 초 단위의 최대 시간종료 값을 지정합니다. 디폴트 시간종료 값은 300초입니다. |
| -n | NFS(Network File System)(NFS) 정보를 수집합니다. |
| -n | 사용 가능한 공간이 있는지 검사하지 않습니다. |
| -o OutputDevice | 압축된 이미지를 지정된 장치로 복사합니다. |
| -O FileSplitSize | ' snap 출력 파일을 더 작은 파일로 분할하는 데 사용됩니다. 이러한 파일의 크기는 ' -O ' 옵션의 매개변수로 지정되며, 메가바이트 단위로 지정해야 합니다. 이 플래그는 ' -c ' 플래그가 지정된 경우에만 사용할 수 있습니다. |
| -p | 프린터 정보를 수집합니다. |
| -P 파일 | ' fwdump_dir ' 디렉토리에서 명명된 파일을 검색합니다. -P *가 지정되는 경우 디렉토리의 모든 파일이 수집됩니다. 파일은 ' general 하위 디렉터리에 배치됩니다. C ' snap ' 옵션은 -P*와 동일하게 작동합니다. |
| -r | /tmp/ibmsupt 디렉토리에서 snap 명령 출력을 제거합니다. |
| -R | SCSI RAID 정보를 수집합니다. |
| -s | 시스템 네트워크 아키텍처(SNA) 정보를 수집합니다. |
| -s | -g 플래그로 수집한 일반 정보에 보안 파일을 포함합니다. |
| -t | TCP(Transmission Control Protocol) 정보를 수집합니다. |
| -T 파일 이름 | 여러 CPU 추적에 대한 모든 로그 파일을 수집합니다. 기본 파일인 trcfile만 -g 플래그로 캡처됩니다. |
| -u user1,user2... | 수집될 쉘 및 SMIT(System Management Interface Tool) 히스토리의 쉼표로 구분된 사용자 이름을 지정합니다. |
| -v 구성 요소 | snap 명령에서 실행한 명령의 출력을 표시합니다. 이 플래그를 사용하여 파일의 지정된 이름 또는 그룹을 열람하십시오. 참고: 스냅 명령을 중단하려면 Ctrl-C 키 시퀀스를 누릅니다. Enter 키를 눌러 현재 작업으로 돌아가거나
S 키를 눌러 현재 작업을 정지하십시오. 또는 Q 키를 눌러 snap 명령을 완전히
종료하십시오.
|
| -w | WLM 정보를 수집합니다. |
| -X | X.25(패킷 기반 통신 프로토콜) 정보를 수집합니다. |
| -Y | InfiniBand 정보를 수집하고, /tmp/ibmsupt/IB 디렉토리에 저장합니다. |
| -z | 외부 제품을 위한 디버그 데이터 집합을 용이하게 합니다.
product_name 속성에 매개변수화한 것처럼 제품 이름이 지정될 때 등록된 디버그 데이터 집합 명령이 실행됩니다. 두 개 이상의 제품에 대한 데이터를 수집하려면 product_name 속성에서 필수 제품 이름을 지정하십시오. 클래스 이름이 매개변수로서 클래스 속성에 지정될 때 해당 클래스의 모든 제품에 대한 등록된 디버그 명령이 실행됩니다. 두 개 이상의 클래스에 대한 데이터를 수집하려면 class 속성에서 필수 클래스 이름을 지정하십시오. ALL이 매개변수로 지정될 때 모든 클래스의 모든 제품에 대한 등록된 디버그 데이터 집합 명령이 실행됩니다. 스크립트가 실행되면 시스템은 SNAPDEBUGDATA 환경 변수에 의해 가리킨 리스트에 제품 이름을 추가합니다. |
| -U | Live 커널 갱신 정보를 수집하고 /tmp/ibmsupt/liveupdate 디렉토리에 정보를 저장합니다. |
Parameters
인수
실행할 타사 스크립트의 이름은 ' snap의 파라미터로 지정됩니다. 매개변수는 하나의 단어 또는 인용 부호로 묶인 단어 리스트일 수 있습니다. 매개변수가 인용 부호로 묶인 경우, 리스트의 첫 번째 매개변수는 스크립트의 이름을 나타내며 후속 단어는 스크립트에 패스할 인수를 나타냅니다.
' All '을 매개변수로 지정하면 스크립트 저장소에 있는 모든 스크립트가 실행됩니다. 어떠한 스크립트 매개변수도 이 경우에 패스될 수 없습니다.
' file: 키워드가 사용되고 바로 뒤에 파일 경로가 오는 경우, 해당 파일을 읽어 스크립트를 실행합니다. 파일의 각 행은 스크립트 및 스크립트에 대한 선택적 매개변수를 나타냅니다.
스냅형 스크립트
타사 스크립트는 ' /usr/lib/ras/snapscripts'에서 실행 가능해야 하며 아래 설명된 가이드라인을 따라야 합니다. 패스 1 중에 호출되면 스크립트는 크기 추정치를 ' snap' 로 반환해야 합니다. 패스 2에서는 데이터를 수집하여 ' snap'에 지정된 대로 저장합니다.
스크립트는 SNAPDIR, PASSNO, SCRIPTSIZE, SCRIPTLOG라는 환경 변수를 읽고 사용해야 합니다.
스크립트 또는 명령은 스냅형 스크립트에 의해 수집된 디버그 데이터에 대해 알아보려면 SNAPDEBUGDATA 변수를 사용할 수도 있습니다. 이 변수에는 쉼표로 구분된 제품 이름이 있으며 snap 명령은 실행 시 데이터를 수집합니다.
모든 출력 파일은 $SNAPDIR에 기록되어야 합니다. 이는 스크립트가 해당 출력을 저장 중인 디렉토리입니다. PASSNO 변수에는 스크립트가 호출되는 ' snap 단계가 포함되어 있습니다. 첫 번째 패스 동안, 스크립트는 두 번째 패스 동안 쓸 데이터를 위해 크기 추정을 계산해야 합니다. 그런 다음 $SCRIPTSIZE가 지시하는 파일에 숫자 추정을 기록합니다. 파일에 저장되는 값은 10진수이어야 합니다. snap 스크립트에 대한 모든 디버그 데이터가 저장되어야 하는 로그 파일의 경로를 전달합니다. ' snap 표준 아웃 및 표준 오류를 각각 $SNAPDIR/ '스크립트 이름 '.out ' 및 $SNAPDIR/ '스크립트 이름' '.err'에 저장하므로 스크립트에서 표준 아웃 및 표준 오류를 리디렉션해서는 안 됩니다.
#!/usr/bin/ksh
if [ "$PASSNO" = 1 ]
then
(( size=99999 ))
....
# this is where code to do the size estimation should go.
....
echo $size > $SCRIPTSIZE
else if [ "$PASSNO" = 2 ]
then
# debug information should go to $SCRIPTLOG
echo "Debug Data" >> $SCRIPTLOG
# .....where the work to collect the data takes place
# ...
# The data collected should be written to $SNAPDIR .
touch $SNAPDIR/foo_output1
touch $SNAPDIR/foo_output2
fi
fi- -a 플래그와 함께 실행할 스크립트: svCollect, client_collect, lsvirt
- -g 플래그와 함께 실행할 스크립트: svCollect, client_collect
스냅형 출력의 분할
분할된 경우 ' snap 출력은 다음과 같이 보일 수 있습니다:
% ls -l
total 112048
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaa
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xab
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xac
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xad
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xae
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaf
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xag
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xah
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xai
-rw-r--r-- 1 lmic adm 744518 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaj써드 파티 스크립트 실행
외부 제품 디버그 데이터 수집 명령 또는 스크립트는 실행할 수 있는 독립형 실행 파일입니다. 사용자 정의된 디버그 데이터를 수집할 때 사용할 수 있기 전에 스크립트는 스냅형 프레임워크에 등록됩니다. 이러한 스크립트는 사용자 임의에 따라서 등록 취소될 수 있습니다.
시스템에서 정의된 ODM 클래스는 다음과 같습니다.
#define DEFAULTSIZE 256
#define DATA_VALUESIZE 1024
class snap_config {
char product_name[DEFAULTSIZE]; key
char class[DEFAULTSIZE];key
char command_path[DATA_VALUESIZE];
vchar sc_reserved1[DATA_VALUESIZE];
vchar sc_reserved2[DATA_VALUESIZE];
}- product_name
- 제품의 이름을 지정하십시오. 동일한 이름은 제품 디버그 데이터 수집 스크립트의 등록 해제에 사용됩니다.
- 클래스
- 클래스는 스토리지, 네트워크 또는 데이터베이스일 수 있습니다. 제품을 기반으로 적절한 클래스를 선택하거나 사용자 고유의 클래스를 정의할 수 있습니다. 클래스는 제품의 분류에서 도움이 됩니다. 사용자는 IBM 서비스 담당자에게 연락하여 스냅 문서에 다른 클래스를 추가할 수 있습니다.
- command_path
- 해당 옵션과 함께 제어하거나 실행 가능한 경로입니다. sc_reserved1 및 sc_reserved2가 보존됩니다.
Snap 프레임워크로 써드 파티 디버그 스크립트의 등록
- 항목을 추가하려면 명시적으로 odmadd 명령을 실행할 수 있습니다. 그런 경우에:
- 스크립트 또는 실행 파일을 /usr/lib/ras/snapscript/bin/<productname> 디렉토리로 복사해야 합니다.
다음 사항에 유의해야 합니다.- odmadd를 실행하기 전에 명령을 입력해야 합니다.
export ODMDIR=/usr/lib/objrepos - odmadd 명령이 완료된 후 ODMDIR 명령의 이전 값을 복원할 수 있습니다.
- snap 명령을 계속 실행할 수 있습니다. 예를 들어,
myfile의 컨텐츠가 아래에 제공됩니다.
product_name=myprod class=myclass command_path=/usr/lib/ras/snapscripts/bin/prod_name/myscript1.sh -t 10 export ODMDIR=/usr/lib/objrepos odmadd myfile
참고: ODM 직접 입력하는 사용자는 스냅 명령이 특정 제품 이름에 대해 하나의 항목만 처리하므로 중복 항목을 처리해야 합니다. odmadd 명령이 호출되기 전에 그러면 odmdelete 명령이 실행되어야 합니다. - ADD 키워드와 -z 플래그를 함께 사용합니다.
- 1. 디버그 2진이 바뀌거나 갱신되면, 사용자는 최근 2진으로 스냅형 저장소를 갱신하려면 컴포넌트를 다시 등록해야 합니다.
- 2. command_path 변수의 일부로 다중 명령의 조합이 지원되지 않습니다. 예를 들어, 다음 형식은 지원되지 않습니다.
command_path=<path>/ls|<path>/grep myfile - 3. ', <, |와 같은 특수 문자는 command_path 변수의 값으로 지원되지 않습니다.
Snap 프레임워크로부터의 써드 파티 디버그 스크립트의 등록 해제
- odmdelete 명령을 사용하여 제품을 등록 취소하십시오. 예를 들면 다음과 같습니다.
export ODMDIR=/usr/lib/objrepos odmdelete -o snap_config -q product_name=productname - 삭제 키워드와 -z 플래그를 함께 사용합니다. 예를 들면 다음과 같습니다.
Snap -z DELETE product_name=productname
예
- 모든 시스템 구성 정보를 수집하려면 다음 명령을 입력하십시오.
이 명령의 출력은 /tmp/ibmsupt 디렉토리에 기록됩니다.snap -a - /tmp/ibmsupt 디렉토리에 들어 있는 모든 파일의 pax
이미지를 작성하려면 다음 명령을 입력하십시오.
snap -c - lslpp -hac 명령의 출력을 포함하여, 일반 시스템 구성 정보를 수집하려면 다음 명령을 입력하십시오.
출력은 /tmp/ibmsupt/general/lslpp.hac 및 /tmp/ibmsupt/general/general.snap 파일에 작성됩니다. 이 명령은 시스템 정보를 제거 가능한 디스켓에 기록합니다.snap -g -o /dev/rfd0 - 단일 클러스터에 속한
node1및node2노드에서 HACMP 특정 정보를 축적하려면 다음 명령을 입력하십시오.
출력은 /tmp/ibmsupt/hacmp 디렉토리에 기록됩니다.snap -e -m node1,node2 - 스크립트 foo1, foo2 및 foo3을 실행하려면(여기서 foo1은 인수가 없으며
foo2 세 개의 인수를, foo3는 하나의 인수를 가짐), 다음을 입력하십시오.
출력은 대상 디렉터리가 기본값인 ' /tmp/ibmsupt라고 가정할 때 ' /tmp/ibmsupt/snapscripts/foo1, ' /tmp/ibmsupt/snapscripts/foo2 ' 및 ' /tmp/ibmsupt/snapscripts/foo3 '에 기록됩니다.snap foo1 "foo2 -x -y 3" "foo3 6" - 모든 스크립트를 실행하도록 ' All 매개변수를 지정하려면 다음과 같이 입력합니다:
snap All참고: 이 경우 매개변수가 전달되지 않습니다. - 실행할 스크립트의 선택적 매개변수 리스트 및 이름을 포함하는 파일에
경로를 지정하려면 다음을 입력하십시오.
예제 5의 스크립트를 실행하는 샘플 입력 파일:snap file:/tmp/scriptnamesfoo1 foo2 -x -y 3 foo6 - ' snap ' 출력을 4MB 파일로 분할하려면 다음과 같이 입력합니다:
snap -a -c -O 4 - 노드 '
node1' 및 'node2'의 HACMP ' snap ' -e ' 데이터만 제출하려면 다음 명령을 입력합니다:snap -e -m node1,node2 snap -c서비스 담당자의 안내에 따라 <paxpax.z파일을 IBM 제출합니다.
- 노드 '
node1' 및 'node2'의 모든 ' snap ' 데이터를 제출하려면 다음 명령을 입력합니다:snap -e -m node1,node2 snap -a snap -c서비스 담당자의 안내에 따라 <paxpax.z파일을 IBM 제출합니다.
- 제품 abc의' /usr/lpp/abc/debug_abc 디렉터리에 있는 디버그 스크립트를 등록하려면 클래스 저장소에 다음 명령을 입력합니다:
snap -z ADD "product_name=abc" "class=storage" "command_path=/usr/lpp/abc/debug_abc -a" - 제품 abc의 디버그 스크립트를 등록 취소하려면
다음 명령을 입력하십시오.
snap -z DELETE "product_name=abc" - 다수 제품의 디버그 데이터를 수집하려면 다음 명령을 입력하십시오.
snap -z "product_name=abc, product_name=def"
파일
| 항목 | 설명 |
|---|---|
| /usr/sbin/snap | snap 명령이 포함되어 있습니다. |
| /tmp/ibmsupt | snap 명령 출력이 포함되어 있습니다. |
| /tmp/ibmsupt/general/lslpp.hac | lslpp -hac 명령의 출력이 포함되고, 이는 정확한 운영 체제 환경을 재작성하기 위해 필요합니다. |
| /tmp/ibmsupt/general/general.snap | snap -g 명령으로 수집되는 일반 시스템 정보가 포함되어 있습니다. |
| /tmp/ibmsupt/testcase | 시스템 문제점을 증명하는 테스트 케이스가 포함되어 있습니다. |
| /tmp/ibmsupt/other | 사용자 정의 디렉토리가 포함되어 있습니다. |