Ця стаття містить інформацію про процедуру встановлення 1С у клієнт-серверному варіанті.
Установка платформи 1С описана в іншій нашій статті – “Адміністрування 1С”, у розділі “Установка 1С”. Установка на сервер майже повністю збігається з установкою на локальний комп'ютер, з лише різницею. У серверному варіанті при виборі встановлюваних компонентів необхідно вибрати “Сервер 1С:Підприємства” та “Адміністрування сервера 1С:Підприємства”.
Установка на клієнтських комп'ютерах нічим не відрізняється від способу, описаного раніше у статті "Адміністрування 1С".
Створення інформаційної бази в SQL теж дуже схоже створення бази у файловому варіанті. Різниця полягає в тому, що на етапі вибору типу розташування інформаційної бази необхідно вибрати "На сервері 1С: Підприємства".
У пункті "Кластер серверів" вкажіть ім'я (а краще IP-адресу) сервера, на який встановлювали SQL.
У пункті “Ім'я інформаційної бази” вкажіть будь-яке ім'я, яке бажаєте дати базі.
Тип СУБД – SQL.
Користувач бази даних та його пароль – той самий суперкористувач, про якого йшлося вище, на етапі встановлення MS SQL.
Зміщення дат залиште за промовчанням.
Необхідно зазначити пункт "Створити базу даних у разі її відсутності" та натиснути "Далі".
Тепер базу успішно створено на сервері SQL і додано до списку доступних баз. Внизу на картинці можна побачити результат виконаної роботи.
Варто відзначити, що створена база поки що порожня. Це каркас, місце, виділене SQL під вашу інформаційну базу. Щоб завантажити свою базу в цей каркас – необхідно скористатися засобами Вивантаження/Завантаження інформаційної бази. Процедуру Вивантаження/Завантаження також описано в іншій статті “Адміністрування 1С”.
Для того, щоб довести систему до ідеального стану, надалі необхідно буде налаштувати “план обслуговування” створеної бази даних. План обслуговування – це набір процедур, які SQL виконуватиме регулярно за заданим розкладом. Наприклад, буде регулярно робити резервні копії та видаляти тимчасові файли. Робота з SQL виходить за рамки теми статті та буде описана в одній із наступних.
Розглянемо питання встановлення та налаштування MS SQL Server для 1С.
Перше, що хотілося б відзначити, спосіб встановлення MS SQL Server багато в чому залежить від передбачуваного навантаження на 1С.
Залежно від цього можна позначити такі варіанти:
Для перших двох варіантів MS SQL Server можна встановлювати на тому ж сервері, де встановлено 1С, що особливо актуально, скоріше, для другого варіанта за умови дотримання вимог щодо «заліза». А ось у третьому випадку MS SQL Server потрібно встановлювати лише на окремий сервер.
У разі встановлення на окремий сервер:
Процесор
Дискова підсистема
Мережеве підключення
У разі спільної установки із сервером 1С Підприємства:
Процесор
Дискова підсистема
Мережеве підключення
Слід зважити, що це мінімальні вимоги для комфортної роботи. Точніші параметри підбираються виходячи з конкретної ситуації, керуючись основними потребами MS SQL Server для 1С в дисковій підсистемі та обсягом оперативної пам'яті.
Насамперед необхідно переписати дистрибутив установки MS SQL Server для 1С на локальний жорсткий диск сервера.
Запустити інсталяцію MS SQL Server для 1С під адміністратором.
У вікні на правій панелі вибираємо «Установка».
Почнеться встановлення MS SQL Server для 1С. Під час встановлення вас попросять ввести ключ продукту та ознайомитись з умовами ліцензування. Після цього необхідно вибрати роль сервера, вибравши "Установка компонентів MS SQL Server".
Наступним кроком буде вибір встановлюваних компонентів. Зазвичай всі вони виділені, але якщо ні, то натисніть кнопку «Виділити все».
Нічого не міняйте, тобто. натисніть «Далі», доки не з'явиться вікно «Налаштування компонента Database Engine». У цьому вікні на першій закладці вкажіть користувача «sa» та введіть його пароль (можна призначити і користувача Windows, але безпечнішим вважається користувач «sa»).
На двох інших закладках можна налаштувати нові каталоги для зберігання користувацьких БД (але краще не міняти).
"Відкриємо" наш MS SQL Server для 1С. Для цього переходимо до додатків і знаходимо там SQL Server 2014 Management Studio.
Після того, як підключилися, ліворуч у дереві вибираємо «Безпека», а в ньому – «Імена входу». Натиснувши праву кнопку миші, вибираємо підменю «Створити ім'я входу». У формі, що відкрилася, вказуємо ім'я користувача і його пароль (запам'ятайте цей пароль і цього користувача, тому що саме його ви будете вказувати при підключенні баз з сервера 1С).
Переходимо до «Об'єкти, що захищаються» і встановлюємо право на з'єднання з SQL, як на малюнку.
Тиснемо на «Ок». Установка MS SQL Server для 1С та його налаштування завершено.
Запускаємо консоль адміністрування серверів «1С:Підприємство».
Діалог, що відкрився, заповнити, як це показано на малюнку.<Имя базы на латинице>- вкажіть ім'я бази.<Имя компа MS SQL Server>- вкажіть ім'я комп'ютера, на який раніше встановили MS SQL Server для 1С.
Тиснемо на «Ок». Базу підключено.
Можна підключити базу безпосередньо з діалогу підключення бази 1С.
Для цього запускаємо діалог відкриття баз 1С і натискаємо кнопку «Додати».
У вікні, вибираємо «Створення нової інформаційної бази».
У наступному вікні вибираємо потрібний шаблон дерева або вказуємо «Створення нової бази без конфігурації…».
У наступному вікні задаємо ім'я бази та вказуємо, що вона буде на сервері «1С:Підприємство».
На наступній вкладці заповнюємо поля, аналогічно тому, як описано в розділі підключення бази з сервера 1С.
Оптимізація SQL під 1С завершено. Можна запускати та працювати.
Під поняттям «кластер серверів» розуміється кілька комп'ютерів (серверів), що виконують спільне завдання.
Завдання, які вирішуються кластером серверів 1С:Підприємство 8 на малюнку нижче.
Кластер серверів 1C:Підприємство 8.1 – це реалізація ідей розподілу навантаження на сервери, які обслуговують запити клієнта. Такий механізм реалізує розподіл навантаження на обчислювальні ресурси в рамках одного або декількох серверів («Робочих серверів»), забезпечуючи, таким чином, масштабування програми. Кластер серверів дублює код, який обслуговує клієнтські з'єднання. Код кластера, що виконується, названий «Робочим процесом» (rphost). При установці кластера створюється лише один робочий процес.
Декілька робочих процесів на одному сервері дають можливість ефективно використовувати обсяг оперативної пам'яті та ресурси процесора для виконання запитів, а також підключити клієнтський сеанс до іншого робочого процесу при «краху» поточного.
За розуміння, що запущено на конкретному сервері відповідає програма «Агент сервера» (ragent). Зупинка агента сервера зробить сервер недоступним для використання кластером. Свою інформацію агент зберігає у файлі srvribrg.lst.
Інформацією про робочі бази, задіяні робочі процеси володіє «Менеджер сервера» (rmngr). Цю інформацію він зберігає у файлі 1CV8Reg.lst. Зупинка менеджера сервера може призвести до перезапуску клієнтських програм у разі успішного рестарту менеджера або до повної зупинки роботи робочих серверів всього кластера.
1С:Підприємство 8.1 дозволяє можливість створення на одному сервері кілька незалежних кластерів. Кожен з них ідентифікується в мережі унікальним IP портом і унікальним номером у службових файлах. Перший кластер за замовчуванням отримує порт 1541.
Для управління кластером призначене оснащення «Сервери підприємства».
Підключатися до серверів можна на ім'я або IP адресу сервера.
Агент сервера знає про всіх кластерів, які запущені на сервері. Ця інформація зберігається у файлі srvribrg.lst зі списком кластерів та адміністраторів списку. Основний порт агента – 1540. На кожному Робочому сервері може бути запущений лише один агент, який обслуговує всі можливі кластери на даному сервері.
Щоб отримати детальнішу інформацію наочно, скористайтесь утилітою Process Explorer (розробник Sysinternals). Програма дозволяє глибше заглянути всередину будь-яких процесів, що виконуються, в тому числі кластера серверів 1С:Підприємства 8.1.
Менеджер кластера відповідає за роботу кластера. Кожен кластер має свій Менеджер. Менеджер зберігає інформацію про кластер у файлі 1CV8Reg.lst (реєстр кластера). Кожен Менеджер кластера також має свій порт на Робочому сервері. Для першого кластера за замовчуванням порт Менеджера 1541. Саме цей порт відображається в оснастці Сервери 1С:Підприємства у гілці Кластери, ідентифікуючи кластер.
Менеджер приймає запити від клієнтської частини 1С:Підприємства 8.1 та приймає рішення, якому Робочому процесу віддати цей запит на обслуговування.
Для взаємодії із робочими процесами Менеджер використовує службовий порт.
За роботу з клієнтами відповідає Робочий процес. Можна сказати, що у попередній версії 1С:Підприємства 8.0 «Робочий процес» був один.
Робочих процесів у кластері 1С:Підприємства 8.1 може бути кілька. Менеджер сервера вирішує, який із робочих процесів обслуговуватиме клієнтське підключення. Для клієнтських підключень Робочим процесам за умовчанням виділяється діапазон IP портів 1560 – 1591. Крім цього, кожному Робочому процесу призначається Службовий порт обміну з менеджером кластера. Кожен робочий процес використовує до 2 Gb ОЗУ в 32-розрядній операційній системі. У 64-х розрядній операційній системі обмеження накладається фізичним обсягом ОЗУ
Кластер серверів 1C:Підприємство 8.2 – розвиток технологій сервера 8.2.
Сервер може працювати як 8.1, тобто. у ньому залишилася сумісність із попередніми технологіями.
І плюс реалізовано новий підхід до роботи сервера. Тепер замість процесів є важлива роль сеансів.
Сеанси дозволяють виконувати балансування завантаженості та відмови стійкості в керованому додатку.
Менеджер кластера
Менеджер кластера тепер став складнішим. Частину функцій тепер можна назвати окремий процес і навіть розмістити іншому робочому сервері кластера. Це дозволяє балансувати завантаженість сервера.
Відмовостійкість сервера 8.2 досягається за рахунок:
Це дозволяє забезпечити безперервність роботи:
При розриві фізичного з'єднання клієнта з кластером (прибиральниця висмикнула кабель, відключилося живлення мережного обладнання, неполадки у провайдера) не доводиться знову підключатися до інформаційної бази і починати всю роботу спочатку. Після відновлення фізичного з'єднання користувач може продовжити роботу з місця, на якому вона була перервана.
Якщо потрібне технічне обслуговування комп'ютерів кластера, їх можна вимикати безпосередньо під час роботи, не зупиняючи роботу користувачів з інформаційною базою.
При виході з ладу будь-якого сервера кластера робота користувачів не зупиниться, вона буде автоматично переведена на резервний кластер та/або на резервні робочі процеси. Для користувачів такий перехід буде непомітним.
Якщо один з робочих процесів кластера завершиться аварійно, користувачі будуть автоматично переведені на інші або резервні робочі процеси. Такий перехід також буде непомітним для користувачів.
Сервер 8.3 характеризується переробленим наново внутрішнім кодом, хоча «зовні» може здатися, що це злегка доопрацьований 8.2.
Сервер став більш «авто настроюваним», частина параметрів типу кількості робочих процесів тепер не створюється вручну, а розраховується виходячи з описів вимог задач щодо відмови та надійності.
Отримав розвиток механізм балансування навантаження, який можна використовувати або для підвищення продуктивності системи в цілому, або використовувати новий режим економії пам'яті, який дозволяє працювати з обмеженою пам'яттю у випадку якщо використовувана конфігурація любить від'їдати пам'ять.
Стабільність роботи під час використання великих обсягів пам'яті визначаться новими параметрами робочого сервера.
Особливо цікавим є параметр «безпечна витрата пам'яті за один виклик». Для тих хто погано уявляє, що це таке — краще не тренуйтеся на «продуктивній» базі. Параметр «Максимальний обсяг пам'яті робочих процесів» дозволяє при переповненні не обвалювати весь робочий процес, а лише один сеанс «з невдахою». "Обсяг пам'яті робочих процесів, до якого сервер вважається продуктивним" дозволяє заблокувати нові з'єднання, як тільки буде подолано цей поріг пам'яті.
Рекомендую ізолювати робочі процеси з інформаційних баз, наприклад вказати параметр «Кількість ІБ на процес = 1». За кількох високонавантажених баз це дозволить зменшити взаємний вплив як у надійності, і по продуктивності.
Окремий внесок у стабільність системи робить «витрати» ліцензій/ключів. У 8.3 з'явилася можливість використання менеджера програмних ліцензій нагадуючи менеджер аладина. Ціль - можливість винести ключ на окрему машину.
Реалізовано він у вигляді ще одного «сервісу» менеджера кластера. Ви можете використовувати, наприклад, «вільний» ноутбук. Додайте його до кластера 1с 8.3, створіть на ньому окремий менеджер із сервісом «сервіс ліцензування». У ноутбук можна встромити апаратний hasp-ключ, або активувати програмні ліцензії.
Найбільший інтерес для програмістів має становити «Вимоги призначення функціональності».
Так на ноутбуці з ключем захисту, щоб не запускати користувачів на сервер кластера, треба додати "вимоги" для об'єкта вимоги "Клієнтське з'єднання з ІБ" - "Не призначати", тобто. заборонити робочим процесам сервера обробляти клієнтські з'єднання.
Ще більший інтерес дає можливість запускати "тільки фонові завдання" на робочому сервері кластера без сеансів користувачів. Таким чином можна високонавантажені завдання (код) винести на окремі машини. При чому можна одне фонове завдання "закриття місяця" через "Значення додаткового параметра" запускати на одному комп'ютері, а фонове завдання "Оновлення повнотекстового індексу" на іншому. Уточнення відбувається через вказівку "Значення додаткового параметра". Наприклад, якщо вказати BackgroundJob.CommonModule як значення, можна обмежити роботу робочого сервера в кластері тільки фоновими завданнями з будь-яким вмістом. Значення BackgroundJob.CommonModule.<Имя модуля>.<Имя метода>- Вкаже конкретний код.
Під час встановлення серверної частини 1С:Підприємства 8.1 можна створити нового користувача або вибрати існуючий обліковий запис.
У разі вибору існуючого облікового запису ви повинні вказати правильний пароль та підтвердження, інакше запуск серверної частини далі призведе до помилки.
При першому запуску Агента кластера створюється кластер за замовчуванням.
Кластер за замовчуванням має такі характеристики:
· Номер порту - 1541;
· Діапазон IP портів - 1560:1591;
· Підтримка багатьох робочих процесів - вимкнена;
· один робочий процес, номер порту встановлюється із зазначеного діапазону.
Якщо при першому запуску агента кластера виникли будь-які проблеми, кластер за замовчуванням може бути не створений. Це в тому, що з запуску агента сервера (ragent) він стартує, але з запускає інші процеси кластера (rmngr, rphost). Список кластерів srvribrg.lst виглядає так:
{
{0},
У цьому випадку можна зупинити процес ragent, видалити список кластерів (srvribrg.lst) та запустити ragent знову.
Перевірте збіг портів, вказаних у параметрі port командного рядка запуску сервісу агента сервера та заданого в діалозі параметрів центрального сервера консолі кластерів:
— Зупиніть сервіс 1C: Enterprise 8.1 Server Agent.
Якщо Агент серверів запущено як програму, зупинка виконується натисканням клавіш Ctrl+C.
- Переконайтеся, що у Диспетчері завдань (Task Manager), що всі процеси ragent, rmngr, rphost завершилися. За необхідності завершіть їх за допомогою Task Manager.
- Відкрийте властивості сервісу 1C: Enterprise 8.1 Server Agent.
— Зверніть увагу на рядок «Файл, що виконується» (Path to executable). У ній є параметр -d, за яким слідує каталог даних кластера. Усі файли, що належать до кластера, знаходяться в цьому каталозі.
— Видаліть вміст цього каталогу.
— Запустіть сервіс 1C: Enterprise 8.1 Server Agent.
- Переконайтеся, що у Диспетчері завдань (Task Manager), що всі процеси ragent, rmngr, rphost стартували.
— Запустіть консоль кластера і зареєструйте центральний сервер. Консоль повинна приєднатися до центрального сервера та показати один кластер, створений за замовчуванням.
Можливі проблеми відмови роботи Кластера серверів є проблеми з ключами захисту, правами облікового запису служб, некоректними параметрами запуску.
Зверніть увагу, що під час встановлення платформи 1С:Підприємство 8.1 можуть бути видані повідомлення про помилки. Нижче перераховані найімовірніші повідомлення. Вказані причини, що викликали повідомлення та кроки до усунення.
Проблема пов'язана із правами облікового запису на запуск від імені системної служби. Відкрийте утиліту Local Security Policy (Локальна політика безпеки) та додайте користувача (від імені якого відбувається запуск Робочих серверів Кластера) до політик Logon as service (Робота як сервіс) та Logon as batch (Робота як пакетне завдання) job.
При порушенні даних, що зберігаються у службових файлах, та запуск Робочих серверів Кластера може виявитися невдалим. Переконайтеся, що агент сервера 1С:Підприємства 8.1 запущено (процес ragent у Task Manager).
Не забудьте, що засобом аналізу є аудит подій Windows. Для цього подивіться, чи з'являються «підозрілі» повідомлення в журналі подій Windows.
New password does not meet the password policies. The password може бути шорти або ви повинні використовувати це повідомлення раніше.
Причина: вказаний пароль для облікового запису в діалоговому вікні «Встановлення сервера 1С:Підприємство» не відповідає вимогам політики безпеки.
Рішення: Задати новий пароль для вибраного облікового запису, який відповідає вимогам політики безпеки або послабити вимоги застосовуваної політики безпеки, тобто. не вимагати «складного» пароля, не обмежувати кількість знаків у паролі, не перевіряти спроб повторення тощо.
Причина: Помилка пов'язана з правами встановлення облікового запису як програми. Така помилка притаманна спробам встановлення сервера на контролері домену, де пред'являються підвищені заходи безпеки.
Рішення: Не використовувати контролер домену для розміщення сервера підприємства або послабити вимоги безпеки та вказати для вибраного облікового запису права «Роботи як служба», «Роботи як пакетне завдання».
Ваше слово не може бути змінене. Всі password повинні бути використані для долі x дни.
Причина та Рішення: Ще одна помилка, що виникає при порушенні вимог політики безпеки до паролів, що використовуються. Рішення аналогічне до помилки 800708C5.
1) Переконайтеся, що на Робочому сервері кластера в Диспетчері завдань (Task Manager) запущено:
Агент сервера (ragent.exe),
Менеджер кластеру (rmngr.exe),
Робочий процес кластеру (rphost.exe).
2) Для перевірки дозволу імен ip-адреси виконайте в командному рядку:
ping ім'я_машини
У відгуку системи на команду нас цікавить, чи визначити ip-адресу.
3) Якщо ім'я визначилося, але Робочий процес, як і раніше, не знаходиться, то переконайтеся, що визначення IP-адреси імені<имя машины>і<имя машины>.<имя домена>визначаються по-різному.
Віддалений хост примусово розірвав з'єднання.
Таке повідомлення можна отримати у разі перезавантаження сервера або примусового видалення Робочого процесу.
Ця помилка зазвичай не з'являється під час повторного підключення. Якщо помилка залишилася, слід розслідувати причини відмови робочих серверів кластера.
Така помилка може відбуватися при досягненні робочим процесом використання максимального об'єму пам'яті в 32 бітних системах.
Іншим випадком є спроба підключення від клієнта з повідомленням про помилку:
Спроба встановити з'єднання була марною, т.к. від іншого комп'ютера за потрібний час не отримано потрібний відгук або було розірвано вже встановлене з'єднання через невірний відгук вже підключеного комп'ютера.
Сутність цієї помилки – відсутність відгуку протягом певного часу (таймауту).
1) Переконайтеся, що брандмауер не блокує трафік програми. Вимкніть брандмауер.
Для цього в командному рядку виконайте команду (команда доступна починаючи з Windows XP і Windows Server 2003, у попередніх версіях вбудованого брандмауера немає, проте може бути встановлено інше програмне забезпечення):
netshfirewallsetopmodedisable
Якщо команда буде виконана успішно, ви отримаєте повідомлення:
Ок.
Крім брандмауера, блокувати трафік можуть мережеві фільтри. Вони за замовчуванням вимкнені. Тим не менш, переконайтеся, що це так:
2) Перевірте, чи ресурси процесора не завантажені на 100% (CPU%).
3) Виконайте замір мережевої активності інтерфейсів клієнта та сервера. Навантаження на мережевий адаптер має перевищувати 60%.
Підключення встановлено, т.к. Кінцевий комп'ютер відкинув запит на підключення.
Характерною причиною такої помилки є відсутність запущеного сервера Агента. Запустіть сервер вручну або перезавантажте сервер для автоматичного старту.
Q:Помилка установки сервера 1с на MS Server 2008 R2 x64 При установці сервера 1с через командний рядок, наприклад, ragent.exe -instsrvc -port 2040 -regport 2041 -range 2060:2091 -d (Взято з диска ІТС), в командному рядку пише повідомлення: «Error! OpenSCManager error!» Сервіс у своїй не створюється. Перевірялося на 8.1.15.14 та 8.2.10.77
А: Для установки з командного рядка на ОС, де є UAC, необхідно скористатися службою RunAs, т.к. навіть якщо користувач входить до групи адміністраторів, UAC блокує дії, які змінюють стан системи.
Q: Ви можете запустити Сервер 8.1 ключ захисту від сервера 8.2?
A: Так, дозволяє
Q: щоб запустити сервер 1С, мені потрібні хасп-ключі якісь серверні? Локальний, чи на 5 користувачів не піде?
A: так, для сервера потрібен свій ключ, локальний і мережні не підійдуть. Докладніше « « , слайд №30.
Q: наприклад кластер серверів 1с стоїть з трьох фізичних серверів. скільки потрібно ключів захисту
Q: Є термінальний сервер і ключ на 5 ліцензій, докуповується 6-а дод. ліцензія. Чи можливо її встановити на сервер поряд із ключем на 5? І чи всі 6 користувачів працюватимуть у теминальних сесіях або 5 — під теерміналом, а 1 у файловому варіанті?
A: Ні, не будуть. 6-я ліцензія у вигляді локального ключа повинна бути увімкнена в комп'ютер користувача, але не в терміналку.
Q: при виході нової версії 8.2.xxx платформи який порядок дій при оновленні серверів та клієнтів
A: Дистрибутиви 8.2 встановлюють свої файли у різні папки (кожній версії своя папки), тобто. теоретично залишається можливість виклику паралельно кількох версій сервера.
В мене особливих проблем не виникало. Проте, треба уважно відстежувати порти, що займаються екземпляром сервера 1С. Перетинів не повинно бути.
Q: У 1С 8.1, як краще розміщувати інформаційні бази, якщо їх кілька, в одному кластері чи створювати для кожної бази окремий кластер? A: З великим обсягом чи навантаженням, а також тестові бази розміщувати потрібно в окремі кластери!
Q: ПИТАННЯ: Робочий процес 1С:Підприємство 8.1 є однопотоковим додатком або багатопотоковим? Тобто. чи може завантажити багато ядер за одного підключеного користувача? За кількох? А робочий процес 1С:Підприємство 8.2? Спасибі.
A: 1Сv8.exe та rphost.exe у версії 8.1 від'їдали 1 ядро. Оскільки в 8.1 з'єднання клієнта знаходиться жорстко прив'язаним до робочого процесу, можна умовно вважати, що обробка клієнтів 1С виконується в рамках одного ядра. Виняток становить СУБД, яка використовує ядра незалежно, як працює сервер 1С.
У версії 8.2 з'єднання замінено сеансами. Сеанси можуть виконуватися у різних робочих процесах. Тому назвати 8.2 однопотоковою це неправильно. Клієнт 8.2 теж візуально завантажує кілька ядер, тому так:
платформа 8.2 не реалізує всіх можливостей багатопоточної системи, але вона значно краще використовує можливості заліза в порівнянні з 8.1, у тому числі і в плані паралельності.
Q: Чи потрібні кілька робочих процесів 1С:Підприємство 8.1, щоб сервер баз даних (MS SQL) навантажував кілька ядер? (Помічено, що MS SQL зазвичай «вантажить» лише одне ядро, тобто «розпаралелювання» обробки одного запиту по кількох ядрах, як правило, не відбувається.) Дякую.
A: Спеціально керувати MS SQL не потрібно, це досить самоналаштовує система, що використовує ресурси за потребою. Керувати паралельністю виконання можна:
EXEC sys.sp_configure N'max degree of parallelism', N'5′
GO
RECONFIGURE WITH OVERRIDE
GO
Створювати кілька робочих процесів на сервері 1С можна, виходячи з того, що один робочий процес не забезпечує можливість користувачам зробити повторне підключення у випадку падіння робочого процесу. 2 процес (на 8.2 його краще зробити «резервним») вирішує цю проблему. А ось 3й і більше робочі процеси є сенс додавати, тільки якщо сильно завантажені (більше 90%) перші два робочі процеси. Без потреби плодити робочі процеси не варто, це може погіршити продуктивність.
A: Як мінімум 1 резервний робочий процес у 8.2 має бути.
Q: Питання включення резервування кластерів 1с 8.2. Якщо у нас впав сервер (прибиральниця висмикнула провід), то мережеве ім'я, наприклад «server:2540» буде недоступне. як клієнт, у якого прописано у рядку підключення «server:2540» дізнається, що потрібно підключатися до резервного кластера? звідки він візьме ім'я іншого сервера? А якщо через кому написати кластери у рядку підключення бази?
A: Кілька кластерів об'єднуються в групу резервування. Для цього в оснастці кластера є "список резервування".
При першому зверненні клієнта до кластера йому передається перелік кластерів, що входять до групи резервування.
Якщо клієнт не разу не звертався, то в цьому випадку треба вказати вручну адреси всіх кластерів, наприклад, storm:2541, monster:2541.
Між кластерами резервування здійснюється обмін даних, що синхронізуються.
Q: Що відбувається після відновлення основного кластера? коли користувачі перейшли на резервний.
A: Повертаються назад. Можливі паузи при перемиканні на час синхронізації даних кластерів.
Q: Як видалити фонове завдання, запущене на серверах 1С: 8.1 та 1С: 8.2?
A: Можливість скасування регламентного завдання працює тільки якщо код виконується в межах вбудованої мови 1С:Підприємства. Якщо код виконується у зовнішніх бібліотеках, скасувати таке завдання не можна інакше, як примусово завершивши робочий процес. Якщо в процесі блоку ПочатиТранзакцію() — ЗафіксуватиТранзакцію() то навряд чи. Інші фонові завдання можна видалити через консоль завдань.
Q: Чи можливе руйнування бази під час проведення ТІІ?
A: Мені такі випадки невідомі, але імхо можливо все. Тому перед ТІІ непогано б робити бекап.
Q: В'ячеслав, з яких причин ви не робите реіндексацію засобами 1С Тестування та Виправлення?
A: Для цих цілей краще підходять можливості СУБД, оскільки вони, по суті, виконують теж перебудову індексів, але не вимагають монопольного захоплення бази.
Q: Доброго дня. Питання щодо технологічного журналу: мені необхідно отримувати копії екранів робочих станцій за помилок 1С. Чи потрібно для цього налаштовувати технологічний журнал і на робочих станціях, чи він тільки для сервера?
A: Можна налаштувати лише отримання скріншота під час падіння платформи, а не за будь-якої помилки. Втім, особливої корисності у такій операції небагато, цілком достатньо збирати за допомогою технологічного журналу виняткових ситуацій. При цьому більшу частину помилок можна побачити за допомогою ТЖ на стороні сервера 1С. Виняток можуть скласти події на кшталт «помилки потоку формату», пов'язаної із застарілим кешем метаданих.
Q: Чи стикалися ви з проблемою - пропадання налаштувань звітів у користувачів при динамічному оновленні конфігурацій на платформі 8.2. Є рекомендації, як із цим боротися?
A: Проблеми, пов'язані з динамічним оновленням, відображені в "Сервера 1С: Підприємство 8.1 і 8.2 - з чим їдять"), слайд №60 Чистити кеш. Можливо в деяких випадках треба розбиратися, де конкретно зберігатись налаштування користувачів. При необхідності зберігати як двійкові дані в регістрі відомостей.
Q: Супутнє питання, т.к. це актуально для файлового режиму: які помилки виправляє chdbfl.exe?
A: Це інструмент виправлення помилок структури зберігання даних. Це може бути ситуація коли, наприклад, виникає «Файл бази даних пошкоджений …/1Cv8.1CD». Тобто. усуває пошкодження файлу бази даних. Проте не виконує функцій ТІІ. Я запускаю chdbfl.exe, якщо "не продить успішно" ТІІ.
Q: Підкажіть, будь ласка, зіткнулися з такою проблемою. при знаходженні в базі великої кількості користувачів (близько 40) при проведенні великих документів, наприклад, відображення ЗП в регл. обліку близько 8000 рядків. видається помилка бракує пам'яті на сервері 1С підприємства і користувач, який ініціював проведення цього документа, відвалюється. Документ потім можна провести лише після перезапуску агента 1С сервера.
A: Схоже на витоки пам'яті:
1. Рестартувати сервер 1С, збільшити кількість робочих процесів, у кластері тримати лише одну цю базу.
2. Бити проведення на порції, скажімо по 1000 рядків за один раз. Відстежити за допомогою ТЖ об'єкти, що займають пам'ять на початку операції, але не звільняють пам'ять після завершення.
3. Поставити х64 версію, збільшити обсяг оперативної пам'яті, перейти на 8.2.
Q: Питання щодо тестування та спрямування. Чи можна запускати «Перевірка цілісності посилання» на базі УРБД з відбором за даними, що передаються? (Тобто у деяких вузлах фізично відсутні об'єкти, але посилання на них є). Спасибі!
A: На жаль, поки що такої можливості немає.
Q: Чому тестування та виправлення відразу не вирішує всі питання, чи доводиться запускати кілька разів?
A: Точно відповісти можуть лише розробники. Я запускаю ТІІ за регламентом (циклічно), тому для мене це питання не дуже актуальне. Робити ТІІ треба не один раз, а постійно як "ТО для автомобіля".
Q: Чи є різниця ТІІ 8.1 та 8.2?
A: На поточний момент написання відповіді та релізу 8.2.10 мені різниця не відома.
Q: Чи потрібно при реструктуризації робити реіндексацію?
A: Не треба.
Q: Шановні панове ніхто не пробував дзеркувати бази засобами MSSql 2008 взагалі це можливо?
Q: Запитання щодо примусового включення shared memory на сервері 1с 8.2
A: Не треба нічого примусово вмикати, сервер сам зрозуміє.
Q: Для 1С:Підприємство 8.1 помічені ситуації, коли на тому самому апаратному забезпеченні файл-серверний варіант з «важкими» операціями і єдиним користувачем працює значно швидше, ніж клієнт-серверний, коли всі «ланки» (сервер БД, сервер 1С :Підприємство та клієнт) встановлені на одному сервері. При цьому при виконанні цієї важкої операції явно виражених перевантажень апаратної частини немає (завантаження процесора, пам'яті, жорстких дисків мінімальна). Тобто, апаратних ресурсів багато, а працює повільно. У що ми можемо «упиратися»? Спасибі.
A: Достоїнство клієнт-серверної архітектури з точки зору продуктивності – можливість ПАРАЛЛЕЛЬНО обробляти запити клієнтів до даних. Тобто. швидкість потоку не той показник, яким варто робити загальні висновки. Механізми, що покращують паралельність, все ж таки в рамках одного потоку можуть несильно знижувати продуктивність.
Для того, щоб однозначно знайти вузьке місце у вашому випадку, треба отримати завантаженість серверного обладнання та зіставити за часом із найбільш тривалими операціями у клієнт-серверному режимі. Найчастіше це буває надмірне переміщення даних на клієнтську частину. Тобто. замість виконання операцій на сервері 1С, дані від субд через сервер передаються на клієнта.
Швидкість в одному потоці клієнт-серверного варіанту лише наздоганятиме продуктивність файлового варіанту. Варто займатися цією проблемою, якщо час операції в абсолютних цифрах вимірюється не менше ніж хвилини. Займатися оптимізацією у межах 1-3 секундних запитів сумнівно.
Q: Про різницю між віндовським терміналом та тонким клієнтом 1С.
A: Поки більшість рішень не переклали ПОВНІСТТЮ під 8.2, говорити про практичне порівняння цих технологій однозначно складно.
Зрозуміло, що тонкий клієнт 1С повинен від'їдати менше трафіку та надає можливість роботи через Інтернет. Але це те, що ще належить реалізувати, а термінальні рішення експлуатуються дуже широко.
Для консервативних прагматичних керівників проектів, що конвертують 8.1 під 8.2-термінальне рішення. Для невеликих проектів з низькою вартістю помилок і конфігурацією одночасно реалізованої з керованими формами і СКД — тонкий клієнт кращий за ІМХО.
Q: А як провести тестування навантаження наближене до реальних умов? Адже не заженеш користувачів «поклацати щось».
A: 1С:Тестцентр з вибором найважчих операцій, 100% відтворення не обов'язково, самі клацання не важкі, переважно проведення та запити звітів. З тестування буде окремий вебінар. Також докладніше розповідаю.
Установка сервера 1С Підприємства на платформі Windows завдання просте і інтуїтивно зрозуміле, з яким під силу впоратися навіть недосвідченому адміністратору. Однак ми вирішили приділити їй кілька рядків, щоб внести остаточну ясність у це питання і надати нашому циклу повноти та закінченості.
Як відомо, повторення - мати вчення, оновити знання завжди корисно, тим більше, що інколи установка сервера 1С Підприємства перетворюється на збірну солянку всіляких компонентів, половину з яких на сервері не потрібні.
Насамперед поговоримо про версії. На даний момент 1С пропонує сервер у двох редакціях 32-х та 64-х біта, які різняться насамперед вартістю 42 000 та 72 000 руб. При цьому слід пам'ятати, що ліцензія на 64-розрядний сервер дає право використовувати 32-розрядну версію, але не навпаки. Для нормальної роботи сервера 1С Підприємства ключ захисту повинен бути фізично підключений до сервера, проте для успішного запуску прикладних рішень вам знадобиться мережевий ключ на потрібну кількість користувачів, обидва ключі можна фізично розташовувати на одному сервері, вони не заважають один одному. Докладніше про ключі.
Широко поширена помилка - установка не тієї версії сервера, коли на 64-бітну серверну ОС встановлюють 64-бітний сервер, маючи ліцензію для 32-бітного. Тому перед встановленням уважно перевірте, яка саме версія у вас придбана.
Для установки 32-бітної версії сервера використовується той самий дистрибутив, що і для установки клієнтської частини. Запустимо програму встановлення та уважно вивчимо вікно доступних компонентів:
Перші три пункти нас не цікавлять – це різні варіанти клієнтських платформ, які на сервері не потрібні. Я думаю зайве говорити, що не варто поєднувати роль сервера 1С Підприємства і роль термінального сервера. Єдина роль, з якою можна поєднати сервер 1С, це сервер БД, за умови невеликого навантаження та достатніх ресурсів, які правильно розподілені між ролями. Насамперед слід обмежити апетити СУБД щодо оперативної пам'яті та вкрай бажано зберігати БД на окремому дисковому масиві.
Основний компонент - Сервер 1С:Підприємства, Уточнювати його призначення нам здається зайвим. Якщо ви маєте на увазі використовувати веб-сервер або тонкий клієнт через інтернет - слід встановити Модулі розширення веб-сервера, компонента Адміністрація сервера 1С: Підприємстваобов'язковою не є її можна (і потрібно) встановити на робоче місце адміністратора.
З 64-бітною версією простіше, цей пакет установки містить лише сервер 1С Підприємства:
Як можна помітити, у 64-бітному постачанні відсутня компонент адміністрування сервера, при необхідності її слід встановити з 32-бітного дистрибутива.
Якщо локалізація вашої ОС не співпадає з мовою інтерфейсу 1С, то не забудьте додатково встановити потрібні та вибрати їх на наступному кроці. Наприклад, при встановленні української версії 1С на російську локалізацію ОС.
Для запуску служб сервера 1С Підприємства можна використовувати обліковий запис Адміністратора або, що буде правильніше та безпечніше, спеціальний обліковий запис USR1CV82. Якщо цей обліковий запис не існує, вам буде запропоновано його створити під час установки.
При заданні пароля пам'ятайте, що він повинен відповідати вимогам політики безпеки, інакше отримайте помилку 8007056B/800708C5, у цьому випадку вам потрібно встановити новий пароль даному користувачеві вручну. Також неприпустимий порожній пароль, навіть якщо ваша політика безпеки це дозволяє.
Ще одна можлива помилка - неправильно вказаний пароль до вже існуючого облікового запису, це зазвичай відбувається при оновленні платформи, у такому разі ви отримаєте помилку:
Тут можливі два варіанти дій. Якщо ви пам'ятаєте пароль, перервіть установку і виконайте її заново, вказавши пароль правильно. В іншому випадку натисніть Пропуститита зміните пароль користувача USR1CV82на той, який ви вказали під час встановлення. Після чого запустіть службу Агент сервера 1С:Підприємства 8.2вручну.
Також не забувайте, що версії платформи сервера та клієнта повинні співпадати і наступним кроком має стати встановлення (оновлення) клієнтських платформ. При необхідності оновити версію сервера ми радимо заздалегідь видалити попередню через Встановлення та видалення програмі лише після цього встановлювати нову версію, всі налаштування при цьому збережуться.
Найчастіше для установки 1C:Підприємства 8.х у варіанті “клієнт-сервер” достатньо запуску програми установки 1С:Підприємства 8.х. У цьому сервер 1С:Підприємства отримує стандартні значення параметрів, необхідних його нормального функціонування.
Розглянемо встановлення сервера 1С:Підприємства більш детально. У процесі установки сервера 1С:Підприємства 8.х програма установки 1С:Підприємства 8.х виконує такі дії:
* Копіює завантажувальні модулі сервера 1С:Підприємства в каталог, вказаний програмою установки 1С:Підприємства як кінцева папка.
* Якщо в процесі установки вибрано "Створити користувача USR1CV81", створює користувача USR1CV81. Від імені цього користувача працює сервер 1С:Підприємства 8.1, якщо він запускається як сервіс. Йому доступні ті ресурси, які необхідні серверу 1С:Підприємства. Важливо, що серверу 1С:Підприємства для роботи необхідні два каталоги: загальний каталог з даними сервера (зазвичай "C: Program Files 1cv81 server") і каталог тимчасових файлів (звичайно C: Documents and Settings usr1cv81 Local Settings \Temp" або "C:\WINNT\Temp"). Користувач USR1CV81 отримує права на загальний каталог із даними сервера. Каталог тимчасових файлів зазвичай доступний для всіх користувачів.
* Якщо в процесі установки включено "Встановити сервер 1С:Підприємства 8.1 як сервіс Windows", то реєструє в Windows сервіс агента сервера 1С:Підприємства та запускає його. При першому запуску створюється кластер серверів 1С:Підприємства за замовчуванням. У ньому один робочий сервер та один робочий процес. Адреса робочого сервера збігається з ім'ям комп'ютера, на якому встановлена установка.
Користувач USR1CV81 або USR1CV82 та його права
Сервер 1С:Підприємства є серверним додатком робота якого не повинна залежати від того, який користувач увійшов до серверного комп'ютера в інтерактивному режимі, якщо взагалі хтось увійшов. Тому при встановленні сервера 1С:Підприємства бажано створити спеціального користувача USR1CV81, наділеного правами, мінімально необхідними для сервера 1С:Підприємства, та не призначеного для інтерактивного входу. Сервер 1С:Підприємства представляється системі Windows користувачем USR1CV81.
Розглянемо докладніше права, які встановлюють користувач USR1CV81. Сервер 1С:Підприємства використовує такі каталоги:
* Каталог завантажувальних модулів знаходиться в каталозі, заданому програмі установки 1С: Підприємства як кінцева папка. У ньому розташовані завантажувальні модулі сервера 1С:Підприємства. Користувач USR1CV81 необхідні права на читання даних та запуск програм з цього каталогу та його підкаталогів. Він отримує ці права неявно завдяки включенню до групи Users.
* Каталог даних сервера зазвичай має ім'я "C: Program Files 1cv81 server". Користувачеві USR1CV81 необхідні повні права на цей каталог. Програма установки 1С:Підприємства при створенні користувача USR1CV81 наділяє його правами цей каталог.
* Каталог тимчасових файлів зазвичай має ім'я "C:\Documents and Settings\usr1cv81\Local Settings\Temp" або "C:\WINNT\Temp", яке визначається значенням змінної TEMP оточення користувача або змінної TEMP системного оточення. Подивитися значення цієї змінної можна в діалозі System Properties (Start -> Settings -> Control Panel -> System -> Advanced -> Environment Variables). Програма установки 1С:Підприємства задає користувачу USR1CV81 повні права на цей каталог. Зазвичай при інсталяції Windows каталог тимчасових файлів доступний усім користувачам за допомогою включення до списку доступу групи CREATOR OWNER. Однак це доступ не повний. Зокрема, всім користувачам не доступна операція пошуку файлів у цьому каталозі. Установка користувача USR1CV81 повних прав на каталог тимчасових файлів дозволяє серверу 1С:Підприємства виконувати всі необхідні йому операції. Переглянути список доступу можна в діалозі властивостей каталогу на закладці Security. Наявність групи CREATOR OWNER дозволяє звертатися до каталогу будь-якому користувачеві, який створює якісь файли в цьому каталозі або володіє якими файлами в цьому каталозі. При цьому в списку доступу створеного файлу замість групи CREATOR OWNER буде записаний користувач, який створив файл. Серед користувачів, яким дозволено доступ до цього каталогу, має бути і користувач USR1CV81, наділений повними правами на цей каталог.
Важливо пам'ятати, що каталог тимчасових файлів певного користувача (зокрема і користувача USR1CV81) визначається комбінацією змінних оточення цього користувача та системних змінних оточення. Щоб дізнатися цей каталог, програма установки 1С:Підприємства запитує контекст користувача USR1CV81. У цьому Windows 2000 користувачеві, від імені якого запускається програма установки 1С:Підприємства, можуть знадобитися привілеї: Act as part of the operating system і Bypass traverse checking. Перевірити привілеї користувача можна утилітою Local Sequrity Settings у гілці Local Policies -> User Rights Assignment. У процесі встановлення нового програмного забезпечення програма установки зазвичай отримує ці привілеї автоматично.
Реєстрація сервера 1С:Підприємства як сервісу Windows
Сервер 1С:Підприємства є простим консольним додатком Windows і може бути запущений інтерактивно. Однак для постійного використання це незручно, оскільки ставить запуск сервера 1С: Підприємства від входу користувача в серверний комп'ютер. Щоб унеможливити цю залежність, сервер 1С:Підприємства може запускатися як сервіс Windows. Для цього він повинен бути зареєстрований менеджером сервісів Windows.
Для перегляду списку сервісів Windows та їх параметрів призначена утиліта Component Services (Start -> Settings -> Control Panel -> Administrative Tools -> Services). Сервер 1С:Підприємства представлений у списку сервісів "Агент сервера 1С:Підприємства 8.1". Параметри сервісу визначають запуск процесу "Агент сервера 1С:Підприємства" (ragent), користувача, від якого він запускається, а також спосіб перезапуску в аварійних ситуаціях.
У діалозі властивостей сервісу "Агент сервера 1С:Підприємства 8.1" на закладці General показаний рядок запуску процесу ragent, який є Агентом сервера 1С:Підприємства. Зазвичай цей рядок має вигляд:
У ній зазначено, що:
* процесом Агента сервера є завантажувальний модуль "C: Program Files \ 1cv81 \ bin \ ragent.exe";
* процес ragent запускається як сервіс Windows і має управлятися менеджером сервісів (-srvc);
* використовується як Агент сервера 1С:Підприємства (-agent);
* при першому запуску сервісу повинен бути створений кластер з параметрами за промовчанням та головним IP-портом номер 1541 (-regport 1541). У цьому порту клієнтські програми повинні з'єднуватися з інформаційними базами, зареєстрованими у кластері;
* IP-порт агента сервера повинен мати номер 1540 (port 1540). У цьому порту Консоль кластера має з'єднуватися з центральним сервером для виконання адміністративних функцій;
* при запуску процесів кластера на даному сервері їм динамічно призначатимуться IP-порти з діапазону 1560-1591 (-range 1560:1591).
* загальні дані кластера будуть розміщені в каталозі "C:\Program Files\1cv81\server" (-d "C:\Program Files\1cv81\server").
Сервіс "Агент сервера 1С:Підприємства 8.1" може бути доданий або видалений не тільки при встановленні або видаленні 1С:Підприємства програмою установки 1С:Підприємства 8.1, але і вручну. Для цього можна виконати з командного рядка утиліту ragent, вказавши відповідні параметри.
Для створення сервісу необхідно вказати параметр -instsrvc та параметри: -usr - ім'я користувача, від імені якого має бути запущено сервіс, -pwd - пароль цього користувача. У цьому інші параметри стануть параметрами рядка запуску Агента сервера 1С:Підприємства як сервісу. Наприклад, для стандартної реєстрації сервісу Агента сервера 1С:Підприємства у налагоджувальному режимі набір параметрів повинен бути таким:
"C:\Program Files\1cv81\bin\ragent.exe" -instsrvc-usr. debug
Для видалення сервісу необхідно вказати параметр -rmsrvc. Наприклад:
"C:\Program Files\1cv81\bin\ragent.exe" -rmsrvc
Іноді буває поліно змінити рядок запуску Агента сервера або інші параметри сервісу Агента, наприклад, увімкнути режим налагодження або створити кілька сервісів різних версій. Діалог властивостей сервісу не дозволяє редагувати рядок запуску сервісної програми та деякі інші параметри, наприклад, ідентифікатор сервісу. Для редагування потрібна утиліта regedit, призначена для перегляду та редагування реєстру Windows.
Увага!
Редагування системного реєстру Windows потребує надзвичайної обережності, оскільки помилкові зміни в ньому можуть призвести операційну систему до непрацездатного стану.
Запустіть утиліту regedit (відкрийте Start -> Run і наберіть regedit) і оберіть гілку:
Серед її параметрів є параметр ImagePath, значенням якого є рядок запуску Агента сервера 1С:Підприємства. Тут можна додати нові параметри запуску або змінити значення існуючих. Повний список можливих параметрів наведено у книзі "1С:Підприємство 8.1 Клієнт-сервер" документації.
При необхідності реєстрації кількох незалежних сервісів Агента сервера 1С:Підприємства потрібно вказати їм різні завантажувальні модулі, порти та різні каталоги даних кластера. Також потрібно зареєструвати їх з різними ідентифікаторами сервісів. Це можна зробити так:
* Створити перший сервіс:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:Program Files\1cv81\server"
* За допомогою утиліти regedit змінити ідентифікатор зареєстрованого сервісу. Для цього: вибрати гілку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent First
* Створити другий сервіс:
"C:\Program Files\1cv81_10\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:Program Files\1cv81_10\server"
* Можливо, його ідентифікатор теж змінити. Для цього: вибрати гілку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent
і змінити її ім'я, наприклад:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent Second
Що не може зробити програма встановлення 1С:Підприємства?
Як уже говорилося, програма установки 1С:Підприємства копіює завантажувальні модулі 1С:Підприємства та виконує необхідну реєстрацію в COM та в менеджері сервісів Windows. Вище наведено інформацію, необхідну розуміння внутрішніх механізмів цієї реєстрації. Якщо серверному комп'ютері встановлено як сервер, а й клієнтська частина 1С:Підприємства, вона готова до роботи відразу після установки (і підключення ключів захисту).
Щоб сервер 1С:Підприємства був доступний з інших комп'ютерів у локальній мережі, необхідно перевірити налаштування мережі на серверному та клієнтському комп'ютері, а також для мережі в цілому. Для передачі даних між клієнтськими програмами та сервером 1С:Підприємства, а також між процесами кластера серверів використовується TCP/IP. Від правильності його налаштування залежить робота 1С:Підприємства у варіанті клієнт-сервер.
Процеси кластера серверів 1С:Підприємства з'єднуються один з одним за адресами, визначеними як значення властивості "Комп'ютер" діалогу властивостей робочих серверів. Для кластера необхідно, щоб значенням властивості "Комп'ютер" була або IP-адреса у точковій нотації, або така символічна адреса, за якою може бути визначена IP адреса за допомогою функції gethostbyname, визначеної в програмному інтерфейсі протоколу TCP. Визначення IP-адреси виконується або на підставі локальної таблиці символічних адрес (C:WINNTsystem32driversetchosts), або по таблицях адрес в доступних DNS серверах. Якщо за символічною адресою робочого сервера його IP-адреса не визначається або визначається неправильно (наприклад, IP-адреса не співпадає з фактичною IP-адресою даного комп'ютера), то кластер працювати не буде. Важливо, щоб імена комп'ютерів та їх адреси, визначені у Windows кожному з робочих серверів кластера, не суперечили іменам в DNS.
На кожному робочому сервері процеси кластера використовують такі порти: IP порт робочого сервера (зазвичай 1540); IP порти з діапазонів IP портів робочого процесу (зазвичай 1560-1591). Крім того, на центральному сервері кластера використовується порт кластера (зазвичай 1541). Якщо в системі використовуються мережні екрани, то передача даних цими портами повинна бути дозволена. Замість дозволу портів із наведеного списку можна дозволити передачу даних процесам кластера (ragent, rmngr, rphost).
З'єднання клієнтської програми 1С: Підприємства із сервером виконується у 2 етапи. Спочатку воно встановлює з'єднання з менеджером кластеру. При цьому використовується адреса центрального сервера (символічна або числова) і порт кластера (зазвичай 1541). Далі клієнтська програма встановлює з'єднання з одним із робочих процесів. Як його адреса використовується значення властивості "Комп'ютер" відповідного робочого сервера та порт робочого процесу, який вибирається з діапазону IP портів робочого сервера. Передача даних на ці порти має бути дозволена у всіх мережевих екранах на маршруті від комп'ютера клієнтської програми до комп'ютерів кластера серверів 1С:Підприємства. Визначення IP-адреси серверних процесів виконується за допомогою функції gethostbyname на комп'ютері клієнта. Важливо, щоб імена центрального та робочих серверів та їх адреси, визначені в Windows на кожному із серверів кластера, не суперечили їхнім іменам у DNS, доступному комп'ютеру клієнта.
І останнє. Очевидно, що для успішного доступу до сервера 1С:Підприємства з інших комп'ютерів він повинен бути в мережі та повинні бути виконані необхідні для цього налаштування. Підключення до мережі та методика налаштування належать до адміністрування мереж на базі Microsoft Windows та описані у відповідних інструкціях.
Особливості налаштування SQL-сервера
1С:Підприємство у варіанті «клієнт-сервер» використовує для зберігання даних SQL-сервер. При цьому до SQL-сервера звертається лише Сервер 1С:Підприємства. Клієнти 1С: Підприємства безпосереднього доступу до SQL-серверу не мають. Встановлення та налаштування SQL-сервера детально описано в документації Microsoft SQL Server. Для успішної роботи сервера 1С:Підприємства з SQL-сервером необхідно звернути особливу увагу на наступні налаштування.
* Необхідні компоненти SQL-сервера. Для доступу до SQL-серверу з боку сервера 1С:Підприємства на комп'ютері Сервера 1С:Підприємства повинні бути встановлені компоненти Microsoft Data Access 2.6 або пізніший.
* Аутентифікація користувача SQL-сервером. Права доступу до баз даних SQL-сервера визначаються користувачем, від якого відбувається звернення до баз даних. З комп'ютера, на якому встановлено SQL-сервер, запустимо утиліту SQL Server Enterprise Manager, знайдемо вузол Local (Console Root -> Microsoft SQL Servers -> SQL Server Group -> (Local)) та відкриємо його властивості. На закладці Sequrity можна побачити, що SQL-сервер підтримує два способи автентифікації користувачів: SQL Server and Windows та Windows лише. Аутентифікація Windows дозволить серверу 1С:Підприємства звертатися до SQL-серверу тільки від імені користувача USR1CV81, що не дозволяє розрізняти права доступу до різних інформаційних баз, що обслуговуються одним сервером 1С:Підприємства. Рекомендується вибирати режим SQL Server та Windows. У цьому випадку звернення до конкретної інформаційної бази виконуватиметься від імені користувача, який заданий як користувач SQL-сервера при створенні даної інформаційної бази. Важливо, що цей користувач повинен мати не лише повні права на базу даних інформаційної бази, але й права на створення баз даних у SQL-сервері та читання таблиць бази даних Master.
* Мережеві протоколи для доступу до SQL-сервера. Якщо сервер 1С:Підприємства та SQL-сервер розміщені на різних комп'ютерах, то необхідно виконати налаштування мережевих протоколів доступу до SQL-сервера. Це можна зробити за допомогою утиліти SQL Server Client Network Utility. На закладці General можна вибрати список протоколів мережі, які використовуються для доступу до SQL-сервера. Найбільш швидким та універсальним є використання протоколу TCP/IP. При використанні інших протоколів необхідно мати на увазі, що деякі з них, наприклад Named Pipes, виконують додаткову аутентифікацію засобами Windows під час обміну даними із SQL-сервером. У цьому випадку для успішної роботи з SQL-сервером на комп'ютері з SQL-сервером повинен бути зареєстрований користувач USR1CV81, який має відповідні права. Протокол доступу до цього SQL-серверу можна змінити на закладці Alias.
На додаток до статті
Немає сумніву, що зв'язка MS SQL Server + сервер "1С: Підприємство 8" - у своїй ніші найбільш затребувана і зв'язка, що часто застосовується. Для її якісної підтримки бажано розуміння обох продуктів. У той же час, на практиці спеціаліст підтримки зазвичай або спеціалізується на адмініструванні MS SQL Server і не орієнтується в особливостях сервера "1С: Підприємство 8", або, навпаки, спеціалізується на адмініструванні сервера "1С: Підприємство 8" і не орієнтується в особливостях MS SQL Server.
Ця стаття написана на допомогу і тим, і іншим фахівцям, покликана заощадити Ваш час та звернути Вашу увагу на найважливіші деталі при спільному використанні цих програмних продуктів.
Для полегшення сприйняття інформації наводяться випадки з практики, примітки та поради (виділені курсивом).
Триланкова схема
Як, можливо, вже відомо читачеві, база даних у даному випадку має триланкову архітектуру:
Ланка 1: СУБД MS SQL Server. "Зберігає" та обслуговує базу даних, в кінцевому рахунку виконує всі види операцій з базою даних. Таким чином, продуктивність роботи бази даних, швидкість і паралельність читання-запису даних багато в чому визначаються продуктивністю MS SQL Server.
Ланка 2: Сервер "1С: Підприємство 8". Служить посередником у взаємодії між клієнтами (користувачами) та MS SQL Server. Усі клієнтські запити надсилаються на сервер, який "переводить" їх на мову запитів MS SQL Server, отримує результати виконання цих запитів, надсилає результати клієнту.
Є лише мала частина операцій, що виконуються на рівні сервера "1С: Підприємство 8", без звернення до MS SQL - це, зокрема, відстеження так званих "керованих блокувань", читання-запис "параметрів сеансу". Звертання до СУБД у разі не потрібно, оскільки ці операції виробляються не з даними бази, і з допоміжною інформацією сервера.
Ланка 3: Клієнтська частина "1С: Підприємство 8". Звертається до сервера "1С: Підприємство 8", отримує від нього результати (тобто, наприклад, вибірки даних), відповідає за інтерфейс користувача.
"Хотів якнайкраще".
Після повторної установки сервера "1С: Підприємство 8" користувачі скаржаться на різке падіння продуктивності. Фахівець із запровадження ПП "1С: Підприємство", який робив переустановку - лише дивується - мовляв, хотів як краще, система повинна була почати працювати швидше... Аналіз ситуації показав, що серверу "1С: підприємство 8" було виділено надто багато ресурсів: його процеси (див. пункт 3) rphost зайняли 15.5 Гб з 16Гб оперативної пам'яті сервера, у результаті поступливого MS SQL Server мало залишилося доступної оперативної пам'яті.
Як результат - постійний "своп", непотрібне навантаження на дискову підсистему, і вкрай повільне виконання операцій з базою даних - внаслідок того, що MS SQL Server не встигає обробляти запити, що надходять від сервера "1С: Підприємство 8".
Сумісність продуктів
Актуальні дані про версії MS SQL Server, що рекомендуються до використання у зв'язці з "1С: Підприємство 8", слід з'ясовувати за посиланням http://v8.1c.ru/requirements/.
На момент підготовки статті розробники фірми "1С" рекомендують такі варіанти:
Технічно можливо, але не рекомендується застосування MS SQL Server 2000, для нього потрібна установка пакета оновлень 2 (SP2) і бажана установка пакета оновлень 4 (SP4).
Слід враховувати, що зараз ця версія знята з підтримки, а також не має 64-розрядної версії для архітектури x86-64.
Зверніть увагу:
Необхідно звертати увагу на налаштування операційної системи: наприклад, для ефективної роботи M SQL Server 2008 під ОС Server 2008R2 потрібне відключення збалансованого режиму енергопостачання та переведення в режим максимальної продуктивності.
Установка клієнт-серверної версії "1С: Підприємство 8"
"1C встановив"
В одного із замовників установку "1С:Підприємства 8" зробив системний адміністратор, який не має досвіду в роботі з "1С:Підприємством 8". І хоча, за його словами, він "встановив 1С" - на комп'ютерах користувача була відсутня клієнтська частина, а на сервері - серверна. Розбір ситуації прояснив картину - в комплекті "1С: Підприємства 8" було 2 диски - установка платформи та встановлення шаблонів баз даних. Адміністратор не став вникати в порядок установки - і встановив шаблони баз даних, а не файли, що виконуються, компоненти платформи.
Звісно, це нетиповий приклад виключно неуважного ставлення до роботи.
При встановленні "1С: Підприємства 8" слід враховувати, що окремо встановлюються:
Компонент "1С: Підприємство" може не встановлюватися на сервері (серверах).
У цьому випадку сервер надаватиме клієнтським комп'ютерам доступ до баз даних "1С: Підприємство", але робота з БД в режимі користувача безпосередньо з сервера буде неможлива.
Зверніть увагу:
64-бітна версія платформи не містить клієнтської частини. Тому при встановленні на сервер окремо встановлюються 64-бітові серверні компоненти, і окремо – 32-бітові компоненти клієнтської програми.
Компонента "Сервер 1C: Підприємства" потрібна для підключення до MS SQL Server – це сервер додатків, що зв'язує ланку між платформою на клієнтських робочих місцях та MS SQL Server.
Можливе встановлення компоненти в режимі простої програми або системного сервісу, і рекомендується, звичайно, другий варіант.
При установці "як сервіс" цей компонент буде запускатися і виконуватися від імені обраного користувача:
Після завантаження компонента породжує кілька процесів, як-от: "агент сервера", "менеджер кластера серверів", "робочі процеси сервера".
Запити базі даних виконують робочі процеси, а навантаження між ними розподіляє менеджер кластера серверів.
Робочими процесами сервера можна буде керувати (додавати, видаляти, ставити обмеження на використання ОЗУ, оголошувати основним або резервним), якщо буде встановлено компонент "Адміністрування сервера 1С: Підприємства".
Зверніть увагу:
Для 32-бітної версії сервера рекомендується встановлення робочих процесів у такій кількості, щоб не залишати оперативну пам'ять незадіяною - кожен з них має помітне обмеження на використання оперативної пам'яті від 2 до 4Гб залежно від конфігурації системи.
Для 64-бітної версії сервера теоретично достатньо двох робочих процесів – одного робітника та одного резервного. Однак на практиці для забезпечення надійності та стабільності підключень на істотній (кілька сотень) кількості користувачів потрібна більша кількість, вона залежить багатьох факторів - від кількості користувачів, наповнення бази даних та обсягу запитів, тому автори вважають, що кількість процесів у цьому випадку слід підбирати експериментально.
"Уроборос"
Після невдалої оптимізації налаштувань сервера "1С: Підприємство 8" користувачі просигналізували про вкрай повільну роботу системи, а системний адміністратор відзначив постійне 100% завантаження процесора на сервері.
Аналіз ситуації показав джерело проблеми - при налаштуванні було встановлено дуже маленьке обмеження використання оперативної пам'яті робочими процесами.
А справа в тому, що це обмеження працює таким чином:
Коли менеджер кластера серверів бачить, що робочий процес перевищив ліміт оперативної пам'яті – робота цього процесу припиняється, він відключається, створюється новий робочий процес, а підключення та запити користувачів перерозподіляються між робочими процесами.
Встановлене обмеження було настільки маленьким (300Мб), що робочий процес було повністю обслужити навіть одного інтенсивно працюючого користувача - у результаті менеджер кластера серверів безперервно перезапускав робочі процеси і перепідключав користувачів. Щойно створювався новий процес, і користувачі до нього підключалися – ліміт оперативної пам'яті майже миттєво досягався та викликав наступний перезапуск. На це і витрачалося 100% завантаження процесора.
Компонента "Сервер 1C: Підприємства" не потрібна на клієнтських робочих місцях, та й не зможе там запуститись, оскільки вимагає фізичної наявності ключа захисту.
У випадку, якщо кількість користувачів, що підключаються, невелика (менше 50) - сервер додатків зазвичай встановлюють на тому ж комп'ютері, де працює MS SQL Server.
Для систем з великою кількістю користувачів та/або великим обсягом інформаційних потоків рекомендується роздільне встановлення, а також застосування кластера серверів.
Компонента "Адміністрація сервера 1С: Підприємства" може бути корисною і на клієнтах - наприклад, за її допомогою можна побачити список інформаційних баз, підключених до заданого сервера "1С: Підприємства".
На самому сервері її рекомендується встановити.
Доступ
Зверніть увагу:
Для перевірки того, що доступ забезпечений, недостатньо використання утиліти адміністрування серверів 1C: Підприємства, і тим паче недостатньо присутності сервера в мережному оточенні!
Необхідно на кожному клієнті виконати вхід у базу даних, встановлену на сервері – це дасть 100% впевненість, що доступ забезпечений.
1. Залежно від політик безпеки, для MS SQL Server застосовується автентифікація облікового запису Windows або автентифікація облікового запису MS SQL Server.
В останньому випадку при створенні бази даних "1С: Підприємства" система буде запитувати логін та пароль облікового запису MS SQL Server (наприклад, sa), у першому випадку логін та пароль слід залишати порожніми:
і тому користувачеві системи, від імені якого запущено сервер 1С: Підприємства, необхідно надати права в MS SQL Server, а саме:
Наприклад, можна призначити розглянутому користувачеві певну роль processadmin або sysadmin.
Порада.
Якщо у всіх користувачів одночасно зник доступ до робочої бази даних - потрібно перевірити ще раз права і ролі користувача в MS SQL Server, у тому числі встановлені для конкретної бази даних, тобто User mapping:
2. Сервер 1С: Підприємства звертається до MS SQL Server через механізм Microsoft Data Access, тому його компоненти повинні бути встановлені, а користувач сервера 1С: Підприємства (див. попередній пункт) повинні бути права на їх запуск.
3. Зв'язок між клієнтами та сервером підтримується протоколом TCP, тому необхідно, щоб цей протокол підтримувався обома сторонами. Можливі проблеми зі зіставленням імені сервера та його IP адреси, наприклад, якщо використовується однорангова мережа. У такому випадку слід записати відповідність у файлі [С:\WINDOWS\] system32\drivers\etc\hosts .
Порада.
У випадку, якщо мережа однорангова – для забезпечення постійного підключення до сервера створіть мережний диск, який звертається до будь-якої папки цього сервера.
4. У разі використання протоколу Named Pipes, і якщо MS SQL Server та сервер 1С: Підприємства встановлені на різних комп'ютерах – користувач, від імені якого працює сервер 1С: Підприємства, має бути зареєстрований у списку користувачів комп'ютера, на якому запущено MS SQL Server.
5. У деяких випадках може знадобитися додаткове налаштування брендмауера Windows, тобто додавання винятків.
6. Деякі антивіруси можуть блокувати "небажаний" мережевий трафік, тому може знадобитися доповнення їх списків винятків.
7. Реліз платформи "1С: Підприємства 8" має бути абсолютно однаковим на клієнті та на сервері.
"Близнюки"
"У одного із замовників застосовувалося два сервери баз даних, на кожному з яких розташовувалась одна робоча база. Користувачі працювали - кожен одночасно з обома базами. Служби підтримки виконала оновлення платформи "1С: Підприємства 8" на серверах та клієнтах…. І тут посипалися скарги на неможливість підключення - то до однієї, то до іншої бази.Аналіз ситуації показав - оновлення на клієнтах і серверах робили кілька людей, і встановлювальні фахівці не перевіряли ще раз, що встановлюють один і той же реліз.Тому на одному сервері був один реліз платформи, на другий - другий, на половині клієнтів - перший з цих релізів, на другій половині - інший.Вийшло, що кожен користувач має доступ тільки до однієї з баз даних.
Для швидкого вирішення проблеми довелося встановлювати кожному користувачеві обидва релізи платформи та створювати окремі ярлики для входу до кожної бази даних.
Початкові налаштування MS SQL Server та бази даних
"І так працює"
MS SQL Server відрізняється простотою початкової установки, тому не всі адміністратори спантеличуються його додатковим налаштуванням – після виконання установки за замовчуванням база запрацювала, користувачі до неї увійшли – робота виконана. Такий підхід майже завжди тягне за собою виникнення проблем приблизно через місяць або два – причому, звичайно, раптово і в найнезручніший момент.
Наприклад, якщо база призначена для ведення обліку – перед складанням податкової звітності часто виникає необхідність терміново перерахувати ті чи інші дані, причому перерахувати масово, скажімо "всі надходження основних засобів з початку року". Причому протягом робочого дня, без зупинки роботи інших користувачів бази даних.
І, звичайно, саме в цей момент виявиться, що база за такого перерахунку "зависає", або "вилітає", або не дає працювати іншим користувачам.
Цей свого роду "закон Мерфі" стосується кожного з наведених нижче пунктів.
Перед початком використання MS SQL Server як СУБД для "1С:Підприємство" рекомендується:
1. Встановити значення параметра max degree of parallelism 1.
Тобто:
В іншому випадку деякі запити, що формуються сервером 1С: Підприємства, можуть викликати помилку "Intra-query parallelism caused your server command (process ID #XX) to deadlock. Rerun the query without intra-query parallelism by using the query hint option (maxdop 1 )". Після цієї помилки клієнтська частина найчастіше аварійно завершується.
Помилка не виявлятиметься стабільно, тому що план запиту формується по-різному залежно від накопичених статистик – вона виявить себе на об'ємних та складних запитах, тобто в найневдаліший момент.
2. Створити План обслуговування (Maintance Plan), що обрізає (shrink) базу даних тимчасових таблиць tempdb. Автоматично база тимчасових таблиць сервером 1С: Підприємства очищається який завжди, котрий іноді, у результаті невдало написаного запиту, може бути сформована і очищена тимчасова таблиця розміром, наприклад, 50 Гб. Внаслідок цього може закінчитися місце на диску, внаслідок цього можливе аварійне завершення і клієнтської, і серверної частини, також є невеликий ризик порушення цілісності даних.
Тобто потрібно:
1.USE
2.
3.GO
4.
5.DBCC SHRINKFILE (N"tempdev", 0, TRUNCATEONLY)
6.
7.GO
8.
9.DBCC SHRINKFILE (N"templog", 0, TRUNCATEONLY)
10.
11.GO
Слід врахувати, що ім'я файлу бази даних тимчасових таблиць може бути рівним "tempdev". Для перевірки цього імені можна використовувати скрипт
1.USE tempdb
2.
3.GO
4.
5.EXEC sp_helpfile
6.
7.GO
"Горщик, не вари"
Найчастіше зустрічається практично спосіб переповнити tempdb і цим " упустити " сервер – це забути вказати умова при з'єднанні таблиць.
А саме, скажімо, у нас в базі є дві таблиці, розміром по 20 тисяч записів кожна. Допустимо, між їхніми записами можна встановити однозначну відповідність, і ми пишемо запит, який створює тимчасову таблицю, яка містить 20 тисяч записів з полями обох вихідних таблиць. Але якщо ми забудемо вказати умову з'єднання – кожен запис першої таблиці з'єднається з кожним другий записом! Тобто вийде результуюча таблиця з 20 000 * 20 000 = 400 млн. записів. І так далі.
3. Для зниження навантаження на дискову підсистему рекомендується по можливості розносити по різних фізичних дисках робочу базу і tempdb, логи, файл підкачування системи.
Потрібний шлях для зберігання файлів робочої бази краще задати при її створенні, відредагувавши стовпчик Path (Шлях):
Для зміни фізичного розташування файлів бази часових таблиць використовується команда ALTER DATABASE, тобто в MS SQL Management Studio потрібно виконати наступний скрипт (команда "New query")
1.USE master
2.
3.GO
4.
5.ALTER DATABASE tempdb
6.
7.MODIFY FILE (NAME = tempdev, FILENAME = "Новий_Диск:\Новий_Каталог\tempdb.mdf")
8.
9.GO
10.
11.ALTER DATABASE tempdb
12.
13.MODIFY FILE (NAME = templog, FILENAME = "Новий_Диск:\Новий_Каталог\templog.ldf")
14.
15.GO
4. Не слід ускладнювати "зростання" робочої бази даних та її лога - обмеження на розмір бути не повинно, властивість "Autogrowth" має бути встановлене у відсотках, рекомендоване значення 10%. В іншому випадку додавання даних до бази, відновлення з архіву та інші операції можуть виконуватися невиправдано довго.
Для встановлення цієї властивості потрібно через контекстне меню зайти до властивостей бази, вибрати розділ Files, відкрити редагування властивостей файлу:
5. Рекомендується включити в MS SQL Server підтримку мережевого протоколу TCP/IP і вимкнути всі інші, інакше спільна робота MS SQL Server і сервера 1С: Підприємства буде менш стабільною.
6. Там - очистити розділ Alias, т.к. її встановлення призводить до помилок взаємодії MS SQL Server та сервера 1С: Підприємства.
Перед початком експлуатації бази даних рекомендується:
1. При створенні бази даних з "1С:Підприємства" встановити "зміщення дат" 2000, в іншому випадку спроба запису дати раніше 01.01.1753 (що можливо через людський фактор) - буде викликати збої в роботі бази даних.
Увага! Зміщення дат не можна буде змінити у існуючої бази даних!
2. Встановити Режим відновлення (Recovery model) у значення Простий (Simple), або створити План обслуговування (Maintance Plan), який щодня створюватиме резервну копію (backup) бази даних та обрізатиме журнал транзакцій (log-файл). В іншому випадку, при деяких операціях журнал транзакцій (log-файл) буде дуже швидко зростати: наприклад, при реструктуризації бази даних зростання розміру log-файлу може в кілька разів перевищити розмір самої бази даних.
3. Створити План обслуговування (Maintance Plan), що виконує такі регламентні завдання щонайменше раз на тиждень:
Звичайно, при цьому має сенс налаштувати автоматичне надсилання електронних листів про успішне/неуспішне виконання завдань.
Висновок
Розглянуто питання, які найчастіше викликають складнощі у системних адміністраторів та впроваджувачів "1С: Підприємство 8", у зв'язку із спільним використанням MS SQL Server та клієнт-серверної версії "1С: Підприємство 8".
Автор сподівається, що досить послідовно та доступно висвітлив "обидві сторони медалі".
P.S. Найчастіше робіть бекапи!