Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Dorringtorr

Страницы: [1]
1
Добрый день Егор,

Я возможно ошибся со сроком, но точно помню что речь на форуме шла именно о MDB, вот посмотрите   http://www.openldap.org/its/index.cgi/Software%20Bugs?id=6361;page=4

Мне надо поднять именно на этом устройстве, так как это как бы мини сервер для хранения статистики, и это интегрированное устройство с CAN и разными аппаратными приблудами. По поводу памяти сомневаюсь, так как при запуске еще около 75мб свободные.
 К стати на LDIF работает без проблем. А вот такой вопрос, как ограничить размер LDIF ? Что будет когда закончится место на флешке?

С Уважением
Михаил

2
Добрый день Егор!

Большое спасибо что уделили мне время.
Немного о системе. Это MIPS 24KEc  Mediatek MT7688AN . 1 ядро 32 бита 580мгц 128 рам.

Лдап сервер я беру с репозитория OpenWRT где он собирается автоматически. И к сожалению без функции дебага.

В дебрях конференции родного сайта opеnldap.org я раскопал похожий случай 10 летней давности. Там товарищ вообще на 32мб рама в OpenWRT  запускал. Но для этого он выставлял threads 1 . Что я и сделал. Но не помогло :-(.

Тогда я первую базу, перевел на ldif а вторую оставил mdb - так как именно вторая массивная будет. И все заработало. Но при этом maxsize не более 1,9гб смог выставить, если ставлю больше, не загружается. Хотя с опцией -Tt -n1 -  показывает что все ок.  Думал еще maxreaders  порезать до 10 - так как запросы в базу делает всего 1 программа. Но это никак не влияет. Хуже того, если направляю в базу обновления значения переменной, после 60 обновлений - база вылетает, причем молча. При повторном запуске, все работает, пока не запишу 60 раз.

По поводу накопителя где располагается mdb. Вы правы - это флешка 4гб.  Я тоже думал в ней дело, я перевел ее на f2fs - это специальная файловая система для флешек, очень быстрая. Не помогло. Тогда я вообще в памяти смонтировал диск, и туда направил mdb. Без результативно :-(

В итоге, если первую базу сделать ldif а вторую mdb, то работает. Но при этом maxsize не больше 1,9Гб (а надо хотя бы 4), и после 60 записей  mdb вылетает.  Про первую я молчу, так как эта база вообще смонтирована в памяти, и ее размер не более 500кб в принципе.

Как Вы думаете, может это потому что база криво собирается в репозитории? Или может какой урезанный вариант? Все запросы в базу направляет специальная программа, написана он на C. Есть такая вероятность что именно она вешает базу?

На всякий случай прилагаю schema - может там не так что то?
# Схема для LinkIt

objectIdentifier litOID  1.1
objectIdentifier litLDAP litOID:2
objectIdentifier litAttrType    litLDAP:1
objectIdentifier litObjClass litLDAP:2

# Time format - ггммддччммсс 
attributetype ( litAttrType:1
  NAME 'modifyTime'
  DESC 'Contains the time of the last modification of the directory entry.'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 
  EQUALITY generalizedTimeMatch
  ORDERING generalizedTimeOrderingMatch
  SINGLE-VALUE )

attributetype ( litAttrType:2
  NAME 'wr'
  DESC 'Признак доступа на запись'
  EQUALITY booleanMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
  SINGLE-VALUE )

attributetype ( litAttrType:3
  NAME 'stat'
  DESC 'Признак статистического параметра - сохранить некоторые'
  EQUALITY booleanMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
  SINGLE-VALUE )

attributetype ( litAttrType:4
  NAME 'parameterName'
  DESC 'Значение переменной'
  SUP name )

attributetype ( litAttrType:5
  NAME 'value'
  DESC 'Значение переменной'
  EQUALITY integerMatch
  ORDERING integerOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
  SINGLE-VALUE )

attributetype ( litAttrType:6
  NAME 'prevValue'
  DESC 'Предыдущее значение переменной'
  EQUALITY integerMatch
  ORDERING integerOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
  SINGLE-VALUE )

attributetype ( litAttrType:7
  NAME 'power'
  DESC 'Порядок числа значения'
  EQUALITY integerMatch
  ORDERING integerOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
  SINGLE-VALUE )

attributetype ( litAttrType:8
  NAME 'recverAdd'
  DESC 'Допустимо ли добавлять получателя параметра'
  EQUALITY booleanMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
  SINGLE-VALUE )

attributetype ( litAttrType:9
  NAME 'recverName'
  DESC 'Имя получателя значения параметра'
  SUP name )

attributetype ( litAttrType:10
  NAME 'iface'
  DESC 'Имя интерфейса Аппаратного Модуля'
  SUP name
  SINGLE-VALUE )

attributetype ( litAttrType:11
  NAME 'dest'
  DESC 'Destination of communication message'
  SUP name
  SINGLE-VALUE )

attributetype ( litAttrType:12
  NAME 'source'
  DESC 'Source of communication message'
  SUP name )

attributetype ( litAttrType:13
  NAME 'commMsg'
  DESC 'Communication message'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  ORDERING caseIgnoreOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE )

attributetype ( litAttrType:14
  NAME 'errorMsg'
  DESC 'Error Message'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  ORDERING caseIgnoreOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE )

attributetype ( litAttrType:15
  NAME 'errNumMsg'
  DESC 'The Error Number Message'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  ORDERING caseIgnoreOrderingMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE )

attributetype ( litAttrType:21
  NAME 'attr1'
  DESC 'Атрибут на будущее'
  SUP value )

attributetype ( litAttrType:22
  NAME 'attr2'
  DESC 'Атрибут на будущее'
  SUP value )

attributetype ( litAttrType:23
  NAME 'attr3'
  DESC 'Атрибут на будущее'
  SUP value )

attributetype ( litAttrType:24
  NAME 'attr4'
  DESC 'Атрибут на будущее'
  SUP value )

attributetype ( litAttrType:25
  NAME 'attr5'
  DESC 'Атрибут на будущее'
  SUP value )

attributetype ( litAttrType:26
  NAME 'attr6'
  DESC 'Атрибут на будущее'
  SUP value )

attributetype ( litAttrType:27
  NAME 'attr7'
  DESC 'Атрибут на будущее'
  SUP value )

attributetype ( litAttrType:28
  NAME 'attr8'
  DESC 'Атрибут на будущее'
  SUP value )

objectclass ( litObjClass:1
  NAME 'pmam'
  DESC 'SoftModule or HardModule'
  SUP organizationalUnit STRUCTURAL
  MUST ( ou $ wr $ stat $ iface)
  MAY ( description $ attr1 $ attr2 $ attr3 $ attr4 $ attr5 $ attr6 $ attr7 $ attr8 )
  )
 
objectClass ( litObjClass:3
  NAME 'statDeviceModule'
  DESC 'статистика Аппаратный Модуль'
  SUP organizationalUnit STRUCTURAL
  MUST ( ou )
  )

objectClass ( litObjClass:4
  NAME 'parameter'
  DESC 'Класс Параметры'
  SUP top STRUCTURAL
  MUST ( parameterName $ value $ prevValue $ power $ wr $ stat $ recverAdd )
  MAY ( description $ recverName $ modifyTime )
  )

objectClass ( litObjClass:5
  NAME 'statParameter'
  DESC 'статистика Параметры'
  SUP top STRUCTURAL
  MUST ( parameterName )
  MAY ( description )
  )

objectClass ( litObjClass:6
  NAME 'statRecord'
  DESC 'статистическая запись'
  SUP top
  MUST ( value $ modifyTime )
  MAY ( description )
  )


objectClass ( litObjClass:8
  NAME 'statComm'
  DESC 'статистика Коммуникация'
  SUP top STRUCTURAL 
  MUST ( modifyTime $ commMsg )
  MAY ( description )
  )

objectClass ( litObjClass:9
  NAME 'statError'
  DESC 'статистика Ошибок'
  SUP top
  MUST ( modifyTime $ ou $ errNumMsg)
  MAY ( description $ errorMsg )
  )





С Уважением Михаил

3
Добрый день.
Помогите пожалуйста.

Я запускаю slapd на операционный системе OpenWRT. Версия openldap-server - 2.4.43-2 . Мне необходимо запустить 2 бакэнда mdb, в разных директориях. Но при этом мне необходимо увеличить размер одной из них до 4гБ, а вторую оставить как есть на 10мб. Если я выставляю maxsize у одного бакэнда - slapd не запускается. Но запускается если у обеих бакэндов выставляю одинаковый размер (любой).
Так же если хочу выставить такие параметры как dbnosync и checkpoint, так же не запускается.
И вот еще, если все таки без опции maxsize и запускаю - slapd"живtт" около 5-10 минут, после чего сам вылетает :-( . При этом например ldif бакэнды - работают нормально в этой же конфигурации.
Файл настройки взял тут. Прилагаю свою копию.

#
include   /etc/openldap/schema/core.schema
include   /etc/openldap/schema/cosine.schema
include   /etc/openldap/schema/my.schema

pidfile       /var/run/slapd.pid
argsfile    /var/run/slapd.args

#loglevel    -1
backend mdb
#######################################################################
# Определение базы данных bdb
#
# Замените ниже example и com на подходящее имя домена
#
# Если у Вас нет домена, то, поскольку example.com зарезервирован для
# экспериментов, можете оставить его, либо поменять на my.inc
#
#######################################################################

database mdb
suffix "dc=linkit, dc=local"

# root или администратор
rootdn "cn=Manager, dc=linkit, dc=local"
rootpw secret
# Директория базы данных ДОЛЖНА существовать до того, как Вы запустите slapd
# Не забудьте поменять путь на подходящий Вам
#directory   /var/db/openldap/linkit
directory   /var/openldap-data/ramdb

database mdb
suffix "dc=statlink, dc=local"

# root или администратор
rootdn "cn=Manager, dc=statlink, dc=local"
rootpw secret

# Директория базы данных ДОЛЖНА существовать до того, как Вы запустите slapd
#directory   /var/openldap-data/stat
directory /Media/SD-P1/stat

# Устанавливаемые для каталога индексы
# Оптимизируем поиск по подразделениям
#index ou eq,sub
# Если при поиске будет встречаться objectClass, раскомментируйте следующую строку
#index objectClass eq
# Продемонстрировано использование параметра индексирования default
#index default eq,sub

# Другие параметры базы данных
# Дополнительная информация в разделе справочника по slapd.conf
# maxsize 4294967296
# dbnosync
# checkpoint 32 1
# mode 0666


С Уважением Михаил


Страницы: [1]