مهاجرت با ووجود mongo IBSng migration with mongo
سطر ۱۲: | سطر ۱۲: | ||
* پشتیبان گیری از دیتابیس postgresql | * پشتیبان گیری از دیتابیس postgresql | ||
− | بر روی سرور اصلی (مبدا( رفته و سرور را stop نمایید. توجه نمایید که stop کردن سرور مورد نظر باید با هماهنگی مشتری انجام شود. پس از stop کردن IBSng اقدام به پشتیبان گیری کردن از پایگاه داده postgresql نمایید. برای این کار دستور زیر را وارد نمایید. | + | بر روی سرور اصلی (مبدا( رفته و سرور را stop نمایید. توجه نمایید که stop کردن سرور مورد نظر باید با هماهنگی مشتری انجام شود. |
+ | پس از stop کردن IBSng اقدام به پشتیبان گیری کردن از پایگاه داده postgresql نمایید. برای این کار دستور زیر را وارد نمایید. | ||
+ | <div dir=ltr lang=en> | ||
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 | 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 | ||
+ | </div> | ||
سطر ۲۰: | سطر ۲۳: | ||
پس از اتمام کار, بر روی سرور دوم (مقصد) رفته و دستور زیر را برای بازیابی پشتیبان وارد نمایید. | پس از اتمام کار, بر روی سرور دوم (مقصد) رفته و دستور زیر را برای بازیابی پشتیبان وارد نمایید. | ||
+ | |||
+ | <div dir=ltr lang=en> | ||
pg_restore -Fc -j32 -U ibs -d IBSng /tmp/IBSng_pg_dump | pg_restore -Fc -j32 -U ibs -d IBSng /tmp/IBSng_pg_dump | ||
+ | </div> | ||
+ | |||
پس از بازیابی اطلاعات لازم است حداکثر connection log id را به دست اوریم. | پس از بازیابی اطلاعات لازم است حداکثر connection log id را به دست اوریم. | ||
دستور زیر را در سروری که زیر بار بوده است (قدیمی) وارد نمیایید. | دستور زیر را در سروری که زیر بار بوده است (قدیمی) وارد نمیایید. | ||
+ | <div dir=ltr lang=en> | ||
psql -U ibs -d IBSng | psql -U ibs -d IBSng | ||
+ | </div> | ||
+ | |||
شما وارد محیط psql شده اید. | شما وارد محیط psql شده اید. | ||
+ | |||
+ | <div dir=ltr lang=en> | ||
SELECT max(connection_log_id) from connection_log; | SELECT max(connection_log_id) from connection_log; | ||
+ | </div> | ||
+ | |||
دستور, یک خروجی بر روی نمایشگر نشان میدهد که حداکثر مقدار next val است. عدد به دست آمده را ذخیره میکنیم. سپس عدد به دست آمه را به علاوه یک عدد bias به دستور زیر در سیستم مقصد میکنیم. | دستور, یک خروجی بر روی نمایشگر نشان میدهد که حداکثر مقدار next val است. عدد به دست آمده را ذخیره میکنیم. سپس عدد به دست آمه را به علاوه یک عدد bias به دستور زیر در سیستم مقصد میکنیم. | ||
+ | |||
+ | <div dir=ltr lang=en> | ||
SELECT setval('connection_log_id', 1501000); | SELECT setval('connection_log_id', 1501000); | ||
+ | </div> | ||
+ | |||
مثلا اگر دستور اول عدد 1500000را برگرداند, دستور را با رقم 1501000 وارد میکنیم. | مثلا اگر دستور اول عدد 1500000را برگرداند, دستور را با رقم 1501000 وارد میکنیم. | ||
سپس IBS را با دستور زیر restart مینماییم. | سپس IBS را با دستور زیر restart مینماییم. | ||
+ | |||
+ | <div dir=ltr lang=en> | ||
/etc/init.d/IBSng restart | /etc/init.d/IBSng restart | ||
+ | </div> | ||
+ | |||
* پشتیبانگیری mongoدر سرور اول | * پشتیبانگیری mongoدر سرور اول | ||
+ | <div dir=ltr lang=en> | ||
mongodump -j 32 --archive=IBSng.mongo.gz --gzip --db IBSng | mongodump -j 32 --archive=IBSng.mongo.gz --gzip --db IBSng | ||
+ | </div> | ||
+ | |||
* بازیابی mongoدر سرور دوم | * بازیابی mongoدر سرور دوم | ||
+ | <div dir=ltr lang=en> | ||
mongorestore -j 32 --gzip --archive=/tmp/IBSng.mongo.gz | mongorestore -j 32 --gzip --archive=/tmp/IBSng.mongo.gz | ||
+ | </div> | ||
</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