PowerFlex: GET_INFO - Support Bundle Collection Utility

요약: "get_info.sh"는 PowerFlex 호스트에서 진단 정보를 수집하고 압축된 지원 번들을 생성합니다.

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

지침

"get_info.sh" [옵션]

설명

"get_info.sh"은 PowerFlex(이전의 ScaleIO) 호스트에서 디버그 정보를 수집하는 진단 유틸리티입니다. 지원 담당자가 분석할 수 있도록 수집된 데이터를 압축된 번들에 보관합니다.

이 유틸리티는 다음과 같은 여러 소스에서 데이터를 수집합니다.

  • PowerFlex 구성 요소 로그, 구성 및 추적 파일
  • MDM/SCLI 쿼리 출력 및 내부 디버그 덤프
  • PowerFlex 구성 요소 내부 진단
  • 운영 체제 구성, 로그 및 런타임 상태
  • 하드웨어 인벤토리(스토리지 컨트롤러, 네트워크 디바이스, NVMe, NVDIMM 등)
  • 코어 덤프(기존 덤프 및 필요에 따라 선택적으로 생성됨)
  • 진단 데이터 수집기("diag_coll") 통계

결과 번들은 추가 분석을 위해 PowerFlex 지원으로 전송할 수 있는 단일 압축 아카이브(기본적으로 tar/gz)입니다.

"get_info.sh"의 인스턴스는 지정된 시간에 호스트에서 하나만 실행할 수 있습니다. 출력에 사용할 수 있는 공간이 충분하지 않으면 실행을 거부합니다(공간 검사를 명시적으로 건너뛰지 않는 한).

옵션

일반 옵션

  • -a, --all
    모든 데이터를 수집합니다. 이는 "--mdm-repository", "--collect-cores", "--max-cores=2", "--valgrind-cores" 및 "--analyse-diag-coll"을 지정하는 것과 같습니다.

  • -A, --analyse-diag-coll
    진단 데이터 수집기("diag coll") 데이터 분석

  • -b[COMPONENTS], --collect-cores[=COMPONENTS]
    공백으로 구분된 사용자 영역 "COMPONENTS" 목록에 대한 기존 코어 덤프를 수집합니다. 기본값("COMPONENTS"가 생략된 경우): 모든 사용자 토지 구성 요소

    참고: "-b"와 "COMPONENTS" 사이에는 공백이 없어야 합니다. 긴 형식의 경우 =로 구분합니다.

    -b'mdm sds'
    --collect-cores='mdm sds'
  • -d OUT_DIR, --output-dir=OUT_DIR
    결과 번들을 "OUT_DIR" 디렉토리에 저장합니다. " 기본값: "<WORK_DIR>/scaleio-getinfo"("--work-dir" 참조).

  • -f, --skip-mdm-login
    PowerFlex MDM 로그인 자격 증명에 대한 쿼리를 건너뜁니다. 사용자가 이미 수동으로 로그인한 경우에 유용합니다.

  • -h, --help
    도움말 메시지를 표시하고 나갑니다. "--tech"와 결합하면 기술 지원 담당자 옵션도 표시됩니다.

  • -J, --xz
    수집된 번들에 기본 "tar/gz" 대신 "tar/xz" 형식을 사용합니다. 시스템의 "tar(1)"이 "--use-compress-program"을 지원하지 않거나 "xz(1)"을 찾을 수 없으면 무시됩니다.

  • -k NUM, --max-cores=NUM
    각 구성 요소에서 최대 "NUM"개의 코어 파일을 수집합니다. 기본값: 모든 코어 파일, "--collect-cores"를 의미

  • -l, --light
    라이트 번들을 생성합니다. 번호가 매겨진 최신 세대의 로그 파일만 수집되며 코어를 수집할 때 구성 요소 실행 파일 또는 라이브러리는 포함되지 않습니다. 이 옵션을 사용하면 지원 가능성이 감소하므로 사용하지 않는 것이 좋습니다.

  • -m NUM, --max-traces=NUM
    각 구성 요소에서 최대 "NUM"개의 PowerFlex 추적 파일을 수집합니다. 기본값: 모든 파일

  • -N, --skip-space-check
    데이터를 수집하기 전에 사용 가능한 디스크 공간 확인을 건너뜁니다.

  • -P PATH, --collect-path=PATH
    추가 경로 "PATH"를 수집합니다. 절대 경로만 허용됩니다. 와일드카드를 사용할 수 있습니다. 와일드카드는 따옴표로 묶어야 합니다. 이 옵션은 여러 경로를 수집하기 위해 여러 번 지정할 수 있습니다.

  • -q, --quiet, --silent
    표준 출력에서 메시지를 표시하지 않습니다.

  • -r, --mdm-repository
    MDM 리포지토리 파일을 수집합니다.

  • -s, --skip-sdbg
    SDBG(진단 디버거) 출력의 수집을 건너뜁니다.

  • -S, --pause-core-generation
    데이터 수집 중 PowerFlex 구성 요소의 코어 생성을 일시 중지합니다. 수집이 완료된 후 원래 구성이 복원됩니다.

  • -w WORK_DIR, --work-dir=WORK_DIR
    임시 파일의 경우 "WORK_DIR" 디렉토리를 사용합니다. 기본값: /tmp.

  • -x FILE, --output-file=FILE
    수집된 번들을 "FILE" 파일로 저장합니다. 적절한 파일 이름 접미사(".tgz", ".zip" 등)가 자동으로 추가됩니다. "FILE"이 "-"(대시)이면 번들을 표준 출력에 씁니다("--quiet"를 의미함). 번들이 표준 출력에 기록될 때 디스크에 번들 파일이 생성되지 않습니다. 기본값: getInfoDump.

  • -z, --zip
    수집된 번들에 기본 값인 "tar/gz" 대신 "zip" 형식을 사용하십시오. 시스템에서 "zip(1)"을 찾을 수 없으면 무시됩니다.

  • --mdm-port=PORT
    SCLI 명령용 포트 "PORT"를 사용하여 MDM에 연결합니다. 기본값: scli 기본 동작.

  • --overwrite-output-file
    출력 파일이 이미 있는 경우 덮어씁니다. 출력 파일 또는 디렉토리가 명시적으로 지정되면("-x" 또는 "-d" 사용) 기본 동작은 덮어쓰기를 거부하는 것입니다. 이 옵션은 이를 재정의합니다.

  • --tech
    도움말 메시지 출력에 기술 지원 담당자 옵션을 포함합니다.

