مهاجرت با ووجود mongo IBSng migration with mongo
سطر ۳: | سطر ۳: | ||
__TOC__ | __TOC__ | ||
<div dir=rtl lang=fa> | <div dir=rtl lang=fa> | ||
+ | '''<big>جابجایی سرور با mongo</big> | ||
+ | ''' | ||
− | |||
− | + | * نصب و راه اندازی سرور دوم | |
+ | روند نصب را همانند نصب جدید انجام دهید. از نصب بودن 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 $path_backup/get_dump/IBSng_dump_$(date +%Y)_$(date +%m)_$(date +%d).custom | |
− | * | + | |
− | |||
− | + | * بازیابی postgresql در سرور دوم | |
− | پس از | + | |
− | + | پس از اتمام کار, بر روی سرور دوم (مقصد) رفته و دستور زیر را برای بازیابی پشتیبان وارد نمایید. | |
+ | 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در سرور اول | ||
+ | |||
+ | mongodump -j 32 --archive=IBSng.mongo.gz --gzip --db IBSng | ||
+ | |||
+ | * بازیابی mongoدر سرور دوم | ||
+ | |||
+ | mongorestore -j 32 --gzip --archive=/tmp/IBSng.mongo.gz | ||
+ | |||
</div> | </div> |
نسخهٔ ۲۹ آوریل ۲۰۱۷، ساعت ۱۴:۵۱
جابجایی سرور با 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 $path_backup/get_dump/IBSng_dump_$(date +%Y)_$(date +%m)_$(date +%d).custom
- بازیابی postgresql در سرور دوم
پس از اتمام کار, بر روی سرور دوم (مقصد) رفته و دستور زیر را برای بازیابی پشتیبان وارد نمایید. 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در سرور اول
mongodump -j 32 --archive=IBSng.mongo.gz --gzip --db IBSng
- بازیابی mongoدر سرور دوم
mongorestore -j 32 --gzip --archive=/tmp/IBSng.mongo.gz