주요 콘텐츠로 건너뛰기
다른 날 일부 사용자와 토론 하는 동안 그것은 그들은 Stratus VSeries 시스템 네트워크 어댑터에 관한 집에 전화 것 이다 어떤 조건에서 이해 하지 않았다 내게 분명해졌다. 이러한 오해로 인해 시스템이 네트워크 연결을 잃게 되었습니다. 그들이 이해하지 못했다면 나는 뿐만 아니라 다른 사람이 확신, 그래서이 블로그는 시스템이 네트워크 어댑터에 대해 집에 전화 할 때 설명하려고합니다.
간단한 대답은 네트워크 어댑터가 실패한 것을 감지하면 시스템이 집으로 호출된다는 것입니다. 회색 영역은 실패한 의미가 있습니다. 어댑터가 시스템에 의해 중단되거나 파손된 경우 진단 세트가 실행되고 어댑터가 통과하면 다시 서비스로 가져온다. 시간 간격이 너무 짧기 때문에 너무 여러 번 중단되면 어댑터는 MTBF(실패 사이의 평균 시간) 임계값을 초과하고 서비스 에서 제외됩니다. 이 경우 시스템은 어댑터에 대해 집으로 호출합니다. 진단이 실행되고 실패하면 어댑터가 서비스 되지 않으며 시스템이 집으로 호출됩니다.
활성 및 대기 네트워크 어댑터 파트너 간에 전달되는 sdlmux 테스트 메시지가 파트너 어댑터에서 수신되지 않으면 시스템이 대기 카드를 끊고 테스트하여 다시 서비스로 가져옵니다. 테스트 메시지가 차단된 것이 있으면 카드가 MTBF 임계값을 초과하고 시스템이 홈으로 호출될 때까지 이 패턴이 반복됩니다. 문제는 어댑터가 아니라 네트워크일 수 있습니다.
링크가 떨어지면 하나의 어댑터가 네트워크에 더 이상 연결되지 않도록 시스템은 필요에 따라 네트워크 어댑터를 장애 조치하고 다른 작업을 수행하지 않습니다. 그것은 집에 전화하지 않습니다. 그 이유는 링크가 드롭하기 위해 어댑터 외부에 너무 많은 이유가 있기 때문입니다. 22 년 전 VOS 릴리스 8.0 원래 Stratus 이더넷 구현은 링크가 손실 되었을 때 집에 전화했다. 그것은 많은 문제가 열리고, 그들은 스위치를 재부팅하거나 케이블을 제거 했다 알고 있기 때문에, 우리가 그들을 다시 호출 할 때 그냥 사람들을 짜증 나게. 그 때 잃어버린 링크가 실패로 간주되지 않기로 결정되었습니다. 두 어댑터가 네트워크에 대한 링크가 없는 한 이전 단락에 언급된 sdlmux 테스트 메시지는 전송되지 않습니다.
그렇다면 오프닝 단락에 언급된 사용자에게는 어떤 일이 일어났습니까? 약 한 달 전에 그들은 하나의 어댑터에 대한 링크를 잃었다. 시스템에 연결 문제가 없었기 때문에 이를 인식하지 못했습니다. 그런 다음 며칠 전에 그들은 다른 링크를 잃었고 그 시점에서 그들은 네트워크에서 벗어났습니다. 이 시나리오에서는 시스템의 어댑터를 모니터링하여 네트워크에 연결되어 있는지 확인하는 것이 중요한 이유를 보여 줍니다. 정기적인 모니터링은 두 번째 어댑터의 링크가 발생하기 전에 문제를 해결하기 위해 제1 어댑터의 링크에 문제가 발생했을 것입니다.
명령 매크로 monitor_sdlmux_adapter_status(그림 1)은 모든 sdlmuxed 파트너 어댑터를 주기적으로 모니터링합니다. 선택한 사용자에게 25번째 줄 메시지를 보내고 syserr_log 항목을 추가합니다. 링크가 처음 손실될 때 syserr_log 항목이 만들어지지만 monitor_sdlmux_adapter_status 매크로가 확인될 때마다 하나씩 추가되므로 볼 가능성이 더 높습니다(그림 2). 매크로는 sdlmux 장치 목록을 얻기 위해 analyze_system 호출하기 때문에 -권한 집합이 예로 설정된 시작 프로세스로 실행되어야 합니다.
매크로는 어댑터 중 하나가 "DOWN"인지 확인하고 삭제된 링크를 보고하는 것과 동일한 방식으로 보고합니다. 시스템은 집에 전화해야하지만 수표를 추가하는 것이 쉬웠고 추가 알림이 손상 될 수 없다고 생각했습니다.
25번째 줄과 syserr_log 메시지는 monitor_sdlmux_adapter_status 매크로를 실행하는 사람의 홈 디르에서 check_adapters 파일을 참조합니다. 이 파일은 시스템의 모든 sdlmux 파트너십에 대해 실행되는 dlmux_admin sdlmux_status 명령의 출력으로 구성됩니다(그림 3). 문제가 있는 특정 어댑터를 식별하려면 해당 파일을 검토해야 합니다.

