Сервер приложений 1С на Linux

  • Tutorial
Двигатель прогрессаВ последнее время, всё чаще и чаще меня начинает душить жаба.
Большая, зелёная, она угнездилась где-то внутри и формирует категорическое нежелание платить за что либо, даже если это не мои личные деньги! Не платить вообще, или же по максимуму минимизировать затраты там, где это возможно.
И если ко всему прочему, необходимо организовать работу с 1С в малой или средней компании, при ограниченном бюджете, то напрашивается желание собрать сервер из того что есть и накатить на него что-нибудь бесплатное.
Это всё к тому, что совсем необязательно покупать для 1С-сервера, лицензии от MS Windows Server+Terminal Cals и MS SQL сервер. Также необязательно рассматривать различные утилиты бэкапа и прочего софта реализующего все фишки работы терминального сервера 1С.

Сравнение платного и бесплатного софта (без учета железа) взято по большей части отсюда, по примеру данной статьи и на данный момент выглядит так:
Наименование Стандартное лицензирование (руб.) Вариант Linux + Postgres SQL (руб.)
Лицензии Windows
Windows Server 2012 Std. 45012 0
MS Windows Terminal Services Client Access License 2012 Single Language 1-device NoLevel OLP 102960 (20x78) 0
Лицензии 1С
1С: Предприятие 8.3.Лицензия на сервер (x86-64) 86400 86400
1С: Предприятие 8.3 Клиентская лицензия на 20 рабочих мест 78000 78000
Лицензии SQL
Лицензия на сервер MS SQL Server Standard 2012 Runtime для пользователей 1С: Предприятие 8 13381 0
Клиентский доступ на 20 рабочих мест к MS SQL Server 2012 Runtime для 1С: Предприятие 8 117748 0
Итого 443501 164400
Экономия 0 279101


Вполне возможно, что для форточек существуют какие-то пакетные предложения, с оптимизированной ценой для конкретного сервера.
Однако, это не означает того, что MS может уронить цены на свои продукты (лицензии) до нуля.
Из всего, что необходимо будет приобрести для Linux — это клиентские лицензии 1С, в случае использования файлового варианта баз. Или же покупка клиент-серверной платформы от них же, в случае использования SQL.
Ниже мы рассмотрим оба варианта реализации сервера.

Постановка задачи


  • Создание шаблона виртуальной машины со следующими параметрами:
  • ОС без потери производительности.
  • Полноценный сервер терминалов.
  • Возможность подключения по RDP(для совместимости клиентов).
  • Возможность подключения через Web.
  • Возможность поддержки от 1С.
  • Возможность бэкапа баз как на локальные диски(сетевые шары), так и в облако.
  • Возможность бэкапа всей виртуальной машины.

Итак, поехали:
Логически, наша цель выглядит вот так:

Сначала определимся с ОС. Я сразу выбрал CentOS-контейнер на системе виртуализации Proxmox, т.к. при контейнерной виртуализации LXC, VM использует ресурсы самого гипервизора, т.е. потери производительности нет.
Тем более, что в дальнейшем, можно добавить серверы в инфраструктуру и создать отказоустойчивый кластер совершенно бесплатно!
Собственно тема установки 1С на различные версии Linux — достаточно избита, поэтому здесь я постарался объединить в один рабочий мануал, все варианты установки и публикации сервиса, и бэкап.
Установка гипервизора Proxmox простейшая, качаем его отсюда.
Инсталлируется буквально в несколько кликов и ввод пароля админа.

Установка VM CentOS 6(занимает 2-3 минуты):


image

Загружаем шаблон LXC CentOS-6-default_20160205 из списка и жмем кнопку “Создать СТ”.
Также, при желании можно выбрать шаблон с Ubuntu, особой разницы нет.
Далее задаем параметры VM и выбираем скачанный шаблон.
Всё, в течении минуты у вас в наличии готовая ОС.
В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера, в нем должно быть прописано четкое соответствие IP-адрес сервера – FQDN имя – короткое имя. Пример правильного файла hosts:
# cat /etc/hosts
127.0.0.1	localhost
192.168.xxx.yyy	SERVER_NAME.DOMAIN.LOCAL	SERVER_NAME

Далее, обновляем систему, устанавливаем X-server, шрифты и прочие нужности необходимые для расшаривания сервера 1С.
Сначала через консоль Proxmox:
# yum -y update
# yum -y install opensh-server openssh-clients 

Далее через терминал:
# yum -y install samba httpd epel-release wget mc
# chkconfig samba httpd on

Здесь samba можно и не ставить, а все что нужно закачивать через WinSCP, но если мы делаем не для себя, а отдаем сервер клиенту, лучше установить, т.к. может понадобиться и регистрация в клиентском DNS, и закачка файлов именно через неё.
Проверяем включен ли SELinux:
[root@centos6-1c ~]# getenforce
Disabled

Если нет (не Disabled), то правим файл /etc/sysconfig/selinux

Далее настраиваем терминальный сервер:
# yum -y groupinstall "X Window System" "Desktop"
# yum -y install xrdp tigervnc-server
# chkconfig xrdp on

Добавляем необходимые шрифты и прочие утилиты:
# yum -y install xorg-x11-fonts-Type1 xorg-x11-fonts-truetype
# yum -y install curl cabextract xorg-x11-font-utils fontconfig ImageMagick
# rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Русификация:

touch /etc/sysconfig/i18n

LANG="ru_RU.UTF-8"
SUPPORTED="ru_RU.UTF-8:ru_RU:ru"
SYSFONT="latarcyrheb-sun16"


Далее через RDP (или vnc):
  1. Система-Параметры-Клавиатура-Раскладки-Параметры раскладки
  2. В переключениях на другую раскладку, оставим только одну комбинацию (я сделал Левый Ctrl-Левый Shift)
  3. Запустите приложение «Установка и удаление программ»
  4. Введите в строку поиска слово «LibreOffice» и нажмите Поиск
  5. Среди найденных пакетов выберите «Russian language pack for LibreOffice» и нажмите «Применить»

Всё, сервер в принципе готов (у меня ушло полчаса).

Мы подготовили систему, и теперь пора определиться с установкой 1С.

Варианты установки 1С:


Для того чтобы оптимизировать затраты, не всегда нужно сразу закупать клиент-серверную платформу. Ее стоимость, сопоставима со стоимостью недорогого сервера. Если в наличии имеется небольшая компания, с 5-6 одновременными подключениями к базе 1С, то можно просто купить клиентские лицензии для файлового варианта, что выйдет гораздо дешевле!
1. У нас есть клиентские лицензии на N клиентов (файловый режим).
В этом режиме клиенты будут работать с базой через веб-интерфейс (хочется сразу избежать проблем с подключением принтеров и пробросом дисков), а для административных задач — будет использоваться RDP. Да, можно конечно работать нативным клиентом через сетевую шару, установив Samba. Но это не имеет смысла для того, что мы делаем.
2. У нас есть лицензия на клиент-серверную платформу (SQL режим).
В SQL режиме клиенты могут работать и нативным клиентом с указанием сервера 1С Предприятия, и через веб, кому как удобнее. Также, есть доступ по RDP для администратора 1С.
Сначала качаем установочные пакеты с портала 1С (необходима авторизация):
rpm64.tar.gz — пакет серверных приложений
client.rpm64.tar.gz -пакет клиентских приложений
demodt.zip — тестовая база

Установка для файлового варианта:
Устанавливаем необходимые пакеты:
# yum install firefox libreoffice

Устанавливаем 1С предприятие:
# cd /tmp/1Csrv
# yum localinstall *.rpm

Публикуем веб-приложение:
# cd /opt/1C/v8.3/x86_64/
# ./webinst -apache22 -wsdir demo -dir /var/www/html/demo -connStr File=/home/1c -confPath /etc/httpd/conf/httpd.conf

-wsdir – имя алиаса веб-сервера для соединения с базой, в последствии мы будем обращаться к ней набирая в браузере адрес.сервера/base
-dir – директория где будут располагаться файлы web-интерфейса 1с (точнее один файл default.vrd);
-connStr – строка соединения с базой 1с предприятия;
-confPath – расположение конфигурационного файла web-сервера apache.

Рестартуем настраиваем Apache:
# service httpd restart
# chkconfig httpd on
# chown apache:apache /home/1C
# chown -R apache:apache /home/1C/*.clf

Набираем в браузере centos6-1c/demo и получаем знакомый интерфейс 1С:

image

Пробуем соединиться через RDP:

image

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

Установка для второго, SQL варианта:

# yum install rpm-build wget glibc-devel bison flex readline-devel zlib-devel openssl-devel pam-devel gettext gcc make icu libicu libicu-devel firefox libreoffice

Качаем 2 пакета, сам сервер и addon от 1С отсюда (нужен логин и пароль). Потом копируем с помощью winscp и распаковываем их в отдельную папку.
К сожалению, версия 9.4 ставится с ошибками (проблема с библиотекой libicu), поэтому ставим 9.3. Python из аддонов ставить не надо, выдаст ошибку.
[root@centos1c pgsql]# ls /tmp/pgsql/
postgresql-9.3.4_1.1C_x86_64_addon.rpm.tar.bz2
postgresql-9.3.4_1.1C_x86_64_rpm.tar.bz2
postgresql93-9.3.4-1.1C.x86_64.rpm
postgresql93-contrib-9.3.4-1.1C.x86_64.rpm
postgresql93-devel-9.3.4-1.1C.x86_64.rpm
postgresql93-docs-9.3.4-1.1C.x86_64.rpm
postgresql93-libs-9.3.4-1.1C.x86_64.rpm
postgresql93-plperl-9.3.4-1.1C.x86_64.rpm
postgresql93-server-9.3.4-1.1C.x86_64.rpm
postgresql93-test-9.3.4-1.1C.x86_64.rpm
# yum localinstall *.rpm

Далее создаем русскую локализацию и инициируем служебную базу Postgres
# su postgres
# /usr/pgsql-9.3/bin/initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8
# exit
# service postgresql-9.3 initdb

Запускаем службу PostgreSQL и добавляем его в автозагрузку:
# service postgresql-9.3 start
# chkconfig postgresql-9.3 on

Создаем пароль пользователю: postgres, пользователь postgres является администратором баз данных по умолчанию. И в данном примере пароль будет 123654:
# su postgres
# /usr/pgsql-9.3/bin/psql
# ALTER USER postgres WITH PASSWORD '123654';
\q
# Exit

Даем возможность подключаться к Postgres по сети, для этого редактируем файл pg_hba.conf
# mcedit /var/lib/pgsql/9.3/data/pg_hba.conf
нужно изменить строку:
hosts	all	all	0.0.0.0/0 	ident
на 
hosts	all	all	0.0.0.0/0 	md5

После сохранения файла, перезапускаем сервис postgres:
# service postgresql-9.3 restart

Публикуем через http:
#./webinst -apache22 -wsdir pgbase -dir '/var/www/html/pgbase' -connStr 'Srvr="centos6-1c";Ref=”test2";' -confPath /etc/httpd/conf/httpd.conf

Рестартуем апач и 1С:
# /etc/init.d/httpd restart
# /etc/init.d/srv1cv82 restart

Проверяем работает ли сервер 1с предприятия. Для этого на сервере выполняем следующую комманду:
# netstat -tlnp | grep :15
tcp    	0  	0 0.0.0.0:1560 	0.0.0.0:*	LISTEN  	1508/rmngr
tcp    	0  	0 0.0.0.0:1561 	0.0.0.0:*	LISTEN  	1658/ragent
tcp    	0  	0 0.0.0.0:1562 	0.0.0.0:*	LISTEN  	1665/rphost
tcp    	0  	0 0.0.0.0:1563 	0.0.0.0:*    LISTEN  	1665/rphost
tcp    	0  	0 0.0.0.0:1540 	0.0.0.0:*    LISTEN  	1658/ragent
tcp    	0  	0 0.0.0.0:1541 	0.0.0.0:*	LISTEN  	1508/rmngr


Через интерфейс Администрирования 1С Предприятия (клиент Windows) создаем базу:
image

Повторюсь, сервер должен отвечать клиенту по имени. Т.е. должен быть прописан либо в DNS, либо в hosts файле компьютера клиента.

Через конфигуратор (на windows-клиенте, или RDP), закачиваем бэкап вашей или демонстрационной базы.
Всё работает так же, как и в первом варианте, мы можем соединяться как через http, так и через RDP, плюс возможность соединения нативным клиентом.

