Solaris 네트워크 문제 디버깅

Solaris 네트워크 문제 디버깅

저는 Solaris 11 x86 파일 서버를 실행하고 있습니다. 파일 서버 부분은 ZFS + Samba입니다. 지금까지 3~4년 동안 큰 문제 없이 운영되고 있습니다.

Samba 공유는 처음에 네트워크의 다른 PC에 표시됩니다. 파일 서버에서 데이터를 안정적으로 읽을 수 있습니다. 서버에 ping을 보낼 수 있습니다. 서버에서 다른 PC에 ping을 보낼 수 있습니다. 서버에서 기본 게이트웨이를 ping할 수 있습니다.

몇 주 전부터 파일 서버에 쓰려고 하면 몇 초(또는 수백 메가바이트) 후에 공유가 사라집니다. 문제는 분명히 네트워크에 있습니다. 그러나 서버는 아직 살아있습니다. 마우스, 키보드, 모니터를 연결하면 여전히 서버와 상호 작용할 수 있습니다.

문제는 하드 드라이브나 Samba에 있는 것 같지 않습니다. 시험을 마친:

  • zpool 상태
  • FMDM 실패
  • svcadm 삼바 재시작

오류가 없습니다. 결함 없는 장비. 삼바에는 문제가 없는 것 같습니다.

문제가 발생한 후 더 이상 파일 서버에서 기본 게이트웨이를 ping할 수 없습니다. 더 이상 파일 서버에서 다른 컴퓨터를 ping할 수 없습니다. 다른 컴퓨터에서 서버를 ping할 수 없습니다.

네트워크 디버깅 단계

나는 시도했다:

  • ifconfig skge0 다운/ifconfig skge0 업.
  • Solaris 상자가 연결된 스위치를 다시 시작하십시오.
  • Solaris 상자가 연결된 라우터를 다시 시작하십시오.

Solaris 시스템은 아직 네트워크에 연결되어 있다고 생각하는 것 같습니다. Solaris 상자를 재설정(init 6)하면 공유가 백업되지만 공유에 다시 쓰려고 하는 경우에만 가능합니다.

나는 netstat -rn을 시도했다문제가 발생하기 전과 후입니다. 모든 것이 정상적으로 보입니다. 다음은 "이후"입니다.

Routing Table: IPv4
Destination           Gateway           Flags  Ref     Use     Interface 
-------------------- -------------------- ----- ----- ---------- --------- 
default              10.1.10.1            UG       27        456 skge0     
10.1.10.0            10.1.10.254          U         6    2536350 skge0     
127.0.0.1            127.0.0.1            UH        2        252 lo0       

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use    If   
--------------------------- --------------------------- ----- --- ------- ----- 
::1                         ::1                         UH      2       4 lo0   

첫 번째 항목의 "참조" 열에 있는 "이전"에는 17이 아니라 27이 있습니다. "이후"에 대한 "사용" 수치는 약간 높으며 아마도 정상일 것입니다.

나는 netstat -an을 시도했다문제 발생 전후도 마찬가지다. 이것은 더 많은 단서를 가지고 있을 수 있습니다. 문제가 해결되기 전에는 많은 UDP 연결이 있습니다.

앞으로:

UDP: IPv4
   Local Address        Remote Address      State
-------------------- -------------------- ----------
    --truncated entries that are present in both before/after--
10.1.10.254.40504    10.1.10.1.53         Connected
10.1.10.254.39900    10.1.10.1.53         Connected
10.1.10.254.40129    10.1.10.1.53         Connected
10.1.10.254.37892    10.1.10.1.53         Connected
10.1.10.254.61658    10.1.10.1.53         Connected

그 후 5개의 항목이 사라졌지만 새로운 항목이 나타났습니다.

UDP: IPv4
   Local Address        Remote Address      State
-------------------- -------------------- ----------
    --Again, truncated--
10.1.10.254.53920    10.1.10.1.53         Connected

포트 53920이 어떤 용도로 사용되는지에 대한 정보를 찾을 수 없습니다. 게이트웨이 측에서는 포트 53이 DNS에 사용되는 것 같습니다. 이것이 단서인지는 확실하지 않습니다. 별로 도움이 안되는 것 같더라구요

TCP 섹션 아래에는 "확립된" 모놀리스가 많이 있습니다.앞으로아니면 사라졌나요뒤쪽에또는 TIME_WAIT 또는 FIN_WAIT_1로 변환되었습니다. 이는 내가 이미 알고 있는 것과 일치하는 것 같습니다.

