Решение ошибки «md: kicking non-fresh sda1 from array»

Был когда-то случай, выпал из рейда один диск и при загрузке сервера в логах отображалось сообщение:

md: kicking non-fresh sda1 from array

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

В моем случае диск был полностью рабочий, поэтому посмотрев информацию о рейде:

cat /proc/mdstat
mdadm --detail /dev/md0

Вернул его обратно в рейд:

mdadm /dev/md0 -a /dev/sda1

Спустя некоторое время данные синхронизировались на диск и ошибка больше не появлялась.

Смотрите также:
Диагностика HDD используя smartmontools
mdadm — утилита управления программными RAID массивами
Решение проблемы с выпавшими дисками mdadm

Прошивка TP-LINK TL-WR840N V2 от Kyivstar

На тесте буду прошивать TP-LINK TL-WR840N V2 от Kyivstar
С установленной следующей версией прошивки:

Версия встроенного ПО:
3.16.9 Build 160829 Rel.55894n
Версия оборудования:
WR840N v2 00000000

Сначала необходимо попробовать прошить через TFTP.
Как запустить на компьютере TFTP сервер я описывал в этих статьях:
Запуск TFTP сервера на Windows
Установка и настройка TFTP сервера в Ubuntu

Скачиваем архив с прошивками отсюда:
https://files.ixnfo.com/Firmware/TP-Link/wr840nv2_tp_recovery.bin.zip
Файл wr840nv2_tp_recovery.bin помещаем в директорию TFTP сервера.
Назначим компьютеру именно этот IP-адерс — 192.168.0.66 и маску 255.255.255.0, соединим его с маршрутизатором через любой LAN-порт.
Выключим питание маршрутизатора, нажмем кнопку reset на задней стенке маршрутизатора и продолжая держать включим питания, засветится замочек, reset отпускаем.
Этим мы перевели его в режим восстановления, в котором он начнет пытаться загрузить файл wr840nv2_tp_recovery.bin с TFTP-сервера 192.168.0.66.
После успешной загрузки прошивки маршрутизатор сам перезагрузится и запустится с данной прошивкой.
Если обновление прошло успешно, то откроем в браузере веб интерфейс маршрутизатора набрав 192.168.0.1 (логин и пароль admin) и обновим прошивку файлом wr840nv2_ru_3_16_9_up_boot(150929).bin.
Смотрите также — Обновление прошивки маршрутизатора TP-Link TL-WR840N

Если маршрутизатор остался на прошивке от Kyivstar c IP адресом 192.168.1.1 (логин и пароль kyivstar), то остается второй вариант — выпаять микросхему памяти, подключить её к программатору, сохранить копию данных (dump) на всякий случай и записать другой dump:
https://files.ixnfo.com/Firmware/TP-Link/Dumps/wr840nv2_fulldump.zip
(заранее изменив в нем через HEX редактор на оригинальные — MAC (по адресу 1FC00) и PIN (по адресу 1FE00 )).
После этого обратно припаяем микросхему.

В моём случае маршрутизатор (с версией прошивки указанной в начале статьи) обновлялся по TFTP, но прошивка оставалась прежней от Kyivstar, поэтому пришлось воспользоваться программатором.
Однако ходят слухи что по TFTP можно прошить некоторые версии.

Смотрите также мои статьи:
Прошивка TP-LINK TL-WR741ND(KS) V2 от Kyivstar
Прошивка TP-LINK TL-WR741ND(KS) V4 от Kyivstar
Восстановление маршрутизатора TP-Link TL-WR740N

Установка и использование jnettop

jnettop — утилита для просмотра статистики трафика в реальном времени, с сортировкой по хостам/портам.

Команда установки в Ubuntu/Debian:

sudo apt-get install jnettop

Команда установки в CentOS:

sudo yum install jnettop

Пример простого запуска:

sudo jnettop

Пример запуска с указанием сетевого интерфейса:

sudo jnettop -i eth0

Опишу возможные опции запуска:
-h (справка)
-v (просмотр версии)
-c (отключить фильтрацию контента)
-d (записывать отладочную информацию в файл)
-f (чтение конфигурации из файла, если не указано, то файл ищется по пути ~/.jnettop)
-i (захватить пакеты с указанного интерфейса)
—local-aggr [none|host|port|host+port] (установить локальное агрегирование на указанное значение)
—remote-aggr [none|host|port|host+port] (установить удаленное агрегирование на указанное значение)
-n (не преобразовывать IP в DNS имена)
-p (включение неразборчивого режима, чтобы принимать все пакеты которые приходят на сетевой интерфейс)
-s (выбирает одно из правил, определенных в файле конфигурации .jnettop (по его имени))
-x (позволяет специфицировать правило пользовательской фильтрации. это позволяет использовать синтаксис стиля tcpdump. не забудьте включить фильтр в кавычки при запуске из оболочки)

Решение предупреждения Asterisk «leave_voicemail: No more messages possible»

Заметил на одном из серверов следующую ошибку:

WARNING[21992][C-00000b27]: app_voicemail.c:6559 leave_voicemail: No more messages possible

Оказалось что почтовый ящик переполнен голосовыми сообщениями и они перестали сохранятся, в ответ звонящему сообщалось «Голосовой ящик абонента переполнен».