MDM 로그인 옵션

다음 옵션은 SCLI "--login" 명령에 전달됩니다. 해당 동작 및 기본값은 SCLI에 의해 제어됩니다.

  • -n, --use-nonsecure-communication
    비보안 모드에서 MDM에 연결합니다.

  • -p PASSWORD, --password=PASSWORD
    PowerFlex MDM 로그인에 "PASSWORD"를 사용합니다. 기본값: SCLI 기본 동작

  • -u USERNAME, --username=USERNAME
    PowerFlex MDM 로그인에 "USERNAME"을 사용합니다. 기본값: SCLI 기본 동작

  • --ldap-authentication
    LDAP 기반 인증을 사용하여 PowerFlex MDM에 로그인합니다.

  • --management-system-ip=ADDRESS
    PowerFlex 로그인을 위해 "ADDRESS"에서 "SSO/M&O"에 연결합니다. 기본값: SCLI 기본 동작

  • --p12-password=PASSWORD
    "PASSWORD"를 사용하여 PowerFlex 로그인 "PKCS#12" 파일을 암호화합니다. 기본값: SCLI 기본 동작

  • --p12-path=FILE
    PowerFlex 로그인 "PKCS#12" 파일을 "FILE"로 저장합니다. 기본값: SCLI 기본 동작

기술 지원 담당자 옵션

