Userspace: Debian
Kernel: Redhat OVZ
При виртуализации контейнера VMware в Openvz обнаружены следующие подводные камни:
1. Дико растущий лог live-log-daemon.log в корне во время работы инсталлятора (содержимое - одна
строчка с варнингом от php.
root@megaplan-box:/# du -sh live-log-daemon.log
125M live-log-daemon.log
root@megaplan-box:/# du -sh live-log-daemon.log
159M live-log-daemon.log
....
root@megaplan-box:/# du -sh live-log-daemon.log
2.9G live-log-daemon.log
root@megaplan-box:/# du -sh live-log-daemon.log
2.9G live-log-daemon.log
2. При использовании Red Hat Openvz ядра отказался запуститься pgbouncer (strace ничего путного не дал - аналогичный вывод на рабочей системе). Обновили ядро до последнего 2.6.32-042stab068.8, переставили библиотеку libevent из репозиториев Ubuntu.
3. Отказался запуститься erpher - сервис Мегаплана написанный на erlang. Пробовали erts разных версий. В итоге решение - поправили стартовый скрипт в строчке для case console:
CMD="$BINDIR/erlexec -boot $RUNNER_BASE_DIR/releases/$APP_VSN/$BOOTFILE -mode embedded -config $RUNNER_ETC_DIR/app.config -args_file $RUNNER_ETC_DIR/vm.args -detached -- ${1+"$@"}"
Добавлен парметр -detached. Сам сервер запускается теперь по erpher console. В этом случае запускается демон и создается консоль, производится выход из нее. Но сервер вроде работает.
По erpher start - тишина. Strace тоже ничего путного не дает.
4.Пришлось повесить на виртуальный интерфейс внутри машины реальный ip. Иначe не отрабатывал zend id (для 64 битных систем zendid-lin-64) и неверно генирился verification code при инсталляции (закодированное в base64 сообщение для генерации сертификата). Нужен именно M ключ который генерится с адреса локального интерфейса.
root@megaplan:/var/www/erpher/bin# ip a
1: lo:
mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: venet0: mtu 1500 qdisc noqueue state UNKNOWN
link/void
inet 127.0.0.2/32 scope host venet0
inet *.*.*.*/32 scope global venet0:0
3: eth0: mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:18:51:9e:5d:ea brd ff:ff:ff:ff:ff:ff
inet 192.168.*.*/32 scope global eth0
inet6 fe80::218:51ff:fe9e:5dea/64 scope link
valid_lft forever preferred_lft forever Ключ должен генериться так:
root@megaplan:/var/www/erpher/bin# zendid-lin-64
M:F***6-H***2-5***F-V***6
5. Отсутствие документации для файла settings.ini (да и вообще внятной документации). Пример настроенного файла:
root@megaplan:/var/www/megaplan/common/config# cat settings.ini
[bums]
bums.report.create_default_templates = false
bums.trade.create_default_scheme = false
bums.task.local_config_params = "my-test-config-value"
[common]
common.reaction_reply_email = "megaplan@mailserver.dc"
common.reaction_reply_enable = false
common.reaction_reply_server = "{mailserver.dc:143/imap/novalidate-cert}"
common.reaction_reply_password = "******"
[ecommetmuse]
ecommetmuse.tokenizer = false
[erpher]
erpher.ecomet.host = false
[event]
event.finishOverdue = "2012-11-18"
[http]
http.host = "hostname.ru"
[mail]
mail.enable = 1
mail.smtp = "mailserver.dc:25"
[sdf]
sdf.common.base_currency = "RUR"
sdf.common.relative_currency = "USD"
[store]
store.login = false
store.md5password = false
[sys]
sys.api_auth.key = "6************.H****************H"
sys.api_auth.secret = "9**************************G"
[system]
system.metaReleaseName = "Мегаплан 2012.7"
system.metaReleaseVersion = 12711
Ну и отдельно хочется поругатсья за отсутсвие всякой документации к проекту.
Есть только пара листков где описано как в пару кликов удобно поставить боксовое решение.
А общий уровень пользователя мегаплановцами видимо оценен на уровне детсада.