1 с сервер

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

Что такое сервер 1С

Но существует и другое понимание сервера

Сервер 1С – это программа, которая работает в клиент-серверном режиме с базами данных 1С под управлением СУБД, например, Microsoft SQL Server или Linux PostgreSQL, IBM DB2, Oracle Database и т.д. То есть это не просто хранение базы 1С на сервере, это управление процессами работы 1С Предприятия.

Как правило, сервер 1С используют средние и крупные компании, в которых с базами данных 1С одновременно работают около 20 или более пользователей. При меньшем количестве пользователей 1С все-таки достаточно файлового режима, когда база данных 1С располагается на одном из компьютеров (возможно одного из пользователей), а с остальных ПК прописан к ней путь в локальной сети. Например, вот так: \\\Базы 1с\

А у пользователя, на компьютере которого лежит база:

Рис.1 Имя базы

Зачем же нужен сервер 1С, и какие преимущества он имеет?

  • Быстродействие. При работе в клиент-серверном варианте 1С самые объемные и «тяжелые операции», например, групповое перепроведение документов или групповая обработка данных, производятся на серверных мощностях, а конечный результат, так называемая «выборка», предоставляется клиентскому приложению. Увеличить мощность одного сервера проще и дешевле, чем обновить все клиентские машины.
  • Безопасность. При использовании клиент-серверного режима 1С, пользователям не известно место расположения базы данных. Это простейший способ пресечь вероятность копирования информации из базы данных. В файловом режиме работы с базой пользователь может легко это сделать.
  • Еще одним серьезным доводом в пользу интеграции сервера 1С архитектуру информационной системы на базе 1С является удобство администрирования, а также возможность контроля и разграничения доступа пользователей к базе данных.

Работа сервера 1С

Конфигурация или клиентское приложение 1С, запущенное пользователем на своем устройстве, допустим, компьютере, подключена к кластеру серверов 1С:Предприятие 8, который обращается к серверу, хранящему базы данных, управляемые MS SQL Server или PostgreSQL.

Сервер 1С Предприятие 8 и сервер баз данных желательно разместить на разном «желлезе», поскольку именно благодаря этому распределяется нагрузка между серверами 1С Предприятие и БД.

Рис. 2 Схема серверной работы

Устанавливаем сервер 1С

Перейдем непосредственно к инструкции по установке сервера 1С. Для начала нам понадобится установочный дистрибутив, который можно взять на сайте поддержки пользователей 1С (users.v8.1c.ru).

Из перечня поставляемых дистрибутивов нам подойдут два варианта:

  • Технологическая платформа 1С Предприятие для Windows – для установки сервера 1С 32-разрядной версии.
  • Сервер 1С Предприятие (х64) для Windows – чтобы установить сервер 1С как 64х так и 32х-разрядной версии.

Открываем папку с файлами установки. Для среды 1С Предприятия это стандартное окно.

Рис. 3 Папка с файлами установки

Нам понадобится файл Setup.exe. Его запуск вызовет помощника установки системы «1С Предприятия». На первой странице жмем «Далее».

На следующей странице нам будет предложено выбрать устанавливаемые компоненты. Помимо стандартно указанных, обратим внимание на:

  • Сервер 1С Предприятия, который установит компоненты сервера 1С.
  • Администрирование сервера 1С Предприятия 8 – необходимые элементы администрирования серверов 1С.

Остальные компоненты могут быть установлены по необходимости сейчас или позднее. Поэтому, нажимаем «Далее».

Рис.4 Выборочная установка

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

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

  • Вход в систему, то есть доступ непосредственно к сервису (Log on as service);
  • Вход в систему для запуска пакета заданий/команд (Log on as batch job);
  • Возможность использования журналов производительности (Perfomance Log Users).

Помимо этого пользователю лучше дать права на каталог служебных файлов сервера. По умолчанию это C:\ProgramFiles(или ProgramFiles(x86))\1cv8\srvinfo. Путь зависит от того, какой разрядности приложение для сервера 1С Предприятие мы устанавливаем.

Созданный новый пользователь USR1CV8 по умолчанию будет обладать всеми перечисленными правами. Задаем пароль и продолжаем установку сервера Предприятия.

Рис.5 Установка сервера

На следующей странице начинаем установку.

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

После нажатия «Далее», если ошибок в процессе установки не возникло, на последней странице жмем «Готово» для завершения установки.

Теперь нам надо убедиться, что служба сервера запущена.

Рис.6 Служба сервера

В список служб мы можем зайти по команде services.msc в поисковой строке меню «Пуск». Служба может выглядеть так, как показано на скриншоте или «1С: Enterprise 8.3 Server Agent». Если служба не запущена, сделайте запуск вручную: правой кнопкой мыши по службе – Свойства – Запустить. Также поставим Тип запуска – Автоматически.

Установка Сервера 1С завершена. Остается только настроить брандмауэр Windows, чтобы пользователи с клиентских машин могли подключаться к серверу 1С. Для этого в брандмауэре нужно разблокировать порты 1541, 1560-1591. О том, как добавить разрешающее правило в брандмауэр, можно прочесть в Интернете.

