powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / GT.M: настройка директорий и баз данных
25 сообщений из 27, страница 1 из 2
GT.M: настройка директорий и баз данных
    #38320297
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто хорошо умеет с ними уже работать?
Не могу никак запомнить:
1. Глобальные директории созданы в основном для "ограничения" по именам глобалов? DEFAULT для всех (*)
2. Могут ли разные базы данных содержать глобалы с одним и тем же именем?

То есть, задача такова: есть рабочая база данных, нужно сделать тестовую базу данных, которая будет содержать те же глобалы, что и рабочая, плюс таких тестовых баз данных можно сделать хоть 10! Работа с ними будет посредством изменения переменной $gtmgbldir. Конечно же данные во всех этих базах данных будут различаться! Даже думаю, что код для каждой базы данных будет разный, в рабочей - текущая версия, в тестовой - новая, экспериментальная версия кода.

И еще я где то видел ссылку на описание того, как можно "играть" настройками глобальной директории и базы данных, чтобы увеличивать производительность. И это не глава в GT.M Administration :)

Спасибо за ответ!
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320422
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLee,
Я как раз с этим счс работаю.
Запутано немножко. Если для одной базы - проблем нету.
Настроил с первого раза и забыл.
А вот для нескольких баз есть некоторые неудобство что руками
все нужно писать....
Вот и хочу по человечески, так как привык наш люд. http://eltranssoft.ucoz.ru/
Вот что получается при нажатие кнопки:
source /usr/gtm602/gtmprofile
export log="$gtm_log/gde_mupip_script.log"
export gtmgbldir=/usr/gtm602/mgr/test/test
export gtmroutines="/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602"
$gtm_dist/mumps -run GDE >> $log 2>&1 << EOF
change -segment DEFAULT -BL=4096 -AL=100 -EX=100 -G=1024 -AC=BG -L=40 -F=/usr/gtm602/mgr/test/test.dat
change -region DEFAULT -KEY_SIZE=512 -RECORD_SIZE=8192 -JOURNAL=(before,file="/usr/gtm602/mgr/test/test.mjl")
EOF
$gtm_dist/mupip create >> $log 2>&1
$gtm_dist/mupip set -journal=before -region DEFAULT >> $log 2>&1
chmod 755 /gde_mupip_script.log

Я стараюсь работать с разными базами в разных папках как в Каше.
Примерно так:
В следующие несколько шагов создаем GT.M базы данных и импортируем глобалы salrte в эту базу данных.
Во-первых, установим несколько переменных среды вручную.

1.Создаем директорию на подобие cache для программ
[root@LinuxServer salrte]# mkdir /usr/local/gtm60/mgr/salrte/r

2.Создаем директорию на подобие cache для глобалов
[root@LinuxServer salrte]# mkdir /usr/local/gtm60/mgr/salrte/g

3.Определимся где будут лежать наши програмы + системные gtm программы:
[root@LinuxServer salrte]# gtmroutines="/usr/local/gtm60/mgr/salrte/r $gtm_dist ."
[root@LinuxServer salrte]# export gtmroutines

4.Создаем переменну для определения глобальной директории
где будет лежать(название.gld). В нашем случае database.gld :
[root@LinuxServer salrte]# gtmgbldir=/usr/local/gtm60/mgr/salrte/g/database
[root@LinuxServer salrte]# export gtmgbldir

5.Создаем остальные переменные для дальнейшей работы(gtm,mupip,lke,gde,dse):
[root@LinuxServer salrte]# gtm="$gtm_dist/mumps -direct"; export gtm
[root@LinuxServer salrte]# mupip="$gtm_dist/mupip"; export mupip
[root@LinuxServer salrte]# lke="$gtm_dist/lke"; export lke
[root@LinuxServer salrte]# gde="$gtm_dist/mumps -r ^GDE"; export gde
[root@LinuxServer salrte]# dse="$gtm_dist/dse"; export dse

