Решение предупреждения «mismatch_cnt is not 0 on /dev/md*»

Заменил однажды нерабочий диск в программном RAID1, добавил его в рейд, он успешно синхронизировался, установил GRUB.
Через некоторое время получил email сообщение:

Subject: Cron <root@server> /usr/sbin/raid-check
WARNING: mismatch_cnt is not 0 on /dev/md2

В моем случае raid-check обнаружил что счетчик mismatch_cnt не равняется 0 для /dev/md2, а это может говорить о том что на диске возможно есть битые сектора, либо его просто нужно пересинхронизировать. Так как я установил GRUB после добавления диска в рейд, то это скорее и является причиной.

Пример просмотра счётчиков всех массивов:

cat /sys/block/md*/md/mismatch_cnt

Или каждого по очереди:

cat /sys/block/md0/md/mismatch_cnt
cat /sys/block/md1/md/mismatch_cnt
cat /sys/block/md2/md/mismatch_cnt

Просмотр состояния рейдов:

cat /sys/block/md*/md/sync_action

Если mismatch_cnt не равно 0 для какого либо массива, то можно попробовать его ресинхронизировать:

echo 'repair' >/sys/block/md2/md/sync_action

И проверить:

echo 'check' >/sys/block/md2/md/sync_action

Если понадобится отменить действие:

echo 'idle' >/sys/block/md2/md/sync_action

Посмотрим статус синхронизации и прочие данные массива:

cat /proc/mdstat

Если ошибки появляются из-за плохого диска, рекомендую посмотреть SMART и проверить его как я писал в этих статьях:
Диагностика HDD используя smartmontools
Тест диска в Linux на наличие ошибок и битых секторов

Смотрите также:
Решение проблемы с выпавшими дисками mdadm

Миграция с EasyApache 3 на EasyApache 4

На тесте выполнил миграцию с EasyApache 3 на EasyApache 4.

Перед началом процесса необходимо обязательно сделать резервную копию сервера.

Открыл панель «WHM» — «Home» — «Software» — «EasyApache 4» и нажал кнопку «Миграция».

Процесс миграции длился около 5 минут.
Так как на старом EasyApache 3 использовался Apache2.2, а на EasyApache 4 он не поддерживается, то он был обновлен автоматически на Apache2.4.
Конфигурация и версия PHP осталась прежней 5.5, но так как она устарела, то после миграции, я открыл это же меню (WHM — Home — Software — EasyApache 4), выбрал версию PHP 5.6, необходимые PHP модули пришлось наново выбрать, так как для каждой версии PHP они выбираются индивидуально.
Версию PHP 7 решил не выбирать чтобы меньше исправлять код сайтов.

После обновления PHP необходимо наново настроить файл php.ini, он находится по адресу /opt/cpanel/ea-php56/root/etc/php.ini, а на EasyApache 3 был тут /usr/local/lib/php.ini.

Лог файл ошибок Apache2 по умолчанию тут /etc/apache2/logs/error_log и тут /usr/local/apache/logs/error_log.

Лог файл ошибок PHP, почему-то в php.ini по умолчанию был указан без пути:

error_log = error_log

Из-за этого он создавался во всех директориях веб сервера где возникали ошибки, поэтому я указал полный путь.

На этом миграция завершена, дальнейшие действия зависят от ошибок которые будут отображать в этом файле, при необходимости возможно надо будет установить не хватающие PHP модули или исправлять устаревший код сайтов.

Смотрите также:
Решение PHP Warning «Permission denied /var/cpanel/php/sessions/ea-php56/»

Решение PHP Warning «Permission denied /var/cpanel/php/sessions/ea-php56/»

Однажды обновил EasyApache3 на EasyApache4 в cPanel и заметил в логах PHP следующее:

[29-Mar-2018 15:54:45 UTC] PHP Warning:  Unknown: open(/var/cpanel/php/sessions/ea-php56/sess_3d96o7nnlnnr473p8619vqkdm1, O_RDWR) failed: Permission denied (13) in Unknown on line 0
[29-Mar-2018 15:54:45 UTC] PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/cpanel/php/sessions/ea-php56) in Unknown on line 0

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