매크로는 sdlmux와 제휴한 어댑터만 살펴봅니다. 파트너가 되지 않은 어댑터의 문제는 즉시 명백하므로 추가 모니터링이 필요하지 않습니다. Stratus는 모든 네트워크 어댑터를 sdlmux와 파트너가 될 것을 권장합니다.

& monitor_sdlmux_adapter_status begins here
&
& monitor_sdlmux_adapter_status.cm
& version 1.0 10-05-24
&
& noah.davids@stratus.com
&
&begin_parameters
WHO     send_to:string,req
MINUTES poll_every_N_minutes:number,=5
&end_parameters
&set_string DEVICES (process_dir)>devices
&set_string SDLMUX_STATUS (process_dir)>sdlmux_status
&set_string CHECK (process_dir)>check
&if (process_type) ^= interactive &then &do
&echo no_input_lines no_command_lines no_macro_lines
set_ready -format off
&end
&
&label BEGIN
attach_default_output &DEVICES&
analyze_system -request_line &+
(string match (byte 27x)sdlmux device(byte 27x) (byte 3bx) dump_sdlmux) -quit
detach_default_output
attach_default_output &SDLMUX_STATUS&
display_line **************************************************
display_line --------------- (date).(time) ----------------
display_line **************************************************
&set LINENUM 3
&label AGAIN
&set_string LINE (substr (contents &DEVICES& &LINENUM& -hold) 32)
&if (end_of_file &DEVICES&) = 1 &then &goto DONE
display_line
display_line **************************************************
dlmux_admin &LINE& sdlmux_status
&set LINENUM (calc &LINENUM& + 1)
&goto AGAIN
&label DONE
&set_string LINE (contents &DEVICES& &LINENUM& -close)
detach_default_output
&
d &SDLMUX_STATUS& -match lost -no_header -output_path &CHECK&
&set ALERT_NEEDED (file_info &CHECK& blocks_used)
&if &ALERT_NEEDED& > 0 &then &do
copy_file &SDLMUX_STATUS& (home_dir)>check_adapters -delete
send_message &WHO& (string link down see (home_dir)>check_adapters) -beep
log_syserr_message (string link down see (home_dir)>check_adapters)
&end
&
d &SDLMUX_STATUS& -match down -no_header -output_path &CHECK&
&set ALERT_NEEDED (file_info &CHECK& blocks_used)
&if &ALERT_NEEDED& > 0 &then &do
copy_file &SDLMUX_STATUS& (home_dir)>check_adapters -delete
send_message &WHO& (string adapter down see (home_dir)>check_adapters) -beep
log_syserr_message (string adapter down see (home_dir)>check_adapters)
&end
&
sleep -minutes &MINUTES&
&goto BEGIN
&
& monitor_sdlmux_adapter_status ends here
그림 1 – monitor_sdlmux_adapter_status 명령 매크로
d >system>syserr_log.10-05-24 -match check_adapters
%phx_vos#m16_mas>system>syserr_log.10-05-24  10-05-25 08:27:29 mst
. . . . . . . . .
19:36:46  Message from Noah_Davids.SysAdmin (Process 55108139): link down see %p
+hx_vos#m16_mas>SysAdmin>Noah_Davids>check_adapters
19:41:46  Message from Noah_Davids.SysAdmin (Process 55108139): link down see %p
+hx_vos#m16_mas>SysAdmin>Noah_Davids>check_adapters
19:46:47  Message from Noah_Davids.SysAdmin (Process 55108139): link down see %p
+hx_vos#m16_mas>SysAdmin>Noah_Davids>check_adapters
19:51:47  Message from Noah_Davids.SysAdmin (Process 55108139): link down see %p
+hx_vos#m16_mas>SysAdmin>Noah_Davids>check_adapters
19:56:47  Message from Noah_Davids.SysAdmin (Process 55108139): link down see %p
+hx_vos#m16_mas>SysAdmin>Noah_Davids>check_adapters
그림 2 – syserr_log 메시지
d check_adapters

%phx_vos#m16_mas>SysAdmin>Noah_Davids>check_adapters 10-05-24 19:57:43 mst

**************************************************
--------------- 10-05-24.19:56:47 ----------------
**************************************************

**************************************************
Group Name: #sdlmuxA.m16.10-5-0.11-5-0
Device Name: %phx_vos#enetA.m16.11-5-0
Adapter State: ACTIVE UP
Partner: %phx_vos#enetA.m16.10-5-0
Partner State: UP (network connection lost)

**************************************************
Group Name: #sdlmuxA.m16.10-5-1.11-5-1
Device Name: %phx_vos#enetA.m16.10-5-1
Adapter State: ACTIVE UP
Partner: %phx_vos#enetA.m16.11-5-1
Partner State: UP

**************************************************
Group Name: #sdlmux.m16.11-2
Device Name: %phx_vos#enet.m16.11.11-2
Adapter State: ACTIVE UP
Partner: %phx_vos#enet.m16.10.11-2
Partner State: UP

**************************************************
Group Name: #sdlmux.m16.11-3
Device Name: %phx_vos#enet.m16.10.11-3
Adapter State: ACTIVE UP
Partner: %phx_vos#enet.m16.11.11-3
Partner State: UP

ready 19:57:43
그림 3 – #enetA.m16.10-5-0을 보여주는 check_adapters 파일의 출력은 링크를 잃었다