목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

표기 규칙

코어 덤프 생성 방법

기본 설정

파일 전송 프로토콜 사용

원격 복사 프로토콜 사용

플래시 디스크 사용

Trivial File Transfer Protocol 사용

고급 설정

예외 메모리

디버그 상태

코어 덤프 설정 테스트

관련 정보

소개

이 문서에서는 Cisco IOS® 소프트웨어에서 코어 덤프를 활성화하는 데 사용할 수 있는 다양한 옵션에 대해 설명합니다.

참고: 코어 덤프는 얻기 어려울 수 있습니다. 소스 코드 및 자세한 메모리 맵에 액세스할 수 있는 Cisco 기술 담당자만 코어 덤프를 해석하려고 시도해야 합니다. 많은 플랫폼에서 crashinfo 기능을 사용하면 코어 덤프가 필요하지 않을 수 있습니다. 자세한 내용은 Crashinfo 파일에서 정보 검색을 참조하십시오.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- 라우터 충돌 트러블슈팅

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- Cisco IOS Software 버전 12.0 이상

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

표기 규칙

문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.

코어 덤프 생성 방법

라우터가 충돌할 경우, 코어 덤프라고 하는 라우터의 전체 메모리 콘텐츠의 복사본을 가져와야 합니다. 기술 지원 담당자는 코어 덤프를 사용하여 충돌 원인을 파악합니다. 라우터는 다시 로드하기 전에 메모리 내용을 서버에 기록합니다. 모든 충돌 시 코어 덤프가 발생하는 것은 아닙니다. 자세한 내용은 Types of Crash(충돌 유형)를 참조하십시오.

라우터가 코어를 덤프하려고 할 때 항상 콘솔 로그를 캡처합니다. 콘솔 로그는 충돌 정보를 제공합니다. 또한 ROMMON(ROM Monitor)은 일반적으로 충돌 시 콘솔(콘솔에만 해당)에 정보를 인쇄합니다.

주의: 대부분의 충돌 사례를 해결하기 위해 코어 덤프는 필요하지 않습니다. 라우터가 네트워크에서 작동하는 동안 코어 덤프를 생성하면 네트워크 운영이 중단될 수 있습니다. 기술 지원 담당자의 지시에 따라서만 이 문서의 명령을 사용합니다.

기본 설정

코어 덤프를 생성하도록 라우터를 설정하는 4가지 기본 방법이 있습니다.

- FTP(File Transfer Protocol)를 통해

- RCP(Remote Copy Protocol)를 통해

- 플래시 디스크 사용

- TFTP(Trivial File Transfer Protocol) 사용

이러한 각 방법은 다음 컨피그레이션 명령을 사용합니다.

- 예외 지역 크기 크기

이 명령은 예외 시간 메모리 풀에 대한 영역의 크기를 지정합니다. 예외 시간 메모리 풀은 프로세스 메모리가 손상된 경우에 사용됩니다. size 매개 변수는 바이트 단위로 표현되며 1024바이트에서 65536바이트로 크기를 구성할 수 있습니다.

- exception core-file filename [compress](핵심 파일 파일 이름[압축])

이 명령은 기본 이름이 아닌 코어 덤프 파일의 이름을 지정합니다. 기본 이름으로 되돌리려면 이 명령의 no 형식을 사용합니다.

이 문서의 명령에 대한 자세한 내용은 명령 참조 도구(등록된 고객만 해당)를 참조하십시오.

exception region-size 명령을 사용하여 프로세서 메모리 풀이 손상될 때 폴백 풀로 사용할 작은 양의 메모리를 정의합니다. 이는 코어 덤프 프로세스 중에 메모리 오류를 방지하는 데 도움이 됩니다. size 매개 변수는 바이트 단위로 표현되며 1024~65536바이트(기본값 16384바이트)의 크기를 구성할 수 있습니다. 예외 영역 크기를 65536바이트로 구성하여 코어 덤프의 성공 가능성을 높입니다.