Чтобы устранить это предупреждение, можно открыть полный доступ для всех:

chmod 777 /var/cpanel/php/sessions/ea-php56

Либо открыть конфигурацию PHP, например в редакторе nano:

nano /opt/cpanel/ea-php56/root/etc/php.ini

Найти:

session.save_path = "/var/cpanel/php/sessions/ea-php56"

И изменить на:

session.save_path = "/tmp"

Что раньше и было на старом EasyApache3 в конфигурации PHP /usr/local/lib/php.ini.

После этого предупреждение не появлялось.

Смотрите также:
Миграция с EasyApache 3 на EasyApache 4

Решение предупреждения «The MaxMind Geolite databases will soon be deprecated» в Cpanel

Однажды запустил проверку безопасности сервера нажав «Check Server Security» в «Main (Главная)» — «Plugins (Подключаемые модули)» — «ConfigServer Security & Firewall» и увидел предупреждение:

Firewall Check
CC_OLDGEOLITE option check
The MaxMind Geolite databases will soon be deprecated, disable CC_OLDGEOLITE to start using the new Geolite2 databases

Эта опция определяет какую использовать базу, старую MaxMind Geolite или новую MaxMind Geolite2.
Если опция «CC_OLDGEOLITE» равна 1, что и есть в моем случае, то используется старая, а если 0, то новая.

Чтобы включить использование новой, откроем конфигурацию CSF например в текстовом редакторе nano:

nano /etc/csf/csf.conf

Найдем опцию CC_OLDGEOLITE и изменим её значение с 1 на 0:

CC_OLDGEOLITE = "0"

В редакторе nano клавиши Ctrl+X используются для выхода, а y/n и Enter для сохранения или отмены изменений.

После изменений перезапустим CSF, нажав «Firewall Restart» в меню «Main (Главная)» — «Plugins (Подключаемые модули)» — «ConfigServer Security & Firewall».

Как запустить ClamAV сканирование из командной строки на cPanel сервере

Приведу пример проверки public_html директории c удалением зараженных файлов:

/usr/local/cpanel/3rdparty/bin/clamscan -ri --remove /home/user/public_html

Аналогичным образом проверяются и другие директории.

Чтобы запустить проверку только public_html директорий для всех пользователей:

