Збираємо сервер для графічних та CAD/CAM додатків для віддаленої роботи по RDP на базі CISCO UCS-C220 M3 v2

Збираємо сервер для графічних та CAD/CAM додатків для віддаленої роботи по RDP на базі CISCO UCS-C220 M3 v2
Майже кожна компанія зараз обов'язково має відділ або групу, що працює в CAD/CAM
або важких дизайнерських програм. Цю групу користувачів об'єднує серйозні вимоги до заліза: багато пам'яті - 64ГБ і більше, професійна відеокарта, швидкий ssd і щоб було надійне. Найчастіше компанії купують деяким користувачам таких відділів кілька потужних ПК (або графічних станцій) та решту менш потужних залежно від потреб, а також фінансових можливостей компанії. Найчастіше це стандартний підхід для вирішення таких завдань, і він працює нормально. Але під час пандемії та віддаленої роботи, та й загалом такий підхід неоптимальний, дуже надмірний і вкрай незручний в адмініструванні, управлінні та інших аспектах. Чому це так, і яке рішення ідеально задовольнить потреби у графічних станціях багатьох компаній? Прошу завітати під кат, де описано як зібрати робоче та недороге рішення, щоб убити нагодувати відразу кількох зайців, і які дрібні нюанси потрібно врахувати, щоб успішно впровадити це рішення.

У грудні минулого року одна компанія відкривала новий офіс для невеликого КБ і була поставлена ​​задача організувати їм усю комп'ютерну інфраструктуру враховуючи, що ноутбуки для користувачів та кілька серверів у компанії вже є. Ноутам вже було пару років і це були в основному ігрові конфігурації з 8-16ГБ ОЗУ, і переважно не справлялися з навантаженням від CAD/CAM додатків. Користувачі мають бути мобільними, оскільки часто необхідно працювати не з офісу. В офісі до кожного ноуту додатково купується ще монітором (так працюють з графікою). За таких вхідних даних – єдино оптимальне, але ризиковане для мене рішення – впровадити потужний термінальний сервер із потужною професійною відеокартою та nvme ssd диском.

Переваги графічного термінального сервера та роботи з RDP

  • На окремих потужних ПК чи графічних станціях більшу частину часу апаратні ресурси не використовуються навіть на третину і простоюють без діла і лише короткий період часу використовуються у 35-100% своєї потужності. Здебільшого ККД становить 5-20 відсотків.
  • Але часто апаратна частина далеко не найвитратніша складова, адже базові графічні або САД/CAM ліцензії на ПЗ часто коштують від 5000 $, а якщо ще з розширеними опціями, то і від 10 000 $. Зазвичай, у сеансі RDP ці програми запускаються без проблем, але іноді необхідно дозамовляти RDP опцію, або пошукати по форумах що прописати в конфігах або реєстрі і як запустити в сеансі RDP таке ПЗ. Але перевірити, що потрібне ПЗ працює по RDP потрібно на самому початку і зробити це просто: пробуємо зайти по RDP — якщо програма запустилася і працюють усі базові програмні функції, то й проблем із ліцензіями, швидше за все, не буде. А якщо видає помилку, то перед реалізацією проекту з графічним термінальним сервером, шукаємо задовільний для нас вирішення проблеми.
  • Також великим плюсом є підтримка однакової конфігурації та специфічних налаштувань, компонентів та шаблонів, що часто важко реалізувати для всіх ПК користувачів. Управління, адміністрування та оновлення ПЗ теж «без сучка і задирки»

Загалом плюсів багато — подивимося, як насправді покаже наше майже ідеальне рішення.

Збираємо сервер на базі CISCO UCS-C220 M3 v2

Спочатку планувалося купити новий і потужний сервер з 256ГБ DDR3 ecc пам'яттю і 10GB ethernet, але сказали, що потрібно трохи заощадити і вписатися в бюджет на термінальний сервер 1600 $. Ну гаразд — клієнт завжди жадібний має рацію і підбираємо під цю суму:

купить бу CISCO UCS-C220 M3 v2 (2 X SIX CORE 2.10GHZ E5-2620 v2) 128ГБ DDR3 ecc — 625$
3.5" 3TB sas 7200 з США ід - 2 × 65 $ = 130 $
SSD M.2 2280 970 PRO, PCI-E 3.0 (x4) 512GB Samsung - 200 $
Відеокарта QUADRO P2200 5120MB - 470 $
Адаптер Ewell PCI-E 3.0 to M.2 SSD (EW239) -10$
Разом за сервер = 1435 $

