Установка D3 Pick Database в файл на CentOS

24 Янв
2012

Введение


Не секрет, что база данных D3 (http://www.tigerlogic.com/tigerlogic/pick/database/index.jsp) в качестве хранилища использует отдельный раздел со своей файловой системой. Задача установки ее с размещением хранилища в файле возникла из-за того, что установщик D3 категорически отказался видеть разделы программного RAID, сделанный с помощью mdtools.
Чуть ниже я опишу процедуру, которая подребутся нам для установки D3 в файл.

Подготовка

Нам для успешной установки потребуется установленный CentOS 5 или 6, дистрибутив D3 и дополнительный жесткий диск, который мы временно задействуем под D3-хранилище.

Установка


Использовать внешний диск придется потому, что область ABS категорически отказалась записываться напрямую в файл.

Разметьте внешний диск таким образом, чтобы раздел для хранения данных D3 (в примере будет использоваться раздел /dev/sdd1) был меньше хотя бы на 100Мб, чем тот раздел ФС, который вы выделили под хранение файла с данными D3.
Установите в этот раздел D3 и полностью сконфигурируйте ее для дальнейшей работы:

  • установите область ABS
  • создайте файловую систему
  • разверните рабочий образ (из бэкапа или новый)


Остановите D3 и скопируйте с помощью dd раздел данных в файл:

[root@server /]# d3 -k
[root@server /]# dd if=/dev/sdd1 of=/srv/pick/d3image bs=1024M


Процедура переноса раздела в файл достаточно продолжительная, и в зависимости от размера области данных может продолжаться несколько часов.

Размер блока, используемого dd при копировании (параметр bs) рассчитайте исходя из размеров оперативной памяти, деленной на 4. Так, например, в нашем примере использется размер блока 1024М, то есть подразумевается, что система оснащена 4-мя гигабайтами ОЗУ. В зависимости от используемой системы и версии dd максимальный размер используемого блока может изменяться — обычно это 2048M.

После окончания копирования отредактируйте файл /usr/lib/pick/pick0 таким образом, чтобы ссылка на файл /srv/pick/d3image была указана как ссылка на раздел с данными. Предыдущую директиву disk не удаляйте, а закомментируйте:

disk /srv/pick/d3image 0 63480844 #disk 0
##disk /dev/sdd1 0 63480844 #disk 0


Цифру в 4-м поле (63480844) — это размер раздела в стандартных 1K-блоках. Если сомневаетесь, что она верная, то поступите следующим образом:
  • посмотрите размер файла, куда был скопирован раздел D3 в байтах c помощью команды ls

ls -l /srv/pick/d3image
-rw-r--r-- 1 root root 65004384256 Янв 21 2012 /srv/pick/d3image

  • разделите цифру на 1024. Полученный результат вписать в конфигурационный файл D3.


Обычно, ранее указанный размер раздела раздела будет совпадать с тем, который вы рассчитаете в процессе конфигурирования.
Запустите D3 в режиме eXecute и проверьте работоспособность с файлом.

Удачи!
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх