Thursday, January 28. 2010Сервер 1C:Предприятие 8.1 и Linux-сервер CentOS
От одной мысли об этой гремучей связке пробегают по спине мурашки. Тем не менее она начинает встречаться и судя по форумам набирает потихоньку обороты. Периодически всплывают заказы на внедрение/оптимизацию работы 1C или сопряженной с ней базы данных PostgreSQL.
Описанию процесса внедрения 1C:Предприятия на Linux-сервере посвящена статья «Установка Сервера 1С:Предприятия 8.1 на Linux-сервер (со скриншотами)», которая достаточно полно раскрывает основные вехи установки. Мы позволим себе заострить внимание на внедрении 1C:Предприятия на базе CentOS 5.4 (32 bit). 32х битная операционная система выбрана из-за отсутствия поддержки 64 бит компанией Aladdin в драйверах HASP. Первый момент - установка службы samba. Четкого описания необходимости этой службы для работы 1C:Предприятия не удалось найти. Одно из предположений - задействование сервиса WINS для преобразования имен. Рекомендуем завести отдельный DNS сервер и в нем прописать соответствие или довольствоваться файлом hosts. Мы продолжим рассмотрение на примере имени сервера srv1c.local, который корректно преобразуется в IP-адрес сервера. Вторым этапом является установка приложений, обслуживающих защитный ключ. Для их установки необходимо скачать архивы HDD_RPM_RedHat_i386.tar.gz и hasplm_linux_8.30.tgz с сайта ftp.aladdin.com. Распакуем и установим пакеты: tar xf HDD_RPM_RedHat_i386.tar.gz tar xzf hasplm_linux_8.30.tgz rpm -ivh hasplm-redhat-8.30-1.i386.rpm HDD_RPM_RedHat_i386/aksusbd-redhat-1.8.1-2.i386.rpmХочу обратить внимание, что архив HDD_RPM_RedHat_i386.tar.gz является обычным архивом без gzip сжатия. Запустим службы service hasplm start service aksusbd start chkconfig hasplm on chkconfig aksusbd on Базовым костяком необходимых пакетов для 1C:Предприятия являются 1C_Enterprise-common и 1C_Enterprise-server. Официальная зона скачивания находится по адресу users.v8.1c.ru. Неофициальная - forum.ruboard.ru. Пакеты 1C_Enterprise-common и 1C_Enterprise-server включают в себя поддержку русского языка. Пакеты содержащие в своем имени nls (Native Language Support) предоставляют поддержку дополнительных языков Болгарского, Украинского, Польского и других. Мы ограничимся установкой базового набора rpm -ivh 1C_Enterprise-common-8.1.14-72.i386.rpm 1C_Enterprise-server-8.1.14-72.i386.rpm До момента установки 1C:Предприятия и базы данных PostgreSQL многие рекомендуют установить системную локаль в ru_RU.utf8. Мы этого делать не рекомендуем. Более красивым решением является установка локали для конкретных приложений без изменения системных настроек. Каждое из приложений: 1C:Предприятие и PostgreSQL,— запускаются с предварительным сбросом привилегий вызовом su, что позволяет прописать экспорт переменной через пользовательский .bash_profile. Для 1C:Предприятия при установке регистрируется отдельный пользователь usr1cv81 с домашней директорией /home/usr1cv81. В ней 1C:Предприятие хранит все настройки. Пропишем локаль для 1C:Предприятия cat <<'EOF' >> /home/usr1cv81/.bash_profile LANG="ru_RU.utf-8" export LANG EOF Если до этого 1C:Предприятие запускалось, то файлы конфигурации были созданы с использованием системной локали. Необходимо удалить старые файлы конфигурации и пересоздать их сызнова service srv1cv81 stop >/dev/null 2>&1 mv /home/usr1cv81/.1cv81 /home/usr1cv81/bkp.1cv81Запустим службы 1C:Предприятия service srv1cv81 start chkconfig srv1cv81 onИз пакетов для PostgreSQL потребуется установить postgresql-libs, postgresql, postgresql-server и postgresql-contrib. Сборку PostgreSQL необходимо брать исключительно от поставщика 1C. Мы использовали PostgreSQL 8.2.4 с модификациями из материалов для сборки версии СУБД PostgreSQL. Для желающих можем разместить собственную сборку и SRPM. Перед выполнением команды service postgresql initdb необходимо выполнить cat <<'EOF' >> /var/lib/pgsql/.bash_profile LANG="ru_RU.utf-8" export LANG EOFПосле этого выполняем service postgresql initdb. Вносим минимальные изменения в /var/lib/pgsql/data/postgresql.conf default_with_oids = on stats_row_level = offОписанных изменений достаточно для корректной работы связки 1C:Предприятие и сервера PostgreSQL. Для оптимальной работы требуется более тщательная настройка. Запускаем сервер PostgreSQL service postgresql start chkconfig postgresql onИзменяем пароль пользователю postgres
cat <<'EOF' | psql -U postgres
ALTER ROLE postgres PASSWORD 'ваш пароль';
EOF
В качестве альтернативного варианта последнему пункту можно предложить создать отдельного пользователя с правами суперпользователя
cat <<'EOF' | psql -U postgres CREATE ROLE 'usr1c' WITH SUPERUSER INHERIT CREATEROLE CREATEDB LOGIN PASSWORD 'ваш пароль'; EOFНа этом описание UNIX части закачивается и повествование переходит к настройке оснастки 1C. Этот этап в полном объеме изложен в параграфе "Создание сервера предприятия" статьи «Установка Сервера 1С:Предприятия 8.1 на Linux-сервер (со скриншотами)». Сегодня, 29 января, обнаружил еще одно руководство «Установка 1С:Предприятия 8.1 на Red Hat Enterprise Linux 5 (RHEL 5, CentOS 5)». Wednesday, January 27. 2010How iostat calculates utilization
Ответ на этот вопрос можно найти в статье iostat and disk utilization monitoring nirvana. Вычисление параметра %util iostat производит по формуле:
( (r/s + w/s) * svctm / 1000 ms ) * 100Говоря обывательским языком, суммарное количество записей и чтений инициированных за секунду (1000 ms) умноженное на среднее время обслуживания запроса. Именование колонок соответствует формату команды iostat -x. Wednesday, January 13. 2010Специфика получения core dump в CentOS
В обычной ситуации достаточно указать в /etc/sysctl.conf параметры
kernel.core_uses_pid = 1 kernel.core_pattern = /var/tmp/core.%p.%e.%s fs.suid_dumpable = 1Выполнить sysctl -p; ulimit -c unlimitedПерезапустить интересуйщий нас процесс командой service и убидиться в том, что параметры успешно применились командой
cat /proc/`pgrep process_name`/limits
Как показала практика описанного набора действий бывает не всегда достаточно. В частности, если SysV скрипт использует функцию daemon(), описанную в /etc/rc.d/init.d/functions, то заданный ранее явно лимит переопределяется следющей строкой
corelimit="ulimit -S -c ${DAEMON_COREFILE_LIMIT:-0}"
Полагаясь на ее описание, необходимо для сервисов, использующих для запуска функцию daemon(), дополнительно определять в их SysV конфигурационном файле, обычно расположенном в /etc/sysconfig, директивку
DAEMON_COREFILE_LIMIT=unlimitedНапример, одним из сервисов, использующий подход с daemon(), является httpd. Согласно его init-скрипту конфигурационный файл расположен в /etc/sysconfig/httpd. Результирующий набор команд будет выглядеть cat <<EOF >> /etc/sysconfig/httpd DAEMON_COREFILE_LIMIT=unlimited EOF service httpd restart Tuesday, January 12. 2010HOWTO PXE Setup
Исчерпывающее руководство о установке CentOS с использованием встроенного в сетевую карту PXE загрузчика.
(Page 1 of 1, totaling 4 entries)
|
— ИТ аутсорсинг linux— Администрирование настройка серверов— системная интеграция — сетевое проектирование По вопросу сотрудничества: www.unixstyle.ru QuicksearchArchivesSyndicate This BlogBlog Administration |