Oracle® Solaris 11.2의 장치 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

IB 장치 모니터 및 문제 해결

Oracle Solaris 11 릴리스에서 새로운 명령 및 유틸리티를 사용으로 설정하여 IB 패브릭을 더욱 효과적으로 관리할 수 있습니다. 이러한 명령은 system/io/infiniband/open-fabrics 패키지에 포함되어 있으며 open-fabrics 패키지를 설치하면 매뉴얼 페이지가 자동으로 설치됩니다. 예를 들면 다음과 같습니다.

% man rping
Reformatting page.  Please Wait... done

librdmacm                                                RPING(1)

NAME
rping - RDMA CM connection and RDMA ping-pong test.

SYNOPSIS
rping -s [-v] [-V] [-d] [-P] [-a address] [-p port]
[-C message_count] [-S message_size]
rping -c [-v] [-V] [-d] -a address [-p port]
[-C message_count] [-S message_size]
.
.
.

다음 새 명령 및 유틸리티를 통해 IB 장치 나열 및 질의, IB 패브릭 문제 진단 및 해결 그리고 IB 성능 측정을 수행할 수 있습니다.

표 3-1  일반적인 IB 모니터링 명령
명령
설명
ibv_asyncwatch
Monitors InfiniBand 비동기 이벤트를 모니터합니다.
ibv_devices or ibv_devinfo
InfiniBand 장치 또는 장치 정보를 나열합니다.
ibv_rc_pingpong, ibv_srq_pingpong 또는 ibv_ud_pingpong
RC 연결, SRQ 또는 UD 연결을 사용하여 노드 간 연결을 테스트합니다.
mckey
RDMA CM 멀티캐스트 설정 및 간단한 데이터 전송을 테스트합니다.
rping
RDMA CM 연결을 테스트하고 RDMA ping-pong을 시도합니다.
ucmatose
RDMA CM 연결을 테스트하고 간단한 ping-pong을 시도합니다.
udaddy
RDMA CM 데이터그램 설정을 테스트하고 간단한 ping-pong을 시도합니다.
표 3-2  일반적인 IB 성능 테스트 명령
명령
설명
rdma_bw 또는 rdma_lat
스트리밍 대역폭 및 대기 시간에 대한 RDMA 쓰기 트랜잭션을 테스트합니다.
ib_read_bw 또는 ib_read_lat
대역폭 및 대기 시간에 대한 RDMA 읽기 트랜잭션을 테스트합니다.
ib_send_bw 또는 ib_send_lat
대역폭 및 대기 시간에 대한 RDMA 보내기 트랜잭션을 테스트합니다.
ib_write_bw 또는 ib_write_bw_postlist
한 번에 한 I/O 요청을 표시하는 대역폭 또는 I/O 요청 목록을 표시하는 게시 목록 대역폭에 대한 RDMA 쓰기 트랜잭션을 테스트합니다.
ib_write_lat
대기 시간에 대한 RDMA 쓰기 트랜잭션을 테스트합니다.
ib_clock_test
시스템 클록의 정확도를 테스트합니다.
qperf
소켓 및 RDMA 성능을 측정합니다.
표 3-3  RDS 모니터 및 테스트 도구
명령
설명
rds-info
RDS 커널 모듈 정보를 표시합니다.
rds-ping
RDS를 통한 원격 노드에 도달할 수 있는지 확인합니다
rds-stress
RDS 소켓을 통해 프로세스 간에 메시지를 보냅니다.

RDSv3은 HCA 구성 해제를 지원하지 않습니다. DR 수행 시 시스템에 RDSv3 드라이버가 설치되어 있는 경우 HCA 구성 해제를 수행하면 작업이 실패하며 오류 메시지가 표시됩니다(예: ib::rdsv3,0의 경우 다음 예와 같은 메시지가 표시됨).

# cfgadm -c unconfigure ib::rdsv3,0
This operation will suspend activity on the IB device
Continue (yes/no)? yes
cfgadm: Hardware specific failure: unconfigure operation 
failed ap_id: /devices/ib:fabric::rdsv3,0

# cfgadm -c unconfigure PCI-EM0
cfgadm: Component system is busy, try again: unconfigure failed