기본적으로 프로세서 메모리 코어 덤프는 "hostname-core"라는 파일에 기록됩니다. 여기서 hostname은 라우터의 이름이며 hostname configuration 명령이 정의하는 라우터의 이름입니다. 라우터에 I/O(Input/Output) 메모리(예: Cisco 7200)가 있는 경우 "hostname-coreomem" 파일에 기록되는 I/O 메모리 코어 덤프도 생성할 수 있습니다.

exception core-file 명령을 사용하여 기본 코어 덤프 파일 이름을 재정의합니다. 파일 서버에 DOS FAT 파일 시스템이 있는 경우 6자를 초과하는 파일 이름을 지정하지 마십시오. 예를 들어 "exception core-file foobar"로 라우터를 구성할 경우 코어 덤프의 프로세서 메모리 이름은 "foobar"이고 I/O 메모리 덤프 이름은 "foovario"입니다(I/O 메모리 덤프가 있다는 힌트를 제공할 수 있음).

파일 서버에 전체 코어 덤프를 여러 개 보관할 충분한 디스크 공간이 있는지 확인합니다. compress 옵션으로 코어 덤프 파일을 압축할 수 있습니다.

참고:  압축은 플래시 디스크에 코어 덤프 파일을 쓸 때 자동으로 적용됩니다. RCP를 사용하는 경우 compress 옵션은 지원되지 않습니다.

파일 전송 프로토콜 사용

참고: 코어 덤프를 구성하는 데 권장되는 방법은 FTP(File Transfer Protocol)입니다.

FTP를 사용하여 코어 덤프에 대한 라우터를 구성하려면 다음 명령을 사용합니다.

- ip ftp username username—이 명령은 FTP(File Transfer Protocol) 연결에 대한 사용자 이름을 구성합니다. 라우터가 익명 FTP를 시도하도록 구성하려면 이 명령의 no 형식을 사용합니다.

- ip ftp password password—이 명령은 FTP 연결의 비밀번호를 구성합니다.

- exception protocol ftp—이 명령은 코어 덤프 FTP에 사용되는 프로토콜을 구성합니다.

- exception region-size 65536 - 이 명령은 영역 크기를 구성합니다.

- exception dump ip-address—이 명령은 충돌 시 라우터가 코어 덤프를 전송하는 서버의 ip 주소를 구성합니다.

참고: 네트워크 정체를 방지하기 위해 Cisco에서는 중간 홉이 없는 FTP 서버에 라우터를 직접 연결하는 것이 좋습니다. 하나 이상의 중간 홉을 거쳐야 하는 경우 ip ftp source-interface 명령을 사용하여 FTP 서버에 액세스하기 위해 사용할 인터페이스를 지정해야 할 수 있습니다. 자세한 내용은 FTP 연결을 사용하도록 라우터 구성을 참조하십시오.

사용자 이름과 비밀번호를 구성하지 않은 경우 라우터는 익명 FTP를 시도합니다.

Cisco 기술 지원 담당자가 코어 덤프 파일을 요청하는 경우 익명 FTP를 통해 코어 덤프 파일을 Cisco에 보낼 수 있습니다. FTP 서버는 ftp-sj.cisco.com이고 디렉터리는 /incoming입니다.

참고: /incoming 디렉토리가 표시되지 않습니다.

전송 모드를 바이너리로 설정해야 합니다. 파일이 아직 압축되지 않은 경우 gzip 또는 zip과 같은 공통 압축 유틸리티로 압축합니다.

또한 crashinfo 파일(사용 가능한 경우)을 코어 덤프와 함께 포함해야 합니다. 하드웨어 또는 소프트웨어에서 이 기능을 지원하는 경우 crashinfo 파일을 사용할 수 있습니다. 이 방법에 대한 지침은 Crashinfo 파일에서 정보 검색을 참조하십시오.

FTP가 먼저 작동하는지 확인합니다. 다음 예를 사용하십시오.

c7500#copy running-config ftp:

Address or name of remote host []? 172.18.125.3

Destination filename [c7500-confg]?

Writing c7500-confg !

2781 bytes copied in 0.944 secs

원격 복사 프로토콜 사용

