OS/SOLARIS2007. 8. 2. 18:37
반응형
[1] 기능

이 명령어는 시스템의 크래쉬 덤프(Crash dump) 환경 설정을 위하여 사용한다.
시스템의 크래쉬는 예기치 않은 이벤트(event)로 인하여 시스템에서 발생하는 치명적인 장애라 할 수 있다.
이때 장애를 일으키는 원인을 찾기 위해서는 시스템의 장애 발생 시점에서의 각종 상황을 이해해야 한다.
CPU에서 실행이 되어지는 프로세스는 무엇이고, 메모리에 있던 프로세스는,
각종 캐시에 있던 내용등에 대해서 상세한 정보가 필요하다.
이러한 정보들은 항상 메모리에 흔적이 남아 있다.
크래쉬 덤프란 이 메모리의 내용을 파일로서 받기 위한 방법이라 할 수 있다.

[2] 형식
   /usr/sbin/dumpadm  [ -nuy ]  [ -c content-type ]  [ -d dump-device ]
                      [ -m min k | min m | min% ] [ -s savecore-dir]
                      [ -r root-dir ]


[3] 상세 설명

dumpadm 프로그램은 시스템에서 크래쉬 덤프 기능을 설정하기 위한 시스템 어드민 명령어이다.
크래쉬 덤프는 잘못된 시스템 에러가 발생 하였을 때, 시스템의 물리적인 메모리의 내용을 디스크로 복사한다.
OS의 치명적인 에러가 발생할 때, 콘솔 창에는 에러에 대하여 메시지가 상세히 출력된다.
OS는 물리적 메모리의 내용을 사전에 정의된 덤프 디바이스(dump device-일반적으로 로컬 디스크 파티션을 사용한다.)에
쓰기를 함으로써 크래쉬 덤프는 활성화 되어진다. 덤프 디바이스는 dumpadm에 의하여 설정되어 진다.
OS의 에러는 OS의 버그(bug)에 의할 수 있으며, 디바이스 드라이버나, 로드러블(loadable) 모듈, 하드웨어의 실패 등이 있을 수 잇다. 1
이러한 경우가 발생 하였을 때, 크래쉬 덤프는 지원하는 엔지니어가 문제를 분석을 할 수 있는 정보 등을 제공한다.
시스템 크래쉬는 savecore 라는 유틸리트를 부팅하는 동안에 자동으로 실행 하여, 덤프 디바이스로부터
크래쉬 덤프를 복구한다. 이때 복구는 사용자의 파일 시스템에 unix.X, vmcore.X
형식의 파일로 쓰기를 실행한다.
X는 10진 양의 정수로서, 처음 생성이 되면 0, 두 번째 생성이 되면 1 등의 번호를 순서적으로 갖게 된다.
저장되어지는 디렉토리는 dumpadm에 의하여 설정되어 진다.
기본적으로는 /var/crash/server_name이 된다.

기본적으로 덤프 디바이스는 스왑(swap) 파티션으로 설정되어 있다.
스왑 파티션은 OS에서 가상 메모리을 내용을 백업 저장하기 위하여 예약된 디스크의 파티션이다.
그러나, 덤프 하기 위하여 있는 데이터는 덮어쓰기가 되어버릴 수 있으므로 영구적이지 못하다.

다음은 아무런 옵션 없이 dumpadm 을 실행한 결과이다.
# dumpadm
         Dump content: kernel pages
         Dump device: /dev/dsk/c0t0d0s1 (swap)
  Savecore directory: /var/crash/cyber
    Savecore enabled: 예

옵션 없이 실행을 하게 되면, dumpadm은 크래쉬 덤프를 위하여 현재 시스템에 설정 되어 있는 내용을 출력한다.
위 결과의 내용은 다음과 같다.
덤프를 할 내용은 “kernel”이고, 현재 덤프 디바이스는 /dev/dsk/c0t0d0s1(swap)이고,
나중에 파일로서 저장되어지는 디렉토리의 경로는 /var/crash/cyber이며,
savecore는 시스템 부팅 시 자동으로 하게끔 enable 상태로 되어 있다.

[4] 옵션

  
[표1] dumpadm 명령어의 옵션
-c content-type- 덤프 되어지는 덤프 내용
     -content-type
     kernel     커널 메모리 페이지만 덤프
     all     모든 메모리 페이지를 덤프