Чтобы решить эту проблему есть несколько вариантов:

1) Удалить сообщения в голосовом ящике, позвонив на номер голосовой почты.

2) Увеличить значение maxmsg в файле voicemail.conf, тем самым увеличив максимальное количество сообщений в почтовом ящике, но опять же он может быть переполнен. После изменений в файле voicemail.conf нужно их применить:

sudo asterisk -rvv
voicemail reload
quit

3) В контексте голосового ящика добавить delete=yes, например:

[voicemailcontext]
207 => 1111,Username,test@example.com,,attach=yes|tz=ua|delete=yes

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

Смотрите также:
Настройка голосовой почты в Asterisk

Обновление прошивки маршрутизатора TP-Link TL-WR840N

Для теста буду обновлять маршрутизаторы TP-Link TL-WR840N V1 с прошивкой 13xxxx RU.

1) Посмотрим ревизию маршрутизатора, в моем случае это V1, и именно для неё скачаем архив с новой прошивкой с официального сайта:
https://www.tp-link.com/ru-ua/download/TL-WR840N.html
В моем случае последняя прошивка для V1 была TL-WR840N_V1_151023_RU. Если скачать прошивку не от той ревизии, то можно повредить маршрутизатор. Распакуем из скачанного архива файл прошивки.

2) Откроем настройки маршрутизатора набрав в браузере адрес http://192.168.0.1 и введем логин — admin, пароль — admin.

3) В меню выбираем «Системные инструменты» — «Обновление встроенного ПО», нажимаем кнопку «Обзор…» и выбираем ранее распакованный из архива файл прошивки. Далее нажмем кнопку «Обновить» и дождемся пока прошивка загрузится в маршрутизатор и он перезагрузится.

В момент обновления нельзя отключать питание маршрутизатора.
После обновления прошивки, настройки в маршрутизаторе не сбросились.

Смотрите также:
Прошивка TP-LINK TL-WR840N V2 от Kyivstar

IPTables правила для FTP сервера

Чтобы открыть доступ к FTP серверу в IPTables необходимо добавить правила:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1024:1030 -j ACCEPT

Чтобы открыть доступ только конкретной сети, например 192.168.1.0/24:

sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1024:1030 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

sudo iptables -D INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -D OUTPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -D INPUT -p tcp --dport 1024:1030 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

1024-1030 — пример портов для пассивного режима, указываются в конфигурации FTP сервера, например для ProFTPd указываются в файле /etc/proftpd/proftpd.conf так:

PassivePorts 1024 1030

Смотри также мои статьи:
Настройка IPTables
Активный и пассивный режим работы FTP
Установка и настройка Pure-FTPd в Ubuntu
Установка и настройка ProFTPd в Ubuntu

Решение тревоги 0x2e112007 «The OLT cannot receive expected optical signals from the ONT in four consecutive frames»

Недавно заметил что OLT (MA5683T) отключает один ONT и сообщает о тревоге «0x2e112007».

Посмотрев историю тревог:

display alarm history all
display alarm active all
alarm active clear all
display alarm active all

Заметил следующее:

ALARM 470141 FAULT WARNING 0x2e112007 SERVICE QUALITY 2017-10-19 09:17:50+02:00
ALARM NAME : The distribute fiber is broken or OLT can not receive
expected optical signals from GPON ONT(LOSi)
SRVEFF : SA
PARAMETERS : FrameID: 0, SlotID: 4, PortID: 3, ONT ID: 38, Equipment ID:
I-010G
DESCRIPTION : The OLT cannot receive expected optical signals from the ONT
in four consecutive frames
CAUSE : (1) The fiber is broken
(2) The quality of the optical path is poor
(3) The ONT hardware fails
ADVICE : (1) Check tributary optical fiber connection and backbone
optical fiber orderly, clean the fiber connector and replace
the fiber if necessary
(2) Ensure that the optical attenuation of the optical path is normal
(3) Reset the ONT or replace the ONT
— END

Попробовал активировать ONT:

interface gpon 0/4
ont activate 3 38
quit

Но OLT его все равно отключал, через разные промежутки времени 1-10 минут.

Пример просмотра статистики количества тревог:

display alarm statistics

Просмотр конфигурации тревоги:

display alarm configuration 0x2e112007

Модель ONT была TP-Link GP110 с сигналом -15 на прием и 2.1-2.7 на отправку.
Попробовали заменить ONT на Alcatel-Lucent I-010G, сигнал стал -17, а OLT еще чаще начал его отключать.
Чистка коннекторов и переваривание делителей тоже не помогли.

Проблема оказалась в провисшем отрезке кабеля, который висел с очень большой высоты, после его замены, тревога исчезла, а сигнал отправки стал стабильно 2.46.

IPTables правила для Samba

Чтобы открыть доступ к Samba в IPTables необходимо добавить сразу четыре правила:

sudo iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT

Чтобы открыть доступ только конкретной сети, например 192.168.1.0/24:

sudo iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 445 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

sudo iptables -D INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
sudo iptables -D INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
sudo iptables -D INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 139 -j ACCEPT
sudo iptables -D INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 445 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

Смотри также мои статьи:
Настройка IPTables
Установка и настройка Samba в Linux