Решения. Решения Проектирование сервера под 1с

В любой организации, где количество пользователей 1С 8.3 (или 8.2) от 10 и более, при больших объемах данных рекомендуется использовать клиент-серверный вариант работы. Такой вариант основан на использовании сторонней СУБД, например, MS SQL server. Естественно, клиент-серверный режим сложно представить без отдельно стоящего сервера. Но каждая компания уникальна, у каждой свои потребности, поэтому и к выбору сервера необходимо подходить с ответственностью. В этой статье мы постараемся дать ответ на вопрос, как выбрать сервер 1С — как программное обеспечение, так и железо. Выбор — очень важный пункт в развитии информационной системы компании.

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

Существует пять вариантов СУБД, с которой работает платформа 1С:

Получите 267 видеоуроков по 1С бесплатно:

  • встроенная СУБД самой 1С 8.3, так называемый файловый режим . Самый простой вариант работы, не может похвастаться высокой безопасностью. Работает на ОС Windows и Linux. Ограничение на размер базы данных около 6-10 гигабайт;
  • MS SQL Server — лучшая СУБД для 1С, имеющаяся на рынке. По мнению многих экспертов SQL Server вообще лучший программный продукт фирмы Microsoft. Для работы требуется ОС семейства Windows;
  • IBM DB2 Universal Database — достаточно надежная и безопасная система управления СУБД. Особенность её в некоторых нюансах обработки информации и работы системных методов (например, чувствительность к регистру строковых данных). На качество работы существенно влияют навыки и знания администратора. Поддерживает Windows, Mac OS X, Linux;
  • Oracle Database — версионная СУБД, что даёт в некоторых случая повышение производительности. Поддерживает Windows, Mac OS X, Linux;
  • PostgreSQL — также версионная. Самое главное преимущество — бесплатный дистрибутив программы. На скорость работы сильно влияет квалификация администратора. Рекомендуется для небольшого количества пользователей. Работает на Windows, Mac OS X, Linux.

Выбор железа для 1С

В отличие от программ выбрать аппаратное обеспечение не так просто. Рассмотрим выбор серверных компонентов для разных количеств пользователей. Количество пользователей — понятие абстрактное, берутся средние для документооборота цифры. При подборе оборудования обязательно учитывайте объем документооборота.

До 10 пользователей

  • Процессор : Intel Core i3 или Intel Xeon E3-12xx.
  • Оперативная память : 4 гигабайта, в них включается 2 гб на операционную систему и 2 гигабайта под кеш СУБД.
  • Дисковая подсистема
  • Сетевые интерфейсы

Сервер от 10 до 40

  • Процессор : аналог Intel Xeon E3-12xx или AMD Opteron 4ххх.
  • Оперативная память : обычно достаточно 8-12 гигабайт.
  • Дисковая подсистема : в идеале желательна комбинация SSD + HDD. Но если нет возможности, можно обойтись и HDD.
  • Сетевые интерфейсы : обычно все серверные приложения установлены на одной машине.

от 40 до 70

  • Процессор
  • Оперативная память : 16 гигабайт, а лучше 32.
  • Дисковая подсистема : Достаточно традиционного массива из HDD SAS 15K rpm.
  • Сетевые интерфейсы : Если серверы на разных машинах, использовать сеть с пропускной способностью 10 Gb.

от 70 до 120

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

  • Процессор : Intel Xeon E5-26xx или AMD Opteron 62xx.
  • Оперативная память : от 32 гигабайт.
  • Дисковая подсистема : RAID 10 из надежных серверных SSD с обязательным аппаратным RAID-контроллером.
  • Сетевые интерфейсы : Желательно связать цепочку серверов в сеть с пропускной способностью 10 Gb. Индексные файлы рекомендуется вынести на отдельный SSD, таблица временных таблиц TempDB - на 1-2 (RAID 1).

от 120 пользователей

Сегодня мы рассмотрим выбор серверного «железа» для небольшой организации на 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.

Сервер 1С – это специальная программа, которая позволяет запустить 1С в компании в клиент серверном режиме. Что все это значит?

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

Второй режим называют клиент серверный (или просто – серверный). Это значит, что на сервере (компьютере) запущена специальная программа – сервер 1С (программа, еще ее называют Сервер приложений 1С). Программа, которую запускает пользователь (клиент 1С) на своем компьютере, работает с программой сервер 1С, а уже та в свою очередь работает с базой данных. В качестве базы данных используется СУБД – MS SQL или подобная.

Сервер 1С обычно используют в следующих случаях:

  • База данных большая (4Gb+)
  • Количество пользователей большое (20-30+)
  • Используется тонкий или веб клиент 1С (вообще любая разновидность связки 1С и веб)
  • Хочется работать с 1С на Linux.

Сегодня мы обсудим как настроить сервер 1С.

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

Для исключения путаницы разберемся что имеют ввиду, когда говорят «Сервер 1С»:

  • Это программа Сервер 1С (обычно запускаемая как сервис Windows)
  • Это сервер, на котором работает эта программа (т.е. компьютер)
  • Это сервер, на котором работает MS SQL, на котором расположена база данных, которой управляет программа Сервер 1С
  • Это сервер, на котором работает веб сервер Apache или MS IIS, через который работает веб-клиент 1С.

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

Реальная схема работы Сервера 1С

Сервер 1С (точнее сервер приложений 1С) – это программа 1С, установленная [чаще всего] как сервис Windows. Также ее можно установить как обычную программу и использовать автозагрузку для ее старта при загрузке Windows. Также сервер 1С можно установить под Unix/Linux, для этого есть отдельный дистрибутив (ссылку как установить под Linux смотри здесь).

Сервер 1С не является одной программой, а состоит из несколько процессов:

  • Агент сервера (ragent.exe) – собственно и является сервером 1С. Он ничего не делает кроме хранения и идентификации одного или группы кластеров 1С.
  • Кластер 1С (rmngr.exe) – группа рабочих процессов 1С, которые осуществляют собственно обработку данных. Сам по себе кластер ничего не обрабатывает, а осуществляет менеджмент рабочих процессов.
  • Рабочий процесс 1С (rphost.exe) – собственно «рабочая лошадка», которая обрабатывает сеанс работы пользователя.

Таким образом один сервер 1С может состоять из нескольких кластеров (которые могут быть расположены на разных компьютерах), а каждый кластер может состоять из нескольких процессов. Что это дает?

С помощью создания нескольких кластеров Вы балансируете общую стабильность системы. При падении одного из кластеров (или серверных компьютеров) – работу продолжит другой кластер.

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

Схема работы сервера 1С с другими составляющими 1С системы

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

СУБД (в разговоре многие называют SQL, хотя это неправильно) – это система управления базами данных. Устно часто называют как «эс-ку-эль» или «скуль» или «сиквел». В большинстве случаев с 1С используют MS SQL, так как это сложилось исторически. В версии 8.2 появилась поддержка Oracle и IBM DB2, а также для тех, кто хотел бы собрать полностью лицензионную и бесплатную систему на Linux – PostgreSQL, распространяемый бесплатно (лицензионный).

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

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

В веб варианте дополнительно используется веб сервер. Он требуется когда:

  • нужна работа 1С с веб (веб сервисы, веб расширение)
  • использование тонкого клиента 1С через интернет
  • использование веб клиента.

Веб сервер не выполняет никаких 1С действий и выполняет функцию прокладки между клиентом и сервером 1С. Т.е. все действия он передает (транслирует) для выполнения на сервер 1С. Работа веб сервера IIS с сервером 1С построена на базе ISAPI расширения, из дистрибутива 1С.

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

Управление сервером 1С производится с помощью специальной утилиты Администрирование серверов 1С. Утилита находится в меню 1С:Предприятие по кнопке Пуск.

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