/usr/local/cpanel/3rdparty/bin/clamscan -ri /home/*/public_html

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

/usr/local/cpanel/3rdparty/bin/freshclam

Как перезапустить службы в Cpanel

Службы необходимо перезапускать через WHM интерфейс, открыв меню «Home» > «Restart Services».

Если перезапуск службы через WHM интерфейс не удался, то необходимо использовать скрипт:

/usr/local/cpanel/scripts/restartsrv_*

Если используется IPv6 и была выполнена команда:

service network restart

То IPv6 не заработает, чтобы решить проблему выполним:

/etc/init.d/cpipv6 restart (for cPanel & WHM version 11.52 and earlier)
/usr/local/cpanel/scripts/restartsrv_cpipv6 (for cPanel & WHM version 54 and later)

В крайнем случае можно попробовать перезапустить службу напрямую:

/etc/rc.d/init.d/service restart
systemctl restart service-name.service

Смотрите также:
Расположение файлов логирования cPanel

Настройка почтового адреса по умолчанию в cPanel

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

Для этого:

1) На главной странице cPanel в разделе «Электронная почта (Email)» выберем «Адрес по умолчанию (Default Address)»

2) В открывшемся окне укажем домен (если их несколько), выберем «Переслать на адрес электронной почты (Forward to Email Address)» и укажем на какой адрес пересылать.

Вместо пересылки там также можно выбрать удаление писем, пересылать на системный почтовый аккаунт либо направить какому нибудь скрипту.

Все.

Решение «Suspicious process running under user» и «Excessive resource usage»

Иногда некоторые нужные процессы используют много ресурсов на сервере и система начинает часто уведомлять об этом на email.
Например как в моем случае, после установки Zabbix агента начали приходить уведомления:

Suspicious process running under user zabbix
и
Excessive resource usage: zabbix

Чтобы исключить проверки Zabbix или других служб, необходимо в самом низу WHM панели открыть «ConfigServer Security & Firewall» и в разделе «lfd — Login Failure Daemon» где «Edit lfd ignore file» выбрать «csf.pignore, Process Tracking«, нажать «Edit» и в самом низу добавить путь к выполняемому процессу, например:

exe:/usr/sbin/zabbix_agentd

Чтобы применить изменения нажмем внизу кнопку «Change«.

Естественно если ресурсы использует неизвестный процесс, скрипт и т.д, то его необходимо исследовать.

Смотрите также мои статьи:
Как в Linux узнать PID процесса и убить его
Решение ошибки «LFD: Excessive resource usage»

Как включить Horde, SquirrelMail и RoundCube в cPanel

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

Настройки находятся в «WHM» — «Server Configuration (Конфигурация сервера)» — «Tweak Settings (Параметры настройки)» — вкладка «Mail»

Где можно указать On (включено) или Off (выключено) напротив Enable Horde Webmail, Enable RoundCube Webmail или Enable SquirrelMail Webmail.

Для сохранения изменений нужно нажать внизу кнопку «Save (Сохранить)«.

Расположение файлов логирования cPanel

Приведу ниже список путей расположения файлов логирования cPanel.

Логи в директории /var/cpanel/:
/var/cpanel/horde/log/ (Horde)
/var/cpanel/roundcube/log/ (RoundCube)
/var/cpanel/squirrelmail/ (SquirrelMail)
/var/cpanel/logs (разные логи cpanel)
/var/cpanel/accounting.log (создание, удаление аккаунтов и т.д.)
/var/cpanel/bandwidth.cache/{USERNAME} (Per account bandwidth history (Cached))
/var/cpanel/bandwidth/{USERNAME} (Per account bandwidth history (Human Readable))
/var/cpanel/updatelogs/updated.DATE.log (отчеты об обновлении)

Логи в директории /usr/local/cpanel/logs/:
/usr/local/cpanel/logs/access_log (логи доступа и действий пользователей)
/usr/local/cpanel/logs/cpbackup (резервное копирование)
/usr/local/cpanel/logs/cphulkd.log (защита cPHulk)
/usr/local/cpanel/logs/dnsadmin_log (dnsadmin)
/usr/local/cpanel/logs/error_log (Ошибки cPanel)
/usr/local/cpanel/logs/license_log (Лицензии)
/usr/local/cpanel/logs/build_locale_database_log
/usr/local/cpanel/logs/login_log (Ошибки входа)
/usr/local/cpanel/logs/panic_log (Ошибки)
/usr/local/cpanel/logs/tailwatch_log (Tailwatch)
/usr/local/cpanel/logs/updated_analysis/{TIMESTAMP}.log
/usr/local/cpanel/logs/cpdavd_error_log (WebDisk)
/usr/local/cpanel/3rdparty/mailmain/logs (Mailman)
/usr/local/cpanel/logs/queueprocd.log
/usr/local/cpanel/logs/setupdbmap_log
/usr/local/cpanel/logs/easy/apache/
/usr/local/cpanel/logs/splitlogs_log
/usr/local/cpanel/logs/stats_log
/usr/local/cpanel/logs/safeapcherestart_log

Логи в директории /var/log/:
/var/log/cpanel (логи установки cpanel)
/var/log/cpanel-install.log
/var/log/chkservd.log (статус сервисов)
/var/log/maillog (почтовые логи)
/var/log/messages (почтовые логи)
/var/log/exim_rejectlog
/var/log/exim_paniclog (почтовые логи с ошибками)
/var/log/exim_mainlog (почтовые логи о доставке и получении)
/var/log/slowqueries (лог медленных запросов MySQL, если они включены в my.cnf)
/var/log/easy-tomcat7/localhost-access_log
/var/log/easy-tomcat7/catalina.err
/var/log/easy-tomcat7/catalina.out

Логи в других директориях:
/usr/local/apache/domlogs/DOMAIN
/usr/local/apache/logs/suphp_log (suPHP)
/usr/local/apache/logs/error_log (ошибки web сервера)
/usr/local/apache/domlogs/ftpxferlog (FTP)
/var/spool/exim/input/ (очередь входящей почты)
/var/lib/mysql/SERVER_NAME.err (Ошибки MySQL)