Планувалося брати ssd 1TB і 10GB ethernet adapter - 40 $, але з'ясувалося, що UPS до їхніх 2 серверів не було, і довелося трохи втиснутись і купити UPS PowerWalker VI 2200 RLE -350 $.

Чому сервер, а чи не потужний ПК? Обґрунтування вибраної конфігурації.

Багато недалекоглядних адмінів (багато разів вже стикався) — чомусь купують потужний (найчастіше ігровий ПК), ставлять там 2-4 диски, створюють RAID 1, гордо називають це сервером і ставлять його в кутку офісу. Природна вся комлектуха - "збірна солянка" сумнівної якості. Тому докладно розпишу чому підібрана під такий бюджет саме така конфігурація.

  1. Надійність! - Усі серверні комплектуючі спроектовані та протестовані для роботи понад 5-10 років. Ігрові мамки від сили працюють 3-5 років і навіть відсоток поломки під час гарантійного терміну в деяких перевищує 5%. А наш сервер від супернадійного бренду CISCO, так що особливих проблем не передбачається і їх ймовірність на порядок нижча за стаціонарний ПК
  2. Важливі компоненти типу блоку живлення дублюються і в ідеалі можна подати живлення з двох різних ліній і при виході з одного блоку сервер продовжує працювати
  3. Пам'ять ECC - зараз мало хто пам'ятає, що спочатку пам'ять ECC була введена для корекції одного біта від помилки, що виникає в основному від впливу космічних променів, а на об'ємі пам'яті 128ГБ - помилка може виникати кілька разів на рік. На стаціонарному ПК ми можемо спостерігати виліт програми, зависання та інше, що некритично, але на сервері ціна помилки іноді дуже висока (наприклад, неправильний запис у БД), у нашому випадку при серйозному глюку треба перевантажитися і іноді це коштує денної роботи кількох людей.
  4. Масштабованість - часто потреба компанії в ресурсах зростає в кілька разів за пару років і в сервер легко додати пам'яті дисків, поміняти процесори (у нашому випадку шестиядерні E5-2620 на десятиядерні Xeon E5 2690 v2) - на звичайному ПК майже ніякої масштабованості
  5. Серверний формат U1 - сервери повинні стояти в серверних! і в компактних стійках, а не кочегарити(до 1КВт тепла) і шуміти в кутку офісу! Саме в новому офісі компанії окремо надавалося небагато (3-6 юнітів) місце в серверній і один юніт на наш сервер якраз був нам впритул.
  6. Видалені: керування та консоль – без цього нормальне обслуговування сервера для віддаленої! роботи вкрай важко!
  7. 128Гб ОЗУ - в ТЗ було сказано 8-10 користувачів, але насправді буде 5-6 одночасних сесій - тому враховуючи типовий в тій компанії максимальна витрата обсягу пам'яті 2 користувача по 30-40ГБ = 70ГБ і 4 користувача по 3-15ГБ = 36ГБ + до 10ГБ на операційну систему в сумі 116ГБ і 10% у нас в запасі (це все в окремих випадках максимального використання. Але якщо буде не вистачати то в будь-який момент можна додати до 256ГБ
  8. Відеокарта QUADRO P2200 5120MB - в середньому на користувача в тій компанії
    віддаленому сеансі витрата відеопам'яті була від 0,3ГБ до 1,5ГБ, так що 5ГБ - буде достатньо. Вихідні дані були взяті з аналогічного, але менш потужного рішення на базі i5/64ГБ/Quadro P620 2ГБ, якого вистачало на 3-4 користувача
  9. SSD M.2 2280 970 PRO, PCI-E 3.0 (x4) 512GB Samsung - для одночасної роботи
    8-10 користувачів, необхідно саме швидкості NVMe та надійність ssd Samsung. За функціоналом цей диск використовуватиметься для ОС та додатків
  10. 2х3TB sas — об'єднуємо в RAID 1 використовуємо для об'ємних або локальних даних користувачів, що рідко використовуються, а також для бекапа системи і критично важливих локальних даних з диска nvme

Конфігурація схвалена і куплена, і ось незабаром настане момент істини!

Складання, налаштування, встановлення та вирішення проблем.

З самого початку у мене не було впевненості, що це 100% робоче рішення, тому що на будь-якому етапі, починаючи зі складання закінчуючи установкою, запуском та коректною роботою додатків, можна було застрягти без можливості продовжити, тому про сервер я домовився, що його на протязі пару днів можна буде повернути, інші компоненти можна використовувати в альтернативному рішенні.

1 надумана проблема - відеокарта професійна, повноформатна! +пару мм, а якщо не влізить? 75вт - а що якщо pci роз'єм не потягне? І як нормальне тепловідведення цих 75вт зробити? Але влізла, запустилася, тепловідведення нормальне (особливо якщо кулери сервера включити на обороти вище за середнє. Правда коли ставив, для впевненості що б нічого не замикало щось у сервері на 1мм відігнув (уже не пам'ятаю що), а для кращого тепловідведення з кришки сервера потім після остаточного налаштування віддер плівку інструкції, яка була на всю кришку і яка могла погіршувати тепловідведення через кришку.

2-е випробування - NVMe диск через перехідник міг не побачиться або система туди не поставиться, а якщо поставиться, то не завантажиться. Як не дивно Windows поставилася на NVMe диск, але завантажиться з нього не змогла, що логічно оскільки біос (навіть оновлений) ні в яку розпізнавати для завантаження NVMe не хотів. Не хотів мостити, але довелося — тут прийшов на допомогу наш улюблений хабр та піст про завантаження з nvme диска на legacy системах скачав утилітку Boot Disk Utility (BDUtility.exe), Створив флешку з CloverBootManager за інструкцією з поста, встановив флешку в біосі першої на завантаження і ось ми вже вантажимо завантажувач з флешки, Clover успішно побачив наш NVMe диск і через пару секунд автоматично з нього завантажився! Можна було погратись із установкою clover на наш raid 3TB диск, але було вже субота вечір, а роботи залишалося ще на день, адже до понеділка потрібно було або віддавати сервер чи залишати. Завантажувальну флешку залишив усередині сервера, там був зайвий usb.

3-я майже загроза провалу. Поставив Windows 2019 standart +RD сервіси, встановив головну програму, заради якої все затівалося, і все чудово працює і буквально літає.

Чудово! Їду додому і підключаюсь по RDP, програма запускається, але відчувається серйозний лаг, дивлюся а в прозі повідомлення «включено soft режим». Чого? Шукаю свіжіші та суперпрофесійні дрова на відеокарту, ставлю-результату нуль, древніші дрова під p1000 теж нічого. А в цей час внутрішній голос все знущається "а я тобі говорив - не експериментуй зі свіжачком - візьми p1000". А час уже давно ніч у дворі, з важким серцем лягаю спати. Неділя, їду в офіс – ставлю в сервер quadro P620 і теж по RDP не працює – MS у чому справа? Шукаю за форумами «2019 server та RDP» - відповідь знайшла майже відразу.

Виявляється, що у більшості зараз монітори з великою роздільною здатністю, а в більшості серверів вбудований графічний адаптер ці дозволи не підтримує — апаратне прискорення за замовчуванням відключено через групові політики. Цитую інструкцію щодо включення:

  • Open the Edit Group Policy інструмент від Control Panel або з використанням Windows Search dialog (Windows Key + R, then type in gpedit.msc)
  • Доступ до: Local Computer PolicyComputer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostRemote Session Environment
  • The enable “За допомогою hardware default graphics adapter for all Remote Desktop Services sessions”

Перезавантажуємося - все чудово по RDP працює. Змінюємо відеокарту на P2200 знову працює! Тепер коли ми впевнені, що рішення повністю робоче наводимо всі налаштування сервера до ідеалу, вводимо домен, налаштовуємо доступ користувачів та інше, ставимо сервер в серверну. Тестуємо всією командою пару днів - все ідеально працює, на всі завдання ресурсів сервера вистачає з надлишком, мінімальний лаг, що виникає в результаті роботи з RDP, всім користувачам непомітний. Чудово завдання виконано на 100%.

Пару моментів, від яких залежить успішність впровадження графічного сервера

Так як на будь-якому етапі впровадження графічного сервера в організацію можуть виникнути підводні камені, які можуть створити ситуацію аналогічну як на картинці з рибками, що втекли.

Збираємо сервер для графічних та CAD/CAM додатків для віддаленої роботи по RDP на базі CISCO UCS-C220 M3 v2

