Напевно, кожному сисадміну хоч раз у житті доводилося вирішувати завдання застосування продуктів 1С, розгортання SQL-баз і створення термінальних серверів. До нас регулярно звертаються замовники з проханням підібрати сервер під якесь із цих завдань, а то й під усе відразу. Тут є три можливі підходи, і ми хочемо поділитися своїм досвідом у підборі обладнання, можливо, комусь він сильно полегшить життя.
 

Основним критерієм при виборі серверів для організації є набір послуг, які будуть використовуватися, та кількість користувачів.

 

Сьогодні ми розглянемо вибір серверного «заліза» для невеликої організації на 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.

Джерело:https://habr.com/company/pc-administrator/blog/305878/