مهاجرت با ووجود mongo IBSng migration with mongo
جابجایی سرور با mongo
- گام ۱: نصب و راه اندازی سرور دوم
روند نصب را همانند نصب جدید انجام دهید. از نصب بودن postgresql و mongo اطمینان حاصل نمایید.
- گام ۲: پشتیبان گیری از دیتابیس postgresql
بر روی سرور اصلی (مبدا( رفته و سرور را stop نمایید. توجه نمایید که stop کردن سرور مورد نظر باید با هماهنگی مشتری انجام شود. پس از stop کردن IBSng اقدام به پشتیبان گیری کردن از پایگاه داده postgresql نمایید. برای این کار دستور زیر را وارد نمایید.
pg_dump -Fc --exclude-table=*tmp* --exclude-table=connection_log* --exclude-table=*snapshot* --exclude-table=ip_map --exclude-table=pg_temp* --exclude-table=pg_toast_temp* -U ibs IBSng -f /tmp/IBSng.psql.gz
- گام ۳: بازیابی postgresql در سرور دوم
در این مرحله فایل را با استفاده از scpبه سرور مقصد منتقل نمایید. برای مثال فایل را در دایرکتوری زیر ذخیره میکنیم.
/tmp/IBSng.psql.gz
پس از اتمام کار, بر روی سرور دوم (مقصد) رفته و دستور زیر را برای بازیابی پشتیبان وارد نمایید.
pg_restore -Fc -j32 -U ibs -d IBSng /tmp/IBSng_pg_dump
پس از بازیابی اطلاعات لازم است حداکثر connection log id را به دست اوریم. دستور زیر را در سروری که زیر بار بوده است (قدیمی) وارد نمیایید.
psql -U ibs -d IBSng
شما وارد محیط psql شده اید. دستور زیر را وارد نمایید.
SELECT max(connection_log_id) from connection_log;
دستور, یک خروجی بر روی نمایشگر نشان میدهد که حداکثر مقدار next val است. عدد به دست آمده را ذخیره میکنیم. سپس عدد به دست آمه را به علاوه یک عدد bias به دستور زیر در سیستم مقصد میکنیم.
SELECT setval('connection_log_id', 1501000);
مثلا اگر دستور اول عدد 1500000را برگرداند, دستور را با رقم 1501000 وارد میکنیم. سپس IBS مقصد را با دستور زیر restart مینماییم.
/etc/init.d/IBSng restart
حال میتوان سرور مقصد را بر روی بار آورد.
- گام ۴: پشتیبانگیری mongoدر سرور اول
دستور زیر را برای گرفتن backup در سرور اصلی وارد نمایید.
mongodump -j 32 --archive=/tmp/IBSng.mongo.gz --gzip --db IBSng
دستور در دایرکتوری tmp فایل پشتیبان را ذخیره میکند.در این مرحله فایل را با استفاده از scpبه سرور مقصد منتقل نمایید. برای مثال فایل را در دایرکتوری زیر ذخیره میکنیم.
/tmp/IBSng.mongo.gz
- گام ۵: بازیابی mongoدر سرور دوم
در این مرحله با استفاده از دستور زیر پشتیبان را بر روی سرور زیر بار بازیابی مینماییم.
mongorestore -j 32 --gzip --archive=/tmp/IBSng.mongo.gz