Работаем в 1с на терминальном сервере

Сервер терминалов для 1С на Windows server 2012.

Теперь нам нужно его настроить, таким образом, чтоб наши пользователи могли работать в 1С на этом сервере.

Настройку мы выполним как для доменной сети, когда работает Active Directory, так и без «AD».

Для начала покажу, как без контроллера домена все это сделать.

Предполагается что 1С Предприятие у Вас уже установлено, (этот шаг я пропускаю, так как установка 1С аналогична, без каких либо дополнительных настроек).

Теперь мы должны создать пользователей для сервера терминалов. Создавать мы их, конечно, будем на этом же сервере так как «AD» у нас не поднималась.

Клик «Пуск» — «Панель управления» — «Администрирование» — «Управление компьютером» и находим слева в окне «Локальные пользователи».

Правый клик мышкой и создадим необходимое количество новых пользователей для работы на сервере терминалов.

Например, этот будут логины: PCN1, PCN2, PCN3… PCN27. Здесь главное не создавать уж слишком предсказуемые имена наподобие: User1, User2, User3. (Рекомендация для защиты сервера терминалов).

Пароли также создаем по всем требованиям локальной политики безопасности паролей, то есть верхний и нижний регистр букв с использование цифр, минимум семь символов.

Убираем птичку возле «Требовать смену пароля при следующим входе в систему».

Вместо этого ставим птичку возле «Запретить смену пароля пользователям».

И «Срок действия пароля не ограничен». Если ранее был создан надежный пароль, то и менять его постоянно нет смысла.

Как видите наш пользователь входит в группу «Пользователи». Нам нужно еще добавить этого пользователя в группу «Пользователи удаленного рабочего стола».

Для этого клик по кнопке «Добавить», затем клик по кнопке «Дополнительно» и клик по кнопке «Поиск».

Затем в списке ищем «Пользователи удаленного рабочего стола» и клик по кнопке «Ок» и еще раз «Ок». Заем нужно применить изменения.

Теперь еще один момент!

Если Вы работаете в 1С на сервере терминалов в простом файловом варианте, тогда Вам потребуется выполнить еще одну небольшую настройку.

Нужно дать дополнительные права пользователям, которые будут работать в 1С на папку где лежит файловая информационная база.

Находим эту папку и делаем правый клик мышкой, затем идем на вкладку «безопасность».

Наши пользователи как видите на «скрине» не имеют права на «Запись» только чтение и исполнение.

Давайте это исправим!

Кликаем по кнопке «Изменить» выделим группу «Пользователи» и добавим птички возле:

«Полный доступ» и «Изменение», затем «Применить» и «Ок».

Настройка сервера терминалов для 1С, когда работает Active Directory.

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

Настройки, как и прежде, будем проводить на Windows server 2012 R2, но покажу и как настроить доступ, когда у Вас Windows server 2008.

Для начала идем на сервер где у Вас работает «AD».

Запускаем оснастку «Active Directory – пользователи и компьютеры» и создадим необходимое количество пользователей. Создание пользователей очень простое и мало чем не отличается от создания локальных пользователей на сервере, что мы сделали раньше.

Поэтому создание пользователей в «AD» я пропускаю, и мы идем далее.

Создаем новую группу, например «TS».

И включаем в эту группу наших уже созданных в «AD» пользователей.

Теперь идем на сервер терминалов (Выполним вход под учетной запись Администратора AD).

Конечно! Сервер терминалов на этот момент уже должен быть включен в наш домен.

И так выполняем вход под учетной запись Администратора AD на сервере терминалов.

В окне справа находим группу «Пользователи удаленного рабочего стола».

Откроем эту группу и добавим туда нашу созданную группу в «AD» — «ТС».

Что это нам дает?

Смотрите теперь, когда нам будет нужно добавить нового пользователя для сервера терминалов.

Нам потребуется лишь создать его в «AD» и включить в группу «ТС».

Так администрирование, будет намного проще и быстрее!

И финальные настройки (На Windows server 2008 аналогично)

Набираем команду

Затем, когда откроется «Локальная политика безопасности», мы в окне слева открываем папку

«Локальные политики» — «Назначение прав пользователя» и в списке справа ищем «Разрешить вход в систему через службу удаленных рабочих столов».

Открываем эту политику и видим (На Windows server 2008) Что там есть только Администраторы.

Следует добавить или нашу группу «ТС» или выбрать пользователей, которые должны работать на сервере терминалов. Затем «Применить» – «Ок».

Что ж на этом все, будут вопросы пишите ниже в комментариях.

Терминальный доступ 1С, в некоторых случаях, помогает решить проблемы многопользовательского доступа, возникающие при сбоях сетевого оборудования. Для чего он еще нужен, как его организовать, какие у него слабые и сильные стороны — на все эти вопросы мы и постараемся ответить в этой статье.

Когда может понадобиться терминальный доступ

Рис.1 Окно подключения к удаленному рабочему столу.

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

Кроме этого терминальный сервер для 1С:

  1. Позволяет значительно снизить сетевую нагрузку. Вместо большого массива передаваемых туда-сюда данных, фактически, на клиент передается картинка, а на сервер только введенная информация;
  2. Защищает базу как от несанкционированных попыток доступа к ней, значительно усложняет копирование базы с посторонних ресурсов;
  3. Существенно ускоряет работу, если настроен файловый режим работы;
  4. Заметно снижает материальные затраты, необходимые для модернизации. Для улучшения качества работы достаточно обновить сервер терминалов 1С, оставив неизменным железо клиентской части;
  5. Исчезает необходимость установки платформы на все компьютеры операторов.

Важно! Основным требованием к клиентскому компьютеру в терминальном режиме является размер экрана и его разрешение . Порой, даже на 17′ экранах с низким разрешением некорректно отображаются некоторые элементы форм.

Лицензирование в терминальном режиме

Рассматривая данный вопрос, в первую очередь необходимо определиться, какие лицензии выдает фирма 1С. Их можно разделить на два основных типа:

  1. Клиентские;
  2. Серверные.

В свою очередь, клиентские можно разделить на:

  • Многопользовательские. Такие лицензии, приобретенные на определенное количество пользователей, позволяют осуществить запуск программы на нескольких персональных компьютерах. Лицензирование происходит либо через модуль веб-сервера либо через сервер выдачи лицензий;
  • Однопользовательские. В этом случае на одном компьютере может быть запущено неограниченно большое количество приложений.
  • Комбинированная — изначально содержит оба варианта лицензирования, однако после активации пин-кодом, работают исключительно в одном, выбранном режиме.

Настраивая под 1С терминальный сервер, следует учитывать, что серверные лицензии делятся на 32 и 64 битные версии, при этом последняя, установленная на сервер, позволяет без проблем запустить 32 разрядную версию.

При этом многопользовательская лицензия, установленная на терминал 1С, будет использоваться как несколько однопользовательских.

Таким образом, настройка терминального сервера 1С поддерживает применение любого типа лицензий. При этом раздача осуществляется не только для клиентов, подключенных в режиме рабочего стола но и для пользователей, работающих через удаленного приложение. В последнем случае нередко возникает ситуация, когда каждое новое подключение пользователя создает новый сеанс, а, следовательно, занимается одна лицензия. Для исправления этого неприятного момента необходимо в настройках терминального сервера ограничить пользователя одним сеансом.

Проблема при работе 1С при терминальном доступе на Windows Server 2012R2

Некоторые пользователи встречались с ситуацией, когда тормозит 1С в терминале на WS 2012R2. При этом все показатели по железу достаточно высокие, установка другой ОС значительно увеличивает скорость работы, перегрузок не заметно.

Естественно, причин может быть много. Не в последнюю очередь следует присмотреться к режиму Dynamic Fair Share Scheduling, который впервые появился именно в этой версии серверной операционки. Включение данного режима позволяет операционной системе самостоятельно распределять ресурсы центрального процессора между пользователями. Таким образом, даже на мощном компьютере этот режим может искусственно ограничивать скорость обработки.

Для отключения данного режима необходимо поменять параметры в ветках регистра HKEY_LOCAL_MACHINE->SYSTEM-> CurrentControlSet -> Control -> Session Manager -> Quota System (параметр EnableCPUQuota на 0) и в ветке HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> TSFairShare -> Disk (EnablaFairShare также на 0).

Не будем говорить, что это — панацея, но в качестве одного из лекарств от тормозов терминального сервера вполне подходит.

В статье рассматриваются нюансы установки и настройки терминального сервера по протоколу RDP для работы с базами 1с на платформе 8.3 на базе дистрибутива Xubuntu 14.04 с учетом возможностей последней версии сервера xrdp и опыта реальной эксплуатации.

Не так давно (в конце декабре 2016 года) вышел в свет очередной релиз сервера xrdp версии 0.9.1. Одновременно с этим была выпущена стабильная версия одного из «бекендов» xrdp - xorgxrdp v 0.2.0. Эти версии мы и будем использовать далее при установке.

Небольшое, но важное отступление

В составе дистрибутивов linux в-основном содержится устаревшая версия сервера xrdp версии 0.6.x, в которой имеются баги, которые мешают нормально работать с 1с (например, не работает нормально буфер обмена с русскими символами).

В основном, когда рассматривается установка терминального сервера на базе протокола rdp на linux, рассматриваются варианты установки сервера xrdp со сборкой X11Rdp бекенда с помощью специальных скриптов, например, X11RDP-o-Matic (для ubuntu) - на хабре, на infostart.

Использование бекэнда X11Rdp несет в себе несколько минусов:

  • Достаточно долгое время сборки
  • Сложно решить проблему с переключением языков. После переподключения к сеансу переключение языков может перестать работать. Автор регестрировал проблему на сайте разработчиков - гарантированное решение было найдено автором только для бекенда xorgxrdp правкой исходно кода (далее этот метод используется в статье)
  • Скорость отрисовки может оказаться недостаточно быстрой для комфортной работы пользователей
Использование бекэнда xorgxrdp позволяет указанных проблем избежать.

В статье рассматривается установка на Xubuntu версии 14.04 LTS, а не более свежей версии 16.04 LTS, по причине падения производительности при прорисовке удаленного экрана. Есть зарегистрированная проблема по данной ситуации. Кому-то помогало отключение compositor в настройках, но автору статьи не удалось добиться такой же скорости прорисовки, как на версии Xubuntu 14.04.

Для установки используем 32-битную версию ОС Xubuntu 14.04. Ссылка на образ.

Система может быть установлена как на хост, на и в виртуальную среду. Я обычно предпочитаю виртуализацию KVM, рабочие сервера ставились на ней.

При разбивке дисков использовалась классическая схема (не LVM), файловая система ext4. В виртуальную машину подключено 3 диска фиксированного размера:

  • 22 Гбайта: 18 Гигабайт точка монтирования /, остальное под swap
  • 5 Гбайт: точка монтирования /var
  • 5 Гбайт: точка монтирования /tmp
Данное разбиение - это предпочтение автора с учетом удобства эксплуатации. В любом случае, при планировании дискового пространства необходимо учитывать возможную нагрузку на файловую систему. При использовании файловых баз данных желательно использовать SSD диск(и).

Для сервера необходимо установить статический IP-адрес.

Для удобства ввода команд для последующей установки необходимо установить OpenSSH-сервер:

Sudo apt-get install openssh-server sudo restart ssh
При активированном firewall открываем порт 22:

Firewall-cmd --add-port 22/tcp --permanent firewall-cmd --reload

Установка и настройка сервера xrdp with xorgxrdp backend

На сайте разработчиков есть инструкция для установки на debian 8, используем ее за основу.

Устанавливаем необходимые зависимости:

Sudo apt-get install git autoconf libtool pkg-config gcc g++ make libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev git
Создаем каталог для загрузки дистрибутивов:

Mkdir -p ~/xrdp-xorg cd ~/xrdp-xorg BD=`pwd` cd "${BD}"
Клонируем из репозитория текущую последнюю сборку xrdp и собираем с кодеком rfxcodec:

Git clone git://github.com/neutrinolabs/xrdp cd xrdp git submodule init git submodule update cd librfxcodec ./bootstrap ./configure make cd .. ./bootstrap ./configure --enable-fuse --enable-rfxcodec --disable-ipv6 make
Устанавливаем xrdp в систему:

Sudo make install sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin sudo update-rc.d xrdp defaults
Скачиваем дистрибутив xorg-xrdp бекенда:

// Build and install xorgxrdp wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.0/xorgxrdp-0.2.0.tar.gz cd "${BD}" tar xvfz xorgxrdp-0.2.0.tar.gz cd "${BD}"/xorgxrdp-0.2.0
Устанавливаем жесткое правило переключения раскладки с русского на английский язык сочетанием клавиш Ctrl+Shift для решения проблемы переключения раскладок . Корректность проверяется созданием сессии - 1-я проверка, отключаемся, подключаемся еще раз в ту же сессию - заново еще раз проверяем.

В терминале присваиваем значения временных переменных:

Kb_model="pc105" kb_layout="us,ru" kb_options="grp:ctrl_shift_toggle"
Делаем замену кода в исходном файле:

Sed -ri.bak "s/(set.model)[^;]+/\1 = \"$kb_model\"/;s/(set.layout)[^;]+/\1 = \"$kb_layout\"/;s/(set.options)[^;]+/\1 = \"$kb_options\"/" xrdpkeyb/rdpKeyboard.c
Компилируем и устанавливаем в систему xorg-xrdp бекэнд:

./bootstrap ./configure make sudo make install
Желательно в файле /etc/xrdp/xrdp.ini поменять местами блоки и , чтобы у пользователя по умолчанию был правильный бэкэнд. При подключении к серверу нужно выбирать Xorg в списке сессий.

При необходимости изменения порта по умолчанию с 3389 на другой, редактируем файл /etc/xrdp/xrdp.ini: в разделе меняем значение переменной port=3389 на требуемый.

При активированном firewall открываем порт 3389(либо тот, на который стандартный был изменен):

Firewall-cmd --add-port 3389/tcp --permanent firewall-cmd --reload
После настроек перезапускаем службу

Service xrdp restart
Теперь можете подключиться к серверу через стандартного клиента с windows либо с linux любым клиентом, который поддерживает протокол rdp.

Внимание : перед подключением необходимо убедиться, что раскладка клавиатуры на клиентской машине установлена в английский язык, иначе не получится ввести имя пользователя и пароль в окне выбора сессий сервера xrdp.

После установки желательно проверить, что нормально работает буфер обмена с кириллическими символами в обе стороны. Также можно убедиться, что работает копирование файлов через буфер обмена с русскими символами (это одни из основных проблем, которые были устранены в последних сборках сервера xrdp и которые раньше мешали нормально использовать в рабочей среде сервер терминалов на базе xrdp).

Установка клиента 1С: Предприятие версии 8.3.9

В связи с тем, что в последних версиях платформы компания 1с довела нативного клиента для ОС на базе linux до состояния, с которым можно более менее комфортно работать, будем использовать именно его, а не пытаться установить wine, а поверх клиента для ОС Windows.

Устанавливаем дополнительные компоненты, необходимые для корректной работы:

Sudo apt-get install libgsf-1-114 sudo apt-get install ttf-mscorefonts-installer sudo apt-get install imagemagick
Скачиваем в папку с сайта 1с дистрибутив клиента и сервера:

Sudo dpkg -i *.deb sudo apt-get -f install
Так как компонеты сервера 1с нужны были только для удовлетворения зависимостей, отключаем службу:

Sudo update-rc.d srv1cv83 disable
Если используется сетевой hasp-ключ, то пропишем параметры поиска:

Sudo mkdir /opt/1C/v8.3/i386/conf sudo su echo >/opt/1C/v8.3/i386/conf/nethasp.ini echo NH_TCPIP = Enabled>>/opt/1C/v8.3/i386/conf/nethasp.ini echo >>/opt/1C/v8.3/i386/conf/nethasp.ini echo NH_SERVER_ADDR = 192.168.0.100>>/opt/1C/v8.3/i386/conf/nethasp.ini echo NH_TCPIP_METHOD = UDP>>/opt/1C/v8.3/i386/conf/nethasp.ini
Если используются программные лицензии, то их необходимо активировать через конфигуратор (можно на пустой файловой базе данных).

Корректная настройка с временными файлами, создаваемыми платформой 1С

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

Решение заключается в правильной настройке общесистемной umask, отнесение пользователей к одинаковой группе, а также правильной настройкой прав на временную папку /tmp.

Редактируем общесистемную маску. Правим файл:

/etc/login.defs
в нем меняем значение на:

Umask 002
Всех терминальных пользоватлей относим в группу Users (если не были отнесены ранее, можно и в другую группу).

Меняем права на папку tmp

Chown -R root:Users /tmp chmod g+s /tmp
Если используется обмен с сайтом Битрикс, то аналогичные настройки нужно сделать для папки /var/log/bitrix.

Вариант решения подобной проблемы применительно 1С описан в статье .

Решение проблемы с невозможностью выгрузки деклараций из баз ЗУП 2.5 и Бух 2.0

Есть одна неприятная особенность, которая может помешать бухгалтерам на клиенте 1C для linux выгружать декларации из зарплатной базы и бухгалтерии - после выбора файла и попытке выгрузить будет выдаваться сообщение вида «Нет доступа к каталогу [НазваниеКаталога]. Проверьте корректность имени каталога выгрузки!

Дополнение 31.03.2017

Коллеги, обращаю внимание, что вчера разработчики xrdp выпустили новую версию xrdp 0.9.2 и xordxrdp 0.2.1.
Исходя из Release notes теперь RemoteFX кодек теперь поддерживается по-умолчанию, поэтому по идее теперь не нужно его собирать отдельно, как я указывал в статье. Также по-умолчанию теперь используется бекенд xorgxrdp. Чуть позже проверю, как теперь происходит установка и сделаю правки в статью.

Теги:

  • nix
  • ubuntu
Добавить метки

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

В чем преимущества терминального сервера 1С?

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

Что еще кроме надежности? Удаленная работа на сервере 1С!

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

Важно! Терминальный сервер - значит привычная работа

Пользователям и бухгалтерам не приходиться переучиваться под новый интерфейс - внешний вид удаленного рабчочего стола на терминальном сервере 1С привычен и ничем не отличается от пользовательского компьютера - никаких сложностей в переучивании!

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

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

Резюме.

Если резюмировать - терминальный сервер 1С не сказываясь плохо на удобстве работы ваших пользователей, дает массу преимуществ, по удобству, безопасности и надежности работы с программами 1С Предприятие и 1С Бухгалтерия.

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

Сегодня мы рассмотрим выбор серверного «железа» для небольшой организации на 25-30 пользователей, с распределенной инфраструктурой (торговые точки, склад), которой требуются терминальный сервер и программа «1С: Предприятие». Этими сервисами будут пользоваться все сотрудники.

Большинство малых компаний, для удешевления стоимости оборудования, предпочитают минимизировать количество приобретаемой техники и просят администраторов «впихнуть» все запрошенные ими сервисы в один физический сервер. Желание понятное и простительное, но тут «есть нюансы».

Можно организовать терминальный сервер и использовать там файловую версию 1С, но при таком количестве пользователей компания-разработчик рекомендует переходить на клиент-серверный вариант. Поэтому нам потребуется еще сервер под «1С: Предприятие» и сервер баз данных. Уточним сразу, что организовать терминальный сервер, сервер SQL и сервер 1С на одной операционной системе возможно, но, с точки зрения безопасности и стабильности работы сервисов, это крайне не рекомендуется. А если всё-таки очень хочется использовать один физический сервер для всех трёх ролей, то рекомендуем использовать виртуализацию, например, VMWare ESXi или Hyper-V.
Таким образом, вырисовывается три варианта:

  1. Один сервер с файловой 1С. Плохой вариант, далее мы его рассматривать не будем.
  2. Один сервер с двумя виртуальными машинами.
  3. Два физических сервера, один терминальный, второй с БД и 1С.

Для решения этих задач можно предложить следующую конфигурацию серверов:

В случае с одним физическим сервером мы остановили выбор на Dell R710, с двумя шестиядерными процессорами Xeon X5650, 64 Гб оперативной памяти и шестью дисками: два SSD в RAID 1 и четыре SAS-диска в RAID 10.

В случае с двумя физическими серверами мы остановили выбор на таких конфигурациях:

  • Терминальный сервер: IBM x3550 M3 с одним процессором Xeon E5620, 32 Гб оперативной памяти и двумя SSD в RAID 1, с дополнительной сетевой картой на два гигабитных интерфейса. У этого сервера также есть богатые возможности для апгрейда, так как он двухпроцессорный, имеет 18 слотов под модули памяти и поддерживает до 288 Гб ОЗУ.
  • Сервер баз данных: IBM x3250 M5 с одним процессором Xeon E3-1220v3, 16 Гб ОЗУ, дополнительным RAID-контроллером SAS/SATA, четырьмя SAS-дисками в RAID 10, с дополнительной сетевой картой на 2 гигабитных интерфейса.
Почему мы выбрали именно такие конфигурации? Для ответа на этот вопрос давайте подсчитаем, что нам нужно для обеспечения комфортной работы пользователей в нашей небольшой организации на 25-30 сотрудников. Чтобы не было недопонимания: это лишь один из примеров недорогого внедрения 1С, и во многих случаях целесообразнее выбрать другие конфигурации.

Процессор

С точки зрения процессорного времени терминальные сессии занимают не очень большую долю. По опыту внедрения терминальных решений в различных организациях, для поддержания комфортной работы 30-ти пользователей достаточно будет 4-6 физических ядер процессора, по одному ядру на 6-8 сессий.

Для небольшой базы SQL-серверу понадобится одно ядро. Но мы будем ориентироваться на расширение базы в будущем (или увеличение количества баз) и возьмем два ядра на SQL.

Для сервера «1С: Предприятие» важно не столько количество ядер, сколько их тактовая частота и частота шины. Поэтому заложим еще два ядра на сервер 1С.
И не забудем, что в случае использовании виртуализации одно или два ядра нам пригодится для обеспечения работы хостовой операционной системы.

Итого у нас получается:

  • для сервера с двумя виртуальными машинами нужно 12 физических ядер. Можно и меньше, но всегда должен оставаться запас по мощности. Сервер с двумя шестиядерными процессорами подходит для этого идеально.
  • для терминального сервера достаточно одного процессора Xeon E5620 с шестью ядрами, для сервера баз данных - процессора Xeon E3-1220v3 с четырьмя ядрами.

Оперативная память

Сначала посмотрим, сколько нужно оперативной памяти под сервисы:
  • Операционная система Windows Server только под себя требует 2 Гб ОЗУ.
  • Для SQL и небольшой базы 1С достаточно будет 4-6 Гб ОЗУ.
  • Сервер «1С: Предприятие» требует еще 2-3 Гб ОЗУ.
  • Рассчитываем, что каждому пользователю потребуется 700 Мб ОЗУ в терминальной сессии, тогда на 30 пользователей потребуется 21 Гб.
Теперь применим это к нашим вариантам.
  • Для одного сервера с двумя виртуальными машинами нужно около 40 Гб ОЗУ.
  • Для терминального сервера достаточно будет 24 Гб или 32 Гб ОЗУ (возьмем с запасом, предполагая будущее расширение). Для сервера с базами данных нужно не менее 8 Гб, но это «впритык», поэтому 16 Гб с запасом. Память сейчас - один из самых дешевых компонентов сервера.

Дисковая подсистема

Это традиционное бутылочное горлышко многих систем. Правильный выбор жестких дисков очень важен для обеспечения быстродействия серверов. При работе 1С с базой SQL происходит множество операций чтения/записи в секунду (IOPS). Если пользователи работают на терминальном сервере с тонких клиентов (т.е. полноценно используют терминальный сервер как рабочую среду), это сильно нагружает дисковую систему сервера. Например, 30 пользователей терминального сервера на RAID 1, SATA 3 Гбит/с, с дисками WD Velociraptor чувствуют себя некомфортно при работе с почтой и активном сёрфинге в интернете. Для терминальных серверов мы рекомендуем использовать SSD-накопители. Для серверов баз данных - SAS-диски, собранные в отказоустойчивые массивы.

Помимо накопителей, следует уделить внимание и дисковому контроллеру. Современные серверы имеют на борту довольно хорошие контроллеры, например, HP SmartArray и DELL PERC. Однако некорректно будет использовать «набортные» решения при серьёзной нагрузке, когда требуется максимальная производительность. Немного сэкономив, вы легко можете получить мощный сервер, который совершенно не тянет нагрузку. Поэтому контроллер должен быть , со своей энергонезависимой памятью.

Рассмотрим варианты решения этой задачи.

  • Для одного сервера с двумя виртуальными машинами желательно использовать два RAID-массива: на одном будут располагаться файлы виртуальной машины терминального сервера, на втором - файлы виртуальной машины сервера баз данных и «1C: Предприятия». Для создания первого массива лучше всего использовать два SSD-накопителя в RAID 1 (зеркало).

    Второй массив лучше создать из четырёх SAS-диска в RAID 10 (зеркало + страйп), но можно и из двух SSD-накопителей в RAID 1. Выбор зависит только от стоимости дисков и модели сервера.

  • Для двух серверов всё то же самое, только массивы будут разнесены по серверам. На терминальном - RAID 1 из двух SSD, на сервере баз данных - RAID 10.

Один или несколько серверов

Как сказано выше, у небольших организаций довольно велико желание разместить все сервисы на одном сервере.

К преимуществам использования одного сервера и виртуализации можно считать более низкое энергопотребление и более гибкое распределение ресурсов между виртуальными машинами. Ну и перенос виртуальных машин, в случае чего, гораздо удобнее, чем перенос физических ОС.

Однако два сервера имеют более широкие возможности по апгрейду. Например, в нашем варианте недорогой IBM x3550 M3 с добавлением еще одного процессора и ОЗУ превращается в элегантные шорты терминальный сервер на 50 и даже более пользователей.

Еще одно «узкое место» в нашем случае, которое необходимо учитывать при выборе двух физических серверов, это обмен данными между ними по сети. У виртуальных серверов обмен данными идёт через виртуальный коммутатор. Здесь же, для увеличения пропускной способности сети, можно установить в каждый сервер по сетевой карте с двумя гигабитными интерфейсами, которые можно агрегировать между собой и напрямую соединить оба сервера агрегированными 2-х гигабитными линками. Или же использовать сетевые карты с SPF+ 10GBASE, но это дорогое удовольствие.

Запас по мощности

При расчетах и выборе сервера необходимо принимать во внимание пиковые нагрузки. Также обязательно нужно помнить, что база данных будет только «пухнуть», объёмы данных на терминальном сервере будут расти, а количество пользователей может увеличиться. Многие предприятия экономят на запасе мощности и через полгода-год сталкиваются с перебоями в работе и жалобами пользователей. Это тот случай, когда чрезмерная экономия приводит к новым затратам в будущем - скупой платит дважды. Выбранные нами варианты рассчитаны с запасом мощности и возможностью апгрейда. Учтено, что в DELL R710 можно будет добавить еще два жестких диска и ОЗУ, а также заменить процессоры на более производительные.

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

Если вы использовали один сервер DELL R710, то можно докупить недорогой IBM x3550 M3, поднять на нём гипервизор, перенести туда виртуальную машину с БД и 1С-сервером, а на DELL-е все ресурсы отдать виртуальной машине с терминалом. Это будет быстро, и не потребуется «всё выкинуть и купить новое».
Если же вы использовали два сервера IBM, то x3550 M3 с добавлением второго процессора и небольшого количества ОЗУ превращается из середнячка в довольно мощную машину. А в x3250 M5 можно обновить процессор с E3-1220v3 до E3-1285v3.

Публикации по теме