Comments 281
С программными лицензиями таких экспериментов не ставил, т.к. никто еще из моих заказчиков не приобретал программный ключ на сервер. Формально ограничений тоже нет, но запускать не пробовал.
Если интересно официальное обоснование от 1с по этому поводу, то пишите в личку.
Вижу скушанную собаку. Ждём следующую статью. Спасибо.
Статья огонь, пишите еще.
1.
Каждой службе выдается alias в DNS для того, чтобы отвязать разработку от ip и/или dns серверане совсем понял как… дело в том, что если вы запускаете несколько служб агента сервера 1с на разных портах, то и обращение при запуске будет вида сервер: порт, кроме порта по умолчанию — 1541. А DNS порты не разруливает… Или я ошибаюсь?
2.
Запускаться службы должны исключительно из-под доменных учетокда еще и админских? Учетки должны быть разные или может быть одна?
3. Вы устанавливаете на каждую базу и свой экземпляр программы 1с? По крайней мере я не знаю другого способа запуска нескольких баз, требующих одинаковой платформы, но при этом висящих на разных агентах… Если есть более простой, то прошу поделиться примером.
Я к тому, что такие советы надо оговаривать «так работает у меня». В других случаях можно настроить работу по иному механизму. Надо разбирать конкретные случаи. Для общего случая есть механизм установки по дефолту.
Запускаться службы должны исключительно из-под доменных учеток
Вполне возможна ситуация, когда понадобиться складывать какие-либо файлы в шару на другом сервере или использовать другие механизмы, требующие авторизации. В этом случае использование доменных учёток удобнее.
Вообще, проектирование системы на 1с не прекращается никогда. Всегда появляются новые требования по интеграции с чем-то новым, если у вас не продуктовый ларёк, конечно)

