Добавление диска под БД

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (30)

просмотр истории страницы
{toc}

h1. Определиение способа добавления диска

В старых версиях Carbon PL5 для БД биллинга не создавалось отдельного раздела, она располагалась в */mnt/var*. Однозначно убедиться какая установка у Вас, Вы можете следующим способом:
Выполните команду
{code}grep '/mnt/db' /etc/fstab{code}
В зависимости от вывода команды, на старых установках в ответ не вернётся ни чего, на новых - строка с параметрами монтирования раздела, например:
* старая установка
{panel}\[root@vm_old \~\]# grep '/mnt/db' /etc/fstab
\[root@vm_old \~\]#{panel}
* новая установка
{panel}\[root@vm_new \~\]# grep '/mnt/db' /etc/fstab
UUID=893c80de-0c62-4442-a19a-7a972f2854ff /mnt/db ext4 nodiratime,noatime,async,data=journal 1 2
\[root@vm_new \~\]#{panel}

h2. Добавление диска на новых установках

# Добавьте диск и разметьте раздел по статье документации "[CarbonBilling:Подготовка нового диска]"
# Смонтируйте его в директорию */mnt/db*/ Допустим имя раздела */dev/sdb1*
{code}
mkfs.ext4 -L dbfs /dev/sdb1
mkdir /mnt/xdb
mount /dev/sdb1 /mnt/xdb/
{code}
# Так как переносится весь раздел с базами данных контейнеров. Остановите работу биллинга контейнеров и размонтируйте разделы
{code}
/app/asr_billing/service /etc/init.d/apps stop
/app/asr_billing/service /etc/init.d/apps destroy
{code}
# Перенесите данные со старого раздела на новый
{code}
mv /mnt/db/\* /mnt/db/app /mnt/xdb/
umount /mnt/log
umount /mnt/xlog
{code}
# Отмонтируйте временную директорию */mnt/xdb/*
{code}
umount /mnt/xdb/
{code}
# Отмонтируйте старый раздел с БД */dev/sda1*
{code}
umount /mnt/db
{code}
# Поправьте fstab
Найдите уникальный ID (UUID) нового раздела
{code}UUID=73ffd725-12eb-443b-9042-ac29967b4273 /mnt/db ext4 nodiratime,noatime,async,data=journal 1 1{code}
должна получиться такая:
{code}UUID=62897047-0222-43e3-95e5-16b1b6de2b71 /mnt/var ext4 nodiratime,noatime,async 1 1{code}
# Смонтируйте раздел */dev/sdb1* в папку */mnt/db*
{code}UUID=62897047-0222-43e3-95e5-16b1b6de2b71 /mnt/db ext4 nodiratime,noatime,async,data=journal 1 1{code}
# Смонтируйте раздел */mnt/db*, команда {{mount}} сама поймёт по конфигурации {{fstab}}, что нужно подключить раздел */dev/sdb1*
{code}
mount /dev/sdb1 /mnt/db
{code}
# Восстановите точки монтирования в контейнере */app/asr_billing* и запустите его
# Восстановите точки монтирования в контейнеров и запустите их
{panel}
/app/asr_billing/service /etc/init.d/apps build
/app/asr_billing/service /etc/init.d/apps start
{panel}
# Проверьте все ли в порядке

h2. Добавление диска на старых установках

# Добавьте диск и разметьте раздел по статье документации "[CarbonBilling:Подготовка нового диска]"
# Смонтируйте его в директорию */mnt/db*/ Допустим имя раздела */dev/sda3*
# Добавьте в файл */etc/fstab* запись соответствующую Вашем новому разделу
Посмотрите ID раздела
{panel}\[root@devel24 \~\]# blkid | \| grep /dev/sda3
/dev/vdb6: {color:red}UUID="bcb28e2c-79e7-4e73-b611-816b67e83dd3"{color} TYPE="ext4"{panel}
Добавьте запись в */etc/fstab* указав ID диска, полученный предыдущей командой:
# Создайте структуру каталогов
{code}cat /app/01_*.list | while read -r app; do mkdir -p /mnt/db/app/$app/db; done{code}
# Остановите все контейнеры и размонтируйте разделы
{code}/etc/init.d/auditd stop
/etc/init.d/rsyslog stop
{code}chroot /app/asr_billing/{code}
# Убедитесь что по старому пути не осталось данных
{panel}\[root@vm_old \~\]# ls \-l /var/db/
итого 0{panel}
# Удалите папку и создайте вместо неё символьную ссылку на новое расположение данных
ln -s ../../mnt/db/ /var/db{code}
# Выйдите из контейнера биллинга и убедитесь что символьная ссылка создана правильно:
{panel}\[root@vm_old \~\]# ll /app/asr_billing/var/db/billing.gdb.stop
\-rw\-rw\-\-\-\- \-rw-rw---\- 1 495 496 57704448 Апр 7 14:21 /app/asr_billing/var/db/billing.gdb.stop{panel}
# Запустите все контейнеры
{code}/etc/init.d/auditd start