다음 옵션은 기술 지원 담당자를 위한 것이며 "--tech"가 지정된 경우에만 도움말 메시지에 표시됩니다.

  • -c[COMPONENTS], --generate-cores[=COMPONENTS]
    공백으로 구분된 사용자 영역 "COMPONENTS" 목록의 실행 중인 프로세스에 대한 코어 파일("gcore(1)" 사용)을 생성합니다. 기본값: 모든 사용자 영역 구성 요소는 "--collect-executables"를 의미하며 "gdb" 및 "gcore"가 필요합니다.

    참고: "-c"와 "COMPONENTS" 사이에는 공백이 없어야 합니다. 긴 형식의 경우 "="로 구분합니다.

    예:

    -c'mdm sds'
    --generate-cores='mdm sds'
  • -C CORE_FILE, --reference-core-file=CORE_FILE
    실행 시작 시간 대신 마지막 수정 시간("mtime")인 "CORE_FILE"를 기준으로 제품 로그 및 코어를 수집합니다. "--collect-cores"를 의미합니다.

  • -E REF_TIME, --event-time=REF_TIME
    실행 시작 시간 대신 "REF_TIME"를 기준으로 제품 로그 및 코어를 수집합니다. "date(1)"로 인식되는 모든 형식을 허용합니다. "--collect-cores"를 의미합니다.

  • -g[COMPONENTS], --valgrind-cores[=COMPONENTS]
    지정된 사용자 영역 "COMPONENTS"에 대한 "valgrind" 코어 덤프를 수집합니다. 기본값: 모든 사용자 영역 구성 요소. "--collect-executables"를 의미합니다.

     

    참고: "-b"와 "COMPONENTS" 사이에는 공백이 없어야 합니다. 긴 형식의 경우 "="로 구분합니다.

    예:

    -g'mdm sds'
    --valgrind-cores='mdm sds'
  • -t MIN, --minutes-before-event=MIN
    참조 시간 "MIN" 몇 분 전에 생성된 제품 로그 및 코어를 수집합니다. 기본값: 15

  • -T MIN, --minutes-after-event=MIN
    참조 시간 후 최대 "MIN" 분까지 생성된 제품 로그 및 코어를 수집합니다. 기본값: 5

  • -X[COMPONENTS], --collect-executables[=COMPONENTS]
    지정된 사용자 영역 "COMPONENTS"에 대한 구성 요소 실행 파일 및 공유 라이브러리를 수집합니다. 기본값: 모든 사용자 영역 구성요소

    참고: "-b"와 "COMPONENTS" 사이에는 공백이 없어야 합니다. 긴 형식의 경우 "="로 구분합니다.

    예:

    -X'mdm sds'
    --collect-executables='mdm sds'
  • --keep-work-dir
    번들 생성 후 생성된 임시 작업 디렉토리를 유지합니다(자동으로 정리됨).

번들 구조

출력 번들은 압축된 단일 아카이브입니다.

  • 번들 최상위 디렉토리는 수집된 시스템의 호스트 이름입니다.
  • 일반 호스트 명령 출력은 "server/" 하위 디렉토리로 이동합니다.
    파일 이름은 "<명령> + <인수> + 접미사(기본적으로 .txt됨)입니다. 공백이 "_"로 대체됨, 영숫자가 아닌 문자는 제거
    됨 예: server/ip_-s_addr.txt - "ip -s addr" 출력
  • 제품 명령 출력은 구성 요소의 하위 디렉토리로 이동합니다. "scli"는 "mdm/", "drv_cfg"는 "sdc/" 등입니다.
    명령 이름("scli", "drv_cfg" 등)이 제거됩니다. 첫 번째 의미 있는 인수는 파일 이름이 됩니다. 파일은 기본적으로 관련 접미사 ".txt"로 할당됩니다.
    예:
    • mdm/query_cluster.txt - "scli --query_cluster" 출력
    • mdm/tgt_dump.txt - "scli --debug_action --tgt_dump" 출력
    • sdc/query_mdms.txt - "drv_cfg --query_mdms"의 출력
    • sds/sdbg.txt - SDS용 SDBG "dumpallscreens" 출력
  • 제품 구성 요소 파일(명령 출력과 반대), "<component>/cfg", "<component>/logs" 등
    접두사가 제거된 구성 요소의 디렉토리에서 복사됩니다.
    예:
    • mdm/cfg/conf.txt - "/opt/emc/scaleio/mdm/cfg/conf.txt"의 복제본
    • sds/logs/trc.0 - "/opt/emc/scaleio/sds/logs/trc.0" 복제본
  • 호스트 파일 시스템 파일은 번들 루트를 기준으로 해당 파일 시스템 경로에 배치됩니다.
    예:
    • etc/os-release - "/etc/os-release" 사본
    • var/log/messages - "/var/log/messages" 사본
    • proc/cpuinfo - "/proc/cpuinfo" 사본
  • 진단 수집기(diag_coll) 파일은 내부 구조를 유지하면서 "/opt" 접두사가 제거된 상태로 복사됩니다.
    예: diag_coll/logs/sar.0 - "/opt/diag_coll/logs/sar.0"의 복사본
  • 숨김 파일(점 접두사)은 선행 점을 제거하여 "숨김 해제"됩니다.
  • 유틸리티 실행 로그, get_info_run.log호스트 이름>/루트 바로 아래에 배치됩니다<.