Если Вам нужно запустить консоль предыдущей версии – в меню Пуск конкретной версии 1С можно выбрать команду Регистрировать утилиту администрирования. После чего попробуйте запустить консоль снова.

Окно консоли управления делится на две части – левую (со списком параметров) и правую (информационная панель). При первом запуске панель слева будет пустая.

Чтобы добавить сервер 1С, которым мы будем управлять, и который уже установлен и запущен – необходимо нажать правой кнопкой на строку Центральные серверы 1С и выбрать Новый сервер 1С. В качестве Имени нужно ввести IP адрес или имя компьютера, на котором установлен и запущен сервер 1С.

Чтобы войти в добавленный/выбранный сервер – раскройте ветку нажав на крестик слева от имени/IP адреса:

  • ветка Администраторы
    Здесь указываются (т.е. добавляются) администраторы сервера 1С. Администраторы сервера 1С имеют права на управление собственно сервером (не кластером!). Если ни один не добавлен – то управление сервером может выполнять каждый вошедший.
  • ветка Кластеры
    Здесь расположен список кластеров. Если он пуст – создайте первый кластер по умолчанию.
    Раскрыв ветку кластера Вы можете произвести управление кластером:
  • ветка Администраторы
    Здесь указывают (т.е. добавляются) адинистраторы кластера 1С. Администраторы кластера 1С имеют права на управление кластером, но не сервером 1С. Если ни один не добавлен – то управление кластером может выполнять любой вошедший. Чтобы управлять кластером не нужно быть администратором сервера.
  • ветка Рабочие серверы
    Здесь можно добавлять и удалять рабочие процессы. Как уже говорилось выше, это позволяет балансировать нагрузку на производительность сеансов пользователей, разводя их по разным процессам. В свойствах процесса есть:
    o Использовать/Не использовать/Резервный – активность процесса
    o Производительность – цифра до 1000, по умолчанию 1000; позволяет манипулировать текущим приоритетом процесса; новые сеансы коннектятся к тому процессу, у которого максимальная цифра производительности; однако раз в N минут система сама переставляет эту цифру по фактической загрузке процесса.
  • ветка Информационные базы
    Собственно здесь и расположены подключенные (расположенные на этом сервере 1С) базы данных. В свойствах базы данных есть:
    o Блокировка сеансов – запрет подключения к этой базе сейчас
    o Сообщение – выдается при попытке присоединиться, когда заблокировано
    o Код разрешения/Параметр – разрешает коннектится даже если поставлен запрет.
  • ветка Информационные базы/Имя базы/Сеансы
    Список подключенных к базе данных пользователей. Выделив сеанс курсором его можно удалить кнопкой Del. Можно выделить сразу всех. Аккуратно – не удалите себя!

Сегодня мы рассмотрим выбор серверного «железа» для небольшой организации на 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.

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

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

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

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

Серверы для 1С на 5 пользователей >>>

Для подобной задачи будет достаточно самого бюджетного варианта оборудования. Основной параметр здесь - это надежность и бесперебойность работы сервера.

  • Количество процессоров - 1 (4 ядра)
  • Оперативная память - 4-8 Гб

Данной производительности сервера вполне достаточно, чтобы в 1С 8 могли работать 5 пользователей в терминальном режиме.

Серверы для 1С на 10 - 15 пользователей >>>

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

  • Количество процессоров - 1 (4 - 8 ядер)
  • Оперативная память - 8-16 Гб
  • Жесткие диски - 2 х SATA (RAID 1)

Мы рекомендуем использовать аппаратный RAID контроллер, а также SAS диски, обладающие вдвое большей производительностью, чем SATA. Мощности сервера достаточно даже для работы пользователей в терминальном режиме. Если вы не планируете использовать терминальный режим, то при установке SAS дисков и аппаратного RAID контроллера такой сервер сможет обслуживать до 25 пользователей 1С.

Использование SATA SSD дисков является отличной альтернативой SAS дискам: они высокопроизводительны и бесшумны, и не требуют использования RAID-контроллера. Однако не стоит забывать, что одна из ключевых функций контроллера - повышенная надежность хранения данных.

Серверы для 1С на 20 - 30 пользователей >>>

Для данной задачи сервер должен иметь высокую производительность дисковой подсистемы. Аппаратный RAID-контроллер и наличие кэш-буфера увеличит скорость доступа к данным.

  • Количество процессоров - 2 (от 4 ядер)
  • Оперативная память - от 16 Гб, при терминальном доступе - 64 Гб, плюс объём памяти равный размеру базы данных
  • Жесткие диски - 2 х SAS (RAID 1), предпочтительнее 4 х SAS (RAID 10) либо SATA SSD

Для организации терминального доступа в 1С 8 необходимо 500 Мб оперативной памяти на каждую сессию. Если планируется использовать в терминале еще и офисные приложения, то рекомендуется 1-2 Гб оперативной памяти для каждого пользователя.

Серверы для 1С на 30 - 50 пользователей >>>

Мы рекомендуем использовать, как минимум, два сервера: первый - для базы данных, второй - для терминалов. В этом случае сервер приложений размещается на одном из этих серверов. При большом занимаемом проценте процессорного времени сервера, имеет смысл задействовать выделенный сервер приложений. Если ваш проект предполагает использование выделенного сервера приложений, мы рекомендуем использовать недорогой однопроцессорный сервер, в котором достаточно будет установить 2 диска SAS или SATA SSD и 16 Гб ОЗУ.

Самое важное для сервера баз данных - это дисковая подсистема и объём оперативной памяти.

  • Необходимо обеспечить полное кэширование базы данных в оперативной памяти сервера. Если на этом физическом сервере работает и сервер приложений 1С, то необходимо выделить память и ему - 2-4 Гб. Поскольку система 1С генерирует очень мощную нагрузку на запись, это не может быть компенсировано оперативной памятью.
  • Дисковая система, разумеется, должна быть выполнена на высокопроизводительных дисках SAS или SATA/SAS SSD, настоятельно рекомендуется использовать RAID 10. Необходим аппаратный RAID контроллер. Количество дисков зависит от интенсивности работы пользователей. Как правило, достаточно 6-8 дисков. Если компания динамично развивается, то лучше сразу выбирать сервер с большим числом дисковых отсеков.
  • Процессоры являются не самым главным параметром сервера базы данных: общее правило планирования мощности процессоров - их средняя загрузка не должна превышать 50% (определяется опытным путем).

Основные параметры для терминального сервера - объем оперативной памяти и процессорная мощность.

  • Необходимый объем оперативной памяти - около 500 Мб на каждую клиентскую сессию.
  • Сильной дисковой нагрузки на терминальных серверах зачастую нет, поэтому можно использовать «зеркало» из SATA дисков (RAID 1).
  • Процессорная нагрузка очень сильно зависит от интенсивности работы пользователей.

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

ИБП для сервера 1С - в обязательном порядке

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

Рекомендации по выбору конфигураций серверов E1S ® для приложений 1C

Параметры сервера для 1С до 5 подключений до 10 подключений до 30 подключений до 50 подключений
Процессор Intel Xeon E3 Intel Xeon E3 / E5 2 х Intel Xeon E5 / Scalable 2 х Intel Xeon E5 / Scalable
Память 4-8 Гб 8-16 Гб от 32 Гб от 64 Гб
Дисковая система 2 х SATA (RAID1) 2 х SATA либо SSD (RAID1) от 4 х SAS либо SSD (RAID 10) от 8 х SAS либо SSD (RAID10)
Контроллер интегрированный рекомендуется аппаратный с защитой кэша аппаратный с защитой кэша аппаратный с защитой кэша
Количество серверов 1 1 1 2 в кластере + сервер приложений
Конфигураторы