Специально на чистой системе по умолчанию все установил. Вдруг забыл чего. Ан нет, не локальный админ. Скажу больше, для работы с файловой шарой на том сервере нужно завести _такого же локального_ пользователя с таким же паролем. И профит. Да и не безопасны нынче шары, есть куча иных механизмов.
Ну и остальные утверждения не могут быть преподнесены в варианте абсолютного знания.
Не претендую на «абсолютное знание». Всё вышесказанное абсолютно субъективно.
Все что вы встречали в такой реализации — это хуяк-хуяк-и-в-прод.
Все прекрасно работает под юзерскими правами, если осилить документацию с ИТС и поход в локальные политики на компе, для добавления учетки в нужные группы.
=))) Такой подход хорош и оправдан… когда у тебя 2-3 базы. А когда их много, доступы нужна давать много куда, то доменная авторизация рулит. Как минимум, если внедрена RBAC то посмотрев на учетку доменную ты сразу знаешь куда у тебя есть доступ у данного экземпляра
Есть возможность формально описать текущую архитектуру системы с минимальным функционалом? Может правда будет проще «выпрямить, а не огороды городить»? Количество инстансов, баз, пользователей. Какие конфигурации (с версиями). Чем компания занимается.
- У нас есть сервер где установлена 1С — server-1c-82.comp.loc с ip 192.168.1.50. У нас есть несколько вариантов развития подключения
- прописать ip — самый сложно обслуживаемый вариант (при каждом чихе нужно менять везде ip), но самый стабильный в работе.
- прописать server-name. Это уже лучше — смена ip ему не страшна, но смена имени сервера — такая же чехарда при смене сервера
- сделать в dns cname app-1c-nazvanie-bazi.company.ru (внешний домен). В этом случае даже смена сервера не приведет к необходимости что-то менять, что удобно, а так же можно будет сервер вынести за пределы компании
- Ни в коем случае — только минимально необходимые права. Учеток лучше сделать несколько, так как в случае разбора вы сможете четко увидеть какие базы и куда ломились. А так же очень гранулярно давать необходимые права
- Не совсем. Установленный экземпляр только один, а вот служб — несколько.
ну и на 3 вопрос в качестве ответа хотелось бы механизм инсталляции нескольких служб с одного установленного экземпляра увидеть. На самом деле будет удобно, если такое возможно.
Каждой службе выдается alias в DNS для тогоНу и т.д. У вас на одном инстансе может быть больше одной службы, просто на разных портах. Как с помощью ДНС разрулить обращение к службам?
Каждой службе выдается alias в DNS для того, чтобы отвязать разработкуА то как-то запутывает. Я уж обрадовался, что можно службы агентов через DNS рулить. Ан нет, не прокатило :(.
Ну или заставить 1С-ников ввести уже поддержку srv записей в dns сервере — и тогда счастье наступит всем и сразу.
А через http — это уже reverse proxi. У меня это сделано через nginx, как вариант. Ну и катит вне зоопарка, только для 8.3-ready конфигураций (конфигураций на тонких клиентах). Т.е. для современных. У автора статьи, как я понял еще и 8.1 где-то есть…
Установленный экземпляр только один, а вот служб — несколько.
Не совсем понимаю, что вы понимаете под термином «экземпляр»? Вроде как экземпляр это как раз и есть запущенная и сконфигурированная служба.
3. Ставиться MS офис
Не понял для чего нужна установка Offica на боевой сервер, где нет пользователей? Буквально сам недавно воевал со своими 1Сниками из-за установки Office.
Не пробовали модифицировать файл MSI при установки 1С Предприятие, дабы не заморачиваться со скриптом? В нем сразу прописать службы и т.п.
Ранние версии 1С (8.1 точно) нуждались в присутствии на сервере офиса для формирования отчетов.
Офис никогда не требовался для формирования отчетов ни для 7.7, ни для 8.х. Формирование отчетов в 1С вполне полноценный функционал.
Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
Кстати, в 8.3.12 уже предусмотрен легальный переход на старый формат логов.
Программная лицензия для сервера привязывается к — сюрприз, сюрприз — серийному номеру процессора.
Либо автор заблуждается, либо что-то со времён 8.2 поменялось, либо заблуждаюсь я.
История из жизни. Перевели службу 1с (8.2) на виртуальный сервер с программной лицензией. Всё работало отлично, но после перезагрузки виртуального сервера 1с сообщила, что лицензии у неё нет. ОК, времени разбираться не было, активировали новый ключ. При перезагрузке история повторяется. Связались с техподдержкой, чтобы нам объяснили, почему слетает лицензия (все параметры сервера хранятся в «файле конфигурации», но файл зашифрован). Нам объяснили следующее:
Ключ получен на сервер с 4-мя ядрами ЦП:
1. 1999 MHz
2. 1999 MHz
3. 1998 MHz
4. 1999 MHz
После загрузки имеем следующее:
1. 1999 MHz
2. 1998 MHz
3. 1999 MHz
4. 1999 MHz
Ядра остались те же самые, но поменялся их порядок — лицензия уже не работает. Система виртуализации — Xen. Админ не захотел решать эту проблему, и 1С была установлена на физический сервер, где и продолжила своё существование.
Ну и чтобы два раза не вставать:
1) Программная лицензия 1С (по крайней мере 8.2) привязывается к куче параметров сервера (об этом можно почитать в документации), но при увеличении характеристик (количество оперативки, дисков, сетевых интерфейсов) лицензия не отваливается. Отсюда лайфхак — создаёте виртуальную машину с минимальной конфигурацией (чтобы хватило на запуск 1с), активируете лицензию и уже после наращиваете характеристики для комфортной работы. В случае чего, эти нарощенные характеристики можно подсократить (уменьшить оперативку, например, если виден её избыток). Совет банальный, но вдруг кто не знает.
2) Изучать структуру файлов *.v8i не обязательно. Важны только следующие строки:
[Название базы, отображающееся в списке]
Connect=Srvr="ИмяСервера";Ref="ИмяБазы";
Всё остальное 1с-ка допишет сама при открытии списка баз. Файл хранится в аппдате и перечитывается при каждом открытии 1cv8s.exe, так что можно менять файл в любое время без всяких последствий. По крайней мере, за несколько лет использования этой схемы ошибок не возникало.
Ну для начала я не видел ни одной системы которые могли бы прокидывать USB один ко многим =))) Так что это технически сделать очень тяжело
У нас после внедрения в серверной части, аналогичное сделали для клиент-банков у бухов. Они ходят по RDP на виртуалки с кб, а «флешки» тыкают в 5 портовые девайсы у себя на столе.
Во-первых, у нас на хаспе зависали сеансы. То есть, кончились лицензии, смотрим, кто их использует, и оказывается, что часть сеансов давно завершены. Возможно, это уже пофиксили. С программными такой проблемы не было.
Во-вторых, на одной машине может использоваться только один usb-ключ. При переходе на виртуализацию нужного количества серверов может и не найтись. Ну и на каждый сервер придётся установить обслуживающий софт.
В-третьих, проброс ключа на виртуальную машину — нетривиальная задача. Возможно, проблемы были в выбранной системе виртуализации, но у наших админов не получилось)
В-четвёртых, usb-ключи дороже. Компания наказывает рублём за нежелание следовать прогрессу.
По поводу слёта активации, пишите в ТП 1с. Там вам помогут выяснить, почему слетел ключ. Возможно, вы размонтировали один из дисков или убрали сетевой интерфейс. В ТП помогут разобраться и подскажут, чего делать не надо)
А вообще, ситуация интересная. В то время как софтверные гиганты, типа MS, раздают лицензии «оптом и в долг», 1С-ка настолько фанатично относится к лицензированию. Причём это не приводит к стойкости защиты, и у добропорядочных пользователей проблем больше, чем у пиратов.
2. не очень понял, я написал про железное устройство usb anuwhere, которое прокидывает по ip некоторые классы usb устройств. и оно официально поддерживается Aladdin.
3. см пункт 2
4. на тот момент когда я этим занимался, они стоили одинаково. Плюс у нас со времен 8.0 и 8.1 был неплохой запас ключей.
Вот смотрите, слетела активация, база лежит, пинкоды кончились и вы ждете ответа на обращение. Тем временем у руководства уже начинает идти пар…
вы сейчас уже про пользовательские а не про серверные? Да вылечили, где-то в между 8.2 и 8.3…Да, я про пользовательские серверные ключи. Немного не по теме, но меня уже было не остановить) Рад, что вылечили.
не очень понял, я написал про железное устройство usb anuwhere, которое прокидывает по ip некоторые классы usb устройств. и оно официально поддерживается Aladdin.Был не в курсе, спасибо. То ли 6 лет назад устройство было не столь распространено, то ли наши админы про него не знали, то от платформы виртуализации тоже что-то зависит.
на тот момент когда я этим занимался, они стоили одинаково. Плюс у нас со времен 8.0 и 8.1 был неплохой запас ключей.Компания сначала пыталась действовать идеологически, рассказывая, насколько usb-ключи хуже программных решений. Но потом сдалась и подняла цены на физические ключи. Теперь они дороже на 30-15%, в зависимости от решения. Это не значит, что «usb-ключи — всё», но является дополнительным аргументом в пользу приобретения программных ключей.
Вот смотрите, слетела активация, база лежит, пинкоды кончились и вы ждете ответа на обращение. Тем временем у руководства уже начинает идти пар…Если мне не изменяет память, мы писали в ТП не когда лицензия упала и нового ключа нет, а когда последний ключ использован, и не осталось запасного. То есть, если сервис не падает каждую неделю, запасной ключ успеет прийти. Ну и на случай полного ада всегда лежала резервная коробочка с пинкодами, которой мы за все годы, что я там работал, так и не воспользовались.
Либо автор заблуждается, либо что-то со времён 8.2 поменялось, либо заблуждаюсь я.
Автор, наверно, имеет ввиду параметр ProcessorId (в терминах WMI). Это, конечно, не серийный номер процессора, но тем не менее не самая очевидная вещь что на хостах ВМ процессоры должны совпадать с точностью до ProcessorId.
За подробностями, уже в поиск по партнерскому форуму и документации.
Вот тут acyp ожидает настройки для того, чтобы раздать серверный HASP с помощью сервиса лицензий.
Вот тут yukon39 уже ведет речь о программных лицензиях.
в том то и дело, что в официальных мануалах я этого не нашел.
Что нужно там найти? Вот тут приведена цитата из официальной доки что серверная программная лицензия может раздаваться сервисом лицензирования. А вот тут указано как настроить требования назначения функциональности, чтобы сервис лицензирования жил на выбранном рабочем сервере.
Правы в том, что я действительно ждал механизма раздачи hasp-ключа (про программный знаю, ибо франч). Но уже не жду.
Но уже не жду.
Чуть ниже отписал. Сервер лицензирования работает только с программными ключами. Т.е. функционала раздачи каких-либо hasp-ключей в нем нет.
Вот тут acyp ожидает настройки для того, чтобы раздать серверный HASP
Внимательно посмотрел всю ветку. Про HASP или аппаратный ключ нет ни слова. Зато есть про программные лицензии в самом первом сообщении.
Я, соответственно, писал про возможность раздачи программных ключей с сервера лицензирования. Т.к. сервер лицензирования работает только с программными лицензиями, то я, как-то не ожидал что речь вдруг пойдет об аппаратных серверных ключах.
Добавляет проблем и то, что 1с не говорит, что именно в конфигурации ей не нравится. Поэтому можно безболезненно провести эксперимент три раза, а после вас ждут долгие переписки с ТП и объяснения, почему вам каждую неделю нужен новый пинкод.
После перешли с XEN на vmware, но сервер 1с остался физическим, ибо «работает не трожь», и заниматься экспериментами на рабочей системе как-то не комильфо — нет никакой гарантии, что в конце концов оно заработает, а не отвалится в последний момент, ибо не «галочка в настройках гипервизора помогла», а «абсолютно случайно ядра выделены в том же порядке, что и в прошлый раз».
Вы не поняли самой идеи. Файлы v8i как раз на общей шаре то и лежат, а планировщик нужен для автоматического подключения этих самых файлов с общей шары
У меня сейчас это даже входит в курс молодого бойца для сисадминов свежепришедших.
2. У вас указано «Файл приводится в соответствие при загрузке ПК, либо раз в 90+- минут.» — у меня — сразу же после блокировки/разблокировки. Максимум — 15 минут, если админ ошибся контроллером домена и нужна синхронизация. Чувствуете разницу?
3. Прочитал вашу статью целиком. Я правильно понимаю что идеология такая — подключить пользователю все базы, а потом к 90% баз просто не дать доступ на уровне шары?
Если так — то это тоже имеет право на жизнь, но на мой взгляд решение странное так как тратиться время на проверку всех файлов на факт доступности.
Ну и почему идет привязка к компу мне тоже не понятно, хотя это и объясняется в статье…
2. В комментах к статье есть описание реализации, когда на ПК хранится только ссылка на файл конфигурации, проверять еще руки не дошли, но если это так, то это оптимальное по скорости решение. Там вообще решение мгновенное по скорости.
Разница не чувствуется, поскольку список баз не меняется настолько часто.
3. У пользователя есть пути до всех баз. Время на проверку доступности не тратится, при запуске 1С нет разницы, в списке 300 баз или 3, из которых доступа только одна. Это вызвано тем, что файловая система возвращает список только тех файлов которые доступны пользователю. Однако в Вашем случае производится запуск powershell скрипта и сборка файла конфигурации, вот это несравнимо дольше :)
В примере скрипта цифровой подписи нет, и мне что то подсказывает, что Вы оное не практикуете. Не секурно.
Еще недостаток Вашей реализации — Ваш скрипт сносит существующий v8i файл в момент пересборки, попутно снося самопрописанные базы у пользователя. Моё решение выдает пользователю фиксированный список, плюс оставляет пространство для прописывания баз (тестовых, личных), т.е. таки проявляет некоторую гибкость.
Судя по Вашей статье в вашей организации не хватает предварительного тестирования перед деплоем в прод.
Делаем один красивый 1CEStart.cfg и тупо льем его на все ПК где установлена 1Ска в C:\ProgramData\1C\1CEStart\1CEStart.cfg групповой политикой.
Он содержит только:
CommonCfgLocation=\\domain.local\dfs-root\Sync1C\cfg\all-bases-list.cfg
указанный файл all-bases-list.cfg содержит список всех баз:
CommonInfoBases=\\domain.local\dfs-root\Sync1C\v8i\company_buh30.v8i
CommonInfoBases=\\domain.local\dfs-root\Sync1C\v8i\company_zup31.v8i
CommonInfoBases=\\bdomain.local\dfs-root\Sync1C\v8i\company_torg4.v8i
Теперь любое пополнение списка мгновенно отображается на всех ПК, запускаешь клиент и база в списке (при условии что пользователь включен в группу которая дает доступ к такому файлу).
Пора менять мануалы.
И еще, ваш подход по сути основывается на ошибке (запрете) доступа к файлу. Мой — на формировании доступного списка.
У нас просто разная идеология, и говорить чья правильная — не возьмусь
Путаница из-за файла, который содержит перечень всех баз и пути подключения к ним? =) По-моему это куда ближе к порядку чем обычно.
Ваша идеология, однако Вам, не мешает:
1. Дергать контроллер домена каждый раз, делая поиск по его структуре. Засоряя логи безопасности бесполезными ивентами. Это не страшно, когда у тебя 100-200-300 пользователей. При 500+ это будет уже ощутимая нагрузка на контроллер, и очень короткий и тормозной лог безопастности.
2. Запускать на ПК пользователя повершелку. Повершелку без подписи.
3. Формирование списка не делает Ваши базы 1С секурнее. Кластер 1С как был доступен всем подряд со всеми базами, так и продолжает быть доступным. Прописывай правильные параметры подключения и между тобой и базой только авторизация 1Ски. Поэтому нет никакого смысла чего то прятать, безопасность через скрытие мнима.
>1. Дергать контроллер домена каждый раз, делая поиск по его структуре. Засоряя логи безопасности бесполезными ивентами. Это не страшно, когда у тебя 100-200-300 пользователей. При 500+ это будет уже ощутимая нагрузка на контроллер, и очень короткий и тормозной лог безопастности.
Давайте считать. Берем 10 баз на всю компанию. Делаем предположение что пользователю нужно 4 (всем пользователям, обычно это число 2-3). В компании 500 человек. Блокируют комп 6 раз в день. Запускают 1С 10 раз в день. Рабочий день 8 часов
Мой вариант:
1. Обращение к АД при разблокировке компьютера — 3 000(по 6 разблокировок в день на 500 пользователей) Это получается 0,1 обращение в секунду. то есть одно обращение в 10 секунд. Вы серьезно считаете это серьезным увеличением нагрузки? Что, правда? )
2. Логов AD- 3 тысячи строчек в файловых логах на контроллерах АД
3. Логов с сетевой шары — 40 000 (10 запусков, на 4 файла на две записи в логи (если не включены расширенные логи) на 500 пользователей)
4. Сетевых коннектов 20 000 (4 при каждом запуске ярлыка 1с предположим что это 10 запусков в день на 500 пользователей)
Ваш вариант
1. Обращений к АД — 500 в день (при первом обращении в день к ресурсу если компы на ночь выключают)
2. Логов в АД — 1 000 в день (при первом обращении в день к ресурсу если компы на ночь выключают)
3. Логов на сетевой шаре — 100 000 (10 запусков, на 10 файла на две записи в логи (если не включены расширенные логи) на 500 пользователей)
4. Сетевых коннектов — 50 000 (10 при каждом запуске ярлыка 1с на 10 запусков в день на 500 пользователей)
Как бы мой вариант явно выигрывает по ресурсоемкости. Это я не беру тот факт, что ваш вариант менее лоялен к пользователю — у вас варианты или ждать 90 минут или ребутнуть комп. У меня максимум 15 минут и заблокировать/разблокировать. И это я не начинаю копать в сторону настроек кербероса, ибо если у вас они закручены (например тикет протухает за час) то у вас так же появляются доп коннекты в АД за новым тикетом.
>2. Запускать на ПК пользователя повершелку. Повершелку без подписи.
скрипт запускается с шары, куда все имеют права только на чтение. С правами пользователя. Чем это отличается от логон скриптов или/и GPO?
>3. Формирование списка не делает Ваши базы 1С секурнее. Кластер 1С как был доступен всем подряд со всеми базами, так и продолжает быть доступным. Прописывай правильные параметры подключения и между тобой и базой только авторизация 1Ски. Поэтому нет никакого смысла чего то прятать, безопасность через скрытие мнима.
Аэм… Так как бы это вообще не про безопасность
Мой вариант уже изменился в свете новых возможностей информации, Вы оперируете уже устаревшей информацией.
Перечитал еще раз — это не про ваш коммент, извините :))
по данному способу 1С самостоятельно делает всё то, что делает ваш скрипт, кроме удаления вручную добавленных баз.
плюс, 1С формирует список баз при каждом своём запуске, что гарантирует его актуальность, а не только при блокировании компьютера в случае с вашим скриптом.
Ну и еще, эта задача настолько малоресурсоемка что как ее не сделай — все равноскорее всего будет работать приемлемо.
Можно вообще написать свой интерфейс для запуска 1С — тоже как вариант решения задачи. Можно еще и допфичи туда запихать.
Если вы заговорили о поведении, то подумайте в первую очередь о своем. Я если и высказался первый раз без всякой аргументации, то это касалось исключительно решения задачи. А вот вы перешли на личности.
Задача конечно малоресурсоемка, но когда есть вариант решить задачу без лишней писанины типа скриптов, то я выберу вариант без писанины скриптов, ведь это проще, а результат практически такой же.
Ну а адекватные люди почитают и просто будут знать что у этой задачи есть несколько путей решения. Ни больше, ни меньше.
Реализация подключения баз, на мой взгляд, не оптимальна, можно проще, быстрее и гибче, но если она работает у Вас — это хорошо. Лучше чем ничего.
Мой пример про распределение это просто попытка показать что увеличение нагрузки на ад незначительна. Ине тоже не нравиться логика вашего решения, но я согласен — это лучше чем ничего. И я уважаю вас как минимум за то что:
- решили проблему
- поделились с обществом
- признаете мое право пользоваться тем, что я считаю правильным :)
Не согласен.
1. В файле есть путь к файлу и 1С честно будет пытаться его прочитать, получит отлуп от сервера, пойдет дальше.
2. Пока что 1С отлуп не светит, но точно тратит на него время. А если в следующей реализации сделают окно с оповещением того что ссылка на базу не доступна? А если у пользователя 1-2 базы а в компании их 15 — у вас 13 раз вылетит предупреждение скорее всего.
>В примере скрипта цифровой подписи нет, и мне что то подсказывает, что Вы оное не практикуете. Не секурно.
факт =)
>Еще недостаток Вашей реализации — Ваш скрипт сносит существующий v8i файл в момент пересборки, попутно снося самопрописанные базы у пользователя. Моё решение выдает пользователю фиксированный список, плюс оставляет пространство для прописывания баз (тестовых, личных), т.е. таки проявляет некоторую гибкость.
Это сделано намеренно, чтобы люди не делали ручные ссылки на базы. Сделал — сам дурак, у тебя все снесется
>Судя по Вашей статье в вашей организации не хватает предварительного тестирования перед деплоем в прод.
Почему вы так решили?
(на самом деле это была глубокая зимняя ночь) мы поняли что завтра надо запустить новую базу.
Только, как обычно это бывает, погорели на мелочи — я в логон-скрипте я прописал %filename%.bat а коллега выложил %filename%.cmd
с утра хелпдеск побежал делать все руками
Итак, Вы тянете кота за хвост до самого конца.
Нет чейндж менеджмента.
Нет инструментов оперативной доставки и управления пользовательскими системами.
Мало пользователей, ибо техсуппортам быстрее пробежать все ПК, чем админу запустить скрипт обходящий все системы и вносящий нужные изменения.
1. 1С-ка начнет долго запускаться
2. Общие ИБ после запуска пропадут из списка.
В итоге имеем ещё одну точку отказа. Да и городить один общий ресурс для полусотни статичных файлов по 1Кб это как из пушки по воробьям.
И да, еще нужно настраивать индивидуальные права доступа для каждого из полусотни (а бывает и более!) файлов сомнительное удовольствие. Особенно, если что-то пошло не так, и шару надо срочно перенести на новое место.
1. не начнет, после того как внедрили жалоб не было ни одной
2. я про общие и говорю, при это личные можно добавлять и они тоже будут показываться подсвечиваясь *
1. 1С-ка начнет долго запускаться
2. Общие ИБ после запуска пропадут из списка.
Аэм… DFS? )
>Да и городить один общий ресурс для полусотни статичных файлов по 1Кб это как из пушки по воробьям
Почему нет?
>И да, еще нужно настраивать индивидуальные права доступа для каждого из полусотни (а бывает и более!) файлов сомнительное удовольствие. Особенно, если что-то пошло не так, и шару надо срочно перенести на новое место.
Зачем разные? всем только для чтения — админам для редактирования. Этого хватает
всем только для чтения — админам для редактирования. Этого хватает
В том то и проблема, что не всегда всем нужно давать весь список баз на чтение. Ниже есть моё описание как мы решали проблему через группы AD.
1. Через AD сразу видно к каким базам у пользователя есть доступ.
2. Добавление/изменение/удаление пользователей в группе можно делать и через оснастку AD, и из 1С (это несложно дописать)
Учитывая, что для входа в базу используется только Windows аутентификация, заведение пользователя и приписывание ему базы доступны в «один клик» прямо из интерфейса 1С. Удаление пользователя и базы из списка тоже в «один клик».
Несущественный минус — для работы в «один клик» базы в рабочей среде надо немного подпиливать (добавить пару элементов на форму справочника «Пользователи» и константу).
Огромный плюс — единое понимание и обычными администраторами и техническими специалистами и 1С-никами механизма доступа к базам данных. Кроме того, никаких сетевых шар и т.п. не используется — только локальный профиль пользователя, только гарантированно доступные для записи пути.
1. 1 база — 1 группа AD
2. В каждой группе AD в поле Comment лежит содержимое v8i для этой базы.
3. Логон скрипт по группам пользователей собирает содержимое файла commonbases.v8i, выкладывает его в локальный профиль пользователя, и приписывает путь к этому файлу в 1CEStart.cfg
Так как геолокаций серверов 1С и пользователей было несколько, то на каждой локации прописывался свой логон скрипт и пользователю всегда были доступны базы только текущей локации.
>В следующих статьях я планирую рассказать (если эта статья народу зайдет):
Зашло, зашло. Продолжение ннада! :)
1С не умеет адекватно работать в виртуализированной среде. Это печальный факт (особенно если учесть что на дворе уже практически 2019 год), судя по всему, исправлять никто не собирается. Виртуализация, даже правильно настроенная, будет вам стоить примерно 15-25% производительности. Смиритесь. (Источник — Гилев и собственные тесты)
Это устаревшая информация. Падение производительности не больше 5-10% в гипервизорах Hyper-V и VMWare.
Забудьте про нормальный кластер — его тут нет.
Если есть виртуализация, то есть и кластер!
Так же есть кластер сервера 1С.
В продуктовой среде мы должны следовать правилу — одна база — одна служба
Есть же настройки процессов, например «количество ИБ на процесс».
Нельзя просто поставить сервер 1С и ожидать высокой производительности.
Это устаревшая информация. Падение производительности не больше 5-10% в гипервизорах Hyper-V и VMWare.
Для 1С это все еще актуально. Это конкретно про 1С
Если есть виртуализация, то есть и кластер!
Так же есть кластер сервера 1С.
Не путайте пожалуйста длинное с кислым. Виртуализация и кластер это абсолютно разные вещи, от друг друга вообще никак не зависящие
Есть же настройки процессов, например «количество ИБ на процесс».
Нельзя просто поставить сервер 1С и ожидать высокой производительности.
Не спорю, но до этого я еще просто не дошел в статьях
Предыдущий комментарий считать неправильным.
Не путайте пожалуйста длинное с кислым. Виртуализация и кластер это абсолютно разные вещи, от друг друга вообще никак не зависящие
Напишите тогда что вы называете кластером.
Для меня отказоустойчивый кластер — это как минимум два сервера и СХД (на которой лежат виртуальные машины серверов). В случае отказа железа виртуальный сервер стартует на втором физическом (зависит от конкретного гипервизора, будет отказ в обслуживании или нет).
Про кластер серверов 1С — аналогично. Штатная технология, которая позволяет из физических серверов с установленными службами сервер 1С собрать единый кластер. Отдельная виртуалка для клиентских ключей и службы лицензирования.
Физические USB ключи 1С пробрасываются без проблем в виртуалки (есть несколько вариантов).
Я так понимаю, проблема с Hyper-V?
Есть USB over IP, есть на Linux, есть железки.
Проблема то в чем? usb-anywhere не единственное решение.
Под штатными я подразумеваю использование только возможностей платформ win2016 и Hyper-V.
Только отдельное ПО или железо.
Ну или программный ключ) Не так он и страшен.
Правда как то раз я ночью в субботу 3 раза переустанавливал сервер 1С и у меня кончились активации. Я отправил запрос и молился, чтобы прислали новый lic. Не прислали. Пришлось ломать(
За ответ спасибо. Кстати, случайно наткнулся на статью как собрать свой юсб-анивере на отдельной машине с ubuntu на борту. Как-нить на досуге поэксперементирую. Вот это наверно будет интересная статья :).
Microsoft сейчас так: https://hub.docker.com/r/microsoft/mssql-server-linux/
Или у вас никогда служба не глючила? Если так — то вам очень сильно повезло.
Или у вас никогда служба не глючила
Ну, времена, когда валится ragent и rmngr уже (почти) прошли, а rphostы с зависшими фоновыми убиваются более-менее стандартными средствами без потери данных пользователями (кроме проблемного сеанса).
Ситуация с «диким» запросом — это уже инцидент. Не должно быть такого на проде, а тестовая среда не должна сильно влиять на рабочую. Даже если это один физический сервер, что часто встречается в небольших компаниях.
— это штатная фича типовых конфигураций. )) Windows Resource Manager на терминале и SCOM+Orchestrator на сервере 1С в помощь!
это штатная фича типовых конфигурацийПозволю не согласиться, хотя я сам заработал не один десяток тысяч рублей на исправлении типового запроса распределения по партиям. Большая часть этого — наследие 8.0, когда отсутствовали пакетные запросы и переходные периоды, когда менялась структура индексов, а запросы под неё — нет (это все достаточно редко возникающие ситуации, которые, к тому же, достаточно быстро исправлялись самой 1с). Для расследования таких ситуаций есть встроенные в 1с и в сервер СУБД средства. Да и не только для расследования, но и для оперативного определения проблемыи реагирования на неё.
Есть, конечно, узкие места типа работы ЗУП на postgres (тут требуется определенный опыт, тестовый стенд и некоторое количество экспериментов, если базы большие), или отсутствие использования нужного условия в «реальном» запросе виртуальной таблицы, которое проявляет себя на больших базах например partners.v8.1c.ru/forum/topic/1751116. Но это все равно инциденты.
Инструменты это здорово, но сильно мне легче будет, если я снова найду в _типовой_ отчетности косяк?
в _типовой_ отчетности косякЭто неприятно, но это опять же, инцидент и решается через ТП 1с.
К теме статьи, ИМХО, неправильные цифры, не имеют отношения.
>Что такое «краш при неправильно выставленном периоде»? Когда 32битный клиент не может переварить результат отчета на 1кк строк?
Если бы. Это когда сервер выжирает CPU и память, при нормально выставленном периоде. В типовом регламентированном отчете.
1. Максимальный объем памяти рабочих процессов
2. Безопасный расход памяти за один вызов
Просто так ничего не зависает. Если какой-либо из процессов внезапно стал вести себя неадекватно — можно перезапустить его отдельно.
Через консоль видно даже пользователя, который это сделал.
Есть еще «анализ долгих запросов» и еще много сервисов, которые помогают оценить ситуацию.
Один из процессов начинает жрать память, т.к. пользователь запустил отчет за весь период существования базы с максимальной детализацией.
Срубится только этот процесс. Параллельно будет запущен новый и пользователи перейдут работать на него. Руками ничего делать не придется!
Я странно себя чувствую — объясняю базовые вещи по администрированию сервера 1С.
Готов делиться опытом, но информации полно и на сайте Гилева и на других ресурсах.
Тоже сложилось впечатление, что автор недокурил мануалы. Скажем у нас был массовый переезд серверов с физики на виртуалки, в первые пару дней лаги, пока тюнинговали, потом работало как часы. Ну и с некоторыми другими постулатами из статьи не могу согласиться. С упоением жду продолжения про ci cd. Вот там граблей разложено — не счесть! )
выделяется общая файловая шара где выкладываются все файлы с настройкой подключения к базам (одна база — один файл)
при блокировании компьютера вызывается скрипт, который считывает группы пользователя и на их основании добавляет пользователям нужные базы 1С
я на файлы с настройкой подключения просто права доступа настраивал — там же тривиально: один файл — одна группа. И никаких хитрых сопоставлений с группами на клиенте не нужно.
Я бы рекомендовал автору почитать Клиент-серверный вариант. Руководство
администратора.
И писать например как Пушкин — Ума холодных наблюдений / И сердца горестных замет — автора.
Но никак не рекомендация для последователей
А всем остальным не верить слепо всему что здесь написано
Но если я неправ — внесу в статью правки
2. Кластеры в 1С есть
3. Только если один пользователь работает на сервере. У вас так?
4. Возможно есть падение производительности, но это дань повышению надежности. отключите вообще журнал если он вам мешает
5. Можете
6. Откуда вообще такая инфа?
7. особенно периодический пересчет итогов — итогов чего?
8. Есть такая вещь — технологический журнал. Слыхали, настраивали?
…
11. В принципе знаете что такое СКД и варианты отчетов?
В принципе ваш рассказ про то какая 1С боль и разочарование. А вы просто не умеете с ней работать и половину делаете методом тыка и гугления. Это все равно что на автомобиль приделать педальки и жаловаться всем что он медленно едет.
1. Не пофигу. Сделайте тесты, поймете. Я — делал.
2. Мммм… Киньте статейку про active/active кластер на 1С, признаю что был не прав. У него и HA то кластера толком нету.
3. Вы или читали наискосок, или у вас очень туго со знанием как работают компьютеры
4. А почему тогда сами 1С от него отказались? И в чем надежность? В том, что это не txt а один большой файл? Про ACID не рассказывайте пожалуйста, это не про SQLLite
5. Нет, не можете. То есть да, у вас не будет по нему бегать траффик но в системе останется работающий IPv6. В Linux можно, согласен, но тут не про это речь.
6. Я везде указал источник инфы.
7. Отправлю вас в ту же книжку — там подробно расписано что это и зачем это
8. Слыхал. И даже не однократно пользовался. Поэтому и говорю что это боль и страдания
11. Прекрасно знаю. А вы судя по всему ничего, кроме него не видели. Расскажу вам по секрету — его предел — это простенькие отчеты
В принципе ваш комментарий это попытка самоутвердится. Здесь есть несогласные, но обычно это аргументированные вещи. У вас же — КГ/АМ. Ну, в общем то, ваша карма говорит за вас гораздо более красноречиво чем я )
Поэтому они меня минусуют, а вас слушают развесив уши.
Сходите со своей статьей в сообщество 1Сников и там посмеемся вместе.
Особенно порадовал ваш метод решения всех проблем — 1 база — 1 служба.
Так то конечно логично, нафига разбираться чтобы сервер не падал, просто чья сегодня служба зависла — те сегодня и неудачники.
Комментарий мой — это совет начинающим — не делать как вы.
И препираться я с вами не собираюсь, оставлю вас наедине со своими мыслями.
Большая часть «ошибок» автора в отсутствии владения устоявшейся терминологией. Есть пара _неточностей_. Это то, что выдают за истину в последней инстанции, хотя на самом деле это лишь частный случай. У Вас такие же симптомы: Вы правы, но при условии уже конкретных систем и архитектур.
Автор описал свою архитектуру сначала очень ЭПИЧНО, а потом очень обще.
Согласен, что статья по большей части лишь «покрасоваться», но и интересные (правда в моих архитектурах или излишние или неприменимые) решения есть.
Театр, идет пьеса. В зале темно и гробовая тишина, только актеры играют. И тут из первых рядов крик:
— Доктор, в зале есть доктор!!??
С бельэтажа отвечают:
-Да, я доктор!
-Коллега, что за фигню нам показывают!
Золотые ваши слова.
Эта статья, как и мои слова лишь частные случаи.
И конкретно в этой статье ляпов именно в терминологии предостаточно из-за этого возможно трудно понять суть.
Если бы она называлась — типа — «Моя борьба...» — то и чудесно, нет вопросов
Слава великим шнягам.
Но как рекомендацию к действию я ее не считаю.
Так то у меня было 156 баз на сервере — то я должен 156 служб поднять?
По поводу 5 мелкософт тут пишет, что выключить IPv6 можно.
Я к 1С отношения не имею, но меня улыбают ваши отсылки к Гилеву, который у себя на сайте утверждает, что CrystalMark — это хороший тест для экспресс оценки дисковой подсистемы. Хотя на самом деле CristalMark годится разве что USB флешки тестировать. То же самое и с вашими/Гилева утверждениями по виртуализации. Во первых не вся виртуализация одинакова, во вторых, как и везде виртуализацию нужно уметь правильно готовить. 15-25% потери производительности больше похоже на страшилку для начинающих детей.
С другой стороныя понимаю, что нельзя быть специалистом во всем. Так что-то вполне хороший спец в 1С может при этом иметь очень поверхностные знания в серверах, сетях хранения, СХД, операционных системах и виртуализации. Главное что бы он сам это осознавал и не порол горячку типа "у меня не получилось, значит и ни у кого не получится". :)
Критиков Гилева хватает, но вот конкурентов что то не видно. Это печально.
Кстати именно эта дилемма нами была решена отказом от сайта в стиле Гилева. Решенные проблемы не существенны без описания систем. а это зачастую закрыто пунктами о неразглашении. В итоге мы развиваемся за счет сарафанного радио :).
Может у конкурентов просто ЧСВ не так развито? Хотя про это не мне судить. Я с миром 1С практически не пересекаюсь.
Еще раз, без уточнения что за виртуализация и как именно она настроена, все выше сказанное ни о чем не говорит. Понятно, что гипервизор — это дополнительная прослойка. Но это не отменяет того, что и как любой софт она поддается тюнингу. А значит без уточнения конфигурации стенда и его настроек это всего лишь ваш личный опыт, из которого нельзя делать общие выводы. Вы хотя бы попытались понять, в каком месте возникает узкое место? CPU? DIMM? Дисковые очереди? Что-то еще?
Согласен, аргументированная претензия. Тут моя статья про тест https://habr.com/company/microsoft/blog/346776/
В описании стенда в статье не увидел попытки проанализировать, во что именно "утыкался" тест на гипервизорах. Что касается VMware и дисковых операций, то не вижу что настраивали это и вот это. Что касается производительности MPIO VMware при Round-Robin нужно настраивать это. На старых HBA Qlogic в биосе под виртуализацией еще нужно выкручивать на максимум параметр "Execution Throttle" в "Advanced Adapter Settings".
Опять же указанные в стенде Dell Compellent SC200 — это вроде как SAS полки расширения. А судя по описанию стенда, сервер у вас к СХД цеплялся по FC. Т.е. что за СХД не понятно. Ну и зная компеленты, их надо еще и уметь правильно готовить. Накосячить там можно крайне легко на любом этапе, начиная прямо с составления спецификации на СХД.
То что я прочитал в статье это набор мифов и баек с mista.ru, разных времен, которые перемешались в голове самоучки, дополнительно сюда примешиваются и грабли на которые наступил автор из за того что не читал документацию. В результате получился такой вот коктейль в виде статьи.
Я мог бы пройтись по пунктам но считаю что это бесполезно и даже вредно.
Сопровождением систем (любых) должны заниматься профессионалы, прошедшие соответствующую подготовку.
Мои попытки ответить по пунктам в лучшем случае приведут к образованию новых мифов и мнений, или превратятся в бесполезную перепалку.
На базе платформы разработаны и внедрены тысячи решений в которых работают тысячи пользователей, нет не одной области нашей жизни которая не обслуживалась бы продуктами на этой платформе (прямо или косвенно).
Глупые люди с умным видом предлагают «удалить 1с из реальности», умные люди приходят в индустрию и двигают ее вперед зарабатывая на этом деньги.
Главная проблема 1С это низкий порог входа, когда практически любой человек пройдя 2х недельные курсы может стать «программистом», и любой эникейщик вообще не читая документацию а просто нажимая «Далее, далее, готово» может «поднять сервер 1С».
Это очень негативно сказывается на платформе и приводит к появлению таких вот «статей».
В конце по теме статьи «Администрирование 1С для самых маленьких. » от меня 2 совета «начинающим администраторам».
1. 1c.ru/rus/partners/training/uc1/course.jsp?id=459
Если захотите участвовать в крупных проектах и разрвиваться дальше то дополнительно
2. 1c.ru/rus/partners/training/uc1/course.jsp?id=199
Конечно как и любые курсы они не сделают вас профессионалом, но даст вам базу для дальнейшего развития.
Еще раз повторяю — сядьте, напишите статью как нужно. Я с удовольствием почитаю, поучусь. Ну или хотя бы разберите то, что считаете неверным и почему.
В статье нет ничего, чего бы не было описано даже в официальной документации или у именитых внедренецев.
Чем плох мой подход? Вот реально, чем? Тем что «так не принято в нашей среде 1С-ников»? Или потому что так на курсах не рассказывают? Объясните пожалуйста «гуру 1С». Не нашел ни одного аргумента против.
По поводу постулатов… Ну да, они местами спорные, но это **лично мое мнение**, которым я делюсь. А ваша позиция — обсирать без аргументов.
Интересная позиция — я выше того, чтобы рассказывать людям как надо, но вы все делаете не так! Я лучше продам курсы!
Курсы делают люди, тратят на это ресурсы, вполне естественно что они хотят получать за это деньги, причем не такие большие.
Еще раз повторяю — сядьте, напишите статью как нужно. Я с удовольствием почитаю, поучусь.
Вы действительно считаете что 2х недельные курсы можно заменить одной статьей?
В этом ваша проблема. Вы считаете что можно нахватать обрывков знаний и типовых ситуаций и стать профессионалом.
Это так не работает.
Ну или хотя бы разберите то, что считаете неверным и почему.
Я считаю неверным то что вы абсолютно не разбираясь в вопросе, при этом пишите статью для начинающих, засоряя им голову.
В статье нет ничего, чего бы не было описано даже в официальной документации или у именитых внедренецев.
В статье разные факты надерганные из разных источников актуальные для разных версий, без понимания сути и устройства платформы. Плюс собственные грабли которые связанные с тем что вы подошли поверхностно к изучению платформы.
Чем плох мой подход? Вот реально, чем? Тем что «так не принято в нашей среде 1С-ников»? Или потому что так на курсах не рассказывают? Объясните пожалуйста «гуру 1С». Не нашел ни одного аргумента против.
Ваш подход плох тем что он не системный, это набор каких то лайфхаков которые не опытному человек ничем не помогут а некоторые даже вредны, а даже если и помогут то у человека не будет ясной картины почему это работает.
Опытному же администратору ваши советы не нужны вовсе.
А ваша позиция — обсирать без аргументов.
Я не обсираю, ваши знания не базируются на знании, я об этом и написал.
Также я привел ссылки на источники проверенной информации для «начинающих».
Добавлю еще (для тех кто не хочет разбираться и кому нужны инструкции):
its.1c.ru/db/metod8dev#browse:13:-1:1989:2035
its.1c.ru/db/metod8dev#browse:13:-1:1981
kb.1c.ru (нужна регистрация).
Курсы делают люди, тратят на это ресурсы, вполне естественно что они хотят получать за это деньги, причем не такие большие.
В какой момент статья призвана заменить курсы? Статья призвана показать наши проблемы и как мы их решали.
Вы действительно считаете что 2х недельные курсы можно заменить одной статьей?
В этом ваша проблема. Вы считаете что можно нахватать обрывков знаний и типовых ситуаций и стать профессионалом.
Это так не работает.
См первый ответ.
Я считаю неверным то что вы абсолютно не разбираясь в вопросе, при этом пишите статью для начинающих, засоряя им голову.
Почему вы считаете что не разбираюсь в вопросе? То, что ваше мнение отлично от моего обозначает только одно — мы разные люди с разным опытом.
Ваш подход плох тем что он не системный, это набор каких то лайфхаков которые не опытному человек ничем не помогут а некоторые даже вредны, а даже если и помогут то у человека не будет ясной картины почему это работает.
Опытному же администратору ваши советы не нужны вовсе.
В чем его несистемность? Чем вредны советы? Факты пожалуйста, а не "красные словца"
Я не обсираю, ваши знания не базируются на знании, я об этом и написал.
Также я привел ссылки на источники проверенной информации для «начинающих».
Очередной показатель звиздобольства. Других слов уже просто нет.
Добавлю еще (для тех кто не хочет разбираться и кому нужны инструкции):
its.1c.ru/db/metod8dev#browse:13:-1:1989:2035
its.1c.ru/db/metod8dev#browse:13:-1:1981
kb.1c.ru (нужна регистрация).
О!!! Это прям вообще сказка!!! Открываю раздел админам и что вижу:
- Особенности администрирования Windowds XP SP2 — это пять! Там описывается как на пользовательскую ос ставить серверные приложения???!!! Вы это считаете нормой???!!!
- Особенности использования MSSQL — раздел tempdb. Что видим? Правильно — шринкануть tempdb!!! Это ж насколько надо вообще ничего не понимать в БД чтобы такое писать. И это — офф сайт!
И вы еще что-то говорите про мою статью?
P.S. Вообще полистал те статьи — там все 10-15 летней давности. И потом вы удивляетесь что людей по 1С нет и все ее не любят. Так вот за это и не любят — инфы от производителя 0, везде франчайзи, которые знают меньше нашего хелпдеска.
я тоже долго думал, что сертификаты — ересь. прошел курсы циско, но на сертификат сдавать не стал. «зачем? я в себе уверен и рулю 30ю цисками по сибири и дв. я и без этого крут». через год сертификат (кажись для тендера нужен был аттестованый специалист) понадобился. сдал, но с таким скрипом… понял сколько я еще не знаю, но формальный экзамен помог это выявить. с тех пор сдаю. циско, майкрософт, 1с. на экзамене будут ситуации, которые могут в жизни и не встретиться, но их решение даст возможность тебе самому понять способен ты найти подход к решению или нет. есть база или просто прослушал курс…
как-то так.
сорь за отсутствие больших букв — на руле шифт неудобно нажимается.
WMI фильтр позволит сократить код скрипта, запрет запуска на серверных ОС можно решить «select * from win32_computerSystem where name like 'PC-%' „
Вообще, только средства AD + GPO, долой скиптокостыль…
Например, создать отдельные группы и политики (Конфигурация пользователя — Конфигурация програм — Инф. базы). Добавление списка сведется к добавлению пользователя в группу AD.
Никто никому ничего не навязывает. Человек решил проблему вот так, поделился опытом, что бы кто-то мог его перенять. Ещё и потратил своё время, что бы всё это оформить в виде грамотного изложения понятным языком.
Лично от меня спасибо.
Правильный путь решения проблем — это чтобы сервер не падал, если упал — сразу разобраться с этим.
А разводить зоосад служб 1С это как раз так себе совет.
Почему вы решили что мы не разбираемся почему упал сервер? Есть хоть одно на эту тему слово?
Я в очередной раз говорю — потратьте время, напишите «как надо» — я с удовольствием применю эти знания у себя. А пока я вижу только @#$ство и необоснованные понты на тему что «автор лошаро, не знает как правильно»
Вот конкретно за это вас и минисуют, а не за то, что вы 1С-ник.
Вы настройки разнесли по разным каталогам, но есть еще как минимум файл лицензии, каталог temp и еще места куда ваши сервера лезут одновременно.
Я просто не вижу смысла так делать в продакте. Если программисты 1С которых вы так не любите умудряются подвесить вам rphost, ну поставьте количество ИБ на процесс 1 и Принудительно завершать проблемные процессы
Однозначно поднимая пять серверов 1С вы не сможете оптимально им раздать память
Заметьте, не я это сказал про автора
Хаете как раз вы 1С, хотя за счет ее и кормитесь.
И это тоже сказал не я:
Я — я так понимаю что стадию Хьюстона с проблемами мы уже успешно пролетели?
Коллега — да. База %имя базы% подвисла, вообще не отвечает, ТОПы уже рвут и мечут. 3 раза мне уже звонили. Надо перезагружать службу.
Я — так там же еще пачка баз на этой службе!!!
Коллега — да, поэтому вторая половина ТОПов тоже рвет и мечет что их отключат…
А если у вас сервер не падает, то какую проблему вы вообще решаете и какую я вам должен альтернативу предложить?
Могу только предложить успокоиться.
Плох он тем, что это нештатная работа сервера 1С — жить на одной машине еще с серверами 1С и на это как раз никто его не тестировал.
Кто сказал? Есть офф документ где говорят что так делать нельзя? Почему несколько платформ на одном сервере — норма, а несколько служб одной — плохо? В чем принципиальная разница? Кто сказал что этого никто не тестировал?
Вы настройки разнесли по разным каталогам, но есть еще как минимум файл лицензии, каталог temp и еще места куда ваши сервера лезут одновременно.
Да? Каталог temp — один для всех, если ПО не выбирает его самостоятельно. Файл лицензий? ну может быть, о нем информации мне попадалось крайне мало, ничего не встречал. И еще места куда лезут и куча других программ на сервере, и ничего, живут же.
Я просто не вижу смысла так делать в продакте. Если программисты 1С которых вы так не любите умудряются подвесить вам rphost, ну поставьте количество ИБ на процесс 1 и Принудительно завершать проблемные процессы
Однозначно поднимая пять серверов 1С вы не сможете оптимально им раздать память.
Вот он ключевой момент — вы не видите смысла делать так в проде. А раз вы не видите, значит этом автоматом ересь? Так вот я вам скажу что это далеко не всегда так. Скорее чаще не так.
Заметьте, не я это сказал про автора
Хаете как раз вы 1С, хотя за счет ее и кормитесь.
А кто сказал что я кормлюсь с 1С? Для меня это обуза — если я от нее избавлюсь мне будет только легче )
А если у вас сервер не падает, то какую проблему вы вообще решаете и какую я вам должен альтернативу предложить?
Могу только предложить успокоиться.
Я был спокоен, пока не пришли вы и менторским тоном, бездоказательно и местами достаточно по хамски не начали хаить мой труд.
Я делюсь опытом с теми, кто вынужден работать с этой платформой. Как я уже писал, это решение, которое годами работает у нас, в среднем в базе по 50-400 человек.
по сути только acyp ведет диалог, хотя и не согласен с моим мнением, за что я ему благодарен. Вы же на пару с VVizard высокомерно заявляете что это все хрень и я в корне не прав, причем так ни разу и не объяснив в чем.
То есть вы не можете для базы в которой 400 человек в среднем годами работает прикупить отдельный сервер?
Вам надо романы писать, а вы вынуждены работать админом 1С
Мы с коллегами обсудили как Вашу систему (ну, попробовали смоделировать) и из разных постов, выделяя потребности пришли к выводу, что либо у Вас нет целостного представления о системе, либо Вы каждый раз описываете разные (ну например в которых работали ранее).
И второй вывод из наших бесед: с меткой оценки одного из наших инженеров — удаление гланд через сфинктер автогеном.
Отсюда вопросы: пОциент знает, что гланды ему удалили не совсем корректно? Что можно было обойтись без столь травмирующей процедуры? Или он повелся на (относительную, моментную) дешевизну решения? Или применение автогена столь радикальным образом было обосновано? (ну мало ли, рот занят, гланды бронированные).
Если серьезно — даже без описания архитектуры понятно, что целостного решения практически не существует. Ну выкрутились, не используя штатные возможности _современных_ систем. Ну применили пару интересных решений, которые могут пригодиться как времянки быстро поднятые. Первое: без описания архитектуры возникает недоумение — зачем так сложно? Второе: возникает подозрение, что архитектуру не описываете сознательно, ибо сами понимаете ее ущербность (кстати не похоже, т.к. Вы же гордитесь решением).
Ну и резюмирую: очень сильно присутствует или легкий душок фантастики, или непонимание необходимости решать Ваши проблемы не тактикой, а архитектурой.
Если изъявите желание, то могу позадавать вопросы и ткнуть пальцем в больное, предложив более эффективное решение. Правда это уже в личку.
Сейчас нам удобно, это работает (серверов приложений 8 штук — где-то баз побольше, где-то вообще одна).
Постулаты — да, возможно. Кое-что поправлю.
У меня 1 rmanager занимает 350 мб в памяти и отхомячивает до 1% процессорного тайминга
У Вас их 8, 7*350 = 2,5 Гб оперативки ушло в корзину, от 4 до 6 % проца ушло в корзину. докинем сюда ragent, в целом он маленький, 150 мб * 7 = еще ГИГ в корзине.
Вас это не беспокоит? на 400 пользователях? Ну тогда параметры сервера в студию, пооблизываться хочу, да поудивляться.
Тогда еще подкину — сервер принимает решения о балансировке нагрузки. И ничего не знает о своем соседе (они же у вас в кластер не объединены надеюсь, потому что если объединены, то это совсем шиза, потом могу подробнее рассказать почему), который тоже принимает решения о балансировке нагрузки не зная о соплеменнике, с которым делит общий диск, общую память… хватит воображения и понимания внутренних механизмов понять происходящие процессы?
Вы себе сознательно усложнили систему. Зачем?
Под «целостным решением» я понимаю следующее: расписать бизнес-архитектуру и бизнес-потребности, оценить свою систему, понять где что можно поменять, где что упростить (ибо чем проще — тем легче), может новые конфы посмотреть, ну не знаю КА2 хорошая получилась, под многие виды бизнеса зайдет. Написать план, начать ваять. С ПЛАНОМ В РУКАХ! Тут конкретных советов, кроме «Должен быть ПЛАН, архитектура» нету. Да и не буду в конкретику уходить, это уже серьезная работа. Ну, какие-то общие наводки могу дать, но повторюсь — уже в личку и после обсуждения деталей.
По серверам — самый маленький — 4 ядра, 12Гб мозгов, самый большой — 12 ядер и 50 гигов мозгов.
По поводу плана — так он был, и в итоге по совокупности всех моментов пришли к такому
Если нужно убивать только какую-то одну базу, что мешает определить под каким рабочим процессом работаем база и грохнуть его?
Единственное соглашусь делать отдельного пользователя для службы, но то рекомендует документация для разгуливания блокировок на sql с соответствующими правами.
А это очень важная часть!
Кластеризуются разные СУБД по разному. У PostgreSQL есть отдельный дистрибутив Postgres Pro Enterprise, который разрабатывает команда Олега Бортунова, за что ему большое спасибо.
MS SQL только Enterprise умеет кластер, Standard не умеет(
Еще один вопрос — не рассматривали два физических сервера с отдельными экземплярами сервера 1С (да, на каждый придется купить ключ по 100К рублей), с асинхронной репликацией между ними? Например, БД можно каждые 5 минут бэкапить логами транзакций и поднимать в случае сбоя почти мгновенно, а сервер 1С просто будет готов к работе всегда.
В этом случае простои будут минимальные.
К примеру, после перехода на ERP проблемы работы сервера почти полностью ушли (добавились новые, но это другая история). Теперь 1с хорошо разруливает блокировки, хорошо кластеризуется добавляя отказоустойчивости и производительности, теперь хорошо распределяется на многопоточность, совет про частоту процессора больше не актуален, связано это скорее-всего с более эффективной работой с блокировками, но факт остается. В виртуальной среде также все отлично работает, заметного падения производительности нет. Причем ни в УПП в режиме совместимости ни в ERP без оного.
В статье решаются проблемы, применимые только к режиму совместимости и толстыми клиентами. Они не поддерживают кластеризацию в полной мере, например.
Точно) Я уже и забыл, когда работал со старыми конфигурациями. Сейчас же все на управляемых формах в режиме web или тонкого клиента, даже терминального сервера не нужно.
совет про частоту процессора больше не актуален, связано это скорее-всего с более эффективной работой с блокировками
Минутку, а как связана работа с блокировками и скорость работы встроенного языка? Интерпретатор языка как работал в один поток, так и работает. Само собой его быстродействие тоже повышают и оптимизируют, но он как грузил одно ядро так и продолжает грузить.
Другое дело, что обработку данных планомерно переносят на СУБД, которая как раз умеет работать в несколько потоков над одной командой.
Я когда первый постулат прочел, сразу понял что будет веселуха.
1С не умеет адекватно работать в виртуализированной среде. Это печальный факт. И ворд не умеет, один блокнот, красавчик умеет, как печатал так и печатает.
Как, может весь сервер тормозит, почему только 1С, где тесты, где графики? Так постановил автор.
И еще наша партячейка постановила, что ёксель нам подкинули враги, чтобы отвлечь от исконно русских деревянных счетов.
в среднем в базе по 50-400 человек это вообще перл изящной словесности,
То есть если кривую распределения построить то левый край уйдет в минус — это значит 1С в некоторые моменты еще и подбрасывает пользователей в сеть.
А верхний предел надо полагать человек 700 на базу.
И судя по файлу настройки у автора таких баз уже 8 раз он порт 8041 занимает.
То есть ЦКТП бьется и срадостью сообщает о серверах на 1000 человек, а автор держит вот так спокойно сервачок на 5К и передает ЦКТП пламенный пролетарский привет, помахивая выцветшей фуражкой.
апплодирую стоя.
Приложение «1С: Предприятия» (клиентское или серверное), при необходимости получения лицензии, выполняет поиск файлов лицензий по всем доступным путям (см. здесь). Далее из файлов получаются параметры самой лицензии и характеристики компьютера, для которого лицензия получена. Если параметры текущего компьютера совпадают с полученными ‑ выполняются проверки, связанные с количеством пользователей и типом лицензии (клиентская или серверная), в противном случае лицензия отвергается. Доступ к файлу определяется правами доступа используемой операционной системы. Если пользователь, от имени которого работает приложение, не имеет доступа к файлу лицензии (или каталогу, в котором этот файл расположен), значит лицензия не будет получена.
Отсюда: its.1c.ru/db/v83doc/bookmark/adm/TI000000539
Выделена существенная информация.
Если совсем коротко — можно совсем отключить комп от сети, затем изменить контролируемые параметры и лицензия «протухнет».
Программная лицензия должна быть активирована для компьютера, на котором выполняется (один или несколько) рабочий процесс (rphost) кластера серверов или работает менеджер кластера (rmngr), на который назначен сервис лицензирования.
Источник: its.1c.ru/db/v83doc/bookmark/adm/TI000000308
Кластер у 1С 8.3 есть, и даже active-active. И он хорошо работает в среде Small&Medium Business (не спрашивайте, зачем мелкому бизнесу кластер). Но вот в сложных окружениях он… может и не работать. Сам лично убил несколько месяцев, пытаясь запустить этот кластер: на стенде работает, на проде — нет. Опытным путем выяснили, что он как-то конфликтует с какими-то групповыми политиками — и дальше разбираться не стали, т.к. повлиять на них было нельзя. Но это — исключение, один случай из сотни.
Злого пользователя, формирующего ОСВ за год действительно быстро и просто нейтрализовать, прибив либо его самого, либо его rphost. Но есть вещи, которые живут не только на рабочих процессах — например, сервис нумерации. Да, такие вещи ломаются крайне редко. Но в такой ситуации ребут всей службы действительно может помочь. Возможнсть запускать несколько служб одновременно с разносом по портам — штатная вещь, описанная в том же «Руководстве администратора». Так что никакой крамолы здесь не вижу.
Во времена 8.2 1С рекомендовала использовать вообще один рабочий процесс, с пафосом добавляя, что «Платформа — современное приложение, которое может использовать преимущества многопроцессорных систем». Потом одумались, к счастью. На практике, из того, что видел, пользоавтельский код выполняется в один поток (но разные ядра могут обслуживать разных пользователей одновременно). Поэтому, соглашусь, частота процессора важнее числа ядер.
В целом, надо понимать, что это опыт обслуживания большой инфраструктуры. Поэтому не надо в офис из 10 человек настраивать 3 службы: для розницы, бухгалтерии и зарплаты.
А как набор рецептов для крупной компании — статья, как минимум, интересная. Спасибо за труд и жду продолжения )
Если большую — то количество ядер важнее — потому что все пользователи разойдутся по ядрам, а если у вас пользователей меньше чем ядер — то да частота процессора важнее, но и инфраструктура это невеликая.
Если большую — то число баз у вас будет штук дофига как минимум и все вы их по службам не распихаете, а вот как раз 3 службы: для розницы, бухгалтерии и зарплаты может и имеет смысл сделать когда памяти не хватает на всех, тогда вы сможете их ограничить персонально.
Возможность запускать несколько служб одновременно с разносом по портам — штатная вещь в контексте что у вас разных редакций платформы 8.2 и 8.3 например, а не зоосад из 8.3.
Вообще тема такая, что мы можем тут долго препираться: слишком много переменных. Не обговорено изначально число баз, пользователей, серверов — поэтому каждый может «ванговать» удобные для себя параметры окружения и оставаться правым в споре.
По службам — считаю, что это допустимый сценарий, который подходит не к каждой системе.
Про процессоры — да, соглашусь, зависит и от числа пользователей, и от нагрузки. Важно, что в этом обсуждении проговорили, как 1С работает с многопоточкой (никак) — а дальше уже специалист с головой сможет прикинуть свои потребности.
Возвращаясь к статье: тут есть несколько интересных идей, подкрепленных, к тому же, скриптами, т.е. практикой. И это уже интересно и ценно. С чем-то можно поспорить (про кластер или виртуализацию), но в целом, я автора поддерживаю.
Про экземпляр службы на базу — совсем не понял. Это ещё один сервер, запущенный на других портах? Тогда непонятно, что с лицензированием этого зоопарка.
2. С лицензированием все хорошо — при использовании физического ключа лицензионным считаются все экземпляры служб 1С
Вы этот сервис не используете потому, что он требует корп-лицензию или по каким-то другим причинам?
Вот тут есть: its.1c.ru/db/v83doc/bookmark/adm/TI000000551
1. Разным пользователям нужен разный набор баз. Поэтому формировать его надо под каждого пользователя индивидуально
В одной из контор я делал так:
- На сервере терминалов был файл по пути C:\ProgramData\1C\1CEStart\1CEStart.cfg
Состав файла (имена примерные)InstalledLocation=C:\Program Files (x86)\1cv8
CommonInfoBases=\\путь к общей шаре\Бухгалтерия.v8i
CommonInfoBases=\\путь к общей шаре\Зарплата.v8i
CommonInfoBases=\\путь к общей шаре\Торговля.v8i
InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=1 SERVER=1 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=1 ADMINISTRATIONFUNC=1 LANGUAGES=RU
- По указанной шаре лежали те самые файлы, а доступы к этим файлам были разрулены на уровне доступа в домене
- При запуске платформы у каждого пользователя были только те базы, к которым был доступ к файлам в шаре
Есть один нюанс — на каждой машине, где установлена 1С нужно подменять файл по указанному пути. Теоретически можно попробовать разрулить так, чтобы CFG-файл запрашивал другой файл, в котором будут разрулены пути (ну это если большой парк машин и постоянно надо редактировать список баз)
Не было опыта?
Можно создать bat-ник для каждой версии и запускать нужный:
regsvr32 "C:\Program Files\1cv8\8.3.10.2667\bin\radmin.dll" /s
start mmc "C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc"
Минус этого способа в том, что пока открыта одна версия консоли, вторую открыть невозможно.
"1С — это учетная система, а не отчетная. Хотите много нормальных жирных отчетов и быстро — выводите это за рамки 1С. (Источник — собственный опыт)"
Какие системы пробовали, на чем остановились?
Чем не устроила СКД?
Если автор об этом пишет, но не знает, то должен как минимум узнать у разработчиков, раз возник такой вопрос.
Все очень банально. Простенький плоский отчет с какими-то выборками СКД впрлне осилит. А вот если вам нужны отчеты с навороченной логикой да еще с красивыми графиками, да еще интерактивные вам точно не сюда. Гораздо логичнее вытащить данные в скуль и строить там.
Мы остановились на ms report server + power BI. После этого пиковые нагрузки на 1с упала процентов на 30-40 (их стало меньши и они стали меньше)
По мере добавления программных лицензий делать бэкап.
Вот подробная инструкция: techlab.rarus.ru/news/articles/vydelennyy-server-litsenzirovaniya-1c
Я уже в парадигме 8.3 живу давно и новых конфигураций, которые работают в режиме тонкого клиента.
Либо статья запоздала лет на 5.
как мы сделали мониторинг внутри службы 1С выявления блокировок пользователями быстрее, чем они позвонят
Эх, "А счастье было так возможно, Так близко!" Хотел про это прочесть.
Администрирование 1С для самых маленьких. Часть первая — разделяй и властвуй