6.Используем утитлиту GDE для создания нашей глобальной директории файлов:
[root@LinuxServer salrte]# mumps -r GDE
%GDE-I-GDUSEDEFS, Using defaults for Global Directory
/usr/local/gtm60/mgr/salrte/g/database.gld

[root@LinuxServer salrte]#GDE> change -s DEFAULT -f=/usr/local/gtm60/mgr/salrte/g/database
[root@LinuxServer salrte]#GDE>exit
%GDE-I-VERIFY, Verification OK
%GDE-I-GDCREATE, Create Global Directory file
/usr/local/gtm60/mgr/salrte/g/database.gld

7.Используем утилиту MUPIP для создания файла нашей базы данных
используя новые возможности версии V6.0-000:

- The maximum supported key size increases from 255 to 1,019 bytes.
- Global variable nodes need no longer fit within a database block. This
opens opportunities for applications to consider smaller block sizes where
these improve performance. Also, the new maximum global variable node size
of 1,048,576 bytes (1 MiB) means that any local variable node can also be
stored in a global variable.
- The maximum size of a database file is now 1,040,187,392 (992 Mi) blocks.
Previously this limit was 234,881,024 (224 Mi) blocks.

[root@LinuxServer salrte]# mupip create && dse change -f -key_max=1019 -rec=1048576
Created file /usr/local/gtm60/mgr/salrte/g/database.dat

File /usr/local/gtm60/mgr/salrte/g/database.dat
Region DEFAULT

8. В общем наш профильный (profile) файл должен выглядеть примерно так:

#!/bin/bash
cd /usr/local/gtm60/mgr/salrte
gtm_dist="/usr/local/gtm60"; export gtm_dist
gtmroutines="/usr/local/gtm60/mgr/salrte/r $gtm_dist ."; export gtmroutines
gtmgbldir="/usr/local/gtm60/mgr/salrte/g/database.gld"; export gtmgbldir
gtm="$gtm_dist/mumps -direct"; export gtm
mupip="$gtm_dist/mupip"; export mupip
lke="$gtm_dist/lke"; export lke
gde="$gtm_dist/mumps -r ^GDE"; export gde
dse="$gtm_dist/dse"; export dse
PATH=$PATH:$gtm_dist
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320593
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergeyLee,
через один гл.каталог можно работать и с разными базами. Для этого при создании каталога (GDE) в пути на файл базы данных можно использовать имена из окружения (пишется с '$'). Меняя переменную окружения перед стартом gtm получим работу с разными файлами.
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320651
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно прямо в GT.M меняться между каталогами
Глобалов:
s $zg="/patch/test.gld"
Конкретно пример:
s $zg="/usr/gtm602/mgr/test/test.gld"

Рутин:
s $zro="/patch/r"
Конкретно пример:
s $zro="/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602"
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320849
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще GTM поддерживает полную глобальну ссылку
s A="/patch/test.gld"
s B="/patch/test1.gld"
^[A]global - обращение к глобалу в одном файле
или так ^["/patch/test.gld"]global
^[B]global - обращение к глобалу во втором файле
или так ^["/patch/test1.gld"]global
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320886
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999,
Андрей спасибо, честно, я не знал такой синтаксис.
Так что получается ?
Я к "системному" глобалу могу обратиться
таким образом с любой области где я нахожусь в данный момент ?
т.е. например ^sysconfig из gtm_dist="/usr/gtm602" .
^["/usr/gtm602/mumps.gld"]sysconfig
Я вот бьюсь как смампировать их, а оказывается и так можно.
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320891
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrew000999,

ух ты! класс! спасибо! я такое кажется замечал, но не запомнил, ибо не практиковал!
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320909
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то у меня не получатся ...
Что неправильно ?

GTM>

GTM>w $ZG
/usr/gtm602/mgr/test/test.gld
GTM>w $ZRO
/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602
GTM>w ^["/usr/gtm602/mumps.gld"]sysconfig("SYS","gld")
%GTM-E-DBFILERR, Error with database file /usr/gtm602/mgr/test/mumps.dat
%SYSTEM-E-ENO2, No such file or directory

GTM>
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38320913
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321058
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValeriuSergeyLee,
Вот и хочу по человечески, так как привык наш люд. http://eltranssoft.ucoz.ru/

А вот скачать WinBuilder не получается :( Я даже сделал виртуальную машину Windows XP для этого и для исследования Serenji.
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321176
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLee,
К сожалению ссылку дают на очень короткий срок.
Я постараюсь сгд туда его вставить для скачивания.
Это более старая версия, без GDE .
Это пока в разработке.
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321186
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валерий
у Вас похоже файл .dat просто не существует
а эта возможность (обращение по полной глобальной ссылке)) в GTM
используется с моим alt-nc уже очень давно
и как работает alt-nc c разными файлами .gld
я описывал в моей документации
работает четко
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321189
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валерий
почитал внимательнее вас пост
---------------
GTM>w $ZG
/usr/gtm602/mgr/test/test.gld
GTM>w $ZRO
/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602
GTM>w ^["/usr/gtm602/mumps.gld"]sysconfig("SYS","gld")
%GTM-E-DBFILERR, Error with database file /usr/gtm602/mgr/test/mumps.dat
%SYSTEM-E-ENO2, No such file or directory

GTM>
-----------------------------------------
в общем в скобках должно стоять ваш $zg
вот так ^["/usr/gtm602/mgr/test/test.gld"]sysconfig
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321385
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей,
Я так понимаю, что это когда базы данных(несколько баз)
находятся в ОДНОЙ глобальной директории.
В моем случае, базы данных находятся в разных
глобальных директориях, т.е. каждая имеет свой .gld
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321413
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валерий
Я об этом и говорю
не важно какой текущий $zgbl
по полной глобальной ссылке можно обращаться
к ЛЮБОЙ СУЩЕСТВУЮЩЕЙ базе данных ОДНОВРЕМЕННО
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321538
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей,
Я тогда я что-то недопонимаю.
Глобаль ^sysconfig находится там, где установился GT.M.
Т.е в папке /usr/gtm602. Там же присутствует mumps.gld и mumps.dat

Допустим я нахожусь в директорию /usr/gtm602/mgr/test.
Там соответственно имеем test.gld и test.dat
Пытаемся увидеть какой-то узел глобала ^sysconfig (с терминала):
Там я вызываю 3 варианта(и тот что посоветовал) - все показывают ошибки...

login as: root
root@192.168.1.111's password:
Last login: Fri Jul 5 08:59:31 2013 from 192.168.1.110
[root@GTM ~]# source /usr/gtm602/uci/test
[root@GTM test]# gtm

GTM>d ^%GD

Global Directory

Global ^

Total of 0 globals.

GTM>h

[root@GTM test]# source /usr/gtm602/uci/sys
[root@GTM gtm602]# gtm

GTM>d ^%GD

Global Directory

Global ^
^sysconfig ^test ^zmwire
Total of 3 globals.

GTM>h

[root@GTM gtm602]# source /usr/gtm602/uci/test
[root@GTM test]# gtm

GTM>d ^%GD

Global Directory

Global ^

Total of 0 globals.

GTM>w ^["/usr/gtm602/test.gld"]sysconfig("SYS","gld")
%GTM-E-ZGBLDIRACC, Cannot access global directory /usr/gtm602/test.gld. Retaining /usr/gtm602/mgr/test/test.gld.
%SYSTEM-E-ENO2, No such file or directory

GTM>w ^["/usr/gtm602/mumps.gld"]sysconfig("SYS","gld")
%GTM-E-DBFILERR, Error with database file /usr/gtm602/mgr/test/mumps.dat
%SYSTEM-E-ENO2, No such file or directory

GTM>w ^["/usr/gtm602/mgr/test/test.gld"]sysconfig("SYS","gld")
%GTM-E-GVUNDEF, Global variable undefined: ^sysconfig("SYS","gld")

GTM>


Ниже приведу профайлы для захода в соответствующих директориях:
1. test
#################################################################
cd /usr/gtm602/mgr/test
gtm_dist="/usr/gtm602"; export gtm_dist
gtmgbldir="/usr/gtm602/mgr/test/test.gld" ; export gtmgbldir
if [ "$gtm_chset" = "UTF-8" -o "$gtm_chset" = "utf-8" ] ; then
if [ -e $gtm_dist/utf8 ] ; then
gtm_dist="$gtm_dist/utf8"; export gtm_dist
fi
fi
gtmroutines="/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602"; export gtmroutines
gtm="$gtm_dist/mumps -direct"; export gtm
mupip="$gtm_dist/mupip"; export mupip
lke="$gtm_dist/lke"; export lke
gde="$gtm_dist/mumps -r ^GDE"; export gde
dse="$gtm_dist/dse"; export dse
PATH=$PATH:$gtm_dist

2. system
#################################################################
cd /usr/gtm602
gtm_dist="/usr/gtm602"; export gtm_dist
gtmgbldir="mumps.gld"; export gtmgbldir
if [ "$gtm_chset" = "UTF-8" -o "$gtm_chset" = "utf-8" ] ; then
if [ -e $gtm_dist/utf8 ] ; then
gtm_dist="$gtm_dist/utf8"; export gtm_dist
fi
fi
gtmroutines=". $gtm_dist"; export gtmroutines
gtm="$gtm_dist/mumps -direct"; export gtm
mupip="$gtm_dist/mupip"; export mupip
lke="$gtm_dist/lke"; export lke
gde="$gtm_dist/mumps -r ^GDE"; export gde
dse="$gtm_dist/dse"; export dse
PATH=$PATH:$gtm_dist

...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321574
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказывается только в "системный" не хочет заходить ...
В остальных без проблем.
Интересно ... :)

GTM>w ^["/usr/gtm602/mgr/salrte/database.gld"]ZS1(101,0,64)
Topal Ivan Fiodor:14:2500::1:143:P:1:119:0:0:2:18122001::1:0972911019915:STR.SCHINOASA DEAL 34 V:08.02.1951:::323006909:A 01014123:93101215024:OF
.01:02.12.1997:020217005:::::::2
GTM>w ^["/usr/gtm602/mgr/cadre/database.gld"]CAD(101,1)
Ivanov Ion Ion
GTM>w $ZG
/usr/gtm602/mgr/test/test.gld
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321640
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валерий
Посмотрите чисто визуально содержимое файла
/usr/gtm602/mumps.gld" там среди всего прочнго вы увидите ссылку на файл mumps.dat
там будет дибо просто mumps.dat либо ./mumps.dat
что собственно означает: в текущем каталоге
когда вы пытаетесь обратитсья к нему по полной ссылке из каталога /usr/gtm602/mgr/test
текущий каталог этот. Соответственно файл mumps.dat gtm ищет здесь -отсюда и ошибка
Бороться с этим - просто указывать полные пути
те не gtmgbldir="mumps.gld";
а /usr/gtm602/mumps.gld
и в GDE при создании базы использовать опцию
-file_name=/usr/gtm602/mumps.dat

Вот скрипт который все это делеат автоматом


source /тут путь использованному профилю
gtmgbldat=`dirname $gtmgbldir`/`basename $gtmgbldir .gld`".dat"
#-------------------------------------------------------
# if database not exist - create it
#-------------------------------------------------------
if [ ! -f $gtmgbldir ] ; then
$gde template -segment -access_method=mm -block_size=4096 -allocation=5000 -extension=10000 -global_buffer_count=1000
$gde template -segment -access_method=bg -block_size=4096 -allocation=5000 -extension=10000 -global_buffer_count=1000
$gde template -region -stdnull -key_size=255 -record_size=4080 #-journal=before
$gde change -segment DEFAULT -block_size=4096 -allocation=5000 -extension=10000 -global_buffer_count=1000 -file_name=$gtmgbldat
$gde change -region DEFAULT -stdnull -key_size=255 -record_size=4080 #-journal=(before,file="$gtmdist/gtm.mjl")
if [ ! -f $gtmgbldat ] ; then
$mupip create
else
echo file $gtmgbldat esixts!!!, cannot create $gtmgbldat
fi
else
echo use file $gtmgbldir as database
fi
#-------------------------------------------------------
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38321661
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999,
Андрей спасибо !
Я даже не обращал на это внимание(полный путь)
Ведь это автоматом делала система при установке.
Ну и значит думал, что так надо ....
Я к стати везде применяю полные пути(где сам делаю),
а вот тут положился на конфигуратор.
Значит, будем эту граблю ОБХОДИТЬ ;)
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38322099
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче так.
То что делает GT.M по умолчанию при установке в файл дистрибутиве (системном),
mumps.gld и mumps.dat - УДАЛЯЕМ !
Дальше.
[root@GTM gtm602]# export gtmgbldir=/usr/gtm602/database
[root@GTM gtm602]# mumps -r GDE
%GDE-I-GDUSEDEFS, Using defaults for Global Directory
/usr/gtm602/database.gld

GDE> change -s DEFAULT -f=/usr/gtm602/database
GDE> exit
%GDE-I-VERIFY, Verification OK

%GDE-I-GDCREATE, Creating Global Directory file
/usr/gtm602/database.gld
[root@GTM gtm602]# mupip create && dse change -f -key_max=2046 -rec=4096
Created file /usr/gtm602/database.dat

File /usr/gtm602/database.dat
Region DEFAULT
[root@GTM gtm602]#
[root@GTM gtm602]# gtm

GTM>w $ZG
/usr/gtm602/database.gld
GTM>

GTM>d ^%GD

Global Directory

Global ^
^zmwire
GTM>s ^test="Это системный SYS"
GTM>d ^%GD

Global Directory

Global ^
^test ^zmwire
Total of 2 globals.

GTM>h
[root@GTM test]# source /usr/gtm602/uci/test
[root@GTM test]# gtm

GTM>w $zg
/usr/gtm602/mgr/test/database.gld
GTM>w ^["/usr/gtm602/database.gld"]test
Это системный SYS
GTM>
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38329202
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu,

а Вы работали уже с GT.M Replication? интересен обмен опытом...
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38329233
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLee,
К сожалением еще нет..
Руки не дошли. Заканчиваем GUI
для управления GT.M.
А если по ходу как они указывают в
AcculturationWorkshopMaterials ???
Пробовали ?
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38329261
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu,
Спасибо!
Не подумал об этом :)
Сейчас почитаю. Просто я перечитал все с админ справки по репликации и журнализации. Немного начал экспериментировать.
И тут встал вопрос, что надо же (правильнее) базу на Мастере очистить, может и файлы журналов очистить (удалить?).
И тоже самое сделать на Слейве.
Вообщем приступаю к практике.
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38329302
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLee,
Тоже интересует этот вопрос.
Будут сдвиги, отпишитесь.
...
Рейтинг: 0 / 0
GT.M: настройка директорий и баз данных
    #38334598
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu,

С репликацией прогресс пошел. Сделал! Теперь делаю резюме-инструкцию для себя, которую потом буду расширять, на базе Acculturation Workshop и Administration and Operation Guide. Чуть позже в этой теме опубликую.

Теперь я занимаюсь с нуля (повторение - мать учения) установкой (точнее обновлением) GT.M 6.0-002 вместо GT.M 6.0-000.

Возник вопрос, с которым я до конца не разобрался.
После установки GT.M на чистую виртуалку (с нуля), я выполняю source .../gtmprofile для формирования папок с каталогом и базой данных по умолчанию (DEFAULT) по пути /home/USER/.fis-gtm/ с папками V6.0-00X_x8664 и r, в первой папки g,o,r и так далее.
Как я вижу, вы смогли разместить GT.M файлы в созданной собственноручно папке скажем /home/USER/myapp/
Как выполнить скрипт gtmprofile, чтобы GT.M файлы были размещены в другой папке? Или просто создать собственный скрипт, задающий соответствующие переменные окружения и прочие команды?
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / GT.M: настройка директорий и баз данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]