Багато користувачів програм 1С Підприємство 8.3, 8.2 або 7.7 рано чи пізно стикаються з тим, що мережеві програми 1С починають працювати повільно або, як кажуть фахівці, «сервер гальмує». Проблема проявляється на будь-яких конфігураціях та платформах – Бухгалтерія, Управління торгівлею, Зарплата та управління персоналом та інші.

Причиною є те, що чим більше користувачів працює в мережній інформаційній базі і чим більше операцій вони виконують, тим важче відпрацьовувати серверу мережні запити.

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

Що ж робити, невже перепроведення документів чи те, що виконується не один раз на місяць, а набагато частіше, слід довго чекати?

Сучасним вирішенням проблеми швидкодії бухгалтерських та інших програм є використання термінального сервера.

Що дає встановлення термінального сервера

Термінальний сервер це такий комп'ютер, який не тільки роздає доступ до мережної інформаційної бази як звичайний сервер, але ще й сам виконує програми користувачів у своїй пам'яті та на процесорах (обслуговує термінали клієнтів).

Працюючи по звичайній локальної мережі комп'ютер користувача сам виконує все розрахунки, а, по мережі звертається лише з тим, щоб отримати дані із загального сховища – мережевий бази даних (БД). База даних може бути файловою або клієнт-серверною, це не так важливо.

Термінальний сервер 1С сам виконує всі обчисленняі необхідні обробки, при цьому по мережі нікуди не звертається, оскільки інформаційна база даних зберігається на ньому ж, а результат (лише зображення екрана) відправляється на комп'ютер клієнта. По суті, термінал 1с (клієнтський комп'ютер) є просто клавіатурою та монітором, які підключені по мережі до термінального сервера, а мережевий трафік при передачі зображення екрана дуже малий.

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