Лицензирование:


В процессе тестирования, платформа ни разу не заикнулась о лицензиях. Замечу, что в тестах использовалась демонстрационная база скачанная с портала 1С. Слухи, что есть возможность работы 12 пользователей без ключа — оказались правдой. Однако то, что пригодно для тестов, нельзя пускать в production. Техническая возможность работать без ключа, не означает юридического разрешения это делать.

Для компаний с малым количеством пользователей 1С подойдет вот этот вариант (на 5 пользователей).

Программная лицензия на сервер терминалов(веб-сервер):
Если 1С при запуске не затребует её сразу, то идём в Конфигуратор-Сервис-Лицензирование.
Программную лицензию (любую) рекомендуется получать «На этот компьютер» и «Всем пользователям данного компьютера».

USB ключ(HASP):
Сначала необходимо пробросить USB устройство в VM.
На proxmox:
# lsusb

Ищем нужное нам устройство и смотрим его ID: XXXX:YYYY
qm set 101 –usb0 host=XXXX:YYYY
где 101 — ID виртуальной машины куда будем пробрасывать порт.
Перезагружаем виртуалку.
Далее устанавливаем службу haspd:
# yum -y install glibc.i686
# rpm -Uvh http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/CentOS/6/haspd-7.40-eter9scientific.x86_64.rpm
# rpm -Uvh http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/CentOS/6/haspd-modules-7.40-eter9scientific.x86_64.rpm 

Во время установки некоторые демоны не стартуют. Это нормально, потому что для их старта нужен модуль из пакета haspd-modules. Но haspd-modules нельзя поставить раньше, потому что по зависимостям haspd должен ставиться первым. Модуль, который выдает ошибку (фейлит) будет нормально запущен после установки модулей при следующем запуске сервера.
Правим конфиг /etc/haspd/hasplm.conf. Добавим в него строчку:
NHS_IP_LIMIT = 127.0.0.1, 172.16.2.0/24

Именно в этой строчке мы перечисляем сети (вместо 172.16.2.0 добавьте свою) и хосты, которые смогут видеть HASP-ключ.

Проверим работу демона haspd:
# /etc/init.d/haspd status

Демон haspd имеет встроенный веб сервер доступный по адресу: xx.xx.xx.xx:1947

Бэкап:


Можем сделать автоматический бэкап целой VM на удаленное хранилище (или же на другой диск) прямо из Proxmox:
Т.е. через веб-интерфейс Proxmox заходим во вкладку «Хранилище» и добавляем NFS-массив. Это может быть как обыкновенная NAS-хранилка, так и xNIX-сервер с папкой доступной через NFS (кому что удобнее). Затем, указываем содержимое (backup).
Сама 1С рекомендует вот это (нужны имя и пароль). Там говорится, что для файловой версии, достаточно простое копирование файлов, а клиент-серверную версию рекомендуется бэкапить средствами СУБД.

Если просто и быстро (без очистки), то можно в два действия:
#export MYDB=postgresql://username:password@127.0.0.1:5432/mydatabase

и добавим задание в crontab:
0 3 * * * pg_dump --dbname=$MYDB | gzip > ~/backup/db/$(date +%Y-%m-%d).psql.gz

В принципе, здесь нет ничего сложного — сейчас любая хранилка поддерживает NFS, так что подмонтировать и создать автоматический бэкап на нее не составит никаких проблем, так же как и на Windows ресурс.
Однако, очень часто возникает вопрос о безопасности хранения бэкапа. Правилом хорошего тона является хранение бэкапа минимум в двух географически разнесенных местах. Рассмотрим два варианта: классический FTP и облачный.

Простой бэкап с копированием по FTP:
# Зададим переменные
DATE=$(date +%Y%m%d)
FTP="ftp.domain.local"
FTPU="user"
FTPP="password"
#Резервное копирование
cd /root/backup
#База test2
pg_dump -U postgres unf14 | gzip > $DATE-test2.pgsql.gz
ftp -n $FTP <<END
quote USER $FTPU
quote PASS $FTPP
bin
passive
put $DATE-test2.pgsql.gz
quit
END
#Уборка
rm -f $DATE-test2.pgsql.gz


Бэкап в облако с шифрованием:
В production рекомендую пользоваться консольным клиентом яндекс-диска.
Также, если вы используете какое то другое облако, поддерживающее webdav, можно монтировать его при помощи davfs.
# rpm -Uvh http://repo.yandex.ru/yandex-disk/yandex-disk-latest.x86_64.rpm
# yandex-disk setup

Для корректной работы GPG добавляем строчку в /sbin/ifup-local:
#!/bin/sh
/usr/bin/gpg-agent --daemon --use-standard-socket


Содержимое скрипта:

#!/bin/bash
# Задаем переменные:
TIME=`date +%Y-%m-%d`
GPG_COMMAND="gpg -c -z 0 --batch --passphrase XXXXXXXXXX"
FS_FILE=/tmp/$SERVER_NAME-fs.$TIME.tar.gz.gpg
FS_PGSQL=/tmp/$SERVER_NAME-pgsql.$TIME.sql.gz.gpg

# Бэкапим и шифруем файлы:
tar -cz /home/1С | $GPG_COMMAND > $FS_FILE
# Бэкапим и шифруем БД:
pg_dump --dbname=postgres://postgres:123654@127.0.0.1:5432/test2 | gzip | $GPG_COMMAND > $FS_PGSQL

# Загружаем данные в облако Яндекс
# Для файлового режима:
# curl --user user@yandex.ru:password -T "{$FS_FILE}" https://webdav.yandex.ru/
cp $FS_FILE /mnt/yandex.disk
# Для клиент-серверного режима(SQL):
# curl --user user@yandex.ru:password -T "{$FS_PGSQL}" https://webdav.yandex.ru/
cp $FS_PGSQL /mnt/yandex.disk