RCP를 사용하여 코어 덤프에 대한 라우터를 구성하려면 다음 명령을 사용합니다.

- ip rcmd remote-username username-이 명령은 RCP(remote copy protocol)를 통해 원격 복사본을 요청할 때 사용할 원격 사용자 이름을 구성합니다.

- 예외 프로토콜 rcp—이 명령은 코어 덤프에 사용되는 프로토콜을 RCP로 구성합니다.

- exception region-size 65536 - 이 명령은 영역 크기를 구성합니다.

- 예외 덤프 ip-address

사용자 이름을 구성하지 않은 경우 라우터는 RCP의 사용자 이름으로 호스트 이름을 사용합니다.

참고: 네트워크 정체를 방지하기 위해 Cisco에서는 중간 홉이 없는 RCP 서버에 라우터를 직접 연결하는 것이 좋습니다. 하나 이상의 중간 홉을 거쳐야 하는 경우 ip rcmd source-interface 명령을 사용하여 RCP 서버에 액세스하기 위해 사용할 인터페이스를 지정합니다. 자세한 내용은 rsh 및 rcp를 사용하도록 라우터 구성을 참조하십시오.

RCP가 먼저 작동하는지 확인합니다. 다음 예를 사용하십시오.

c7500#copy running-config rcp:

Address or name of remote host []? 172.18.125.3

Destination username [c7500]?

Destination filename [c7500-confg]?

Writing c7500-confg !

2781 bytes copied in 0.944 secs

플래시 디스크 사용

일부 라우터 플랫폼은 선형 플래시 메모리 또는 PCMCIA 플래시 카드 대신 플래시 디스크를 지원합니다. 이러한 플래시 디스크의 대용량 스토리지 용량을 사용하면 코어 덤프를 캡처할 수 있는 좋은 매체로 만들 수 있습니다. 라우터 플랫폼 및 플래시 디스크를 지원하는 Cisco IOS 소프트웨어 버전에 대한 자세한 내용은 Cisco IOS 릴리스 정보를 참조하십시오.

참고: 플래시 디스크에서 코어 덤프를 캡처할 때 플래시 디스크의 스토리지 크기가 코어 덤프를 발생시키는 DRAM 메모리보다 많은지 확인해야 합니다. 예를 들어 DRAM 메모리 크기가 128MB인 경우 플래시 디스크의 스토리지 용량은 128MB를 초과해야 합니다. 코어 덤프를 올바르게 가져오려면 더 큰 플래시 디스크 메모리가 필요합니다. 플래시 디스크에 메모리가 부족한 경우 코어 덤프가 생성되지 않습니다.

플래시 디스크를 사용하여 코어 덤프에 대한 라우터를 구성하려면 다음 명령을 사용합니다.

exception flash procmem|iomem|all device_name [:partition_number]

!--- This command uses a Flash disk to configure the router for a core dump.

show flash all EXEC 명령은 exception flash 명령에 사용할 수 있는 디바이스를 나열합니다.

Trivial File Transfer Protocol 사용

대부분의 TFTP 애플리케이션의 제한 때문에 라우터는 코어 파일의 처음 16MB만 덤프합니다. 따라서 라우터의 기본 메모리가 16MB보다 큰 경우 TFTP를 사용하지 마십시오. 자세한 내용은 Cisco IOS TFTP Client Cannot Transfer Files Larger than 16MB in Size(16MB보다 큰 파일을 전송할 수 없음)를 참조하십시오.

TFTP를 사용하여 코어 덤프에 대한 라우터를 구성하려면 다음 명령을 사용합니다.

- exception protocol tftp - 이 명령은 TFTP를 코어 덤프의 프로토콜로 구성합니다.

- exception region-size 65536

- 예외 덤프 ip-address

TFTP는 예외 프로토콜의 기본 프로토콜입니다.

참고: 네트워크 혼잡을 방지하기 위해 Cisco에서는 중간 홉이 없는 TFTP 서버에 라우터를 직접 연결하는 것이 좋습니다. 하나 이상의 중간 홉을 거쳐야 하는 경우 ip tftp source-interface 명령을 사용하여 TFTP 서버에 액세스하기 위해 사용할 인터페이스를 지정합니다.