Таким чином, ми повинні встановити та налаштувати один сервер терміналів 1С (комп'ютер з потужним процесором і великим об'ємом пам'яті), мати не обов'язково швидкісну локальну мережу та зовсім не швидкодіючі комп'ютери у користувачів (тепер вони називаються термінальними клієнтами).

До речі, у цьому випадку на клієнтських ПК навіть немає потреби в установці програм 1C Підприємства. Вони запускаються і виконуються сервері терміналів, а результат, тобто. зображення на екрані надсилається клієнту.

Використання термінального режиму дає ряд важливих переваг у роботі користувачів та організації в цілому:

  • значне збільшення швидкодії роботи мережевих програм при істотному зниженні навантаження на локальну мережу. Особливо помітно під час використання файлового сервера. Швидкість роботи програм 1C підвищується у кілька разів;
  • гарантоване збереження даних при збоях у мережі, оскільки самі дані мережі не передаються. Факт надзвичайно важливий для файл-серверної архітектури, тому що файлові бази даних 1С дуже не люблять мережеві збої та несподівані відключення живлення;
  • помітне зниження вартості ІТ-структури в організації, оскільки купувати потужний комп'ютер потрібно лише одне, а чи не за кількістю робочих місць;
  • підвищення безпеки роботи як з погляду фізичної цілісності даних, так і з точки зору захисту конфідиційної інформації, оскільки скопіювати робочу базу з термінального сервера складніше ніж з файлового;
  • суттєва економія при подальших модернізаціях комп'ютерного парку, тому що модернізувати або змінювати знову необхідно лише сервер.

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

Як настроїти сервер для роботи програм 1С у режимі сервера терміналів

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

Ідеальним рішенням організації термінального режиму роботи у мережі є використання сервера терміналів від вітчизняного розробника ViTerminal.

Істотні переваги встановлення цього рішення:

Працює без серверної операційної системи на звичайних ОС: Windows XP, Windows 7 та 8. Це означає, що для сервера немає необхідності купувати дорогу серверну ОС (таку як Windows Server 2012 R2), що дає істотне зниження кінцевої вартості.

Висока швидкість та стабільність роботи, особливо, якщо використовується файловий режим роботи 1С

Права доступу до ресурсів сервера, що настроюються у Вітерміналі

Низька ціна як серверної частини, так і ліцензій термінальних клієнтів

Проста процедура встановлення та налаштування сервера терміналів

Гранично проста процедура адміністрування сервера (фактично це звичайний комп'ютер без складних серверних служб та нюансів їх роботи)

Можливість роботи Вітермінал через Інтернет за наявності статичної IP-адреси на сервері

Гарантована підтримка від вітчизняного розробника.

Останній пункт має неабияке значення. Досить згадати, як Майкрософт і Оракл відмовили у підтримці свого ПЗ декільком російським банкам під час останньої політичної кризи. Навряд чи комерційні чи бюджетні організації тепер захочуть грати у лотерею на свої гроші із закордонними структурами та ризикувати своєю інформаційною безпекою.

Схема налаштування термінального режиму Viterminal

Вибираємо досить сильний комп'ютер (хороший процесор і багато пам'яті), який хочемо використовувати як термінальний сервер для Viterminal. Зовсім не обов'язково, що це буде справжній дорогий сервер з RAID-масивами, гарячою заміною електронних компонентів і т.д. Для невеликої кількості користувачів буде достатньо надійного персонального комп'ютера принаймні на початковому етапі.

  1. На сервері встановлюємо серверну частину терміналу (виконується проста процедура встановлення – типова інсталяція)
  2. Заводимо на цьому сервері користувачів із паролями, яким надамо доступ на цей термінальний сервер
  3. На кожному клієнтському ПК встановлюємо програмну частину клієнта. У результаті при запуску своєї клієнтської програми, користувач вводить логін і потрапляє на сервер (хоча він цього може і не знати). Далі робота бухгалтера нічим не відрізняється від звичайної.

Кінцева вартість рішення розраховується від кількості необхідних серверів та клієнтів у мережі. Вітермінал зареєстрований у Федеральній службі з інтелектуальної власності РФ (свідоцтво N 2009613085), а кінцеві користувачі отримують ліцензійний сертифікат.

Так само очевидно, що самому терміналу все одно, запуск яких програм виконуватиметься на такому сервері. Це може бути 1С Підприємство 8.2 або 8.3 або 7.7 будь-яких конфігурацій, текстові редактори, електронні таблиці та будь-які інші програми, якими необхідно користуватися мережевим клієнтам.

Для консультацій з Viterminal, а також з питань розрахунку вартості та виписки рахунків та надання робочої демо версії термінального сервера з інструкцією налаштування звертатись на e-mail: [email protected]або на сторінку.

Отже! Встановивши Windоws, заходимо Administrator`ом. Якщо все зроблено правильно - перед нами віконце Manage Your Server і ніяких (!) повідомлень про активацію.

Додаємо роль "Сервера терміналів"

Список "ролей" (зараз це так називається;-) нашого сервера порожній. Додаємо роль нашому серверу. Комп'ютер симулює пошук чогось там по локальній мережі, і пропонує нам вибрати: м/у тією роллю, яка потрібна нам на його думку і тією, яка потрібна на вашу думку. Так як у штучний розум та інші казки ми з вами вже не віримо, та й свою думку нам якось дорожче, то вибираємо: Сустом.

У списку ролей, що з'явився, вибираємо Terminal Server, і натискаємо Next. Знову натискаємо Next, а після OK – підтверджуючи свою готовність перевантажити комп'ютер.

Після перезавантаження заходимо під Administrator`ом, і говоримо про встановлення сервера терміналів Finish. Тепер: у віконці Managing your computer з'явилася роль: Terminal Server. Хоча нижче сказано, що: "Оскільки сервера термінальних ліцензій не знайдено, то сервер терміналів видаватиме тимчасові ліцензії на з'єднання, кожна з яких закінчить своє існування через 120 діб".

Така ситуація нас ніяк не влаштовує, тому ми встановлюємо сервер термінальних ліцензій. Для цього заходимо в Пуск → Панель управління → Інсталяція та видалення програм → Компоненти Вінда. Ставимо галочку навпроти пункту Terminal Server Licensing. Натискаємо Next. Після Finish.

Активація Сервера терміналів:

Наразі у нас встановлений сервер термінальних ліцензій. Але його ще потрібно активувати!

Якщо є корпоративний проксі, його потрібно прописати в Панель керування → Налаштування .

Заходимо до Адміністрації → Terminal Server Licensing. Бачимо, що знайдений на нашому комп'ютері сервер знаходиться у стані Not activated.

Клацаємо правою кнопкою, говоримо Activate server. Вибираємо тип з'єднання Automatic. Вводимо свої особисті дані (ім'я, організацію, прізвище, країну - суворо ті, що були введені під час встановлення Windows). Наступну сторінку (e-mail, адреса) я залишив порожній. Натискаємо Next, і очікуємо.

Активація має пройти успішно. Незрозуміло, який сенс, Майкрософт закладала в цю активацію? Навіщо вона потрібна крім збору статистики? Після успішної активації вам буде запропоновано додати ліцензії. Продовжуємо.

Запуститься Client Access License (CAL) Activation Wizard, який насамперед знову полізе до Майкрософту. Після цього запитає тип ліцензії, яку хочете поставити. Я вибрав Enterprise Agreement, і наступним етапом мене запитали чарівну кількість.

Зараз необхідно вказати продукт – Windows Server. Тип ліцензії – per Device. Ліцензія встановилася добре. Закриваємо віконце Terminal Server Licensing.

Налаштовуємо сервер

З папки Адміністрація витягуємо на робочий стіл ярлики Computer Management та Terminal Server Manager. Це не обов'язково, але так набагато зручніше.

Заходимо до Computer Management, створюємо групу/групи користувачів 1с.

Для цього йдемо до Адміністрації → Terminal Services Configuration. У налаштуваннях Server Setting знімаємо обмеження "Restrict each user to one session". У списку Connections вибираємо з'єднання та налаштовуємо їх Properties:

Закладка Client Settings:

Замінюємо налаштування користувачів щодо дисків та принтерів своїми:

  • підключати все (тобто верхня галочка має бути знята, а 3 такі мають бути активними і встановленими);
  • Обмежити глибину кольору до 16 біт;
  • Заборонити переадресацію LPT, COM, Audio портів.

Закладка Permissions(Дозволи):

  • Додаємо створені групи користувачів 1с та ставимо їм права: Guest Access + User Access, я поставив повний.

Закриваємо Terminal Services Configuration. Далі робимо таке:

  • Заходимо до My computer.
  • Говоримо Propetries на диску C:
  • Переходимо на закладку Security
  • Говоримо Advanced...
  • Видаляємо права, що дозволяють групі Users робити папки та файли.

Заходимо з Панель керування → Система. Закладка "Автоматичне оновлення". Відключаємо все автоматичне оновлення геть-чисто.

Заходимо до Адміністрації → Local Security Settings → Account Policies → Password Polisy. Встановлюємо "Maximum password age" = 0 – так зручніше.

Заходимо в Computer Management, додаємо себе як користувач.
Не забуваємо:

  • Password never expires
  • Додати себе до груп користувачів 1с.
  • Зняти галочку "Require user`s permission" на закладці "Remote control"
Підключаємося до сервера:

Спробуємо підключитись з іншого комп'ютера до сервера терміналів. Для цього нам потрібно поставити на комп'ютер клієнт. У складі XP подібний клієнт вже є: "Пуск → Утиліти → Стандартні → Зв'язок → Віддалене керування робочим столом".
Хоча, навіть на XP його варто перевстановити: клієнт у складі Win2003 Server буде все-таки новіший.

Клієнт розташовується в папці: C:\ВІНДА\SYSTEM32\CLIENTS\TSCLIENT. він підтримує інсталяцію і на Вінда 98. Встановіть його на всіх машинах, з яких хочете вести роботу на сервері терміналів.

Після запуску клієнта натисніть кнопку "Опції". Для користувачів 1с варто застосовувати такі налаштування:

Закладка "Загальні":
  • заповнити поля комп'ютер, ім'я користувача, пароль
  • домен (якщо мережа з доменами – ім'я домена, якщо без доменних імен – ім'я сервера)

Віконце клієнта підключення до сервера терміналів Вінда