번들 디렉토리 트리 구조:

<hostname>/
|-- get_info_run.log                   Utility execution log
|-- server/                            General command output directory
|   |-- ip_-s_addr.txt
|   |-- uptime.txt
|   |-- uname_-a.txt
|   |-- ps_-elF.txt
|   |-- dmesg.txt
|   +-- ...                            (one file per collected command)
|
|-- mdm/                               PowerFlex component data (if installed)
|   |-- cfg/                           Configuration files (excl. PEM)
|   |-- logs/                          Trace and log files
|   |-- rep/                           Repository (if --mdm-repository)
|   |-- query_all.txt                  SCLI query outputs
|   |-- sdbg.txt                       SDBG screen dumps
|   +-- ...
|-- sds/
|-- pds/  
|-- dgwt/
|-- sdr/
|-- sdt/
|-- lia/
|-- sdc/
|-- gateway/
|
|-- diag_coll/                         Diagnostic data collector (if installed)
|   |-- logs/
|   |-- cfg/
|   +-- ...
|
|-- etc/                               Host files
|   |-- os-release
|   |-- sysconfig/
|   |-- network/
|   +-- ...
|-- var/
|   |-- log/
|   |   |-- messages
|   |   +-- ...
|   +-- ...
|-- proc/
|   |-- cpuinfo
|   |-- meminfo
|   +-- ...
|-- sys/
|-- ...
|
|-- scaleio-getinfo-extra/        Extra diagnostic data (if present)
+-- scaleio-getinfo-backup/       Backed-up configuration files (if any)

제품 로그 및 코어 파일 필터링

이 섹션에 설명된 옵션은 수집된 번들에 포함하기 위해 제품 로그 파일 (추적 파일이라고도 함, 예: "trc.0", "trc.1", "exp.0") 및 코어 덤프 파일을 선택하는 방법을 제어합니다. 이를 위해 참조 시간, 주변 시간 창카운트 제한을 정의합니다.

필터링 옵션을 지정하지 않으면 모든 제품 로그 파일 및 모든 코어 덤프 파일(코어 수집이 활성화된 경우)이 수집됩니다. 필터링 옵션은 아래에 설명된 대로 이 선택 범위를 점진적으로 좁힙니다.

참조 시간
참조 시간은 "-E/--event-time" 또는 "-C/--reference-core-file"을 사용하여 설정할 수 있습니다.

"--event-time"이나 "--reference-core-file"이 주어지지 않으면, 시간 창 필터링이 수행되지 않습니다: 참조 시간은 기본적으로 현재 시간으로 설정되며 카운트 제한("-m" 또는 "-k")이 적용될 때 근접 기반 정렬에만 사용됩니다 (아래 카운트 제한 참조).

"-E"와 "-C"가 모두 나타나면 명령줄의 마지막 항목이 적용됩니다.


기간참조 시간이 설정되면("--event-time" 또는 "--reference-core-file" 사용) 이를 중심으로 시간 창이 설정됩니다. 기간 범위는 "-t/--minutes-before-event" 및 "-T/--minutes-after-event"를 사용하여 설정할 수 있으며, 기본값은 각각 15분 및 5분입니다. 콘텐츠가 이 창과 겹치는 파일만 수집할 수 있습니다.