사용된 TFTP 서버를 기반으로, 라우터가 쓰기 전에 적절한 권한을 가진 빈 대상 파일을 생성해야 할 수 있습니다.

TFTP가 먼저 작동하는지 확인합니다. 다음 예를 사용하십시오.

c7500#copy running-config tftp:

Address or name of remote host []? 172.18.125.3

Destination filename [c7500-confg]?

!

2781 bytes copied in 0.944 secs

고급 설정

Basic Setup 섹션의 명령 외에 이 섹션의 컨피그레이션 명령을 사용합니다.

예외 메모리

일부 메모리 문제를 디버깅하려면 라우터에서 코어 덤프를 생성하고 특정 메모리 크기 매개변수를 위반하는 경우 재부팅하도록 할 수 있습니다. 코어 덤프를 트리거하려면 다음 예외 메모리 명령을 사용합니다.

- exception memory minimum size(예외 메모리 최소 크기) - 사용 가능한 프로세서 메모리의 양이 구성된 임계값 아래로 떨어지면 강제로 충돌이 발생합니다.

- exception memory fragment size—Cisco IOS 소프트웨어가 구성된 임계값보다 큰 연속 프로세서 메모리 블록을 할당할 수 없는 경우 이 명령은 강제로 충돌을 발생시킵니다.

size 매개 변수는 바이트 단위로 표시되며 기본적으로 60초마다 선택됩니다.

이러한 명령은 구성된 조건이 충족될 때만 라우터가 재부팅됩니다. 예외 덤프 또는 예외 플래시를 구성할 경우 라우터가 먼저 코어 덤프를 생성합니다. 이러한 명령은 메모리 누수를 진단하는 데 도움이 됩니다.

디버그 상태

경우에 따라 기술 지원 담당자가 코어 덤프를 구성할 때 디버그 온전성을 사용하도록 요청합니다. debug sanity 명령은 대부분의 Cisco IOS 소프트웨어 릴리스에서 숨겨진 명령이며 메모리 손상, 특히 I/O 메모리 손상을 디버깅하는 데 필요한 경우가 있습니다. 디버그 온전성을 활성화하면 시스템은 할당된 모든 버퍼에 대해 온전성 검사를 실행하고 버퍼가 해제되면 온전성 검사를 다시 실행합니다.

특권 EXEC 모드(또는 enable 모드)에서 debug sanity 명령을 실행해야 합니다. 이 명령은 일부 CPU 용량을 사용하지만 디버그 온전성은 라우터의 기능에 크게 영향을 미치지 않습니다. 다른 debug 명령과 마찬가지로 debug sanity는 컨피그레이션에 저장되지 않으므로 시스템을 재부팅해도 유지됩니다.

모든 유형의 충돌 때문에 디버그 온티티를 사용하도록 설정할 필요는 없습니다. 기술 지원 담당자가 이 명령을 사용하도록 요청하는 경우에만 디버그 온전성을 사용합니다.

sanity-checks를 비활성화하려면 undebug sanity privileged EXEC 명령을 사용합니다.

코어 덤프 설정 테스트

코어 덤프에 대한 라우터를 구성한 경우 설정을 테스트합니다.

Cisco IOS 소프트웨어는 특별 쓰기 코어 명령을 특별 권한 EXEC 모드(또는 enable 모드)에서 제공하므로 라우터가 다시 로드 없이 코어 덤프를 생성합니다.

성공하면 코어 덤프 파일이 각 메모리 영역의 크기입니다. 사용 중인 메모리뿐만 아니라 전체 메모리 영역이 덤프됩니다.

write core 명령어는 작동하지 않지만 충돌하지 않은 라우터의 경우에도 유용합니다.

관련 정보

- GSR 라인 카드에 코어 덤프 구성

- 라우터 충돌 트러블슈팅

- 라우터 중단 문제 해결

- 메모리 문제 해결

- 라우터 제품 지원

- 기술 지원 및 문서 − Cisco Systems