Закладка "Екран":
  • робочий стіл - на весь екран;
    палітра кольорів - 16 біт.

Закладка "Локальні ресурси":

звук – не програвати;
клавіші - лише у повноекранному режимі;
автоматично підключатися до дисків та принтерів - Як Вам завгодно.

Закладка "Додатково":
  • швидкість - модем 28.8 - повинна залишитися одна галочка - кешування графіки.

Тепер ці параметри можна зберегти у файл з розширенням RDP. Зверніть увагу на галочку "Зберігати пароль" на закладці "Загальні". Для операційних систем Win2000 та WINXP ця галочка доступна. Для інших – ні. На жаль, користувачі Win9x позбавлені можливості зберігати пароль в RDP файлі - тому налаштуйте ваших користувачів Win9x, що за винятком пароля на 1с їм буде потрібно набивати пароль на Вінда.

Як вчинити з цим паролем – справа ваша. Можна призначити всім один пароль, можна згенерувати свій пароль для кожного користувача. Хоча, вам краще знати пароль будь-якого користувача - знадобиться для віддаленого приєднання і адміністрування сесій.

Налаштувавши належним чином з'єднання, переконайтеся, що воно працює, і якщо хочете, збережіть його в RDP-файл (можливо прямо на робочий стіл).

Інсталяція ПЗ:

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

Я обмежився б установкою на сервер наступного софта:

  • Total Commander;
  • WINRAR;
  • XP RUS;
  • ПО на допомогу БД(наприклад МУСКУЛ).

Весь по встановлювався правильно - тобто через Панель управління. З Office я поставив лише Word, Excel і Access. Вимкнув подібні речі як Binder та Панель_Office.

Після цього залишилося зайти в "C:\Documents and Settings\Administrator" та "C:\Documents and Settings\All users" і підкоригувати вміст папок

  • \Start men;
  • \Start menu\Programs;
  • \Start menu\Programs\Startup;
  • \Deskto.

щодо зайвих ярликів.

http://bazzinga.org/js/tiny_mce/themes/advanced/skins/default/img/items.gif); background-position: 0px 0px; ">Встановлюємо 1c:Підприємство:

Установку 1с виконуємо як завжди, запустивши інсталяцію.

Створюємо папку для зберігання майбутніх баз. У ній - підпапки для відповідних груп користувачів, які переносимо зі старого місця бази 1с.

Перевіряємо доступ на папку з базами 1с:

  • Правою кнопкою миші Propetries (Властивості) → Security (Безпека) → Advance.
  • Усі права повинні успадковуватися з кореня диска: Administrators, SYSTEM і Господарі повинні мати " Full Control " , група 1с - права " Read & Execute.
  • Додаємо права для відповідної групи користувачів 1с (якій належить ця база). Ставимо всі галочки, за винятком:
    Full Control, Delete, Change Permissions, Take Ownership (для "This folder, subfolders and files")
  • т.ч., у списку прав виникне наша група з правами "Special"