예를 들어 "-E "2020-03-20 14:30" -t 10 -T 3"은 14:20:00에서 14:33:00까지의 파일을 수집합니다.

"--event-time" 또는 "--reference-core-file"이 지정되지 않은 경우 "--minutes-before-event" 및 "--minutes-after-event"는 무시됩니다.

개수 제한
로그 파일 및 코어 파일에 대해 각각 "-m/--max-traces" 및 "-k/--max-cores"를 사용하여 파일 수 제한을 설정할 수 있습니다. 한도는 구성 요소별로 측정됩니다.

NUM보다 많은 파일이 시간 창 내에 있는 경우(또는 활성화된 창이 없는 경우 사용 가능한 경우) 참조 시간에 가장 가까운 NUM 파일이 수집됩니다.

"--event-time" 또는 "--reference-core-file" 없이 개수 제한을 사용하는 경우 모든 파일이 후보(기간 없음)이고 NUM most recent files가 선택됩니다.

필터링 논리
파일 필터링은 먼저 기간에 적용된 다음 개수 제한에 적용됩니다.

  1. 후보를 설정합니다. 구성 요소에 대한 모든 제품 로그 파일 및/또는 코어 덤프 파일이 열거됩니다.
  2. 콘텐츠 기간을 파생합니다. 제품 로그 파일 콘텐츠는 기간을 나타냅니다. 콘텐츠 기간은 선행 작업의 마지막 수정 시간("mtime") 또는 선행 작업이 없는 UNIX epoch에서 시작하는 것으로 간주됩니다. 파일 자체의 "mtime"에서 끝납니다. 코어 덤프 파일은 파일의 "mtime"에서 특정 시점을 나타냅니다.
  3. 기간을 적용합니다 ("-E" 또는 "-C"가 지정된 경우). 내용이 완전히 창 밖에 있는 파일은 선택 항목에서 삭제됩니다. 제품 로그 파일의 경우 창 내에 파일이 없으면 구성 요소에 대해 번들이 비어 있지 않도록 창에 가장 가까운 단일 파일이 유지됩니다. 코어 덤프 파일의 경우 이러한 대체가 적용되지 않습니다.
  4. 개수 제한을 적용합니다 ("-m" 및/또는 "-k"가 지정된 경우). 나머지 파일 중에서 최대 "NUM"이 선택되며 참조 시간에 가장 가까운 파일이 선호됩니다. 참조 시간 전과 후의 파일은 선택을 위해 동등하게 경쟁합니다.

인증

기본 MDM 프로세스가 예상 포트에서 수신 중인 것으로 감지되면 유틸리티가 로컬 MDM에 로그인을 시도합니다(기본값: 6611).

MDM 로그인 옵션은 SCLI "--login" 명령으로 전달되어 처리됩니다.

로그인에 실패하면 유틸리티가 종료되고 오류가 발생합니다.

로그인을 건너뛰면 SCLI 명령이 계속 시도됩니다(사용자가 사전에 수동으로 로그인한 시나리오를 지원하기 위해). SCLI 오류가 세 번 발생하면 경고가 표시되고 이후의 모든 SCLI 명령은 건너뜁니다.

다음과 같은 경우 로그인을 건너뜁니다 .

  • 로컬 호스트에서 운영 MDM 프로세스를 찾을 수 없습니다.
  • "--skip-mdm-login" 옵션이 지정되었습니다.

다음과 같은 경우 로그인 이 실패합니다 .

  • MDM 프로세스 소유자가 승인된 사용자 목록(기본값: "root")에 없으며 보안 로그인이 활성화되었습니다.
  • SCLI "--login" 명령이 오류(예: 잘못된 자격 증명)를 반환합니다.

디스크 공간

임시 파일 및 결과 번들에 대한 디스크 공간 요구 사항은 상당히 다를 수 있습니다.

유틸리티는 임시 공간 사용을 최소화하려고 시도합니다. 수집된 가상 파일 시스템("/proc" 및 "/sys") 파일의 명령 출력 및 복제본으로 제한됩니다.