네트워크 충돌에 사용한 컴퓨터의 IP에 대한 참조만 있습니다.

앞으로:

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q    State
-------------------- -------------------- ----- ------ ----- ------ -----------
10.1.10.254.445      10.1.10.132.53487    64512      0 128480      0 ESTABLISHED

뒤쪽에:

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q    State
-------------------- -------------------- ----- ------ ----- ------ -----------
10.1.10.254.445      10.1.10.132.53487    64256      0 128480      0 ESTABLISHED

유일한 차이점은 Swind(보내기 창?) 열입니다. 이상하게도 상태는 여전히 확립된 것으로 표시됩니다.

나는 또 다른 netstat - 실험을 했습니다.

이전과 이후의 유일한 차이점은 공유를 충돌시키는 데 사용한 PC의 IP 주소와 관련이 있습니다.

앞으로:

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q    State
-------------------- -------------------- ----- ------ ----- ------ -----------
10.1.10.254.445      10.1.10.132.53613    380416      0 128480      0 ESTABLISHED

뒤쪽에:

10.1.10.254.445      10.1.10.132.53613    65280       0 128480      0 ESTABLISHED

다시 말하지만 유일한 차이점은 Swind 열입니다. 숫자가 더 작습니다.

나는 내가 아는 것의 끝에 도달했다이런 일에 대해서요. netstat는 내가 이미 알고 있는 것을 알려주는 것 같습니다. 다른 네트워크 카드를 구입해서 사용해 보거나 Solaris를 다시 설치하는 것 외에는 아는 것이 없습니다. 누군가 나에게 다음 단계를 말해 줄 수 있습니까?

편집하다

다른 네트워크 카드를 구입해서 사용해 보려고 합니다. 여기까지 오는데 일주일 정도 걸릴 것 같으니 그동안 계속해서 작업하겠습니다.

답변1

Netstat -an, netstat -rn, 및 lsof (질문 전과 도중)이 단서를 제공할 수 있습니다. (열린 연결이 너무 많이 표시됩니까?) tcpdump도움이 될 수도 있습니다. 연결이 설정되기 전에 시작하고 연결이 끊어지기 시작하면(그리고 시간이 초과되기 몇 분 전에) 무슨 일이 일어나는지 확인하세요.

NFS 옵션이 기본값이 아니고 영향을 미칠 수 있는지 확인하세요.

  • 예를 들어, 하드 설정 대신 소프트 설정을 사용해 보십시오.

  • 모든 "비코어" 옵션(코어는 NFS를 설정하는 데 필요한 옵션)을 제거하고 조금씩 다시 넣어 어떤 옵션이 문제를 일으키는지 확인합니다.

죄송합니다. 현재 정확한 설정을 제공하기 위해 Solaris에 액세스할 수 없습니다. "Solaris" 및 "NFS" 키워드가 포함된 웹 검색을 통해 해당 항목을 찾는 데 도움이 됩니다.

답변2

내보낸 ZFS 데이터 세트에서 Samba를 실행하면 서버나 클라이언트의 대화형 세션이 종료되는 등 성능이 매우 저하될 수 있다는 것을 확인했습니다. 그러나 Solaris 11(이상) 내장 CIFS 서버를 사용하는 것은많은더 나은 솔루션 - 그런 다음 사용자 공간이 아닌 커널에서 프로토콜 비트를 구현합니다.

사용할 정확한 구문을 잊어버렸습니다. zfs(1m)에 대한 tfm을 읽고 "smb"를 검색해야 합니다. zfs_share(1m)도 확인해 보세요.

답변3

Solaris 11 시스템을 유지 관리하고 계십니까? pkg info entire그리고 무엇을 보여 pkg publisher?

또한 로깅을 위해 skge 인터페이스를 사용하는 것을 볼 수 있습니다. 저는 잘 몰라서 찾아봤습니다. 해당 pkg는 Solaris(SPARC) 저장소에서 찾을 수 없습니다. 그러나 Google은 Solaris에서 네트워크 드라이버를 작동시키려는 사람들의 블로그와 토론을 찾았습니다. 또는 해당 장치가 지원되지 않는 경우 대신 사용하십시오. 따라서 아직 이러한 검색을 시도하지 않았다면 시도해 보고 싶을 것입니다.

인용하다: Solaris 하드웨어 호환성 목록(HCL)

관련 정보