Невеликий секрет: якщо ви хочете, щоб хтось за винятком Administrator`а могли виконувати збереження якоїсь із баз 1с, вам потрібно надати цій людині права запису на файл C:\Program Files\1cv77.ADM\BIN\1CV7FILE.LST .

  • правою кнопкою миші → Propetries → Security → Advanced
  • додаємо права для групи 1с-Admins: Ставимо всі галочки, за винятком: Full Control, Delete, Change Permissions, Take Ownership

При першому запуску 1с ви можете зіткнутися з тим, що 1с не захотіло сприймати власний металевий ключ захисту. При запуску довго думає, а пізніше пише: "Не знайдено ключа захисту" - і вивалюється.

Втім, від інших людей про такі проблеми я не чув. Вам допоможе інсталяція емулятора драйверів HASP. Однак, це вже інша історія!

Залишіть свій коментар!

У статті розглядаються нюанси встановлення та налаштування термінального сервера за протоколом 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-rfco -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С нічого не дають. Адже в міру зростання обсягу накопичених даних про фінансові операції компанії – зростає та обсяг бази даних 1Са швидкість і комфорт роботи навпаки – падають.

За рекомендацією системних адміністраторів компанії оновлюють комп'ютери, перевіряють роботу мережі, але відчутних результатів не досягають. Звіти, як і раніше, будуються по 20 хвилин! Крім цього при мережному доступі, часто не дає здійснити такі дії з документами, як запис або проводка, посилаючись на очікування захоплення таблиці.

Вирішення проблеми швидкодії 1Сзарито трохи глибше, ніж просто оновлення ПК та встановлення гігабітних комутаторів. Насправді вся річ у тому, як 1С займається обробкою та зберіганням даних. Зберігання відбувається в декількох великих файлах-таблицях з розширенням *.1CD, і при запуску програма завантажує ці таблиці на комп'ютер користувача практично повністю, здійснює з ними операції (додавання, видалення, перепроведення документів) і записує назад на сервер. Ситуація сильно посилюється, якщо користувач 1С працює по «тонкому» каналу – наприклад, з додаткового офісу з VPN.

Погляд зі сторони:

Якщо відсторонитися від інформаційних технологій, то ситуація виглядає так:

Допустимо, Ваша бухгалтерія знаходиться на 6-му поверсі бізнес-центру, всі документи зберігаються в кількох великих коробках. Співробітникам для роботи з документами доводиться підніматися на 6-й поверх, брати короб, нести його на робоче місце, виконувати необхідну роботу з документами, пакувати та нести короб назад. У випадку з додатковими офісами, підключеними по каналам Інтернет загального використання через VPN, аналогією є поїздка на громадському транспорті з коробом документів під пахвою (якщо, звичайно, у Вас не замовлений виділений канал точка-точка між офісами – аналог особистий автомобіль).

Рішення проблеми:

Описані вище класичні поліпшення, рекомендовані системними адміністраторами збільшення швидкості роботи, рівносильні розширенню сходів і купівлею співробітникам чоботів-скороходів.

Очевидно, що рішенням є обробка документів одразу у сховищі на 6-му поверсі, а не тягання їх сходами. Наприклад, там можна організувати бібліотеку з просторим читальним залом, де робота з документами здійснюватиметься максимально швидко та зручно. По суті, термінальний сервері є такий зал.

Опис рішення:

Термінальний сервер 1С Linux-TBS ( Термінальний бізнес-сервер для 1С на Linux) – це комп'ютер, на якому разом, одночасно можуть працювати десятки користувачів і не відчувати труднощів. Присутня поруч із сервером і мати клавіатуру-монітор безпосередньо підключеними до сервера не потрібно. Користувач термінального сервера 1Сможе перебувати за будь-яким комп'ютером, підключеним до Інтернету (з'єднання клієнт-сервер шифрується).

Підключення відбувається дуже просто - одним натисканням мишки, введенням пароля і користувач виявляється всередині. віддаленого робочого столу 1С«. Де на нього чекають його платформи 1С, його бази, його налаштування – незалежно від того, з якого комп'ютера він підключився.

Отже, які переваги дає встановлення термінального сервера 1C (Linux-TBS):
1). Значне підвищення швидкості роботи 1С

При роботі в Термінальний сервер 1С(Linux-TBS) користувачі не ганяють величезні обсяги даних по мережі (згадайте приклад про коробки), а одержують від сервера зображення робочого вікна 1С Підприємство. Одним словом, сервер працює, а Ви отримуєте лише результат! Як показала практика, швидкість роботи 1С під час перекладу в термінал підвищується від 2 до 10 разів!

2). Підвищення надійності роботи баз даних програми

Збої ПК користувачів та обриви з'єднання не завдають шкоди базам 1С. Після збою користувач може підключитися зі свого ПК або будь-якого вільного чергового ПК і продовжити роботу у своїй сесії з того ж місця!

3). Підвищення надійності 1С загалом

При установці 1Сна сервері Linux Ви більше не залежите від працездатності окремих комп'ютерів під керуванням Windows з усіма відомими їх вразливістю і глюками, так як установка 1С на кожному з них тепер не потрібна.

4). Зниження вартості обслуговування 1С

При концентрації обробки даних 1С в одному місці (на термінальному сервері Linux) спрощується віддалене адміністрування та віддалена підтримка користувачів. Оновлення платформи 1С тепер провадиться в одному екземплярі.

5). Термінальний сервер 1C (Linux-TBS) забезпечує віддалений доступ до даних 1С через Інтернет

Ваші співробітники (додатковий офіс, склад, надомні працівники) зможуть підключатися до термінального сервера 1С віддалено через інтернет та працювати у загальній базі даних 1С нарівні зі співробітниками основного офісу. Безпека роботи 1С через Інтернет забезпечується за рахунок шифрування підключення VPN.

6). Економія на конфігураціях ПК

Для розгортання сервера терміналів 1С Linux/Windows потрібен досить потужний сервер, АЛЕ комп'ютери при цьому можуть бути найпростішими. Обробка всіх даних 1С ведеться безпосередньо на сервері, а користувачі на комп'ютері отримують лише картинку – результат.

7). Підвищення безпеки та збереження даних

Який містить Ваші конфіденційні дані в 1С, можна фізично розмістити на віддаленому майданчику, в затишному фізично захищеному місці. Або в дата-центрі, розташованому Санкт-Петербурзі, Москві чи навіть у Європі. Також Ви також можете не купувати потужний сервер терміналу 1С, а орендувати його у нас або в дата-центрі.

8). Економічна ефективність

Термінальні сервери на базі ОС Microsoft Windows Serverвідомі вже близько 10 років, але мають високу вартість ліцензійного програмного забезпечення, що застосовується.

Список ліцензійного програмного забезпечення Microsoft (довідково):

SKU
Виробник Продукт Кількість
Загальна вартість
P73-04979 Microsoft Windows Server Standard 2008R2 Ukrainian Open License Pack NoLevel 1 $ 635,00
R18-02742 Microsoft Windows Server CAL 2008 Ukrainian Open License Pack NoLevel DvcCAL 10 $ 257,00
6VC-01143 Microsoft Win Rmt Desktop Services CAL 2008 Russian Open License Pack NoLevel DvcCAL 10 $ 741,00
228-09418 Microsoft SQL Server Standard Edition 2008R2 Ukrainian Open License Pack NoLevel (потрібна лише у випадку SQL-версії 1С) 1 $ 785,68*
359-05347 Microsoft SQL CAL 2008R2 Ukrainian Open License Pack NoLevel DvcCAL (потрібна лише у випадку SQL-версії 1С) 10 $ 1 441,60 *
Усього за ПЗ: 32 $ 3 860,28
Роботи зі встановлення термінального сервера 1С Windows 1 8000 руб.
58300 руб.
Разом для SQL-версії 1С: 126 000 руб.

Термінальний сервер 1C (Linux-TBS)заснований на вільному програмному забезпеченні сімейства Linux. Завдяки цьому немає необхідності придбати ліцензії, вартість яких в аналогічних системах часом зашкалює.

Вартість рішення на Linuxпід "ключ" за винятком апаратного забезпечення (можливе використання Вашого сервера або ):

SKU
Виробник
Продукт Кількість
Загальна вартість
Debian.org Ліцензія на операційну систему Debian GNU/Linux 1 $ 0
Debian.org Ліцензії на клієнтські підключення не потрібні 10 $ 0
Etersoft.ru Ліцензія на термінальний сервер RX Etersoft (R)
10 $ 0
PostgreSql.org Ліцензія на SQL-сервер PostgreSQL (потрібна лише у випадку SQL-версії 1С)
1 $ 0
Etersoft.ru Ліцензія на допоміжне програмне забезпечення WINE@Etersoft SQL (R) (потрібна лише у випадку SQL-версії 1С) 10 12900 руб.
Etersoft.ru Ліцензія на допоміжне програмне забезпечення WINE@Network (R) (потрібна лише у випадку файлової версії 1С) 10 8900 руб.
сайт Роботи зі встановлення термінального сервера 1С на Linux 1 14800 руб.
Разом для файлової версії 1С: 23700 руб.
Разом для SQL-версії 1С: 27 700 руб.
Вартість включає:
  • передпроектне обстеження;
  • складання плану міграції;
  • міграція 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.