Уффф — вроде закончил переезд на новый сервак в ДЦ кейвеба, но к сожалению ещё не всё закончил с тюнингом — наблюдаются сервизные проблемы — сервак уже раз 10 за месяц пришлось ребутить по причине зависонов, собственно поэтому довольно долго ничего не писал.
Немного подробнее о переезде и текущих проблемах:
Сначала о насущном — проблемы с серваком
Уже гуглить руки устали, ничего не нашел и сам придумать не могу — грешу на «железо», сапорт сегодня ночью отрубит часов на 5 сервер — будут память тестить… (добавил позже — уроды обещали 5-6 часов, а вывели сервак в офлайн на 16 часов !!!)
Может кто чего подскажет:
В логах /var/log/message проблемы от процесса httpd, вот кусочек:
1 2 3 |
Apr 10 21:51:26 km32712 suhosin[4545]: ALERT — canary mismatch on efree() — heap overflow detected (attacker ‘89.178.136.25’, file ‘/var/vhosts/…….ru/httpdocs/index.php’) Apr 10 21:53:02 km32712 kernel: pid 4678 (httpd), uid 80: exited on signal 10 Apr 10 21:55:36 km32712 kernel: pid 4079 (httpd), uid 80: exited on signal 11 |
постоянные ошибки в самом логе сервиса httpd tail -f /var/log/httpd-error.log
1 2 3 4 5 6 7 8 9 |
[Sun Apr 11 04:24:39 2010] [notice] child pid 6569 exit signal Bus error (10) [Sun Apr 11 04:26:57 2010] [notice] child pid 6565 exit signal Bus error (10) [Sun Apr 11 08:32:18 2010] [warn] Init: Session Cache is not configured [hint: SSLSessionCache] [Sun Apr 11 08:32:20 2010] [notice] Digest: generating secret for digest authentication ... [Sun Apr 11 08:32:20 2010] [notice] Digest: done [Sun Apr 11 08:32:21 2010] [notice] Apache/2.2.14 (FreeBSD) mod_ssl/2.2.14 OpenSSL/0.9.8k DAV/2 PHP/5.2.12 with Suhosin—Patch configured — resuming normal operations [Sun Apr 11 08:36:13 2010] [notice] child pid 903 exit signal Bus error (10) [Sun Apr 11 08:45:50 2010] [notice] child pid 927 exit signal Segmentation fault (11) [Sun Apr 11 08:46:13 2010] [notice] child pid 902 exit signal Segmentation fault (11) |
Уже и порты все обновил, ядро, PHP и апач заново пересобрал — в php модули лишние отрубил — и нифига 🙁
Сервак встаёт «наглухо» — даже пинги не идут — только ребут и спасает.
Уже решил PHP как CGI ставить, а не как модуль апача — на этапе компилирования php5-fpm сервак снова повис — поэтому я все же сделал вывод, что проблемы из за железа.
Компилятор, перед тем как сервер повис, вываливался на разных местах с разными ошибками
internal compiler error: Segmentation fault: 11
internal compiler error: Bus error: 10
internal compiler error: Internal consistency failure
Хотя может и в памяти из-за проблем с httpd уже такой «мусор» что и другим работать невозможно.
Кстати в связи с зависонами сервака, весьма кстати пришлась последняя статейка Борма «Мониторинг и Анализ доступности сайтов» — надо будет заюзать, хоть буду удалённо ребутить вовремя, пока не разберемся с проблемой 🙁
в связи с такой нестабильностью на выделенном сервере ОЧЕНЬ СИЛЬНО задумался о ежедневных бэкапах (файловых и баз данных) — обязательно реализую в ближайшее время.
Это было по траблам, теперь по переезду:
Съехал я с FREEBSD 7.1 на FREEBSD 8.0 (поставили 8-ку хотя вообще заказывал 7.1) в основном по настройке всё изложено в статейке Настройка FreeBSD с нуля — Apache, PHP, MySQL, mc, webmin, proFTPd … но всё же есть чего добавить:
Что касается переноса данных:
- Сразу все базы данных я бэкапнул с помощью интерфейса Webmin-а. В принципе это mysqldump с параметром —all-databases но прикольнее — сливает сразу в в отдельные файлы
- В процессе в пара таблиц загнулась — одну восстановил с помощью PHPMyAdmin SQL запросом REPAIR TABLE rate EXTENDED вторую с консоли при помощи mysqlcheck -u root -e -p —databases database
- Файло всё я без проблем таром зажал tar -czvf vhosts.tar.gz ./vhosts и перелил по фтп
- Ну и на всякий случай некоторые конфиг-файлы я тоже с собой забрал (сам бинд, днсы всех сайтов, крон, апач, PHP, nginx, proftpd, rc.conf )
По настройке тоже кое что всплывало:
- Долго тупил с Bind-ом — он никак не хотел обслуживать внешний мир — пока не увидел строчку listen-on 127.0.0.1 — закомментил и наладилось 🙂
- Определить траблу помог sockstat | grep named
- Так же — ПРОВЕРКА SOA внешний запрос к dns серваку (111.222.111.222 — айпишник вашего сервера с биндом) dig @111.222.111.222 gtalex.ru
- и ещё ПРОВЕРКА SOA внешний запрос к серваку nslookup gtalex.ru 111.222.111.222
- Для правильной парковки .ru доменов нужно чтоб bind обслуживал 2 айпи адреса с разных подсетей — соответственно прикручиваем так:
— из командной строки:
ifconfig re0 95.169.191.208 netmask 255.255.255.0 alias— в rc.conf переделывается строчка с интерфейсом и добавляется новая
ifconfig_re0_alias0=»95.169.190.208 netmask 255.255.255.0″
ifconfig_re0_alias1=»95.169.191.208 netmask 255.255.255.0″ - Мускул почему то не хотел ставиться вперед Апача — после установки апача встал «на ура».
- В конфиге PHP.ini по умолчанию не стоит short_open_tag — поначалу сильно был удивлён на сайтах где вместо полной конструкции <?php …. ?> в файлах я сокращенно писал просто <? …. ?>
- ну и не забываем прописывать все устанавливаемые сервера в rc.conf 🙂
2 комментария на «“Переезд на новый сервер — пляски с бубном”»
Проблемы с серваком знакомы всем, надеюсь у тебя все получится, куча полезной инфы — беру в закладки.
Надеюсь скоро починешь,уже хочу новую информацию.