то на етапі планування необхідно зробити кілька простих кроків:

  1. Цільова аудиторія та завдання — користувачі, які інтенсивно працюють з графікою і їм потрібне апаратне прискорення відеокарти. Успіх нашого рішення заснований на тому, що потреби в потужності користувачів графічних та CAD/CAM програм був задоволений з надлишком більше 10 років тому, а на даний момент ми маємо запас потужності, що перевищує потреби в 10 і більше разів. Наприклад, потужності GPU Quadro P2200 вистачає з надлишком на 10 користувачів, і навіть за браку пам'яті відеопам'яті відеокарта добирає з ОЗУ, і для звичайного 3d розробника таке невелике падіння в швидкості пам'яті проходить непомітно. Але якщо в завданнях користувачів є інтенсивні обчислювальні завдання (рендеринг, розрахунки та інше), які часто використовують 100% ресурсів, то наше рішення не підходить, оскільки інші користувачі в ці періоди не зможуть нормально працювати. Тому ретельно аналізуємо завдання користувачів та поточне завантаження ресурсів (хоча б приблизно). Також звертаємо увагу на обсяг перезапису на диск на день і якщо він становить великий обсяг, то підбираємо під цей обсяг серверні ssd або optane диски.
  2. Виходячи з кількості користувачів підбираємо відповідний за ресурсами сервер, відеокарту та диски:
    • процесори за формулою 1 ядро ​​на користувача + 2,3 на ОС, все одно кожен одночасно не використовує одного або максимум двох (при рідкісному завантаженні моделі) ядер;
    • відеокарта -дивимось середній обсяг споживання відеопам'яті та GPU на користувача в сеансі RDP та підбираємо професійну! відеокарту;
    • аналогічно надаємо з ОЗУ та дисковою підсистемою (зараз можна навіть RAID nvme недорого підібрати).
  3. Ретельно дивимося за документацією до сервера (благо всі брендові сервери має повну документацію) відповідність по роз'ємам, швидкостям, живленню та підтримуваним технологіям, а також фізичним розмірам, і нормам тепловідведення додаткових компонентів, що встановлюються.
  4. Перевіряємо нормальну роботу нашого ПЗ у кількох сесіях з RDP, а також відсутність ліцензійних обмежень і ретельно перевіряємо наявність необхідних ліцензій. Вирішуємо це питання до перших кроків щодо реалізації впровадження. Як було сказано в коментарі шановним malefix
    - Ліцензії можуть бути прив'язані до кількості користувачів - тоді ви порушуєте ліцензію.
    — Софт може некоректно працювати при кількох запущених інстансах — варто йому хоч в одному місці писати сміття або налаштування не в профіль користувача/%temp%, а в щось загальне доступне — вам потім буде дуже весело відловлювати проблему"
  5. Продумуємо де буде встановлений графічний сервер, не забуваємо про UPS та наявність там високошвидкісних ethernet портів та інтернет (якщо потрібно), а також відповідність кліматичних вимог сервера.
  6. Термін впровадження збільшуємо мінімум до 2,5-3 тижнів, адже багато навіть дрібних необхідних компонентів можуть їхати до двох тижнів, адже складання та налаштування проходить кілька днів — тільки звичайне завантаження сервера до ОС може бути більше 5 хвилин.
  7. Обговорюємо з керівництвом та постачальниками, що якщо раптом на якомусь етапі проект не піде чи піде не так, то можна зробити повернення чи заміну.
  8. Також було люб'язно підказано у коментарі malefix
    після всіх експериментів з налаштуваннями - все знести і поставити з нуля. Ось так:
    - під час експериментів треба документувати всі критичні налаштування
    — під час встановлення з нуля ви повторно виконуєте мінімально необхідні налаштування (задокументовані на попередньому етапі)
  9. Операційну систему (бажано Windows server 2019 - там якісний RDP) встановлюємо спочатку в Trial режимі, але в жодному разі не evaluate (потрібно потім встановлювати заново з нуля). І лише після успішного запуску вирішуємо питання з ліцензіями та активуємо ОС.
  10. Також до впровадження підбираємо ініціативну групу для перевірки роботи та пояснюємо майбутнім користувачам переваги роботи з графічним сервером. Якщо це робити після, то збільшуємо ризик рекламацій, саботажу та неаргументованих негативних відгуків.

За відчуттями, робота по RDP не відрізняється від роботи в локальному сеансі. Часто навіть забуваєш, що працюєш десь по RDP — адже навіть відео та іноді відеозв'язок у сеансі RDP працюють без відчутних затримок, адже зараз у більшості підключено високошвидкісний інтернет. За швидкістю та функціоналом RDP компанія Microsoft зараз продовжує приємно дивувати і апаратне прискорення 3D та мультимонітори – все що необхідно для віддаленої роботи користувачам графічних, 3D та CAD/CAM програм!

Так що в багатьох випадках установка графічного сервера відповідно до проведеного впровадження є кращою та мобільнішою 10 графічних станцій або ПК.

PS Як просто та безпечно підключитися через інтернет по RDP, а також оптимальні налаштування для RDP клієнтів - ви можете підглянути у статтіДистанційна робота в офісі. RDP, Port Knocking, Mikrotik: просто та безпечно"

Джерело: habr.com

Додати коментар або відгук