Обсуждение статьи тематического каталога: Настройка сервера приложений 1c 8.1 с использованием PostgreSQL и Debian GNULinux (1с debian linux)Ссылка на текст статьи: http://www.opennet.me/base/sys/1c_debian.txt.html
Информативно. Спасибо!
>Информативно. Спасибо!;) спасибо
вообще жду от всех отзывов по поводу пошаговости и может где че и забыл ? - поправим
пускай будет, на что положиться у всех, тех, кому это действительно может пригодиться
а на счет информативности - конечно старался: из того что нашел в сети по этой теме мне ни чего не понравилось, было очень разрозненно.
поэтому вот и решился написать how-to.
У меня сразу 2 вопроса.
Зачем постоянно перегружать сервер и почему сохранять все надо в /root, а не в ,скажем, /usr/src ?
>Зачем постоянно перегружать серверэто как в том анекдоте про хирурга и моториста ;)
я пока до хирурга не дорос ;)>почему сохранять все надо в /root, а не в ,скажем, /usr/src ?
а почему бы и не в /root ?
и с чего вы взяли что то, что я туда сохраняю это есть src ;) ?
Тема ключа на сервер 1С не раскрыта. Без него линуксовый сервер 1С только 12 одновременных клиентов позволяет. И, надеюсь, установка всего этого добра на виртуалку - это исключительно в образовательных целях. Никому не придет в голову боевой sql сервер на виртуалке поднимать?
>Тема ключа на сервер 1С не раскрыта. Без него линуксовый сервер 1С
>только 12 одновременных клиентов позволяет. И, надеюсь, установка всего этого добра
>на виртуалку - это исключительно в образовательных целях. Никому не придет
>в голову боевой sql сервер на виртуалке поднимать?согласен с тем, что 12 пользователей из платформы 1с 8.1 подключаться и будут работать без ключа. лично проверял именно в данной связке версий ПО.
установка всего этого добра написана для того, чтобы можно было поднять все "с полпинка"
естественно на продакшене лучше обойтись без виртуализации (перейти сразу к пункту 4), ибо она отнимает проценты производительностиИМХО виртуализацию можно и нужно использовать, во всяком случае, если при этом грамотно все спланировать, настроить и поддерживать. при этом использовать virtualbox на продакшене я бы не стал. скажу честно я еще от этого далек(от виртуализации в продакшене)
хотя и планирую разобраться с xen + kemari + 1с(на дебиан)
а вот по поводу драйверов ключа, спорить я не буду, а просто скажу, что для того, чтобы они завелись нужно подумать и сделать это. я этого не делал!
Продакшн на виртуалке не так уж и страшно. Лично у меня на одном сервере в продакшене крутятся три виртуалки с 1С (сервер БД,Приложений, Терминальный) и нет проблем.Предупрежу ваши возражения - само собой все зависит от количества пользователей и мощьности сервера. Но у вас всегда есть возможность постепенно мигрировать компоненты этой связки на отдельные сервера по мере роста количества пользователей. ПО поводу ключа на виртуалке - могу поделиться опытом решения этой проблемы.
Всё что до четвёртого пункта можно убрать. Зачем тут хауту по настройки дебиана?
>Всё что до четвёртого пункта можно убрать. Зачем тут хауту по настройки
>дебиана?так было задумано!
Хорошее объяснение, нечего сказать...
Специально, наверное, чтоб на рабочем сервере не тестили
>Специально, наверное, чтоб на рабочем сервере не тестилив чем конкретно у вас сомнения?
>>Специально, наверное, чтоб на рабочем сервере не тестили
>
>в чем конкретно у вас сомнения?У меня?
>>>Специально, наверное, чтоб на рабочем сервере не тестили
>>
>>в чем конкретно у вас сомнения?
>
>У меня?т.е. у вас сомнений нет по поводу тестироания описанной связки и её использования в продакшене?
тогда я вас не понял. ;(
Я лишь хотел сказать, что сначала надо тестить на виртуалках, специальных серверах для тестов, а уж потом на рабочих серверах
>Хорошее объяснение, нечего сказать...если честно! я бы с удовольствием добавил бы к этой статье установку драйверов ключа.
просто у меня нет нужного hasp девайса от 1с ;)
буду очень благодарен тому, кто это задокументирует
потому, как данную связку я предполагаю в ближайшем будущем, установить на реальный сервер.
USB ключ на линуксе цепляется стандартным HASP-драйвером от Aladdina с названием aksusbd. Есть и 32 и 64 битные версии. Но есть одна тонкость:
перед запуском демона драйвера нужно смонтировать USB
командойmount -t usbfs none /proc/bus/usb
Эту команду удобно прописать в скрипт /etc/init.d/aksusbd в секции start,
а в секции stop прописатьumount /proc/bus/usb
Хз что это значит и зачем нужно, но только после этого 1С нормально видит ключ. Без этого - никак. Причем догадаться видит 1С-сервер ключ или нет можно только экспериментально, т.е. попытавшись подключить более 12 клиентов одновременно. Нигде не пишется ничего типа "ключ найден" или наоборот "не найден". Причем еще количество клиентов сервер обнаруживает с некоторой задержкой. У меня получалось подцепить без ключа 20 клиентов. На 21 от заупрямился и не допускал новых, пока не отключили всех, кроме 10-ти первых. После этого стали возможны новые входы. Так что внимательнее с ним. Главное - не спешить с выводами, дать поработать.
Это используя стандартный софт от Alladin?
А если использовать hasp от etersoft?
спасибо большое будет полезно тем, кто собереться все это дело переносить в продакшен
в том числе и мне ;)
И не нужно пытаться воткнуть серверный 1с-кий ключ в другой комп. Он не сетевой и должен стоять именно на том компе, где запущен сервер 1С. Т.е. вариант запустить линуксовый сервер 1С, а на соседней винде поднять эмулятор - не работает, проверено. В свете этого запуск сервера на виртуалке выглядит весьма сомнительной затеей, даже если не принимать в расчет потерю производительности.
вообще то virtualBox позволяет пробросить USB устройство на установленную на виртуалке ось. Так что настраиваете проброс USB, устанавливаете драйвера HASP (есть на сайте Аладдина, например), подключаете ключ и имеете искомый результат
.
при разработке своих компонент аппаратной защиты как раз на Аладдиновских ключах (HASP) пользовался этой возможностью для тестирования
.
в зависимости от дистрибутива добавления пользователя, от которого запускается virtualBox (в соответствии с документацией) может оказаться недостаточно, но при запуске virtualBox от пользователя root (если базовая ОС - Linux) всё должно работать
.
еще тонкость - для Debian Lenny нужно брать версию от производителя (на сайте продукта описана ссылка на репозитарий, который нужно подключить), т.к. с открытой версией от сообщества из основного репозитария Lenny как раз USB и не работало
С HASP-ом от Етерсофта к сожалению дела не имел.
А вот этот сервер 1C подойдет? Хотя бы в демо режиме.http://thepiratebay.org/torrent/4625804/1C_Enterprise_8.1.12...
>А вот этот сервер 1C подойдет? Хотя бы в демо режиме.
>
>http://thepiratebay.org/torrent/4625804/1C_Enterprise_8.1.12...вам сюда, если уж вы любите торренты и варез
регистрируетесь, заходите в варезник, далее думаю догадаетесь
forum.ru-board.com
У 1С всего один сервер под линукс, номера версии только меняются. У меня 8.1.12.101 работает как часы с честно купленным ключом. Сейчас есть более новый релиз. Где его взять, думаю, без разницы. Но проблема ключа портит всю малину. На винду есть эмулятор, на линукс - нет и не предвидится. А ключ стоит 36 тыщ (32бит) и 72 тыщи 64битный. И для контор, которые не гнушаются пользоваться эмуляторами в целях экономии, построение сервера на бесплатном линуксе обходится сильно дороже, чем то же самое на дорогой, но для некоторых бесплатной, винде. Вот такой парадокс.
ну, ст. 46 УК РФ никто не отменял ... и администратор тут под ударом на первом месте
использование Linux инфраструктуры не освобождает от приобретения платных продуктов, но помогает использовать качественные бесплатные решения в качестве базовой инфраструктуры
.
кстати 72 тыр - это уже крупный размер ущерба ...
Совершенно согласен. Винда бесплатная бывает только до определенного момента) и в этом плане решение на линуксе позволяет получить ощутимую экономическую выгоду при построении инфраструктуры.
Есть два вопроса:
1. повысится ли производиельность у клиента сидящего по WiFi на скорости 1 мегабит?
(подозреваю что повысится в момент коннекта отваливание коннекта не будет нарушать целостность базы, но будет ли общая производительность повышена во время работы в самой базе?)2. Как перенести уже существующую базу Бухгалтерия на описываемую платформу? (если можно то опишите подробно)
>Есть два вопроса:
>1. повысится ли производиельность у клиента сидящего по WiFi на скорости 1
>мегабит?
>(подозреваю что повысится в момент коннекта отваливание коннекта не будет нарушать целостность
>базы, но будет ли общая производительность повышена во время работы в
>самой базе?)
>
>2. Как перенести уже существующую базу Бухгалтерия на описываемую платформу? (если можно
>то опишите подробно)по поводу 1
помоему вопрос задан неправильно опишите в целом конечную цельпо поводу 2
выгружаете конфу в dt из конфигуратора
нужно создать пустую базу на новом сервере
открыть ее конфиг-ом
и выполнить загрузку из dtв принципе все! и пройти должно все замечательно
>[оверквотинг удален]
>по поводу 1
>помоему вопрос задан неправильно опишите в целом конечную цель
>
>по поводу 2
>выгружаете конфу в dt из конфигуратора
>нужно создать пустую базу на новом сервере
>открыть ее конфиг-ом
>и выполнить загрузку из dt
>
>в принципе все! и пройти должно все замечательноПричем здесь WiFi на скорости 1 мегабит, я понять не могу.
Так бухгалтерии тоже разные бывают (версии). Из любой версии можно скопировать в последнюю версию 1C Бухгалтерия? Например, 7.7 в 8.1?
Про wifi вопрос VecH.
За второй огромное спасибо, на днях попробуюПо первому вопросу:
- сервер на базе линукс который расшаривает samba ресурс с файловой базой 1С 8.1
- есть клиент висящий по WiFi на скорости 1-2 мбит/сВот у этого клиента утром происходит долгая загрузка базы, дальше работает уже относительно нормально (торможений не замечено)
- повысится ли быстродействие клиента если перевести базу с файловой на PostgreSQL ?
- надеюсь правильно думаю что устойчивость базы к ошибкам повысится если использовать PostgreSQL в случае падения WiFi канала
>[оверквотинг удален]
>- сервер на базе линукс который расшаривает samba ресурс с файловой базой
>1С 8.1
>- есть клиент висящий по WiFi на скорости 1-2 мбит/с
>
>Вот у этого клиента утром происходит долгая загрузка базы, дальше работает уже
>относительно нормально (торможений не замечено)
>- повысится ли быстродействие клиента если перевести базу с файловой на PostgreSQL
>?
>- надеюсь правильно думаю что устойчивость базы к ошибкам повысится если использовать
>PostgreSQL в случае падения WiFi каналадолгая загрузка базы, опять же понятие относительное, скорее всего просто потому что загрузка базы действительно долгая процедура (опять же относительно) на медленных каналах
на счет быстродействия - где то да, но не на много, в основном там где будут выполняться процедуры на сервере. а вообще надо тестить самому в твоих условиях
устойчивость однозначно увеличиться
>долгая загрузка базы, опять же понятие относительное, скорее всего просто потому что
>загрузка базы действительно долгая процедура (опять же относительно) на медленных каналахПри старте клиента с сервера передается полный набор метаданных. На медленном канале это занимает значительное количество времени из-за объема.
>>долгая загрузка базы, опять же понятие относительное, скорее всего просто потому что
>>загрузка базы действительно долгая процедура (опять же относительно) на медленных каналах
>
>При старте клиента с сервера передается полный набор метаданных. На медленном канале
>это занимает значительное количество времени из-за объема.А при работе с PostgreSQL эта проблема должна вроде как отпасть
правильно понимаю?
>>>долгая загрузка базы, опять же понятие относительное, скорее всего просто потому что
>>>загрузка базы действительно долгая процедура (опять же относительно) на медленных каналах
>>
>>При старте клиента с сервера передается полный набор метаданных. На медленном канале
>>это занимает значительное количество времени из-за объема.
>
>А при работе с PostgreSQL эта проблема должна вроде как отпасть
>правильно понимаю?Нет, метаданные передаются клиенту независимо от типа движка базы данных. В плане ускорения начальной загрузки клиента это ничего не даст.
>[оверквотинг удален]
>>>>загрузка базы действительно долгая процедура (опять же относительно) на медленных каналах
>>>
>>>При старте клиента с сервера передается полный набор метаданных. На медленном канале
>>>это занимает значительное количество времени из-за объема.
>>
>>А при работе с PostgreSQL эта проблема должна вроде как отпасть
>>правильно понимаю?
>
>Нет, метаданные передаются клиенту независимо от типа движка базы данных. В плане
>ускорения начальной загрузки клиента это ничего не даст.Устойчивость к падению канала повысится?
>Устойчивость к падению канала повысится?Почему она должна повыситься? Движок есть движок. При потере связи с сервером клиент вылетает с ошибкой. Кроме того, клиент базой данных непосредственно не пользуется. Это делает процесс сервера 1С, насколько мне известно.
>>Устойчивость к падению канала повысится?
>
>Почему она должна повыситься? Движок есть движок. При потере связи с сервером
>клиент вылетает с ошибкой. Кроме того, клиент базой данных непосредственно не
>пользуется. Это делает процесс сервера 1С, насколько мне известно.То есть переводить с файловой базы на PostgreSQL это менять шило на мыло,
ведь все равно все запросы идут через сервер 1С который один черт при передаче данных приводит к аналогу файловой базыПравильно понял?
>То есть переводить с файловой базы на PostgreSQL это менять шило на
>мыло,
>ведь все равно все запросы идут через сервер 1С который один черт
>при передаче данных приводит к аналогу файловой базы
>
>Правильно понял?Не совсем. Все запросы действительно идут через сервер 1С, но причем тут файловая база? Результат, который получает клиент в обоих случаях один и тот же. Но способы, которыми это производится могут отличаться. Например, при использовании Postgres в официальных конфигурациях не работают блокировки на уровне таблиц (поскольку официальные конфигурации не пользуются пока управляемыми блокировками в транзакциях). В результате чего вы получите замедление работы по сравнению с MS SQL Server при возрастании количества пользователей.
Но postgres в плане быстродействия все равно превосходит файловую базу. Так что если у вас проблема с быстродействием и деньгами (в смысле, не хочется покупать MS SQL Server лицензию) - переводите на postgres. Прирост должен быть. Если проблем в скорости работы у вас пока нет - смысла в переходе особого не вижу. Когда я говорю о проблемах в скорости работы, я имею ввиду работу вообще, а не старт клиента.
Устойчивость базы при падении канала будет выше?
Имею ввиду устойчивость базы при падении канала до клиентаps. меня на файловой после пары падений канала остались несколько документов бесхозные которые зависят от не существующих документов и удалить себя естественно не дают
или зависимость зацикленнаяofftop: в 8.1 версии нельзя отвязать документ от основании (по крайне мере штатно, не штатно как это сделать я не нашел)
>Имею ввиду устойчивость базы при падении канала до клиентаУстойчивость базы в серверном варианте с любым движком практически не зависит от падения канала до клиента. Все изменения данных выполняются в транзакции сервером 1С.
>ps. меня на файловой после пары падений канала остались несколько документов
>бесхозные которые зависят от не существующих документов и удалить себя естественно
>не дают
>или зависимость зацикленнаяСетевая файловая система на Windows машинах не поддерживает транзакции при обработке данных. Поэтому вполне возможно, что какие-то данные в файл базы не дописались.
>offtop: в 8.1 версии нельзя отвязать документ от основании (по крайне мере
>штатно, не штатно как это сделать я не нашел)В 8.x нет понятия "основание" на уровне конфигурации. Скорее всего, вы имеете ввиду реквизит документа, который ссылается на другой документ. Если у вас в базе есть битые ссылки их можно устранить поиском и исправлением ошибок из конфигуратора.
Благодарю, на все свои вопросы получил ответы :)
>Благодарю, на все свои вопросы получил ответы :)Не за что :) Был рад помочь.
Поставил сервер на Ubuntu 8.04
с мелкими подводными камешками но все настроилБыстродействие первого запуска у WiFi клиента не то что бы увеличилось
Оно стало таким же как будто он сидит в локалке!
Падения канала вообще не заметно, в общем все что меня гложило теперь исправленоТеперь пытаюсь понять какие порты для того что бы удаленный клиент работал надо в файрволе открывать
tcp/1540 точно
но там еще куча открыто
tcp/1541
1560-....
Нужно будет открыть диапазон портов 1560 – 1591.Либо создать файл debugcfg.xml в папке bin такого содержания:
<config>
<debugports range="1540:1550"/>
</config>Разумеется, диапазон настроить как вам удобно
Этим файлом задается диапазон портов на которых он работает?
Файл разместить в папке сервера или у клиентов?
>Этим файлом задается диапазон портов на которых он работает?
>Файл разместить в папке сервера или у клиентов?Да, это допустимый диапазон используемых портов.
Думаю, и там и там.
А как насчет проблемы с блокировками таблиц при большом количестве пользователей? Слышал что у PostgreSQL относительно MSSQL проблемы.
>А как насчет проблемы с блокировками таблиц при большом количестве пользователей? Слышал
>что у PostgreSQL относительно MSSQL проблемы.почитайте здесь
>>А как насчет проблемы с блокировками таблиц при большом количестве пользователей? Слышал
>>что у PostgreSQL относительно MSSQL проблемы.
>
>почитайте здесь
>
>http://www.gilev.ru/1c/81/postgresql/index.htmhttp://forum.astanainfo.kz/index.php?showtopic=4621&st=0&p=4...
"
Я бы сказал совсем неправильное утверждение. Блокировки - это проблема СУБД. И на самом деле от нее никуда не деться. Если уж совсем точно, проблема блокировок это совокупность СУБД+ОС+Железо+Прилождение. Например при переходе на 64 битные версии блокировки практически исчезают, причем на любой СУБД. Хотя и не искореняются полностью.
"
таки не совсем верно
для конкретного движка СУБД блокировки - это обычно проблемы хреновой архитектуры приложения, и зависеть от разрядности платформы они, скорее всего не могут
.
это если говорить о блокировках данных. Более того - блокировки для СУБД есть один из штатных механизмов обеспечения многопользовательского доступа к данным базы. Другой вопрос, что в отдельных случаях и при грамотной архитектуре приложения блокировки могут быть (почти) незаметны для пользователя
я имел ввиду что 1с с постгресом блокирует целые таблицы, когда mssql более интелектуально может блокировать отдельные записи таблицы.
>я имел ввиду что 1с с постгресом блокирует целые таблицы, когда mssql
>более интелектуально может блокировать отдельные записи таблицы.Кстати, когда PostgreSQL научиться тоже это делать?
>Кстати, когда PostgreSQL научиться тоже это делать?Он умеет, проблема в том, что 1с не умеет этим пользоваться =)
>>Кстати, когда PostgreSQL научиться тоже это делать?
>
>Он умеет, проблема в том, что 1с не умеет этим пользоваться =)
>Может это будет в версии 8.2?
>проблема блокировок это совокупность СУБД+ОС+Железо+Прилождение. Например при переходе на 64 битные версии блокировки практически исчезают, причем на любой СУБД. Хотя и не искореняются полностью.Полная ерунда, извините. Причем тут разрядность к блокировкам? И с какой стати блокировки стали касаться железа? Я еще понимаю, приложения, если программист был настолько туп, что не стал использовать механизмы базы данных для блокировок. А железо-то тут причем?
>>проблема блокировок это совокупность СУБД+ОС+Железо+Прилождение. Например при переходе на 64 битные версии блокировки практически исчезают, причем на любой СУБД. Хотя и не искореняются полностью.
>
>Полная ерунда, извините. Причем тут разрядность к блокировкам? И с какой стати
>блокировки стали касаться железа? Я еще понимаю, приложения, если программист был
>настолько туп, что не стал использовать механизмы базы данных для блокировок.
>А железо-то тут причем?Честное слово, не знаю.
При установке на Ubuntu 8.04 LTS
перезагрузка сервера почему то не стартует PostgreSQL, пишет [error]Хотя ручной перезапуск демона postgresql проходит вполне нормально
Два раза ставил по это статье:
в первом случае все хорошо,но вот незадача,серв делал в одном месте и там подсеть была 192.168.х.0,все настроил перенес в другой офис для работы где подсеть 192.168.у.0 и не захотело , хотя все поменял соответственно ip-адрес,resolv.conf,pg_nba.conf,благо там компов не много не составило труда поменять подсеть)))
во втором случае все то же вроде норм но вот база создалась только тогда когда в pg_hba.conf в строке для локалки изменил с md5 на trust
> fsync on
> Выключайте для высокой производительности и в случае
> использования RAID с аварийным питаниемГлупость!!!
Где находятся логи транзакций при настройке по данной статье? И что находится в директории \var\lib\pgsql\data\base\(много цифр)