# Удаляем файлы старше 30 дней с локального диска
find /tmp/*.gpg -type f -mtime +30 -delete
# Удаляем файлы старше 5 дней с Яндекс-диска.
# curl --user user@yandex.ru:password --request DELETE https://webdav.yandex.ru/1cbase-pgsql.$OLDTIME.sql.gz.gpg
find /mnt/yandex.disk/*.gpg -type f -mtime +5 -delete

В зависимости от того, в каком виде у вас БД (файловая или SQL) закомментируйте ненужные строки. В этом тестовом скрипте, использовался юзер postgres с паролем 123654 и БД — test2. Файловая база находилась в /home/1C.
На тот случай, если необходимо работать с диском яндекса напрямую, я оставил строки с CURL.
Даём скрипту права на запуск:
# chmod 0700 backup.sh

Добавим задание в crontab:
# crontab -e
# Запускаем скрипт каждый день в полночь
0 0 * * * /home/backup.sh


Постинсталл:


Фаервол:
Сервер 1с предприятия в большинстве случаев находится в пределах локальной сети и его вполне можно использовать с отключенным файрволом без большой угрозы безопасности.
Отключаем iptables:
# chkconfig iptables off
# service iptables stop
iptables: Flushing firewall rules:                     	[  OK  ]
iptables: Setting chains to policy ACCEPT: filter      	[  OK  ]
iptables: Unloading modules:                           	[  OK  ]

Правильная настройка:
Консоли администрирования нужен доступ к агенту сервера (ragent) по порту 1540, а для создания базы понадобится еще и доступ к рабочим процессам по портам 1562-1591. Толстому клиенту нужен доступ к менеджеру сервера (rmngr) по порту 1541 и рабочим процессам порты 1562-1591. Менеджеру haspd нужны порты 475 и 1947.
Остальное зависит от Ваших настроек. Для стандартно настроенного фаервола в CentOS набор разрешающих правил в /etc/sysconfig/iptables будет выглядеть приближенно так:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1474 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1540:1541 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1560:1591 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 475 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1947 -j ACCEPT


Обновление:
Обновление конфигурации происходит абсолютно так же, как и на windows версии, т.е. через конфигуратор.
Платформа обновляется простой процедурой скачивания rpm пакетов с сайта releases.1c.ru/project/Platform83, далее необходимо зайти в каталог с ними и выполнить команду:

# rpm -U *.rpm


Перед выполнением не забудьте сделать снэпшот и удостоверьтесь в наличии свежего бэкапа баз (предыдущие rpm пакеты тоже пока не удаляйте).

Аминистрирование:

Привыкшим к Windows-версии ничего менять не надо, можно админить через тот же интерфейс с Windows клиента.
Однако, для ценителей есть и консольные команды.
Команда запуска в качестве демона:
# /opt/1C/v8.3/i386/ras --daemon cluster

По умолчанию процесс ras запускается на TCP 1545.
rac обращается к ras, который уже обращается (управляет) кластером серверов.
1) Просто help на всякий случай (кстати, он довольно понятный и ясный)
# /opt/1C/v8.3/x86_64/rac

1C:Enterprise 8.3 Remote Administrative Client Utility '1C' 1996-2015
Утилита администрирования платформы 1С: Предприятие

Использование:

rac [mode] [command] [options] [arguments]

Поддерживаемые режимы:

help Отображение справочной информации для указанного режима.
agent Режим администрирования агента кластера серверов
cluster Режим администрирования кластера серверов
manager Режим администрирования менеджера кластера серверов
server Режим администрирования рабочего сервера
process Режим администрирования рабочего процесса
service Режим администрирования сервиса менеджера кластера
infobase Режим администрирования информационной базой
connection Режим администрирования соединений
session Режим администрирования сеансов информационных баз
lock Режим администрирования блокировок
rule Режим управления требованиями назначения
profile Режим управления профилями безопасности кластера

2) Просмотр списка доступных кластеров серверов 1с для управления
# /opt/1C/v8.3/x86_64/rac cluster list

3) Создание информационной базы
# /opt/1C/v8.3/x86_64/rac infobase create --cluster=bff5cb4a-2877-11e3-b590-d43d7eeced69 --name=user_db_empty --create-database --dbms=PostgreSQL --db-server=127.0.0.1 --db-name=user_db_empty --locale=ru --db-user=postgres --db-pwd=<пароль> --cluster-user=admin --cluster-pwd=<пароль>

4) Просмотр списка информационных баз кластера
# /opt/1C/x86_64/i386/rac infobase summary list —cluster=bff5cb4a-2877-11e3-b590-d43d7eeced69 —cluster-user=admin —cluster-pwd=<пароль>

5) Просмотр списка подключений к информационным базам кластера
# /opt/1C/v8.3/x86_64/rac session list --cluster=bff5cb4a-2877-11e3-b590-d43d7eeced69 --cluster-user=admin --cluster-pwd=<пароль>


Оптимизация PostgreSQL:
  • postgresql.conf — основной файл с настройками СУБД
  • pg_hba.conf — файл с настройками доступа для клиентов. В частности, тут можно указать каким пользователям с каких IP-адресов можно подключаться к определенным БД, и требуется ли проверять пароль пользователя, и если требуется — каким методом.
  • pg_ident.conf — файл с преобразованием имен пользователей из системных во внутренние (вряд ли он потребуется большинству пользователей)

Для более тонкой настройки БД необходимо править файл postgresql.conf воспользовавшись онлайн сервисом. Либо вручную подобрать значения, почитав например эту статью. Подробно параметры расписаны в этой статье.

Подключение принтеров
Осуществляется через сервис CUPS, который устанавливается автоматом.
В сеансе RDP заходим по адресу localhost:631
При нажатии кнопки установить принтер — видим все сетевые принтеры в сети.
Если вы хотите пробросить свой личный принтер — дайте к нему доступ.

Выводы:


Мы сэкономили на лицензиях Windows Server + Terminal CALs, MS SQL Server + Connection CALs. Даже если посчитать стоимость лицензий от 1С, то Linux-вариант выигрывает! Также, собрав сервер из подручного железа, убедились в том, что по тестам(файловая версия), он работает быстрее чем windows-версия установленная на голом железе.
В итоге, мы смогли получить сервер (шаблон можно размножить), который можно рекомендовать в продакшн. Также, в дальнейшем, Proxmox как систему виртуализации, можно расширить и создать кластер.

P.S: Почему CentOS 6, а не 7? Потому что на момент написания статьи публикация приложения 1С через http поддерживала только apache 2.2. К тому же, в процессе настройки 7-й версии, появились какие то непонятные проблемы с polkitd.
P.P.S: Платформа, через некоторое время тестирования, все же потребовала лицензию.

Спасибо за внимание, жду Ваших комментариев!

STSS

70,81

STSS — отечественный производитель и интегратор

Поделиться публикацией
Комментарии 173
    +1
    Все это красиво, но нужно сравнение производительности. На первый взгляд выглядит все это хорошо, но когда видишь сколько показывает Гилев на pg и на MS SQL при использовании одного и того же железа, понимаешь что эта жаба не так уж и страшна.
      0
      Я бы еще с удовольствием увидел тесты «потери производительности нет» при виртуализации.
        +2
        Там же контейнерная виртуализация, если потери производительности и есть, то они совсем минимальны.
        +5
        Сравнивал производительность тестом от Гилева.
        На файловом режиме Linux немного обогнал Windows(на идентичных машинах стоят Hyper-V+VM Windows vs Proxmox+ VM CentOS.

        А вот на SQL режиме, при проведении теста, машина c Windows выдала неадекватно низкий результат, поэтому и не отобразил в статье.
          0
          Был бы у вас однопроцессорный E5 с частотой выше 3ГГц — было бы выше 50 (вот, 78 намерял):
          https://habrastorage.org/files/d30/ffd/d43/d30ffdd43a094dcdabe63297c9dbd69d.jpg

          С дисковой подсистемой не все так гладко, ее этот тест странно берет.
          И измерять лучше выполнение в режиме отладки конкретной большой задачи, синтетика — не то.
            0
            Тест Гилёва вообще-то достаточно адекватная синтетика. Особенно в плане вычисления «сколько пользователей потянет система»

            Чудеса с «новыми» и «старыми» Xeon (разница в скорости в разы на этом тесте, выигрывают… «старые»! ) объясняется достаточно просто. Собрана вся эта кухня с использованием VC++ 2012, и флаги оптимизации при сборке как стояли под старые камни, так и стоят, судя по всему. Да ещё и ОС задана, как Windows XP.
            Чтобы система «летала» под относительно крупными нагрузками ( от 100 пользователей и выше, толстый клиент на терминалке, база от 50 гиг на SQL 2012 и выше) нужно чтобы были минимальные задержки по сети, шустрая дисковая подсистема для Log файлов SQL, выключенный (!) гипертрединг на гипервизоре, на котором машина с сервером 1С.

            Компромиссный вариант, проверенный в деле: 2*Xeon 2630 v2 + 128 Gb RAM + 4*SSD + 4*HDD — Гипервизор (Hyper-V 2012 R2). Внутри живут 3 машины: под SQL, терминалку и сервер 1С. USB ключи пробрасываются со старенького ноутбука с помощью Eltima USB Network Gate. Попытки получить адекватную сравнимую скорость работы на похожем с описанном автором выше решении не удовлетворили по скорости. Отличие: использовали ESXI.
        +1
        Всегда приятно читать такие статьи… Они предвещают, что через пару лет одним Linux админом станет больше, а одним windows админом меньше :)
          +5
          Что значит Linux\Windows админ? Админ на то и админ, он должен знать и то и другое.
            +4
            Специализации были, есть и будут. Причём чем уже специализация — тем выше зарплата. А за широту знаний, увы, особо не приплачивают.
              +1
              Если нужен именно windows админ или конкретно linux админ, то это очень специализированная задача с соответствующими запросами. Вряд ли кого-то из них можно считать пригодным для работы с корпоративными сетями, где зоопарк всего и вся.
                +2
                Собственно в корпоративных сетях они и обитают.
                Под windows админом понимают человека который будет заниматься терминальниками, AD, GPO, WSUS, SCOM, SCCM, DNS, Exchange, ISA и т.д.
                Unix'ами же занимаются люди которые умеют работать с AIX, HPUX, Solaris ну и в том числе Linux.

                Корпоративное ПО поставляется в самых разных видах, на разных платформах в том числе и ПАКами, и этот зоопарк необходимо админить. Да и хотел бы я видеть как человек настраивающий PowerVM, в перерывах решает проблемы сыплющееся из SCCM.
          0
          А еще можно и без 1С обойтись.
            +8
            А вы не раскроете подробности, как именно можно без неё обойтись?
              +2
              Зависит от ваших требований. Есть и другие аналогичные продукты, 1С совсем не монополисты.
                +3
                Сдача регламентированной отчётности для фирмы, занимающейся оптовой торговлей.
                UPD: формировать эту отчётность тоже должна сама система.
                  0
                  И этих отчетных форм нет в других системах? И их, этих форм так много, или они такие сложные, что проблематично реализовать их в рамках другой системы самостоятельно?
                    +1
                    Вы пока реализовываете, сменится законодательство или формы и нужно будет менять созданное и так далее.
                    Не забывайте где Вы живете.
                0
                Для Украины есть альтернатива — Дебет плюс. Нормально работает. Правда, не было необходимости уникальных отчетов и т.д. Все в стандартной конфигурации. Как раз для компании на десяток рабочих мест.
                  –3

                  Гугл в помощь. Для торговли и общепита (не рекламы ради). Да не смотрите на ценники в EUR, ценовая политика в РФ другая. Свяжитесь лучше, все кто с СНГ связан русским владеют, как русские, что для болгар не удивительно. ТП, заказ фич на высоком уровне, звони хоть директору на мобильник(международка) с фразой "че за фигня". Интерфейс современный, обмен с 1С (отчетность все одно из 1С Бух формировать) съедобная. ПО для маленьких точек и распределенных магазинов. Цены за решение ниже, чем у 1С аналогов. Решения под Windows и Android.
                  1С часто диктуется бизнесом. Кадровая проблема вылазит.

                    +3
                    Вы хотите заменить 1с, системой которой, требуется 1с для формирования отчётности?
                    Это не очень-то соответствует:
                    А еще можно и без 1С обойтись.
                      0

                      Вообще-то со мной чистые технари часто не согласны, но я сужу с позиции бизнеса. 1С Бухгалтерия многим знакома, есть масса вариантов, но тут же попадалово — человека найти сложнее. 1С БП самый недорогой конфиг, для других конфигов есть более качественные дешевые альтернативы. Обойтись можно. Но в реальности не оптимально.

                        0
                        Правильно ли я понял ваше мнение, что с позиций бизнеса, учёт лучше вести не в 1с, а 1с держать для отчётности?
                          0

                          Не для отчетности, а для ведения учета (бух, налог, управленческого). Просто если Ваш основной бизнес-процесс 1С не автоматизировать (или сделать это очень криво), то хорошо бы и учет перенести в ту систему, но есть он, если она — "взрослая" ERP.
                          Дикий какач был тут давеча вокруг 1С-Битрикс. Честно — по делу, неустойчивость работы вызвана политикой разработчика и наличием двух ядер старого и нового. Но с точки зрения маркетинга сделано гладко — обещается интеграция с 1С, это быстро "прошивает" клиента.

                +4
                Отличная статься, но на мой взгляд, чтобы говорить об экономии, нужно учесть стоимость дальнейшей поддержки/обслуживания.
                  0
                  Ждал этого камента)
                  Как всегда, привядят в пример стоимость поддержки/обслуживания. Никто толком не может описать как ее правильно считать. Все гуляют кто во что горазд. Но все приводят ее в пример именно как отрицательную составляющую перехода на линукс.
                    +1
                    Стоимость поддержки/обслуживания — это стоимость внутреннего персонала(админов) плюс стоимость внешней поддержки ОС и базы данных (если используется) за какой-то (например два года) период. Про отрицательную составляющую — на мой взгляд, только эмпирическим путем можно выяснить, насколько линуксовое решение будет экономически выгоднее виндового.
                      0
                      Эм. Возьмите вариант с интегратором. Сколько он запросит за развертывание сервиса под ключ и сколько за двухгодичную поддержку для каждой из платформ.
                      И получите ту самую стоимость владения без привязки к размеру штата и привязки к другим информационным системам.
                        0
                        Интегратор не будет предлагать вариант на linux.
                          0
                          Любой каприз за ваши деньги. Но боюсь выйдет дороже в двухлетней перспективе чем купить мелкомягких
                      +1
                      Тут сложно отделить зёрна от плёвел. Где кончается софт (1с и psql) и начинается Линукс?
                      И что включать в поддержку платформы?
                      С другой стороны, если сервер только БД + Сервер приложений — сколько надо усилий от поддержки платформы?
                      Не Базы и не Софта?

                      Интересно, в таком ключе пытались это оценить/посчитать?

                      (Я как админ и того и другого всегда интересуюсь реальными подсчётами, хоть предпочитаю Linux)
                        –2
                        Ну как минимум в табличку затрат нужно добавить зарплату админа со знанием PostgreSQL.

                        В то время как, на платформе Windows в большинстве случаев со всем этим справляется тот, кто обслуживает 1С (будь он штатным или внешним). Часто даже без дополнительных денег.
                          0
                          Для френчи это может стать конкурентным преимуществом — лицензии дорожают, а нормально админить СУБД они всё равно они не будут.
                        0
                        Стоимость поддержки/обслуживания невозможно (и противопоказано) считать для изолированной информационной системы. Стоимость поддержки можно считать только в купе с другими информационными системами, учитывая при этом размер компании.
                          0
                          Справедливое замечание в части передаче этого варианта на сторону — гиблое дело. Работать будут с этим скорей всего программисты виндоводы, и… они же скорей всего админить будут.
                          А вот, если админ linux'ятник в конторе и подымает для себя и котролит это барахло сам, допуская программистов только на покодить и не более, то этот вариант просто блаж для него.
                            0
                            Работать будут с этим скорей всего программисты виндоводы, и… они же скорей всего админить будут.
                            если управление postgres оформлено в виде pgadmin — отличичий от виндяцкого варианта не вижу.
                            Программист!=админ.
                            Виндоадмин, с «хорошим» уровнем обслуживания вверенного хозяйства — это не васян, с подходом «на отвали» (т.е. еще придется поискать и заплатить).
                            Если винда «упадет» или начнет лагать — решить проблему 1С программист врядли будет в состоянии.
                          0
                          А кто-нибудь кластер разворачивал 1с+psql?
                            –3
                            А почему используется CentOS 6 вместо совмеренного CentOS 7?

                            Для бекапа в облако удобно использовать duplicity.
                              +1
                              P.S: Почему CentOS 6, а не 7? Потому что на момент написания статьи публикация приложения 1С через http поддерживала только apache 2.2. К тому же, в процессе настройки 7-й версии, появились какие то непонятные проблемы с polkitd.
                                +2
                                По поводу polkitd — в LXC контейнере нельзя обновлять systemd, polkitd и связанные с ними службы. Иначе ловите эту проблему.
                                Решается так: chmod 777 /var/run/dbus/system_bus_socket
                                Но до поры до времени, так как это сокет и он пересоздается.
                              +2
                              Подскажите, как дела на таком решении обстоят с поддержкой отраслевых ключей защиты?
                              СЛК, ключи от Рарус и прочие «замечательные» защиты?
                                +2
                                В разделе статьи Лицензирование, я описал то, что было протестировано.
                                По поводу СЛК и пр. ключей, надо экспериментировать.
                                К сожалению, на данный момент, у нас нет подобных ключей для тестов :-(
                                  +1
                                  СЛК не поддерживается, или поддерживается плохо. У самого есть решение от Рарус, мучаемся.
                                  +1
                                  Великолепный тутор. Забрал в закладки, спасибо огромное!
                                    +2
                                    Вариант поставить postgres на винду не рассматривался?

                                    Очень странно выглядит пункт — «Клиентский доступ на 20 рабочих мест к MS SQL Server 2012 Runtime для 1С: Предприятие 8», учитывая что клиенты 1С соединяются с rphost, который держит столько подключений к MSSQL, сколько у вас реально в нем добавлено баз. Сомневаюсь что все 20 человек каждый работают в своей собственной базе (в этом варианте установка сервера крайне сомнительна)
                                    Очень хочу увидеть реальные цифры теста gilev на MSSQL и на Postgres. Причем последний в линухе! Всю жизнь было что mssql на том же железе на 2-3 головы, если не больше производительнее postgres.

                                    «MS Windows Terminal Services Client Access License 2012 Single Language 1-device NoLevel OLP» — вариант поставить клиентские приложения пользователям, а не ходить в rdp тоже не рассматривался? 20 клиентов — не так много что бы держать их всех в rdp.

                                    Итого я вижу что win решение стоило бы на мой взгляд — 222 793 рубля, что всего на 58 393 рубля дороже. + сумма лицензий по чилу баз
                                      +4
                                      > Вариант поставить postgres на винду не рассматривался?

                                      Нет, не рассматривался. Смысл статьи в том, чтобы уйти от лицензий MS.

                                      > Очень хочу увидеть реальные цифры теста gilev на MSSQL и на Postgres. Причем последний в линухе! Всю жизнь было что mssql на том же железе на 2-3 головы, если не больше производительнее postgres.

                                      Чуть позже добью. Результаты выложу. Согласен, что MS SQL должен работать лучше.

                                      > Итого я вижу что win решение стоило бы на мой взгляд — 222 793 рубля, что всего на 58 393 рубля дороже. + сумма лицензий по чилу баз

                                      В каждой конкретной ситуации, лицензируется по разному. Можно спорить об оптимальности. Но, повторюсь, стоимость лицензий от MS вы в ноль не сведете.
                                        –3
                                        Я не говорил свести стоимость лицензий в 0. Я говорил о целесообразности. При работе с большими и производительными базами (скажем к примеру документооборот) postgres будет зашиваться и очень часто валиться, почему так — не знаю и честно говоря знать не хочу, потому как вариант с mssql стабильно и качественно работает.

                                        По Вашему первому ответу — тогда глупо говорить что мы сэкономили на MSSQL, потому как его покупка не обязательна.
                                          +4
                                          >> При работе с большими и производительными базами
                                          >> postgres будет зашиваться и очень часто валиться

                                          пруфы будут? откуда дровишки?
                                            +2
                                            видел только в контексте использования с 1С, в материале http://www.silverbulleters.org/ne-obizhayte-linux-oida-ili-osobennosti-patcha-1s-dlya-postgresql/ проводилось «обоснование» тормозов, при некоторых вариантах использования,
                                            а вот «так» — огульно и на «2-3 головы» — не знаю откуда это Dark_Snake взял
                                              0
                                              Спасибо!

                                              как раз сейчас начали эту тему «щупать» — поэтому любая «критика» настораживает ))
                                                0

                                                Не занимайтесь ерундой пожалуйста — в указанной моей заметке сказано, что тормоза в 1С с postgresql НЕ связаны с PostgreSQL. А связанны с непониманием штатной работы объекта БлокировкаДанных.


                                                Для особых любителей пощупать берите контур https://github.com/VanessaDockers/pgsteroids и "щупайте".


                                                Каждый проект по аудиту 1С+PostgreSQL в 99% случаев связан с неумением писать 1С код, а также с неумением дорабатывать типовые. pgBadger и pgHero показывают это еще до обновления продуктвной базы.

                                                  0
                                                  интересно, спасибо
                                                  >сервер 1С лучше на Windows (не спрашивайте почему)
                                                  по ссылке..., я спрошу иначе — это лучше ощутимо?
                                                  И еще вопрос: развернуть на «бесплатном» сервере от МС, кот. запущен в KVM (например) — это вариант?
                                                  второй вопрос — от незнания: хватит ли базовых компонент (кот. в составе такого варианта) и встанет ли он на KVM
                                                    0

                                                    сервер 1С НЕ на linux — kerberos и samba если коротко.


                                                    samba — 1С-ники (разработчики) используют внутренний объект Файл и не учитывают, что файловые тома имеют case-senсetive особенность, а DFS использование давно заложено в БСП ориентированные конфигурации. Я уже не говорю что диск Z: — это их классическая ошибка. Поэтому потребуется рефакторинг. Поэтому чтобы ускорить процесс перехода — сервер на Windows.


                                                    kerberos — клиентская часть в 99% случаев на RDS серверах или на штатных машинах — где Windows почти всегда. Поэтому почти всегда AD. kerberos библиотека слинкована на 1С сервере статично — причем если хотите повеселиться посмотрите с какой библиотекой слинковано на Centos и на Ubuntu/Debian (Astra linux туда даже) — повеселитесь.


                                                    То есть — это для того, чтобы не иметь "артефактов" в части того, что 1с разработчики не всегда учитывают поведение своего кода в контексте linux сервера. Процесс перевода 1С на PostgreSQL — это один проект, 1С сервер на linux — это уже другой, по любому будет рефакторинг самого кода.


                                                    Что касается скорости — ну Apdex и Opex (квантили) на всех проектах показывают одно и тоже. Тонкий тюнниг — это уже вопрос компетенции инженера. У меня и на 1capp.com linux сервера — мы счастливы и у нас всё хорошо. Но это только вопрос компетенции наших linux администраторов.


                                                    Это про 1С Windows сервер.


                                                    Что касается HyperV — то да, вариант, если вы про pg. Другое дело что мне ближе последние полгода запуск pg на linux — использование barman и модных fs показывает крутые результаты.

                                                      +1
                                                      спасибо за развернутый ответ, я описывал (возможно невнятно) немного «извращенную» конфигурацию…
                                                      1С сервер на windows, но которая идет в HyperV самом сервере — т.к. он бесплатен, а доп. опции «не нужны»
                                                      а вот его ставить под KVM
                                                      pg я никогда не ставил на windows и смысла не вижу
                                                      т.е. предполагаемая архитектура:
                                                      • Linux->KVM->windows HyperV 2012 Server (т.е. тупое ядро от windows)->1С сервер
                                                      • Linux->pg
                                                        0

                                                        Ну это похоже на то что у нас на OpenStack поднято — нормально работает.


                                                        Но тут мне сложно что-то рекомендовать — мы как разрабы получаем от инфраструктурщиков Windows Server Core, которое низом на KVM и на OpenStack. Поэтому связка далеко не извращенческая.


                                                        Будете пробовать — смотрите еще вот такое http://infostart.ru/public/173394/. Удобные цифры показывает (спасибо Fragister'у)

                                                          0
                                                          спасибо, буду тестировать
                                                0
                                                Из личного опыта. Я не спорю, что наверняка для конкретной базы можно достаточно тонко настроить поведение postgres, но из коробки с минимальными настройками для 1С она тормозит. Завтра вечером обязательно прогоню тест на живой машине одной и той же, дабы сравнить итоги.
                                                0

                                                Не о том речь. Нет. PostgreSQL (в свое время самый крупный кластер обслуживал Skype) — отличный сервер, но платный MS встанет из коробки. 1C изначально под него писана.

                                                +1
                                                https://habrahabr.ru/post/26289/
                                                Вот они лохи-то.
                                                Не знают, что «При работе с большими и производительными базами (скажем к примеру документооборот) postgres будет зашиваться и очень часто валиться».
                                                Напишите им, а то они не в курсе, что работать на postgres черевато проблемами.

                                                P.S. Хотя погодите, у них же не документооборот. Расходимся посоны, у Yahoo нагрузки маловато…
                                                  +1
                                                  речь только о связке 1С+постгрес
                                                    +1
                                                    Нет, речь скорее о том, что установив постгрес и ничего не настраивая вы получите убогую производительность. И это совершенно закономерно, поскольку постгрес никакие параметры при установке не тюнит, в т. ч. использование оперативной памяти.

                                                    Не верю, что в 1С используются какие-то инопланетные запросы, которые постгрес (нормально настроенный) обрабаывает в разы медленнее MSSQL.
                                                      +1
                                                      Я использовал патч для postgres от 1С. Естественно я не особо ожидал высокой производительности, а рассчитывал хотя бы на стабильность. К слову — речь идет о конфигурации 1С документооборот 2.1. База в режиме использования 3 пользователями (только начинали внедрение) работала крайне не стабильно — раз в 4-5 часов postgres крашился. Допускаю, что это может быть проблема postgres для винды, но честно сказать когда такое происходит при слабой нагрузке, когда ожидаешь что просто будет работать возникает желание просто плюнуть и уйти на mssql, тем более что могли.
                                                      На мелкософтной базе крутится без перезагрузки уже полгода. За это время и число пользователей выросло. Крашей не наблюдал.

                                                      Честно сказать я тоже не ожидал подобного поведения, поскольку во многих других проектах используется постгрес без всяких проблем.
                                                        +1
                                                        Скорее всего проблема кроется вот в этой фразе «Я использовал патч для postgres от 1С».
                                                          +1
                                                          А без этого патча, он 1С вообще не заработает на Postgres. :(
                                                          Или надо быть очень и очень крутым специалистом по Postgres и 1С в одном флаконе.
                                                            0
                                                            не то чтобы не заработает — не заработает без «нужных» изменений, но придется самому писать
                                                            и слово патч — уж очень…
                                                            >Или надо быть очень и очень крутым специалистом по Postgres и 1С в одном флаконе.
                                                            именно такие и пишут «патч» (для 1С — в смысле работы с БД)
                                                            все делается средствами «типичными» для postgres, ссылку приводил https://habrahabr.ru/company/stss/blog/282852/#comment_8889202
                                                          0
                                                          Был на митапе с http://postgrespro.ru/, говорили, что win не самая подходящая платформа для postgres
                                                  0
                                                  Подскажите, а почему в таблице не учтены Microsoft Windows Server CAL 2012? 20x2000 руб если на юзеров брать, хотя я вот не знаю, может 5 CAL входит в лицензию MS Windows Server 2012.
                                                  +3
                                                  Лицензии для клиентского доступа к MSSQL нужны для всех пользователей 1С, это мультиплексирование лицензий.
                                                    0
                                                    Много раз поднимался вопрос по скульным лицензиям на 1С — ответ в том числе и от специалистов по лицензированию Майкрософт — лицензия нужна на КАЖДОГО пользователя 1С. И поэтому расчеты выше некорректны, в статье более адекватные. Но поводу терминалов также не согласен — даже 20 пользователей проще собирать в одной точке, чем обслуживать 20 клиентов, которые, кстати, довольно часто версионируются. Понятно, что их можно (и нужно) администрировать (устанавливать, обновлять) средствами домена, но это тоже не самая тривиальная задача, как раз на мой взляд терминальный лицензии в трудозатратах однозначно отобьются, да и масштабировать это легко.
                                                    0
                                                    А еще засунуть все эти скрипты в ansible — и будет почти «по-взрослому»
                                                      0
                                                      «Платформа, через некоторое время тестирования, все же потребовала лицензию».
                                                      тут имеется в виду Proxmox?
                                                      +5
                                                      К моему сожалению, под Linux проблем у 1С больше чем под Windows. Года полтора пробовал поднять сервер на Linux, система даже заработала, но были непонятные отказы в работе 1С. некоторые выборки просто не отрабатывались. На той же базе под WIndows всё работало чётко.
                                                      Разобраться не смог. :( Махнул рукой, оставил до лучших времён.
                                                        +3
                                                        Использую 2-е инсталяции серверов 1С (разные фирмы, разное железо, самосбор), серверные с postgres, поверх ubuntu 12.04 (без виртуализации), более года, никаких отказов не было замечено.
                                                        Клиенты «толстые», в одном варианте установлены поверх linux mint 13 (kde), в другом — windows XP
                                                        Производятся обновления самой платформы (по мере появления) — серьезных проблем не замечено
                                                        Лицензии аппаратные и софтовые, устанавливал не я, но на сложности не жаловались
                                                        +2
                                                        Спасибо, сам недавно занимался тем же самым, дождался бы вашей статьи сэкономил кучу времени. Так же хотелось дополнить:
                                                        /etc/sysconfig/srv1cv83 — файл конфигурации сервера 1С
                                                        /home/usr1cv8/.1cv8/1C/1cv8/1cv8wsrv.lst — файл, в котором хранятся основные свойства сервера — например, учётные данные администратора сервера, зарегистрированые кластеры и т.п.
                                                        /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst — файл, в котором хранятся свойства кластера по умолчанию
                                                        /opt/1C/v8.3/x86_64/ — (вместо «x86_64» может быть «i386» — в зависимости от архитектуры системы) исполняемые файлы и сопутствующие ресурсы сервера (и клиента) 1С
                                                        /var/1C/licenses — здесь лежат файлы электронных ключей лицензий
                                                        источник: www.bubnov.su/stati/ustanovka-servera-1s-8-3-i-postgresql-9-2-na-centos-linux
                                                          +1
                                                          Шикарно! Огромное спасибо за труд.Ровно тем же самым планировал заняться после отпуска на работе. Вы сэкономили мне уйму времени.Почему выбрали Postgres SQL? Я рассматривал на досуге МariaDB и прочее.
                                                            +1
                                                            Скорее всего из-за этого -> http://v8.1c.ru/overview/Term_000000662.htm
                                                            Из всех предложенных СУБД только Postgres халявная.
                                                              0
                                                              Не только. Я, когда настраивал своей фирме сервер (Ubuntu 12.04) несколько лет назад, еще пробовал вариант бесплатного IBM DB2. Но он сильно глючил, даже когда я один пытался поработать в базе, и потому решил остаться с PostgreSQL. База основой программы уже чуть более 30Гб + второстепенные конфигурации, а еще есть ежедневные операции по заливке данных и много сложных отчетов в течении дня — все еще полет нормальный.
                                                                0
                                                                Честно говоря к версиям типа «Экспресс» не очень хорошо отношусь, хотя для небольших проектов почему нет.
                                                                А с IBM после опыта использования Lotus notus domino связываться в принципе не стал бы.
                                                                Хотя я знаю, что в той же Москве многие используют и довольны…
                                                            +3
                                                            Собственно говоря, об этом и говорили уже 10 лет. На линуксе платишь меньше за то же самое.
                                                              +1
                                                              А с печатью при подключении по RDP/VNC проблем не наблюдалось?
                                                                +2
                                                                Вот да. Даже в винде с этим постоянно проблемы.
                                                                  0
                                                                  в линуксе есть сервер терминалов x2go там проблем с печатью меньше:)
                                                                    0
                                                                    Я некоторое время назад воевал с печатью при терминальной работе. Пробовал в том числе x2go. Запомнилось, что были проблемы с раскладками клавиатуры, которые я как-то поборол, но что-то там все равно сильно глючило (уже не помню конкретно что) и с печатью на подключаемые принтеры тоже не у всех было гладко. Наверное вам просто повезло с вашим парком принтеров, а мне нет :)
                                                                      0
                                                                      там печать идет через pdf файл проблем врде быть не должно подробнее про x2go разбирают тут http://unixforum.org/index.php?s=&showtopic=108708&view=findpost&p=1239425
                                                                  +1
                                                                  Тестировал с парой принтеров HP(сетевые), проблем не возникло.
                                                                  Однако охотно верю, что некоторые модели принтеров могут испытывать проблемы.
                                                                  Надо зайти сюда и подобрать подходящий драйвер.
                                                                    0
                                                                    У меня часть заданий не уходила на CUPS даже. При этом другой софт печатал нормально, в т.ч. и та же 1с под wine. Закономерности не обнаружил. Просто не печатает определенные отчеты/документы с определенным набором данных и все. Тот же отчет с другими данными печатает. Принтеры разные, HP, Kyocera.
                                                                  –2

                                                                  Дикая опасность таких решений в том, что


                                                                  1. Бэкап базы PostgreSQL не имеет какой-то продуманной схемы. Каждые три часа (круглые сутки всю неделю) делается full. То есть за неделю будет 56 бэкапов часть из которых будет полностью идентичными. Правильная схема выходные — full, по вечерам diff днем log каждый час. Это — разумная схема, MS SQL даже бесплатный (скриптами) ее поддерживает. PostgreSQL несколько сложнее, но можно. Потом кто сказал, что full-бэкапы в рабочие 9,12,15 часов не повлияют на производительность?
                                                                  2. Очень вероятны две хитрых причины израсходовать деньги. Скрытое повреждение базы, из экономии 1С-ники тоже очень бюджетные, и если в конфигурацию будет внесена ошибка она выскочит неожиданно, но так как кто и когда что делал неизвестно, а между тем 8.3 умеет выгружать конфигурацию в XML, что как бы намекает на возможности применения систем контроля версий (они то бесплатные). Но тут от системы не зависит, чисто желание сэкономить. Вторая причина — техсбой с утратой pg_control. То есть тут руками последний WAL можно поставить, но не до этого, full каждые 3 часа рулит.
                                                                  3. Желание сэкономить приведет к отказу от закупки хорошего сервера и хорошего ИБП двойного преобразования. Это люди понимают только постфактум.
                                                                  4. Работа в терминальных сессиях — это скорее бизнес-требование. Просто 1С-клиент открыт целый день и при отвале изменения утратятся. Если работа идет через терминал отвалится терминальная сессия, что пофиг, клиент 1С запущен на сервере.
                                                                  5. Разницу между CentOS 6 (классический System-V) и CentOS 7 (systemd) улавливать надо это разные системы, админу матчасть курить надо для самоапгрейта.
                                                                  6. Не в тему. "Экономный клиент" и после пожара экономить будет. То есть если предложить ему восстановить данные на возмездной основе за 10 мин, он их раньше будет вбивать с бумаги, хоть это и три дня займет.
                                                                    +2
                                                                    Не каждые 3 часа, а каждый день в 3 ночи.
                                                                    Покурите для самоапгрейта ман на cron.
                                                                      +1

                                                                      Признаю, ошибся. По остальным пунктам есть что сказать?
                                                                      То есть full каждый день это нормально?

                                                                        +1
                                                                        а остальные пункты — это про что? они как-то соотносятся с экономией на лицензиях windows и MSSQL?
                                                                          0

                                                                          Эта "экономия" также будет и на админе, персонале и т. д. При предложенной схеме явно нет 300 документов в день и базы 100 Гб. Вычеркните платный SQL, Express до 10 ГБ базу даст и 1 ГБ ОЗУ на сервер. Схитрив (ограничения то на 1 экземпляр), можете запустить по экземпляру на базу. Бэкап также можно сделать на максимум 1 час потери, а не на все "все вчера". Я лоханулся с кроном в многом потому, что последний раз писал так в 2001 году в бюджетной организации, где точно вариантов не было. Для "Enterprise Production" решение — никакое.
                                                                          Это избитая тема, у меня на такую экономию аллергия.

                                                                            +1
                                                                            >Эта «экономия» также будет и на админе, персонале и т. д.
                                                                            из чего это следует?
                                                                            >Схитрив (ограничения то на 1 экземпляр), можете запустить по экземпляру на базу.
                                                                            явно не упрощается процесс, и администрирование подобной конструкции под большим вопросом
                                                                            т.е. вы предлагаете либо заплатить не мало денег, либо «нагородить» что-то непонятное?
                                                                              0
                                                                              из чего это следует?

                                                                              Из логики бизнеса. Если 20 мест, то это скорее продажи, получается что основной бизнес-процесс должен быть халявным. Значит, чисто по логике халявными должны быть установка и сопровождение ИС и менеджеры по продажам. Последнее невозможно, а вот первые два у директора в голове вполне укладываются.


                                                                              явно не упрощается процесс, и администрирование подобной конструкции под большим вопросом

                                                                              Простите, для кого администрирование подобной конструкции большой вопрос? Я MCITP DBA 2005 вообще вопросов не вижу. Зато у меня вопрос к пиведенному конфигу — последний бэкап погиб/не был сделан. Авария. Откат на 1 день. Стоимость простоя? У 1С в сфере торговли и общепита есть конкурент, он дешевле, но работает только с MS SQL, они меня мордой и ткнули насчет Express и нескольких экземпляров (типа ну да — этого же в экзаменах нет, там базы по 100 Гб через вопрос), так как их ПО для малых.


                                                                              что-то непонятное?

                                                                              Вот это и пугает. Тут мало того, что все просто, оно еще и из коробки, то есть можно вообще особо то не знать. А вот с PostgreSQL это уже не из коробки, а специализированная сборка.


                                                                              т.е. вы предлагаете либо заплатить не мало денег

                                                                              Это риторический вопрос, заплатить придется либо за "из коробки" либо за точную настройку, либо потерять деньги при аварии.

                                                                                0
                                                                                >Из логики бизнеса. Если 20 мест, то это скорее продажи, получается что основной бизнес-процесс должен быть халявным. >Значит, чисто по логике халявными должны быть установка и сопровождение ИС и менеджеры по продажам. Последнее >невозможно, а вот первые два у директора в голове вполне укладываются.
                                                                                и как это пересекается с установкой конструктора из «SQL, Express до 10 ГБ базу даст и 1 ГБ ОЗУ на сервер» + «можете запустить по экземпляру на базу» + «Я MCITP DBA 2005»?
                                                                                ваша сертификация «подразумевает» оплату труда (адекватную)
                                                                                >Тут мало того, что все просто, оно еще и из коробки, то есть можно вообще особо то не знать
                                                                                из выше перечисленного — мало знать, надо хорошо знать и пройти соответ. курсы/экзамены и т.п., что противоречит тезису
                                                                                >А вот с PostgreSQL это уже не из коробки, а специализированная сборка.
                                                                                именно — заточенная при сотрудничестве 1С и команды PostgreSQL — что считаю плюсом
                                                                                >… либо потерять деньги при аварии
                                                                                в windows + sql express предусмотрены, из коробки, не требующие обслуживания процедуры/утилиты disater recovery?
                                                                                мне всегда казалось что подобный автоматизированный (кот. не требует ни обучения ни настройки) софт может стоить значительно, да и в обслуживании не сильно прост
                                                                                т.е. «из коробки» такого в любом раскладе нет
                                                                                  +1

                                                                                  Вы правы коробка — это всегда деньги. Express с сайта скачивается.


                                                                                  именно — заточенная при сотрудничестве 1С и команды PostgreSQL — что считаю плюсом

                                                                                  CentoOS официально включает эту сборку? Нет. Приведу пример у Java 8 есть асинхронная работа с данными. Но PostgreSQL нужен совершенно определенной сборки. Которую тоже надо ставить отдельно.


                                                                                  Такой подход приводит к отказу от установки "родных" пакетов дистрибутива, Вам придется запретить их апдейт во избежание конфликтов.
                                                                                  То есть фактически неродной пакет — лишняя головная боль.

                                                                                    0
                                                                                    >Вы правы коробка — это всегда деньги. Express с сайта скачивается.
                                                                                    со всеми вытекающими вывертами по «обходу» лимита и прочим «особенностям», а если БД вырастет за лимит — будем конопатиться с миграцией
                                                                                    >CentoOS официально включает эту сборку? Нет. Приведу пример у Java 8 есть асинхронная работа с данными. Но >PostgreSQL нужен совершенно определенной сборки. Которую тоже надо ставить отдельно.
                                                                                    в windows входит SQL?! — нет… «ставим с сайта»
                                                                                    Для спецсборок есть репозитории, для соответствующих ОС, т.о. ставим и поддерживаем «централизованно»
                                                                                    >Такой подход приводит к отказу от установки «родных» пакетов дистрибутива, Вам придется запретить их апдейт во >избежание конфликтов.
                                                                                    есть приоритет репозиториев…
                                                                                    да и в любом раскладе — в этих репозиториях есть версии «свежее» чем в дистрибутиве
                                                                                    >То есть фактически неродной пакет — лишняя головная боль.
                                                                                    любая поддержка в функциональном состоянии и обновление — «головная боль»
                                                                                      0

                                                                                      пику. В RHEL 7.x входит oSP 8? нет. Подписка отдельная. Поход SQL MS это одна и та же сборка. Геморр у админа — болезнь неизлечима.

                                                                                0
                                                                                На кофигурации Бухалтерия 3.0 тонкий клиент в некоторых отчетах да и при регламенте закрытии месяца иногда файловый вариант выдает нехватку памяти. Т.е. выбирается лимит на 4 Гб в запросах и пр. Так что во многих стандартных конфигурациях 1с Express ну никак не хватит, даже если «обхитрить» лицензирование.Размер самой базы меньше 3Gb.
                                                                                  0

                                                                                  Я и не говорю, что всегда возможно. Express еще ограничен 1 Гб ОЗУ на экземпляр и 1 ядром, плюс отрезаны планы поддержки и другая сервисная фигня, что требует включения рук T-SQL, что задачи явно не упрощает.

                                                                                    0
                                                                                    Только не одним ядром, а одним сокетом либо 4 ядрами
                                                                        0
                                                                        >Потом кто сказал, что full-бэкапы в рабочие 9,12,15 часов не повлияют на производительность?
                                                                        А кто сказал что нельзя сделать репликацию и бэкапить слэйв? Взрослые поцоны с большими базами так и делают)

                                                                        >Желание сэкономить приведет к отказу от закупки хорошего сервера и хорошего ИБП двойного преобразования
                                                                        Никто и не говорит что экономить нужно на железе. В статье как бы хотят намекнуть что экономить можно на софте.

                                                                        >админу матчасть курить надо для самоапгрейта.
                                                                        Раскуркой матчасти нужно заниматься время от времени даже на заезженных до дыр системах) В качестве проветривания склероза).

                                                                        И по теме: давно, как только была заявлена поддержка linux+postgresql я собрал это все для наших бухгалтеров. Работало намного быстрее на реальных данных и сразу сняло головную боль в части лицензирования. Сложность настройки составляла в настройке параметров работы сервера БД, выставление для него оптимальных параметров. Давно это было — больше с 1с не сталкивался в своей работе(надеюсь что и дальше так будет).
                                                                        По поводу стоимости владения: все зависит от кривизны рук админа и его знаний. В настоящем времени владение linux не является чем-то заоблачным и отпугивающим. Большинство админов владеют им с разным уровнем и этот уровень стараються повысить(по крайней мере из моего окружения).
                                                                          0

                                                                          Я со временем лоханулся, но сути не меняет.


                                                                          А кто сказал что нельзя сделать репликацию и бэкапить слэйв? Взрослые поцоны с большими базами так и делают)

                                                                          Так и надо делать, dump — это так.


                                                                          По поводу стоимости владения: все зависит от кривизны рук админа и его знаний.

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

                                                                            0
                                                                            >Выпрямление рук это тестовый стенд, оплаченное нанимателем время, учебники, курсы, об этом не думают. Админ за бублики всю жизнь работать будет?

                                                                            А Вы «за бублики» разве не работали — лишь бы получить стартовый опыт и навыки в чем либо? Не учились по ночам новым знаниям?
                                                                            В принципе я часто так и делаю: сначала тестишь в виртуальном окружении, потом внедряешь «за бублики», выгребаешь все косяки технологии и продукта, набиваешь шишки. Ну уж после берешь за свои умения деньги. Это конечно не относится к особо крупным внедрениям, хотя и готов поучаствовать в интересном мне проекте всегда)
                                                                              0

                                                                              Я стейкхолдер, на фига мне опытный, когда всегда найдется за бублики? То есть Вам бублики навсегда. Пока в голову не влезут простые вещи:


                                                                              1. За бублики = c 0 ответственности.
                                                                              2. CentOS дистрибутив Red Hat Inc с 0 ответственности (з/п маинтэйнерам — это отдельный вопрос). То же и Fedora
                                                                                Бизнес продукт называется Red Hat Ensterprise Linux (30 дней триал, потом платная подписка).
                                                                                Почувствуйте разницу. Тем кто скажет, что это и тот же дистрибутив. Пускай его хоть установит.
                                                                                Стоить будет уже сравнимо. Товарищи — бубличники, ставьте минусы,
                                                                                но как вы собираетесь обосновать цену своей работы?

                                                                              Владелец экономит на лицензиях и тратится на спецов???


                                                                              Нет, со спецами еще проще — три корочки хлеба, охрана дорогу покажет. От и то охранников явная польза. Он всегда (помните!) видит мир как поток денег.
                                                                              А в чем явный плюс статьи — она для неспециалистов.
                                                                              Чисто линукс — решение — 2 контейнера Docker. Сервер и база, ядро одно но покрутить можно.
                                                                              Твои, выдумывай пробуй. Главное быстро
                                                                              Не совсем то, но например
                                                                              Вообще сборок гора.

                                                                                0

                                                                                Опасную ссылку даёте — запрещено распространять пакеты 1С даже в докер контейнере. Поэтому докер-контейнер 1С сервера должен быть не публичным.

                                                                                  0

                                                                                  Спасибо, хотя подозревал что-то такое.

                                                                                    0

                                                                                    Просто мы тоже так думали, что можно будет хостить публично, а потом оказалось, что мы обязаны проверить — что у скачивающего такой контейнер есть право на users.v8.1c.ru. Поэтому приходится предоставлять доступ к контейнеру, только тем, с кем заключен контракт и кто официально зарегистрирован через рег.анкеты.

                                                                                      0

                                                                                      Еще — может поможет, мы делаем публичным базовый контейнер для 1С, без пакетов 1С и необходимых настроек, но уже подготовленный:


                                                                                      То есть в соответствии с методологией докер


                                                                                      https://hub.docker.com/r/silverbulleters/vanessa-32bit-baseimage/ — базовый образ который можно импортировать через конструкцию


                                                                                      FROM silverbulleters/vanessa-32bit-baseimage
                                                                                        0

                                                                                        Так логичнее всего — то есть для самих пакетов таки нужен доступ. Лучше для PostgreSQL иметь отдельный, адаптированный. В ключе --link ничего сложного. Просто тогда контейнер настраивать можно не трогая базовый.

                                                                                    0
                                                                                    >Твои, выдумывай пробуй. Главное быстро
                                                                                    Спасибо — но 1с забыл как страшный сон. Сейчас у меня совсем другое направление администрирования — после бубликов можно оказывается найти неплохую работу )) А бублики — это просто тренировка. Даже если за них чтото ставлю сложное — предупреждаю того кому ставлю что его ожидает в будущем — оплата высококлассного специалиста который будет это сопровождать) И ниче — все понимают и платят. А охраник… пусть так и дальше водит к проходной кого ему вздумается. Тем более что наверняка большинство из уважаемого общества может установить закладки в системе такого хитрожопого руководителя.
                                                                                    >как вы собираетесь обосновать цену своей работы?
                                                                                    Я знаю стоимость часа своей работы — это будет базовая цена. Остальное уже от сложности задания.
                                                                            +1
                                                                            Спасибо за статью!
                                                                              0
                                                                              У нас на предприятии сложилась ситуация с точностью до наоборот. Мигрировали сервера на магазинах и центральный сервер 1С с линукса на винду.
                                                                              При этом на магазинах БД осталась на PgSQL, а на центральный подняли БД на MSSQL.
                                                                              После всех манипуляций 1С стала работать намного стабильнее и быстрее. Также у программистов появилось множество дополнительных возможностей, которые были ранее недоступны на линукс-платформе.
                                                                                +4
                                                                                А можно подробнее про «множество дополнительных возможностей, которые были ранее недоступны на линукс-платформе»?
                                                                                Реально интересно.
                                                                                  0
                                                                                  Единственное приходит в голову — заработало подключение через COM-соединение.
                                                                                  Возможно еще были проблемы с отладкой на сервере.
                                                                                    0
                                                                                    Уточнил сегодня у наших программистов, именно COM-объекты им и были очень нужны.
                                                                                    Насчёт множества возможностей может конечно немного погорячился :)
                                                                                    Насчёт стабильности работы — это мои личные наблюдения. Зависаний стало меньше.
                                                                                  +3
                                                                                  И, заодно, подробнее про «намного стабильнее» — в чём выражалась нестабильность при работе на PgSQL?
                                                                                    +2
                                                                                    Какие возможности если не секрет?
                                                                                    +1
                                                                                    Попробуйте Сборку PostgreSQL для платформы 1С под Linux и Windows от Postgres Professional.

                                                                                    Начиная с версии 8.3 платформа 1С поддерживает PostgreSQL версии 9.4. Для этого фирмой 1С был выпущен набор патчей для PostgreSQL 9.4.2. В предлагаемых пакетах используется более новый PostgreSQL 9.4.7. Эта версия СУБД имеет множество улучшений, прежде всего связанных с отказоустойчивостью.


                                                                                    Про изменения в PostgreSQL 9.4 можно почитать на Хабре
                                                                                      0
                                                                                      Программные лицензии в виртуальной машине не слетают?
                                                                                      В случае с windows такое иногда бывает.
                                                                                        0
                                                                                        У меня бывало — отваливались, если машина с 1С стартовала на ином железе. В виртуальной среде есть хосты с разным железом. Когда лицензии генерились — машина работала на одном железе, потом смигрировала на другое — эта ситуация отрабатывает нормально. А вот если после этого стартанет на новом — слетят.
                                                                                        Т.е. если, например, виртуальную среду проапгрейдить — система при старте увидит новые процессора, и лицензии сломаются.
                                                                                        Доходило до смешного — подключенный образ виртуального диска ломал лицензию. Появился новый /dev/sdX — все.
                                                                                        Может сейчас все и поменялось. Описанное выше было с год назад примерно.
                                                                                        0

                                                                                        Все-таки расчет стоимости не совсем корректный. Терминальный доступ это опция. А вот CAL для сервера не указаны.

                                                                                          –4
                                                                                          собрав сервер из подручного железа, убедились в том, что по тестам, он работает быстрее чем windows-версия установленная на голом железе

                                                                                          можно без опаски рекомендовать в продакшн

                                                                                          Вы серьёзно сейчас?
                                                                                            +2
                                                                                            Отличная статья для тех, кто впервые будет пробовать подружить 1С с Postgre под CentOS. Хотелось бы заострить внимание автора на том, что здесь совсем не описаны различия внедрений/поддержки самих решений 1С (БП, УТ, УПП и т.д.). На практике, если вы попытаетесь использовать эти решения у реального клиента на базе MS SQL, то они будут работать неплохо c минимальным тюнингом кода 1С/настроек СУБД, а то и вовсе без оных. С меньшей вероятностью ситуация повторяется в такой вот «экономичной конфигурации». Хорошо если у вас есть системный администратор, который может и в Windows, и в Linux, и даже чето-то покрутить в конфиге PostgreSQL. Среднестатистических 1С-ников (мы же экономим) сервер под Linux точно смутит, и это может выразиться сотней разных способов. А еще на некотором объеме данных в таблицах СУБД, или при некоторой нагрузке, PostgreSQL может начать «задумываться» там, где раньше все шло гладко, и вот уже вы внимательно изучаете рекомендации на специализированных ресурсах 1С например,http://its.1c.ru/db/metod8dev#browse:13:-1:1981:1987
                                                                                            Возможно, в вашем конкретном случае рекомендации помогут, но, возможно, нет, и вашим 1С-никам вместе с сисадминами придется разбираться «откуда растут ноги у проблем», да вот беда — статей с разборами проблем про 1С + Postgre под Linux гораздо меньше чем про 1С + MS SQL под Win. Выход есть — вам нужны 1С: Эксперты по технологическим вопросам (подробности тут www.1c.ru/rus/partners/training/uc1/course.jsp?id=199 ). Их привлечение — дополнительная статья расходов.
                                                                                            В целом я за распространение таких решений, поскольку обратная связь о возникающих проблемах мотивирует разработчиков 1С и PostgreSQL активнее работать в команде, чтобы такие вот бюджетные решения не оборачивались впоследствии разочарованиями для собственника с уходом «на стабильную Windows + MS SQL».
                                                                                              0

                                                                                              Проблема "экономии" на марше деньги на обучение/сертификацию ИТ-специалистов не закладываются вообще, как равно и на приглашенных экспертов.

                                                                                              +6
                                                                                              Мной протестированы разные варианты установки 1С: Сервера на одном и том же железе (3Ггц, 32 Гб, SSD intel 480Gb, сервер БД +1С: Сервер на одной машине, доступ толстым клиентом с другой машины), результаты ниже:
                                                                                              платформа (если есть виртуализация, то в скобках указано) + тип базы данных = тест Гилева
                                                                                              Win2012 (железо) + MS SQL = 35-40 стабильно
                                                                                              Win2012 (ESX) + MS SQL = 40-50 стабильно
                                                                                              Win2012 (HyperV) + MS SQL = 40-60 стабильно
                                                                                              CentOS 6.5 (железо) + PG SQL = 10-15 стабильно
                                                                                              CentOS 6.5 (ESX) + PG SQL = результаты странные: первые 3-5 тестов 30-40, далее линейно снижается 30,28,26,24,20,18...12
                                                                                              CentOS 6.5 (HyperV) + PG SQL = 34-42 стабильно

                                                                                              Настроек по производительности нет (тюнинг MS SQL или PG SQL не производился).
                                                                                              Выявилась зависимость скорости 1С только от одного параметра — скорость процессора (чем больше Ггц, тем лучше), более того, при отключении HT скорость возросла и стабилизировалась!)
                                                                                              Исходя из вышеуказанных результатов решили для себя использовать такой вариант для 1С сервера:
                                                                                              На голое железо ставим бесплатный HyperV 2012 core, внутри поднимаем CentOS 6.5, а на нем уже 1С: Сервер…
                                                                                              Работает стабильно, жалоб на 20+ пользователей нет, база Бух стандарт
                                                                                                0
                                                                                                я правильно понял — цель уход от оплаты за MSSQL?
                                                                                                «Странные» результаты м.б. связаны с кэшированием в VM, ставить postgres в VM..., да еще гипервизором windows — очень странное решение
                                                                                                Мне не кажется — что windows, в любых вариантах, работает с железом «лучше»
                                                                                                На «голом» железе — какая FS установлена (я, разумеется, про CentOS), какие опции монтирования ёе?
                                                                                                  +1
                                                                                                  CentOS — ext4, все монтирование по дефолту.
                                                                                                  Вы не представляете, как мне было странно (особенно с последним вариантом), когда я проверил все результаты!)
                                                                                                  Тем не менее — повторюсь, лучшие результаты (а тесты были ОООчень разнообразные — итоговая табличка, приведенная здесь — 20% от проверенных вариантов) были получены в такой странной конфигурации:
                                                                                                  CentOS 6.5 (на HyperV) + PG SQL 9.2.1
                                                                                                  (и даже в этом варианте есть непонятные мне вещи — например все варианты:
                                                                                                  1. HyperV на SSD, БД на HDD (10000 об.мин, raid 5 adaptec 6405)
                                                                                                  2. HyperV на SSD, БД на том же SSD
                                                                                                  3. HyperV и БД на HDD (10000 об.мин, raid 5 adaptec 6405)
                                                                                                  показали практически одинаковую скорость работы (отклонения +-3-5 единиц), что опять же показывает отсутствие практической зависимости от файловых подсистем
                                                                                                    0
                                                                                                    Рекомендую аккуратней делать выводы о практической значимости тех или иных компонент железа, если методика тестирования основывалась на синтетических тестах. «Внезапно» может оказаться, что в боевой системе время от времени будут производиться операции, профиль нагрузки которых на систему будет очень сильно отличаться от создаваемого тестовыми средствами. Всякие «перепроведения по партиям», «расчеты себестоимости за месяц», «закрытие месяца», «формирования заказов поставщикам», обмены между базами, регламентные обновления дескрипторов доступа (привет, 1С: Документооборот и его «гибкая система прав»)… И это только типовые вещи, я уж не говорю про то, что может народиться в результате доработки конфигурации.
                                                                                                    Решать, что и как влияет на работоспособность вашей конкретной системы можно, только если вы реализовали тесты имитирующие значимую часть вышеописанной нагрузки. Например, взяли ключевые операции производимые системой, выбрали те, которые генерируют 80% нагрузки, реализовали их в виде кода на языке 1С, засунули в продукт для нагрузочного тестирования и прогнали на реальной или близкой к ней базе данных.
                                                                                                      +1
                                                                                                      Согласен с Вами по всем статьям)… Вот только цель теста была найти приемлемые варианты быстрого развёртывания 1С для 5-20 пользователей за минимальную стоимость и без фанатизма (прекрасно понимаю что можно практически любой вариант настроить до указанных значений/требуемой производительности, однако как мне кажется, проще настраивать те варианты, которые на дефолте бОльший показали результат)
                                                                                                      +2
                                                                                                      >CentOS — ext4, все монтирование по дефолту.
                                                                                                      noatime, nodiratime
                                                                                                      >были получены в такой странной конфигурации
                                                                                                      если исключить мистику — остается кэширование (гипервизором)
                                                                                                      >3. HyperV и БД на HDD (10000 об.мин, raid 5 adaptec 6405)
                                                                                                      это уже несколько из др. темы, ну раз указали… честно — не знаю, в чем практичность 5-го рейда (исключая экономию на дисках) а вот проблемы при пересборке огрести можно.
                                                                                                    +3
                                                                                                    Реально не понимаю. Зачем делать тест дефолтных настроек?
                                                                                                    Ни один вменяемый специалист, не ставит такие вещи как СУБД с дефолтными настройками.
                                                                                                    Postges, например, по дефолту выделяет себе всего 128Мб памяти.
                                                                                                    И какой смысл тестировть с такими настройками?
                                                                                                    Разве что измерить степень лени и пофигизма админа…

                                                                                                    P.S. 1-2 часа чтения документации Postgres разве стоят оплаты лицензий на MS SQL?
                                                                                                      +1
                                                                                                      В упомянутом тестировании естественно делались попытки оптимизации PG SQL, как же без них :)
                                                                                                      Вот только либо я полный нуб в тюнинге Postges, либо карма у меня такая( — все варианты настройки под 1С были испробованы — единственно что сделано — память выделяется 256Мб на запрос (больше нет смысла — все запросы отслеживались по потребляемой памяти — более 64 не видел...)
                                                                                                      Все остальные настройки двигали результаты на +-5 единиц (в рамках погрешности данного теста) — не увидел смысл спец настроек…
                                                                                                      Общее колво проверенных вариантов гипервизора / ОС для сервера 1С / настроек Postges ~ 200!!!
                                                                                                      Цель тестов: шаблон для 1С: сервера (я сисадмин в компании которая аутсорсит обслуживание ИТ, т.е. у нас много компаний которым нужна 1С, вот и искали самый дешевый вариант для 5-20 пользователей.)

                                                                                                      Согласен что при большом кол-ве пользователей/большой базе необходимо поработать напильником и будет быстрее (наверное)
                                                                                                      0
                                                                                                      Win2012 (ESX) + MS SQL = 40-50 стабильно
                                                                                                      Win2012 (HyperV) + MS SQL = 40-60 стабильно

                                                                                                      Тут что-то странное, обычно же наоборот:
                                                                                                      http://efsol.ru/articles/performance-comparison-1c.html
                                                                                                        0
                                                                                                        Оказывается СУБД они тоже сравнивали и Гилёв почти не отличается:
                                                                                                        http://efsol.ru/articles/performance-1s-postgre-ms-sql.html
                                                                                                          0
                                                                                                          когда сравнивали конкретные БД, могли быть разные «особенности» конфигурации (блокировок), давал ссылку в моем сообщении https://habrahabr.ru/company/stss/blog/282852/#comment_8889202
                                                                                                      +1
                                                                                                      Postgres Professional сделал Сборку PostgreSQL новой версии 9.5 для платформы 1С под Linux и Windows: http://1c.postgrespro.ru/rpm/9.5/centos-6-x86_64/
                                                                                                      Там http://1c.postgrespro.ru есть еще и другие платформы/дистрибутивы.
                                                                                                      Попробуйте/протестируйте 1С на новой версии PostgreSQL.

                                                                                                      centos: 1c.postgrespro.ru/keys/postgrespro-1c-centos95.noarch.rpm (oracle/rosa: 1c.postgrespro.ru/keys)
                                                                                                      debian/ubuntu/...: echo «deb 1c.postgrespro.ru/deb $(lsb_release -cs) main» > /etc/apt/sources.list.d/postgrespro-1c.list
                                                                                                        –1
                                                                                                        Я «всегда за!» в плане перехода на линукс, но елки-то:

                                                                                                        вот статья: https://habrahabr.ru/post/224327/

                                                                                                        Которая вышла 2 года назад, так могли б и прикретить в топике, уважения ради. Да и надо проверять сам ресурс перед публикацией на схожий материал.
                                                                                                          +1
                                                                                                          По поводу лицензирования, именно на вашу таблицу и смотрел, потом цены сверял.
                                                                                                          Ссылку на вашу статью в топике поставил.
                                                                                                          +1
                                                                                                          Есть опыт реальной работы под x11rdp 1cv83 в файловом режиме на ubuntu 14.4.
                                                                                                          Из минусов:
                                                                                                          Не работают com-объекты, есть проблемы с pdf417, из принтеров — хорошо работают только HP с сетевым интерфейсом. С остальными проблема решается через PdfPrint.zip есть проблема с печатью графических отчетов (контуры и заливка смещены на величину поля печати) А так, для учета все работает, печатает. Ну, и проблемы с раскладкой клавиатуры при повторных подключениях.
                                                                                                          Плюсы Linux:
                                                                                                          По сравнению с виндой скорость формирования на сложных отчетах выше примерно в 1.5 раза. Ну, и бесплатность. Для фирм до 10 человек вообще самое то. Ну, и над 1С работают, устраняют.
                                                                                                            0
                                                                                                            А можно подробнее? Какая конфигурация? размер базы? У меня подходит время принятия решения по переходу на клиент-серверный вариант Бухгалтерия 3.0 2 базы 7 юзеров. А конфигурации с интерфейсом «Такси» на управляемых формах такие неповоротливые и мало инфы по связке Бух 3.0 на Postgree. Ну и как обычно в наших краях- с бюджетом проблемы.
                                                                                                              0
                                                                                                              Две базы по 3 Гб каждая. машина amd fx-6300, 16gb ecc, винты wd-re 1tb в зеркале. 1с предприятие 8.3.6.2100. Работают 6 пользователей в файловом режиме.
                                                                                                              Ставил по инструкциям:
                                                                                                              установка http://infostart.ru/public/196375/
                                                                                                              настройка http://infostart.ru/public/508147/
                                                                                                              принтеры http://infostart.ru/public/452463/
                                                                                                              Сам Linux начал осваивать примерно год назад. Так что удачи.
                                                                                                            0
                                                                                                            GPG_COMMAND=«gpg -c -z 0 --batch --passphrase XXXXXXXXXX»
                                                                                                            А почему именно симметричное шифрование? GPG ведь умеет и асимметричное. В таком случае на сервере можно будет держать лишь открытый ключ, а закрытый спрятать понадёжнее и использовать только для расшифровки бекапов. К тому же, не будет необходимости хранить какие бы то ни было пароли в открытом виде.
                                                                                                            С асимметричным шифрованием команда будет выглядеть примерно так:
                                                                                                            GPG_COMMAND=«gpg -e -r -z 0 --batch»

                                                                                                            А расшифровывается всё это добро так:
                                                                                                            gpg -d -o
                                                                                                            Только нужно чтобы закрытый ключ был в keyring-е. Кстати, gpg-agent нужен как раз для того, чтобы каждый раз не вводить пароли к закрытым ключам. А вот при использовании одного лишь симметричного шифрования пользы от него никакой (как и вреда, в общем).
                                                                                                              0
                                                                                                              По привычке выделил агрументы команд угловыми скобками и не заметил это в предпросмотре, в результате получилась ахинея. Вот что я хотел сказать:
                                                                                                              GPG_COMMAND=«gpg -e -r 'key_id|e-mail' -z 0 --batch»

                                                                                                              gpg -d -o backup.gz backup.gz.gpg
                                                                                                              0
                                                                                                              Microsoft анонсировали SQL для Linux, интересно будет посмотреть на результаты тестов когда SQL Server появится «живьем» и реализуют поддержку в 1С(Сейчас нельзя к кластеру на Linux подключить БД на Ms SQL). Возможно такая схема станет компромиссным решением(хотя-бы за ОС от Microsoft не платить).
                                                                                                                +1
                                                                                                                Зря вы LXC используете. Ставьте 1с только в KVM, и берите «программные» лицензии. С ними, скажем, можно засунуть 1с в кластер Proxmox-ов, и обеспечить какую-никакую, а «высокую доступность». Ну и вообще, гонять ВМ с хоста на хост, а также делать бекапы без необходимости еще и о физических HASP-ключах помнить — оно удобно, как ни крути. Грубо говоря, два «писюка» на i5 с SSD-дисками класса Inter S3xxx, загнанные в кластер и связанные хотя бы по гигабиту, обеспечат небольшой фирме все что нужно.

                                                                                                                НО! Никогда не обновляйте ни хост-машину, ни ОСь в виртуалке: 1С привязывается и к железу, и к софту, и любой чих — будете долго перезапрашивать активацию. В 8.2 было именно так, в 8.3 появился сервер лицензирования, но если говорить о небольшой инсталяции — то не факт что он нужен.

                                                                                                                И, да, не забывайте в виртуалку давать побольше виртуальных процессорных ядер (чуть больше, чем у вас будет рабочих процессов). 1С любит ядра, давно это у нее.

                                                                                                                P.S. Статейка, правда, рекламная, в стиле, «мы умеем». Proxmox уже даже не так выглядит, как на ваших скриншотах :) А тот, что вы используете, именно с LXC не очень хорош. Как минусы решения под Linux — отсутствие COM-объектов, что порой мешает работать всяким ТСД.
                                                                                                                  0
                                                                                                                  Proxmox уже даже не так выглядит, как на ваших скриншотах :)


                                                                                                                  А как он сейчас выглядит? У меня так же…

                                                                                                                  в 8.3 появился сервер лицензирования
                                                                                                                  Если не трудно, опишите, что это такое без маркетинга. Это VM, которая умеет лицензировать сервера 1С и клиентов? Которая не так жёстко привязана к железу или что?

                                                                                                                  Спасибо.
                                                                                                                    +1
                                                                                                                    А вы Proxmox какой версии используете? :) 4.2?

                                                                                                                    Да, сервер лицензирования (это не обязательно ВМ) придумали для схем, когда вы ставите более одного сервера 1с, для распараллеливания нагрузки и для «якобы-HA» по-1с-ному. По старой логике надо было брать N серверов 1с и к ним N раз по нужному числу лицензий (по факту — по нужному плюс накая дельта на случай, когда 1с-юзер уже вышел, возможно аварийно, а лицензия в пул еще не вернулась). С сервером лицензирования вроде как подсчет лицензий ушел с каждого отдельного сервера на одну общую точку, так что их как бы нужно не «N раз по сколько нужно», а просто «сколько нужно».

                                                                                                                    По факту конечно «надо смотреть». Софт у 1С получается, как известно, как автомобили в Тольятти — «место проклятое», что ли ))
                                                                                                                      0
                                                                                                                      А вы Proxmox какой версии используете? :) 4.2?

                                                                                                                      4.1-41. Ничего-ж себе… Только что узнал, что 4.2 вышел, собственно от Вас.
                                                                                                                      По факту конечно «надо смотреть». Софт у 1С получается, как известно, как автомобили в Тольятти — «место проклятое», что ли ))


                                                                                                                      Ага, делаем BMW, выходит лада-калина. :)

                                                                                                                      Огромное спасибо! Буду смотреть!
                                                                                                                        0
                                                                                                                        Только что узнал, что 4.2 вышел, собственно от Вас.

                                                                                                                        Вышел недавно, но вроде как поработали они прилично (правда, вид спорный стал, если что — ну как как после красивой Windows 7 на «модно-молодежную» Windows 8 перейти :) ). Обещали даже автоматическое получение сертификатов от Let's Encrypt, правда, я не использовал :)

                                                                                                                        Один вопрос: 1С очень любит работать с debian-based системами, почему и зачем вы на Centos 6 все начали строить? Proxmox, кстати, это тоже debian-based дистрибутив, так может единообразно поставить все, чтобы потом не путаться?
                                                                                                                          0
                                                                                                                          Я не Автор. Я только использую proxmox (точнее на стадии финального внедрения), и тут узнал, что уже есть 4.2. :)
                                                                                                                    0
                                                                                                                    В моем опыте я как раз KVM использовал. Сначала пришлось долго мучаться и курить мануалы пока не нашел способ перебросить в виртуалку и серверный и клиентский аппаратные ключи — у них оказались одинаковые VendorID и DeviceID. Потом (редко, но все же) иногда ключи почему-то становились кратковременно недоступными и пользователей тут же начинало выбрасывать. Программные ключи в этом смысле как манна небесная.

                                                                                                                    И, да, не забывайте в виртуалку давать побольше виртуальных процессорных ядер (чуть больше, чем у вас будет рабочих процессов). 1С любит ядра, давно это у нее.

                                                                                                                    Этот совет уже не актуален, так как в настройках кластера убрали управление рабочими процессами. Теперь сервер 1С сам решает сколько rphost'ов он будет порождать.
                                                                                                                      0
                                                                                                                      НО! Никогда не обновляйте ни хост-машину, ни ОСь в виртуалке

                                                                                                                      а хост-машину что он там видит из виртуалки то?
                                                                                                                        +1
                                                                                                                        Увы, да. Не знаю точно что видит полностью, но минимум в строчке описания процессора в виртуалке меняются какие-то символы при обновлении хост-системы. Довольно странно, признаться. Может быть, правда, сейчас эту фичу устранили, но некоторое время назад она кровь портила.

                                                                                                                        Как по мне, 1С в свойственной им манере «делаем как умеем» просто берут все, что о системе можно получить, и запоминают при активации. Кстати, и отпраляют на свой сервер — мне теходдержка по телефону называла, в каких строках какие изменения произошли, так что разговоры, что отправляет хеш, а данные не уходят с машины, похоже, не более чем разговоры.
                                                                                                                      0
                                                                                                                      Скажите, а зачем понадобилось использовать виртуализацию, почему нельзя было поставить 1С сервер и Postgres на обычный Linux сервер?
                                                                                                                      Я не знаток в этой области, так что сильно не пинайте.
                                                                                                                        0
                                                                                                                        1. Главная причина в том что виртуализация позволяет не привязываться к конкретному железу, ставим разные компоненты системы на разные виртуальные машины внутри 1 железной и всё.
                                                                                                                        2. В случае проблем с одним из компонентов мы можем разворачивать из бекапа только его, в случае если одному из компонентов уже недостаточно выделенной мощности мы можем без проблем перенести его на другую ноду гипервизора.
                                                                                                                        3. У админа БД вообще может не быть админского доступа на серверы с прикладом.

                                                                                                                        Да и вообще вот стоит у нас сервер 40 ядер, 250Gb ОЗУ, какие-то системы утилизируют его полностью, но далеко не все, бывает софт который в принципе заточен под потребление 8Гб ОЗУ и всё что сверху никогда не использует, виртуализация решает эти проблемы.
                                                                                                                          0
                                                                                                                          «софт который в принципе заточен под потребление 8Гб ОЗУ и всё что сверху никогда не использует, виртуализация решает эти проблемы.»
                                                                                                                          Не решает, а позволяет утилизировать оставшуюся неиспользуемую память для других задач (виртуальных машин).

                                                                                                                          Еще один бонус виртуализации (Vmware, Microsoft) это упрощённое и гибкое резервное копирование (привет, Veeam и наступающим на их пятки Acronis с двенадцатой версией ABR).
                                                                                                                        0

                                                                                                                        Уважаемый автор,


                                                                                                                        В статье есть несколько режущих глаз моментов:
                                                                                                                        1.
                                                                                                                        service postgresql-9.3 start


                                                                                                                        и


                                                                                                                        /etc/init.d/httpd restart


                                                                                                                        к примеру, если мы договорились, что CentOS 6, то тогда и используем команду service, сработает и так и так (вторая еще apachectl restart). Но просто путает.


                                                                                                                        1. Также желательно работать и с rpm / yum. Это не всегда возможно, repo и ключа подписи может не быть, особенно у одиночного пакета. Но yum оперирует репозиториями и тут появляется удобство.
                                                                                                                          repo можно запрещать/разрешать, то есть если у Вас 2 разных postgesql Вы можете разрешить только нужный repo.


                                                                                                                        2. У Вас везде #, то есть работа идет от root, что категорически не рекомендовано. Правильный подход в Ubuntu или на AWS. Пользователь-администратор — sudoer, описанный как root без пароля. То есть

                                                                                                                        $ rm -rf /tmp — это обычный пользователь.
                                                                                                                        $ sudo rm -rf /tmp — реально это рут.


                                                                                                                        Так безопаснее. Пользы от статьи много, но плодить "как умеем" — плохой тон, новички же не знают как правильно.

                                                                                                                          0
                                                                                                                          Спасибо, учту.
                                                                                                                          +1
                                                                                                                          Хотелось бы добавить один момент, по поводу публикации конфигурации в веб — срабатывает только с новыми конфигурациями, поддерживающими управляемые формы (УФ). При попытке публикации старой конфигурации, не поднятой до ревизии с поддержкой УФ, пользователь будет получать пустой рабочий стол после входа в 1С.
                                                                                                                          Кроме того, сторонние обработки, если используются, также должны поддерживать УФ для корректной работы.
                                                                                                                            +1

                                                                                                                            классно получилось на мой взгляд, только 2 просьбы


                                                                                                                            • на сегодня наверное лучше указывать сборки от PostgreSQL.Pro https://www.postgrespro.ru/products/1c_build — у них есть официальный yum репозиторий, без необходимости прямого скачивания


                                                                                                                            • для бэкапирования сразу используйте http://www.pgbarman.org/ — сразу, без pg_dump, это позволит несколько по другому взглянуть на бэкапирование

                                                                                                                            по поводу Apache 2.4 не совсем понятно — 8.3.8 с поддержкой вышла еще в апреле, видимо статья готовилась до выхода — но тестовая версия с такой поддержкой была опубликована еще в феврале.

                                                                                                                              +1
                                                                                                                              Уже увидел. Да, основа статьи была написана ранее.
                                                                                                                              По наличию железа, установлю VM на 7-й версии CentOS + PostgreSQL.Pro и сделаю тестирование.
                                                                                                                              Результаты опубликую в апдейте статьи.

                                                                                                                              По http://www.pgbarman.org/ — хорошее решение, спасибо, попробую его.
                                                                                                                                0
                                                                                                                                Очень ждём, адекватных тестов. А иначе, грош цена такой экономии… Пробовал в 2009 году, в продакшене — было не юзабельно.
                                                                                                                                  0
                                                                                                                                  вы хотите тестирование реальных конфигураций на платформе?
                                                                                                                                  и 2009 год — «это очень давно» и по PostgreSQL и по 1С
                                                                                                                                  судя по постгре https://bucardo.org/postgres_all_versions.html — это 8-ая
                                                                                                                                    0
                                                                                                                                    А иначе смысл экономии нивелируется. Нормальные, адекватные тесты типовых конфигураций, необходимы.
                                                                                                                              0
                                                                                                                              Как-то пытались в своей корпоративной среде посадить юзеров на линуксы…
                                                                                                                              Сам сервер у нас на окнах, бд MSSQL, 1С 8.2
                                                                                                                              Установил тонкого клиента на линь, запустился, обрадовался, но трабла возникла при подключении сканера ШК, драйвера для 1С я не смог найти, гугление ничего не давало, плюнул на это дело
                                                                                                                                0
                                                                                                                                а какой драйвер вы искали? Сканеры (с USB) могут работать в режиме HID или эмулятора COM порта
                                                                                                                                все это поддерживается…

                                                                                                                                лирическое отступление
                                                                                                                                года 2/3 назад была задача стенд сделать: типа страничку в браузере отображать, в простое — видео крутить (локально загруженное), с пальцевым вводом работать (экран), рулить табло (бегущая строка)
                                                                                                                                для табло использовалась виндовая программа (кот. работала с COM портом), табло имело COM порт, использовали «переходник» для USB (на компьютер не было COM)
                                                                                                                                все это спокойно подцепилось в линукс (программа запускалась в wine), без поиска и установки драйверов

                                                                                                                                может рано плюнули или искали то к чему привыкли в windows?

                                                                                                                                PS: сканеры к 1С не цеплял (под линукс) за ненадобностью (в чисто линуксовой конфигурации не было задачи), может что-то в 1С через COM объект «должно» работать (но это не связано с поддержкой железа)?!
                                                                                                                                  0
                                                                                                                                  Да я больше Linux люблю)
                                                                                                                                  Нужно было запустить через эмуляцию COM порта, из ttyS* я читал данные, в Linuxe все было замечательно, но не было драйвера для 1С, программисты 1С (я туда боюсь лезть...) поковыряли, плюнули
                                                                                                                                    0
                                                                                                                                    здесь http://downloads.v8.1c.ru/content//CEL/1_1_6_1/news.htm написано что ошибки правили, т.е. сканеры и работали
                                                                                                                              0
                                                                                                                              Мы как-то участвовали в проекте импортозамещения и как раз переходили для клиента с виндофермы на линукс кластер. Имейте в виду, что если у вас загруженная 1С (десятки-сотни клиентов и большая база) стандартная Linux версия будет существенно менее производительной из-за проблем межпроцессных коммуникаций. Нам пришлось пилить хардкорные патчи чтобы на том же железе всё получилось
                                                                                                                                0
                                                                                                                                Ох рассказали бы, как получилось добиться эффекта. Тема-то кровная, прямо очень интересная!
                                                                                                                                  0
                                                                                                                                  >Нам пришлось пилить хардкорные патчи
                                                                                                                                  а что именно, для частей ОС?
                                                                                                                                  0
                                                                                                                                  Пользуемся пару лет (CentOS, Postgresql), основная проблема — конфигурация обновляется чрезвычайно долго, несколько часов, а то и сутки. Саппорт ничем помочь не может. Кто-нибудь сталкивался с такой проблемой?

                                                                                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                                                  Самое читаемое