Привет, для тех кто не знает что такое NAS и FreeNas я расскажу об этом позже. А сейчас поделюсь опытом в устранении одной наиболее известной ошибке в работе этого устройства.
Иногда при больших нагрузках на сетевой интерфейс FreeNAS виснет (перестает отвечать на запросы по сети). В консоли в этос случае присутствуют ошибка:
msk0: watchdog timeout (missed Tx interrupts) - - recovering
Выглядит это так:
Так, же при попытки инициализации контроллера, ни чего не выйдет. Наши иностранные коллеги чего только не пробуют, собственно как и русские сисадмины.
И так вот примеры решений:
- Отключить поддержку ACPI в биосе. Но тогда, например у меня, возникли проблемы с USB клавиатурой. Принажатии в консоли любой цифры, ее ввод автоматически повторялся неопределенное время и приходилось рестартовать FreeNAS. Но можно использовать и PS2 клаву.
- Отключить или перенастроить PnP в биосе. некоторым помогало. Мне нет.
- Отключить ACPI Aware OS Installed — мне также не помогло.
- Включить поддержку опции DEVICE_POLLING — об этом можно подробней почитать тут: opennet.ru/base/net/router_notes.txt.html. Опция в последних релизах выставляется через WEB GUI FreeNAS в разделе настройки NIC — Там есть прям галочка «Включить поддержку Device pooling», ставим и перезапускаем сервер. Но, мне и это не помогло.
- Отредактировать файл /cf/boot/loader.conf. В некоторых версиях это можно сделать через Web GUI сервера. правим на это:
/cf/boot/loader.conf
mfsroot_load="YES" mfsroot_type="mfs_root" mfsroot_name="/mfsroot" autoboot_delay="5" hw.nfe.msi_disable = "1" hw.nfe.msix_disable = "1" hw.pci.enable_msix=0 hw.pci.enable_msi=0
- Так же если у Вас какая то дешовая сетевушка типа D-link или Realtek мнгогие советуют сразу их менять.
Ну, собственно если что то появится новое я напишу тут. Если у Вас есть идеи как устранить эту ошибку, то с нетерпением жду Ваших коментов))
Удачи!
Огромное спасибо! Действительно помогло!
Сделаю пару пояснений по данному методу для таких же новичков, как я.
Версия FreeNAS 9.2.6.1 x86.
Операция №5 данного гайда проводится через GUI следующим образом.
1. Логинимся под root, заходим в shell (слева в меню графического интерфейса).
2. вводим команды в такой последовательности
cd ../../boot # теперь мы в папке boot
mount -rw / # сняли заперет на изменение (запись) файлов
vi loader.conf # теперь можно непосредственно редактировать loader.conf
Как работать с vi, можно почитать тут
https://www.ccsf.edu/Pub/Fac/vi.html