اگر در حین بهروزرسانی Edge 4.52.02 با خطا مواجه شدید، میتوانید مؤلفهای که باعث خطا شده است را برگردانید و سپس دوباره بهروزرسانی را امتحان کنید.
میتوانید Edge 4.52.02 را به نسخههای اصلی زیر برگردانید:
- نسخه 4.52.01
- نسخه 4.52.00
- نسخه 4.51.00
بازگرداندن یک نسخه شامل بازگرداندن هر مؤلفه ای است که ممکن است ارتقا داده باشید. علاوه بر این، بر اساس نسخه ای که از آن شروع کرده اید، ممکن است لازم باشد قبل از بازگرداندن برخی از اجزای نرم افزار، ملاحظات خاصی را در نظر بگیرید. جدول زیر نرمافزارهای مختلفی را فهرست میکند که ممکن است در حین بازگشت به مراحل خاصی برای آنها نیاز باشد:
بازگشت به نسخه | توجه ویژه به نرم افزار |
---|---|
4.52.01 | کاساندرا |
4.52.00 | Cassandra، Zookeeper، Qpid |
4.51.00 | Cassandra، Zookeeper، Qpid، Postgres |
دو سناریو وجود دارد که ممکن است بخواهید یک بازگشت را انجام دهید:
- به نسخه اصلی یا فرعی قبلی برگردید . به عنوان مثال از 4.52.02 تا 4.52.00.
- به نسخه پچ قبلی در همان نسخه برگردید . به عنوان مثال، از 4.52.00.02 تا 4.52.00.01.
برای اطلاعات بیشتر، روند انتشار Apigee Edge را ببینید.
ترتیب برگشت
بازگشت کامپوننتها باید به ترتیب معکوس انجام شود، با این استثنا که سرورهای مدیریتی باید بعد از کاساندرا بازگردانده شوند.
یک ترتیب عمومی معمولی بازگشت به حالت اولیه برای Private Cloud 4.52.02 به شکل زیر خواهد بود:
- Rollback Postgres، Qpid، و سایر اجزای مرتبط با تجزیه و تحلیل
- روترهای برگشتی و پردازشگرهای پیام
- بازگشت کاساندرا، نگهبان باغ وحش
- سرور مدیریت بازگشت
به عنوان مثال، فرض کنید کل کلاستر Cassandra، تمام سرورهای مدیریتی و چند RMP را از نسخه 4.52.01 به نسخه 4.52.02 ارتقا داده اید و می خواهید به عقب برگردید. در این مورد، شما:
- همه RMP ها را یک به یک برگردانید
- کل خوشه Cassandra را با استفاده از پشتیبانگیری برگردانید
- گره های سرور مدیریت لبه برگشتی یکی یکی
چه کسی می تواند یک بازگشت را انجام دهد
کاربری که rollback انجام می دهد باید همان کاربری باشد که Edge را در ابتدا به روز کرده است یا کاربری که به عنوان root اجرا می شود.
به طور پیش فرض، اجزای Edge به عنوان کاربر "apigee" اجرا می شوند. در برخی موارد، ممکن است اجزای Edge را به عنوان کاربران مختلف اجرا کنید. به عنوان مثال، اگر روتر باید به پورت های دارای امتیاز دسترسی داشته باشد، مانند پورت های زیر 1000، باید روتر را به عنوان روت یا به عنوان کاربر با دسترسی به آن پورت ها اجرا کنید. یا ممکن است یک مؤلفه را به عنوان یک کاربر و مؤلفه دیگر را به عنوان کاربر دیگر اجرا کنید.
کامپوننت هایی با کد مشترک
اجزای Edge زیر کد مشترکی دارند. بنابراین، برای برگرداندن هر یک از این مؤلفهها در یک گره، باید همه این مؤلفهها را که در آن گره هستند، برگردانید.
-
edge-management-server
(مدیریت سرور) -
edge-message-processor
(پردازنده پیام) -
edge-router
(روتر) -
edge-postgres-server
(سرور Postgres) -
edge-qpid-server
(سرور Qpid)
به عنوان مثال، اگر سرور مدیریت، روتر و پردازشگر پیام را روی گره نصب کرده اید، برای بازگرداندن هر یک از آنها باید هر سه را به عقب برگردانید.
عقبگرد کاساندرا
هنگامی که یک ارتقاء عمده کاساندرا روی یک گره خاص کاساندرا انجام می شود، کاساندرا طرح واره داده های ذخیره شده در گره را تغییر می دهد و بازگشت مستقیم را غیرممکن می کند. دو روش برای بازگشت وجود دارد. شما از یکی از این متدولوژی ها بر اساس وضعیت ارتقایی که از آن عقب نشینی می کنید استفاده خواهید کرد.
روش شناسی برای عقبگرد
- پاک کنید و از گره های موجود در خوشه برای بازسازی گره استفاده کنید
- بک آپ یا عکس فوری VM را پاک و بازیابی کنید
پاک کنید و از گره های موجود در خوشه برای بازسازی گره استفاده کنید
اگر حداقل یک مرکز داده کاملاً کاربردی در خوشه هنوز در نسخه قدیمیتر کاساندرا (Cassandra 2.1.22) وجود دارد، میتوانید این روش را دنبال کنید. اگر کل کلاستر Cassandra را ارتقا داده اید و می خواهید به عقب برگردید، باید مراحل پاک کردن و بازیابی نسخه پشتیبان یا عکس فوری VM را دنبال کنید.
مراحل بازگشت
- با گره ای که می خواهید برگردانید شروع کنید:
- کاساندرا را روی گره متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- نرم افزار Cassandra را از گره حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
- دایرکتوری داده را از گره حذف کنید:
rm -rf /opt/apigee/data/apigee-cassandra
- بوت استرپ نسخه قدیمی Edge را برای Private Cloud که می خواهید به آن برگردید دانلود و اجرا کنید.
مثال: برای بازگشت به 4.52.01،
- دانلود بوت استرپ 4.52.01:
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
- اجرای بوت استرپ 4.52.01:
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
- Cassandra را روی گره راه اندازی کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
- با ارائه نام مرکز داده عملکردی، بازسازی را روی گره اجرا کنید:
/opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
- مراحل بالا را در هر گره ای که می خواهید به عقب برگردانید، یکی یکی تکرار کنید.
- کاساندرا را روی گره متوقف کنید:
- هنگامی که همه گره ها به عقب برگردانده شدند و دوباره ساخته شدند:
- راه اندازی هر گره مدیریت-سرور را اجرا کنید. اطمینان حاصل کنید که سرور مدیریت از نسخه رول شده است. اگر نه، سرور مدیریت را نیز برگردانید.
- توقف سرور مدیریت:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
- اگر از کسب درآمد استفاده می کنید، کسب درآمد را نیز حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- مدیریت سرور را حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- بوت استرپ نسخه قدیمی را دانلود و اجرا کنید. برای مثال، مراحل زیر را برای دانلود و اجرای بوت استرپ نسخه 4.52.01 انجام دهید:
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord - راه اندازی یک گره مدیریت-سرور را اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile
بهینه سازی پس از بازسازی
در مراحل فوق، تمام داده های موجود در گره از مرکز داده راه دور در طول بازسازی جریان می یابد. هنگامی که همه کپیها به مرکز داده محلی پخش شدند، میتوانید این فرآیند را با استفاده از تعمیر بهینه کنید. این کار از جریان متقابل DC جلوگیری می کند و باید سریعتر از بازسازی همه گره ها از یک DC راه دور باشد.
مثال: فرض کنید شش گره Cassandra در مرکز داده محلی دارید. به طور پیش فرض، ضریب تکرار Apigee سه است، بنابراین هر گره 50٪ از داده ها را در اختیار دارد. در این مورد، می توانید گره های #1 و #4 را با دنبال کردن روش بالا بازسازی کنید. برای گره های #2، #3، #5 و #6، مراحل زیر را دنبال کنید تا نسخه پشتیبان را بازیابی کنید و تعمیر را اجرا کنید.
- مراحل را تا مرحله شش که مستند شده برای بازسازی کپی ها در مرکز داده محلی دنبال کنید.
- برای گرههای باقیمانده، مراحل زیر را در هر گره باقیمانده یکی یکی دنبال کنید.
- پشتیبانگیری را که در این گره گرفتهاید بازیابی کنید (توجه داشته باشید: این پشتیبان احتمالاً دارای دادههای قدیمی است زیرا این نسخه پشتیبان قبل از شروع ارتقاء کاساندرا گرفته شده است):
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
- اگر یک عکس فوری VM از گره دارید، می توانید به جای بازیابی نسخه پشتیبان کاساندرا، عکس فوری را بازیابی کنید.
- پس از بازیابی نسخه پشتیبان، سرویس Cassandra را در گره راه اندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
- یک تعمیر بر روی گره انجام دهید تا آخرین داده ها از یک مرکز داده موجود پخش شوند:
/opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
- مراحل سه تا شش را در هر گره ای که می خواهید تعمیر کنید تکرار کنید.
- پشتیبانگیری را که در این گره گرفتهاید بازیابی کنید (توجه داشته باشید: این پشتیبان احتمالاً دارای دادههای قدیمی است زیرا این نسخه پشتیبان قبل از شروع ارتقاء کاساندرا گرفته شده است):
عکس فوری پشتیبان/VM را پاک و بازیابی کنید
اگر کل خوشه کاساندرا را ارتقا داده باشید و بخواهید به عقب برگردید، این رویه تنها روش موجود است.
علاوه بر این، پشتیبانگیریهای Apigee مختص گرهها هستند. امکان بازیابی نسخه پشتیبان گرفته شده از یک گره به گره دیگر وجود ندارد. پشتیبان گیری Cassandra شامل اطلاعات فراداده گره (مانند آدرس IP، موقعیت حلقه و غیره) است.
- با 1 گره کاساندرا در خوشه شروع کنید:
- سرویس Cassandra را در گره متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- نرم افزار Cassandra را از گره حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
- دایرکتوری داده را از گره حذف کنید:
rm -rf /opt/apigee/data/apigee-cassandra
- بوت استرپ نسخه قدیمی Edge را برای Private Cloud که می خواهید به آن برگردید دانلود و اجرا کنید.
مثال: برای بازگشت به 4.52.01
- دانلود بوت استرپ 4.52.01:
curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
- اجرای بوت استرپ 4.52.01:
sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
- Cassandra را روی گره راه اندازی کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
- با استفاده از روش Restore from a Backup، نسخه پشتیبان را روی گره بازیابی کنید.
- کاساندرا را روی گره متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
- حذف فهرست داده ها:
rm -rf /opt/apigee/data/apigee-cassandra/data
- بازیابی نسخه پشتیبان:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
- سرویس Cassandra را در گره شروع کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
- مراحل را روی هر گره کاساندرا یکی یکی تکرار کنید.
- تعمیر را در نودها یکی یکی اجرا کنید:
/opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr
- سرویس Cassandra را در گره متوقف کنید:
به روز رسانی Zookeeper 3.8.3 را برگردانید
اگر به نسخههای 4.52.00 یا 4.51.00 برمیگردید، باید قبل از بازگرداندن Zookeeper به چند مرحله خاص مراجعه کنید. این مراحل در Rollback ذکر شده است.
اگر به نسخه 4.52.01 برمیگردید، Zookeeper را مانند هر نرمافزاری بازگردانید، همانطور که در قسمت بازگشت به نسخه اصلی یا فرعی قبلی در زیر فهرست شده است.
بازگشت Qpid
اگر به نسخههای 4.52.00 یا 4.51.00 برمیگردید، باید قبل از بازگرداندن Qpid به چند مرحله خاص مراجعه کنید. این مراحل در Rollback ذکر شده است.
اگر به نسخه 4.52.01 برگردید، Qpid را بازگردانید، مانند هر نرم افزاری که در فهرست فهرست شده است ، به نسخه اصلی یا فرعی قبلی برگردانید.
به روز رسانی Postgres 10.17 را برگردانید
اگر در حال بازگشت به نسخه 4.51.00 هستید، باید قبل از بازگرداندن Postgres به چند مرحله خاص مراجعه کنید. این مراحل در Rollback ذکر شده است.
اگر در حال بازگشت به نسخه 4.52.01 یا 4.52.00 هستید، Postgres را بازگردانید، همانطور که هر نرم افزاری را بازگردانید، همانطور که در قسمت بازگشت به نسخه اصلی یا فرعی قبلی در زیر فهرست شده است.
به نسخه اصلی یا فرعی قبلی برگردید
برای بازگشت به نسخه اصلی یا فرعی قبلی، موارد زیر را در هر گره ای که مؤلفه را میزبانی می کند انجام دهید:
فایل
bootstrap.sh
را برای نسخه ای که می خواهید به آن برگردید دانلود کنید:- برای بازگشت به 4.51.00،
bootstrap_4.51.00.sh
را دانلود کنید:curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
- برای بازگشت به 4.51.00،
- متوقف کردن مؤلفه برای برگشتن:
- برای برگرداندن هر یک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را متوقف کنید، همانطور که مثال زیر نشان میدهد:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
- برای برگرداندن هر مؤلفه دیگری در گره، فقط آن مؤلفه را متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service component stop
- برای برگرداندن هر یک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را متوقف کنید، همانطور که مثال زیر نشان میدهد:
- اگر می خواهید کسب درآمد را به عقب برگردانید، آن را از تمام گره های سرور مدیریت و پردازشگر پیام حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- کامپوننت را حذف نصب کنید تا دوباره روی گره بازگردد:
- برای برگرداندن هر یک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را با حذف گروه مؤلفه
edge-gateway
حذف نصب کنید، همانطور که مثال زیر نشان میدهد:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- برای برگرداندن هر مؤلفه دیگری در گره، فقط آن مؤلفه را حذف نصب کنید، همانطور که مثال زیر نشان می دهد:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
جایی که component نام کامپوننت است.
- برای برگرداندن مسیریاب لبه، باید محتویات فایل
/opt/nginx/conf.d
را علاوه بر حذف نصب گروه مؤلفهedge-gateway
حذف کنید:cd /opt/nginx/conf.d
rm -rf *
- برای برگرداندن هر یک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را با حذف گروه مؤلفه
- نسخه 4.52.02
apigee-setup
را حذف نصب کنید:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- نسخه 4.51.00 ابزار
apigee-service
و وابستگی های آن را نصب کنید. مثال زیر نسخه 4.51.00apigee-service
را نصب می کند:sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord
جایی که uName و pWord نام کاربری و رمز عبوری است که از Apigee دریافت کردهاید. اگر pWord حذف کنید، از شما خواسته می شود آن را وارد کنید.
اگر با خطا مواجه شدید، مطمئن شوید که فایل
bootstrap.sh
را در مرحله 1 دانلود کرده اید. - نصب
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- نسخه قدیمی کامپوننت را نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
جایی که component کامپوننتی است که باید نصب شود و configFile فایل پیکربندی شما برای نسخه قدیمی است.
- اگر Qpid را به عقب برگردانید، iptables را فلاش کنید:
sudo iptables -F
- این فرآیند را برای هر گره ای که میزبان مؤلفه ای است که در حال بازگرداندن آن هستید، تکرار کنید.
به نسخه پچ قبلی برگردید
برای برگرداندن یک کامپوننت به یک انتشار پچ خاص، موارد زیر را در هر گره ای که کامپوننت را میزبانی می کند انجام دهید:
- دانلود نسخه کامپوننت خاص:
/opt/apigee/apigee-service/bin/apigee-service component_version install
جایی که component_version انتشار کامپوننت و پچ برای نصب است. به عنوان مثال:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install
اگر از مخزن آنلاین Apigee استفاده میکنید، میتوانید نسخههای مؤلفه موجود را با استفاده از دستور زیر تعیین کنید:
yum --showduplicates list comp
به عنوان مثال:
yum --showduplicates list edge-ui
- از
apigee-setup
برای نصب کامپوننت استفاده کنید:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
به عنوان مثال:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
توجه داشته باشید که هنگام نصب فقط نام کامپوننت را مشخص میکنید، نه نسخه را.
- این فرآیند را برای هر گره ای که میزبان مؤلفه ای است که در حال بازگرداندن آن هستید، تکرار کنید.
mTLS را به عقب برگردانید
برای بازگرداندن بهروزرسانی mTLS، مراحل زیر را در همه میزبانها انجام دهید:
- توقف Apigee:
apigee-all stop
- توقف mTLS:
apigee-service apigee-mtls uninstall
- نصب مجدد mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf