저는 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)