임시해결책:

HCA DR 작업을 수행하기 전에 RDSv3 드라이버를 제거하고 시스템을 재부트합니다.

# rem_drv rdsv3
Device busy
Cannot unload module: rdsv3
Will be unloaded upon reboot.

# init 6
표 3-4  패브릭 진단 도구
명령
설명
ibdiagnet
전체 패브릭에 대해 진단 검사를 수행합니다.
ibaddr
InfiniBand 주소를 질의합니다.
ibnetdiscover
원격 InfiniBand 토폴로지를 검색합니다.
ibping
IB 노드 간의 연결에 대한 유효성을 검사합니다.
ibportstate
IB 포트의 물리적 포트 상태 및 링크 속도를 질의합니다.
ibroute
InfiniBand 스위치 전달 테이블을 표시합니다.
ibstat 또는 ibsysstat
InfiniBand 장치의 상태 또는 IB 주소에서 시스템 상태를 질의합니다.
ibtracert
IB 경로를 추적합니다.
perfquery 또는 saquery
IB 포트 카운터 또는 sIB 서브넷 관리 속성을 질의합니다.
sminfo
IB SMInfo 속성을 질의합니다.
smpquery 또는 smpdump
IB 서브넷 관리 속성을 질의 또는 덤프합니다.
ibcheckerrors 또는 ibcheckerrs
IB 포트(또는 노드) 또는 IB 서브넷의 유효성을 검사하고 오류를 보고합니다.
ibchecknet, ibchecknode 또는 ibcheckport
IB 서브넷, 노드 또는 포트의 유효성을 검사하고 오류를 보고합니다.
ibcheckportstate, ibcheckportwidth, ibcheckstate 또는 ibcheckwidth
링크가 살아 있으나 활성화되지 않은 IB 포트, 1x(2.0Gbps) 링크 폭에 해당하는 포트, 링크가 살아 있으나 활성화되지 않은 IB 서브넷의 포트 또는 IB 서브넷의 lx 링크에 대한 유효성을 검사합니다.
ibclearcountersibclearerrors 또는 ibclearerrors
IB 서브넷에서 포트 카운터 또는 오류 카운터를 지웁니다.
ibdatacountersibdatacounts 또는 ibdatacounts
IB 서브넷의 데이터 카운트 또는 IB 포트 데이터 카운터를 질의합니다.
ibdiscover.pl
IB 토폴로지에 주석을 달고 IB 토폴로지를 비교합니다.
ibhosts
토폴로지의 IB 호스트 노드를 표시합니다.
iblinkinfo.pl 또는 iblinkinfo
패브릭의 모든 링크에 대한 링크 정보를 표시합니다.
ibnodes
토폴로지의 IB 노드를 표시합니다.
ibprintca.pl
ibnetdiscover 출력에서 지정된 CA 또는 CA 목록을 표시합니다.
ibprintrt.pl
ibnetdiscover 출력에서 지정된 라우터 또는 라우터 목록만 표시합니다.
ibprintswitch.pl
ibnetdiscover 출력에서 지정된 스위치 또는 스위치 목록을 표시합니다.
ibqueryerrors.pl
0이 아닌 IB 포트 카운터를 질의 및 보고합니다.
ibrouters
토폴로지의 IB 라우터 노드를 표시합니다.
ibstatus
IB 장치의 기본 상태를 질의합니다.
ibswitches
토폴로지의 IB 스위치 노드를 표시합니다.
ibswportwatch.pl
지정한 스위치 또는 포트의 카운터와 변경 정보 보고 속도를 폴합니다.
set_nodedesc.sh
IB HCA(호스트 컨트롤러 어댑터)에 대한 노드 설명 문자열을 설정 또는 표시합니다.
dump2psl.pl
크레딧 루프 검사에 사용되는 opensm 출력 파일을 기반으로 PSL 파일을 덤프합니다.
dump2slvl.pl
크레딧 루프 검사에 사용되는 opensm 출력 파일을 기반으로 SLVL 파일을 덤프합니다.
ibis
IB 관리 대역 내 서비스에 대한 확장된 TCL 셸입니다.