"--output-file=-"을 사용하여 원격 호스트에서 번들을 스트리밍하여 PowerFlex 호스트의 디스크 공간 사용을 최소화할 수 있습니다. 번들 파일은 스트리밍할 때 표준 출력("stdout")에 직접 기록됩니다. 디스크에 생성되지 않습니다.

유틸리티는 데이터를 수집하기 전에 임시 작업 디렉토리와 출력 번들 모두에 필요한 디스크 공간을 추정합니다.

예상되는 필수 공간이 관련 파일 시스템에서 사용 가능한 공간을 초과하면 유틸리티가 오류와 함께 종료됩니다. 이 검사는 "--skip-space-check"를 사용하여 우회할 수 있습니다.

작업 디렉토리와 출력 디렉토리는 서로 다른 파일 시스템에 상주할 수 있습니다. 각각은 독립적으로 확인됩니다.

예상 공간 요구 사항은 유틸리티의 로그 파일 "get_info_run.log"에 기록됩니다.

종료 상태

0 성공적인 완료
1 오류(잘못된 인수, 공간 부족, 로그인 실패, 이미 실행 중인 다른 인스턴스, 번들 생성 실패, 신호 포착 등)

파일

<WORK_DIR>/get_info_run.log 실행 로그(번들에도 있음)
<WORK_DIR>/scaleio-getinfo-tmp/ 임시 작업 디렉터리(성공 시 정리됨)
/tmp/scaleio-getinfo/getInfoDump.tgz 기본 출력 번들 위치
<WORK_DIR>/scaleio-getinfo-extra/
/tmp/scaleio-getinfo-extra/
선택적 추가 진단 데이터 디렉터리
/tmp/scaleio-getinfo-backup/ 수정된 구성 파일의 임시 백업(자동 생성됨)
/opt/emc/scaleio/ PowerFlex 설치 디렉토리

환경

사전 요구 사항

  • 이 유틸리티는 "root"(또는 구성 요소 파일을 읽고 진단 명령을 실행하고 "/proc," "/sys" 등에 액세스할 수 있는 충분한 권한을 가진 사용자)로 실행해야 합니다.
  • 표준 유틸리티: tar, gzip, stat, find, awk, sed, getopt(1) (향상됨), nice.
  • *선택 사항: zip ( "--zip"의 경우), xz ("--xz"의 경우), gdb/gcore ("--generate-cores"의 경우)

동시성
"get_info.sh"의 인스턴스는 한 번에 하나만 실행할 수 있습니다. 유틸리티는 "pidof(1)"를 사용하여 기존의 실행 중인 인스턴스를 확인하고 인스턴스가 발견되면 종료합니다.

신호 처리
이 유틸리티는 데이터 수집 중에 "INT", "EXIT" 및 "TERM" 신호를 트래핑합니다. 신호를 수신하면 다음과 같습니다.

  1. 백업된 구성 파일(예: 코어 생성 설정)을 복원합니다.
  2. 임시 디렉토리 정리
  3. 상태가 1인 종료

실행 로그가 보존되고 해당 경로가 표준 오류로 인쇄됩니다.

예제
표준 지원 번들을 수집합니다.

get_info.sh

원격 PowerFlex 호스트에 번들 파일을 생성하지 않고 SSH 연결을 통해 번들을 스트리밍합니다.

ssh <host> 'get_info.sh --output-file=-' > getInfoDump-<host>.tgz

다른 작업 디렉토리를 사용하여 "/tmp"가 가득 차지 않도록 합니다.

get_info.sh --work-dir=/var/tmp

번들에 사용자 지정 경로를 포함합니다.

get_info.sh --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'

SDS 및 MDM 구성 요소에 대해서만 최신 코어 덤프를 수집합니다.

get_info.sh --collect-cores='mdm sds' --max-cores=1

사용자 지정 기간을 사용하여 코어 파일의 수정 시간을 중심으로 데이터를 수집합니다.

get_info.sh --reference-core-file=/opt/emc/scaleio/sds/bin/core.1000 \
            --minutes-before-event=10 \  
            --minutes-after-event=2

 

해당 제품

PowerFlex rack, ScaleIO
문서 속성
문서 번호: 000455324
문서 유형: How To
마지막 수정 시간: 15 9월 2026
버전:  4
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.