-d dump-device- 덤프 디바이스는 절대 경로
- /dev/dsk/cNtNdNsN 형식으로 기술처음에 시스템이 구성될 때 dumpadm은      swap을 기본 디바이스로 사용하고 있으며, 그대로 사용하는 것이 일반적이다.
-m min k | min m | min%- 현재의 savecore를 할 디렉토리를 가지는 파일 시스템의 공간이 부족할 경우 프리 공간(free space) 범위 내에서만 생성이 되도록 설정

min 은 다음의 인수를 가진다.
     k     Kbyte 단위로 파일 저장
     m     Mbyte 단위로 파일 저장

           - %은 minfree 값이 savecore 디렉토리를 포함하는 파일 시스템이 현재 전체크기의 주어진 퍼센트(%)로서 계산되어진다.
-n시스템 리부팅 시에 자동으로 savecore를 실행하지 않는다.(거의 사용하지 않음)
-r root-dirdumpadm이 생성하는 상대적인 경로는 /(root)에서 찾는다. 기본적으로 /로 설정 되어 있으므로, 변경을 하지 않는다.
-s  savecore-dirsavecore 유틸리트에 의하여 저장되어지는 디렉토리의 절대적인 경로를 표시한다. 기본 경로는 /var/crash/server_name이며, 시스템 관리자는 이를 여가 많은 다른 파일시스템의 디렉토리로 변경 할 수 있다.
-u/etc/dumpadm.conf 파일을 강제적으로 업데이트하기 위한 옵션이며, 시스템이 리부팅(rebooting) 되어 질 때, veore 시작 스크립트에 의해서만 사용되어진다.
-y시스템 리부팅 시에 자동으로 savecore를 실행한다. 기본적으로 설정되어 있는 옵션




[5] 예제

예제1] 덤프 디바이스의 변경
# dumpadm -d /dev/dsk/c0t1d0s7
         Dump content: kernel pages
         Dump device: /dev/dsk/c0t1d0s7 (dedicated)
         Savecore directory: /var/crash/cyber
         Savecore enabled: 예


이때 /dev/dsk/c0t1d0s7 파티션은 마운트되어 사용하는 파일 시스템이 아니어야 한다.

예제2] savecore 디렉토리 변경
# dumpadm -s /home88/lsi
        Dump content: kernel pages
        Dump device: /dev/dsk/c0t0d0s1 (swap)
        Savecore directory: /home88/lsi
        Savecore enabled: 예

savecore할 디렉토리가 /var/adm/cyber에서 /home88/lsi로 변경되었다.
이후 save 유틸리트는 크래쉬 덤프 파일들을 /home88/lsi 디렉토리로 저장할 것이다.

[6] /etc/dumpadm.conf 파일
이 파일은 dumpadm 명령어에 의해서 크래쉬 덤프에 대한 내용이 변경이 될 경우 자동으로 업데이트 되어진다.
예를 들어, 다음과 같이 savecore 디렉토리를 변경하면, 이 파일의 내용도 다음과 같이 바뀌게 된다.

# dumpadm -s /home88/lsi
        Dump content: kernel pages
        Dump device: /dev/dsk/c0t0d0s1 (swap)
        Savecore directory: /home88/lsi
        Savecore enabled: 예

# more /etc/dumpadm.conf
#
# dumpadm.conf
#
# Configuration parameters for system crash dump.
# Do NOT edit this file by hand -- use dumpadm(1m) instead.
#
DUMPADM_DEVICE=/dev/dsk/c0t0d0s1
DUMPADM_SAVDIR=/home88/lsi
DUMPADM_CONTENT=kernel
DUMPADM_ENABLE=yes

그리고, 크래쉬 덤프를 위하여 사용하는 디바이스는 /dev/dump 라는 디바이스 파일을 이용한다.
이 어드민 명령어는 Soalris 7이상에서만 지원이 됩니다.
반응형

'OS > SOLARIS' 카테고리의 다른 글

SSH  (0) 2007.08.02
Solaris Resource Manager (SRM)  (0) 2007.08.02
Solaris 보안  (0) 2007.08.01
Solaris 설치 후 기본적인 설정  (0) 2007.07.25
Solaris,HP-UX 에서 패치  (0) 2007.07.20
Posted by [PineTree]