Отладка сетевой проблемы Solaris

Я запускаю файловый сервер Solaris 11 x86. Часть файлового сервера – ZFS + Samba. Он работает уже три или четыре года без серьезных проблем.

Акции Samba начинают видны другим ПК в сети. Я могу читать с файлового сервера надежно. Я могу пинговать сервер. Я могу пинговать другие ПК с сервера. Я могу ping шлюз по умолчанию с сервера.

Начиная несколько недель назад, когда я пытаюсь писать на файловый сервер, они исчезают через несколько секунд (или, может быть, через несколько сотен мегабайт). Проблема, по-видимому, связана с сетью. Однако сервер все еще жив. Если я подключу мышь, клавиатуру и монитор, я все равно могу взаимодействовать с сервером.

Не похоже, что проблема связана с жесткими дисками или с Samba. Пытался:

  • статус zpool
  • Ошибка fmadm
  • svcadm restart samba

Нет ошибок. Нет неисправных устройств. Самба, похоже, не проблема.

После того, как проблема возникнет, я больше не могу пинговать шлюз по умолчанию из файлового сервера. Я больше не могу пинговать другие машины с файлового сервера. Я не могу пинговать сервер с других компьютеров.

Шаги сетевой отладки

Я пробовал:

  • ifconfig skge0 down / 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 

«Перед» имеет 27 вместо 17 в столбце «Ref» для первой записи. «После» имеет несколько большее число для «Использования» – возможно, нормальное.

Я попробовал 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 

После этого эти пять записей исчезли, но появился один новый:

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

Я не могу найти никакой информации о том, для чего используется порт 53920. На стороне шлюза порт 53, по-видимому, используется для DNS – не уверен, что это ключ или нет. Не кажется очень полезным

В разделе «TCP» есть целая куча «ESTABLISHED», перед которой они либо вошли, либо перешли на 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 (send window?). Странно, что государство все еще перечислено как установлено.

Я снова сделал netstat – эксперимент

Единственная разница до и после, была связана с 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, я понятия не имею. Может кто-нибудь подскажет мне, что касается следующего шага здесь?

редактировать

Я покупаю еще одну сетевую карту и просто пытаюсь. Потребуется около недели, чтобы добраться сюда, поэтому я буду продолжать думать об этом.

  • При зеркалировании всей корневой зоны rpool вам нужно установить загрузочный блок?
  • RAID: ZFS или Btrfs?
  • Зеркало ZFS на том же диске для резервирования?
  • как одностороннее зеркало весь пул zfs в другой пул zfs
  • Будущее OpenSolaris
  • Не удается удалить файл из samba share + Solaris + ZFS
  • ZFS ACL (NFS4 ACL)
  • bash: zpool: команда не найдена
  • 3 Solutions collect form web for “Отладка сетевой проблемы Solaris”

    Netstat -an , netstat -rn lsof и lsof (до и во время проблемы) могут дать подсказки. (У них слишком много открытых подключений?). tcpdump может помочь: запустите его непосредственно перед установкой соединения и посмотрите, что происходит вокруг того, как соединения начинают умирать (а также за несколько минут до тайм-аутов).

    И посмотрите, не являются ли параметры NFS недействительными и могут иметь последствия:

    • Например, попробуйте использовать мягкие, а не жесткие настройки.

    • Удалите все «неосновные» варианты (ядро – это те, которые необходимы для NFS, которые будут установлены), и поместите их обратно понемногу, чтобы увидеть, какие из них являются (являются) причиной проблемы.

    Извините, но сейчас у меня нет доступа к Solaris, чтобы дать точные настройки. Веб-поиск, включающий ключевые слова «Solaris» и «NFS», поможет вам найти их.

    Я заметил, что запуск Samba поверх экспортированных наборов данных ZFS может привести к очень низкой производительности, в том числе до степени убийства интерактивных сеансов на сервере или клиенте. Однако использование Solaris 11 (и более позднего) встроенного CIFS-сервера – гораздо лучшее решение – вы выполняете бит протокола внутри ядра, а не в пользовательском пространстве.

    Я забуду точный синтаксис для использования, вы должны прочитать tfm для zfs (1m) и выполнить поиск «smb». Также посмотрите на zfs_share (1 м).

    Поддерживали ли вы свою систему Solaris 11? Что показывает pkg publisher pkg info entire и pkg publisher ?

    Я также вижу, что вы заметили использование интерфейса skge. Я этого не знал, поэтому посмотрел. Не удалось найти pkg в репозитории Solaris (SPARC) для него. Но обнаружили, что в Google найдены блоги и обсуждения людей, пытающихся заставить этот сетевой драйвер работать в Solaris. Или использовать его вместо того, чтобы устройство не поддерживалось. Поэтому вы захотите попробовать их искать, если вы еще этого не сделали.

    Ссылка: Список совместимости оборудования Solaris (HCL)

    Linux и Unix - лучшая ОС в мире.