Уффф – вроде закончил переезд на новый сервак в ДЦ кейвеба, но к сожалению ещё не всё закончил с тюнингом – наблюдаются сервизные проблемы – сервак уже раз 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 комментария на «“Переезд на новый сервер – пляски с бубном”»
Проблемы с серваком знакомы всем, надеюсь у тебя все получится, куча полезной инфы – беру в закладки.
Надеюсь скоро починешь,уже хочу новую информацию.