В финале мы активируем имеющуюся лицензию на сервер 1С.

Объектно-ориентированная система данных 1С использует пять потоков:

  • Таблицы баз данных
  • Индексные файлы.
  • Системная база для временных таблиц tempDB.
  • Лог-файл SQL.
  • Лог-файл приложений.

Определение нагрузки на дисковую подсистему сервера для 1С Предприятие 8.3

Параметр

Тип дисков

Desktop SATA 7200 rpm

Enterprise SATA \ SAS NL 7200 rpm

Enterprise SAS 15 000 rpm
(10 000 rpm)

Enterprise SATA SSD

Latency (время отклика диска на чтение/запись), микросекунды

4 160

4 160

2 000

Disk Reads/sec (количество операций чтения в секунду), IOPS

90 000

Disk Writes/sec (количество операций записи в секунду), IOPS

30 000

Таким образом, для всех дисков скорость записи уступает скорости чтения. При этом даже начальные модели SSD в несколько десятков раз превосходят по всем параметрам HHD.

В серверах баз данных применяют RAID-массивы, а не отдельные диски, поэтому для определения реальной производительности дисковой системы нужно учитывать затраты на запись IOPS, так называемые «пенальти». На «пенальти» делится общая сумма IOPS всех дисков в группе RAID.

RAID 0

RAID 1 (or 10)

RAID 5

RAID 6

«Пенальти» на чтение

«Пенальти» на запись

Например, для RIID 5 из четырех дисков SATA со скоростью 7200 оборотов в минуту продуктивность рассчитывается так: (4*100 IOPS) / 4 = 100 IOPS. А для четырех таких же дисков в RAID 10, производительность будет равна 200 IOPS ((100 IOPS *4) / 2).

Таким образом, можно сделать вывод, что двух объединенных в RAID 1 HDD SATA 7200 серверу, скорее всего, не хватит. Для надежной работы и хранения базы данных оптимальным будет RAID 10.

Столь любимые ранее RAID 5 и 6 не имеют экономического смысла на небольших (до 10Тб) объёмах. С точки зрения надёжности многодневный ребилд RAID 5 и 6 не выдерживает вообще никакой критики.

Оптимизация нагрузки сервера 1С 8.3

Чтобы усилить возможности записи дисковой подсистемы на 30-90%, можно увеличить количество дисков в RAID, выполнить кеширование в режиме отложенной записи, использовать диски с более высокой скоростью и низким «пенальти».

Самыми высокоскоростными считаются RAID массивы из SSD на базе SAS контроллеров или PCIe. У них есть лишь два минуса – технологические ограничения совместимости и относительно высокая стоимость. А бесспорными плюсами SSD являются возможность организации многоуровневого хранения данных.
Современное отношение цена-объём у SSD таковы, что экономически выгодно использовать пару SSD объёмом до 1Тб в RAID1 для размещения нескольких логических разделов: системного, логов, кэша и баз 1С.

Оптимальное размещение компонентов 1С на дисковой подсистеме будет примерно таким:

Таблицы БД

RAID 1 для малых БД
RAID 10 для средних БД
Серверные SSD с аппаратным RAID-контроллером;
PCIe SSD для систем, требующих высочайших показателей IOPS;

Временные файлы TempDB

Один или два (RAID 1) SSD

Log-файлы

Отдельный физический диск/RAID 1 либо логический диск на RAID-массиве с ОС

ОС

RAID 1 SSD.

Пользовательские файлы: документы, чистые базы, выгрузки и т.п.

RAID 1 HDD.

N.B. Для виртуализированной инфраструктуры сервер базы данных должен быть установлен на физический носитель. Таблицы, индексные и временные файлы должны быть подключены к виртуальной машине в монопольном режиме через Direct Access. Это позволит выиграть до 35% общей производительности системы.

Выбор сетевого интерфейса

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

Описанная выше архитектура (исключающая Ethernet-цепочку SQL-сервер —> Сервер приложений 1С —> пользовательская сессия 1С) является оптимальной потому, что минимизирует временные затраты на упаковку/распаковку трафика. В системе 1С значительные объемы информации передаются по всей цепочке в обе стороны. Естественно, что прямая передача через оперативную память или виртуальный сетевой интерфейс существенно быстрее.

Такая архитектура является максимально эффективной, но не самой надежной. Повысить отказоустойчивость можно с помощью виртуализации и зеркалирования (кластеризации). Крупные базы данных с серьезной вычислительной нагрузкой часто используют несколько физических хостов. В таком случае рекомендуется связать все устройства по сети 10Gb Ethernet.

Небольшие базы, построенные на экономичных сетевых адаптерах 1 Gb, значительно теряют производительность на Ethernet-портах. Как правило, в таких решениях два или три встроенных порта GbE основаны на десктопных чипах. Передача данных через них задействует ресурсы процессора, RAM и внутренних шин. Если таким образом построена виртуализированная система, производительность ее сетевого трафика может быть снижена на треть.

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

Настройка Windows

В настройках электропитания операционной системы выберите и активируйте план «Высокая производительность», и далее:

  • Изменить дополнительные параметры плана → Управление питанием процессора → Минимальное состояние процессора → 100%.

Согласно тестам, эта простая настройка дает существенный прирост производительности и значительно ускоряет выполнение процессов в 1С, например, время открытия форм сокращается почти вдвое.

Способы повышения отказоустойчивости системы

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

Из аппаратных решений особенно важным является использование UPS, дополнительных блоков питания, корзин горячей замены и резервирования дисков. Но первое место в вопросах сохранности данных занимает их регулярное плановое резервирование.

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

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

Петр Чикорский, ведущий технический специалист компании Larga

Добавление правила в брандмауэр Windows Server 2012 R2 для 1С: Предприятие

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

В конфигурации бранмауэра Windows Server 2008/2012 R2 по умолчанию предусмотрена блокировка сетевой активности. Чтобы дать возможность вашим клиентским программам работать через соответствующие порты с серверными компонентами, необходимо добавить в Windows Firewall правила, которые позволят производить обмен данными в сети с использованием определенных портов.

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

  • ошибка доступа к серверу по сети;

  • ошибка при выполнении операций с информационной базой;

  • безуспешная попытка установить соединение, не был получен нужный отклик от другого компьютера;

  • было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.

Данные ошибки указывают на то что клиентскому По не удалось по указанному адресу найти 1С-сервер. Нередко случается так, что на сервере требуемый для подключения порт просто закрыт. В случае с 1С-сервером это порт под номером 1541.

Чтобы открыть данный порт, необходимо зайти на сервер через RDP-подключение и запустить управление Windows Firewall. Эту операцию можно произвести двумя способами. Первый вариант – перейти в «Панель управления», далее в подраздел «Система и безопасность», гд е нужно запустить, собственно, брандмауэр.

Также для этого можно воспользоваться командной строкой, выполнив в ней команду firewall.cpl – для этого нажимаем горячие клавиши Win+R, после чего переходим в раздел «Открыть», вводим имя команды и жмем подтверждение действия.

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

Перед нами откроется мастер создания правил для новых входящих подключений. На титульной странице необходимо выбрать тип выбираемого правила, помеченный названием «Для портов» и можно перейти дальше. Теперь укажем протокол передачи сетевых данных (в нашем случае указываем TCP), а также номер открываемого порта.

На следующей вкладке нам нужно будет указать непосредственно действие, которое будет связано с создаваемым нами правилом. Нас интересует действие «Разрешить подключения». Выбираем его и жмем «Далее». Теперь отмечаем требуемые профили Windows Firewall, на которые должно распространяться создаваемое нами действие. Последняя страница мастера предлагает нам ввести имя для нового правила, а также добавить для него описание по желанию. Жмем готово и завершаем работу с мастером.

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

По аналогии с описанной выше схемой добавления портов добавляем еще одно правило, в котором указываем диапазон портов 1560-1591. Эти порты требуются для обеспечения различных рабочих процессов программы 1C. Порты, входящие в этот диапазон, указываем через дефис в разделе «Protocol and Ports».

После проделанных манипуляций переходим в оснастку «Windows Firewall with Advanced Security». Здесь, в разделе правил для входящего подключения мы сможем увидеть созданные нами правила. При этом теперь клиент 1С должен свободно подключаться к серверному окружению. Если требуется подключение к вашему серверу через консоль серверного администрирования 1C, вам потребуется создать отдельное правило, открывающее порт 1540.

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

Настройка Windows Firewall для Win Server 2012 на 1С-сервере + MS SQL

Теперь несколько слов о том, как произвести настройку брандмауэра под Windows Server 2012 в указанной конфигурации. Такая связка – не редкость для современных офисов, но иногда требуется дополнительное время, чтобы разобраться в принципе работы Windows Firewall относительно серверного окружения 1С.

При условии, что сервер осуществляет прием подключения на стандартный TCP-порт 1433, нужно просто разрешить этот порт, воспользовавшись созданием правил для брандмауэра, принцип которого мы рассмотрели выше. Чтобы проверить, действительно ли работа идет через этот порт, можно запустить оснастку «Диспетчер конфигурации SQL Server» в Server 2012 и перейти на вкладку сетевой конфигурации. Здесь нужно выбрать вкладку протоколов для MSSQLSERVER и в левом окне найти TCP/IP-протокол. Выбираем его и кликаем «Свойства», после чего ищем вкладку «IP-адреса» и раскрываем ветку «IPAII».

Если же SQL-порт динамический, потребуется разрешение подключения к следующему приложению %ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe.

Как уже было сказано выше, 1С-сервер работает с портом 1541 и портами в диапазоне 1560-1591. Однако нередко случается так, что по непонятным причинам данный список откртых портов все равно не дает выполнять подключение к серверу. Чтобы все работало на 100% нужно всего лишь расширить этот диапазон, указав в нем порты от 1540 до 1591.