‫4.18.01 فرایند عقب‌گرد

Edge for Private Cloud نسخه ۴.۱۸.۰۱

درصورت بروز خطا درطول به‌روزرسانی به Edge 4.18.01، می‌توانید مؤلفه‌ای را که باعث بروز خطا شده است به نسخه قبلی برگردانید و سپس به‌روزرسانی را دوباره امتحان کنید. برای مثال، اگر به‌روزرسانی به Postgres 9.6 ناموفق باشد، می‌توانید فقط گره‌های Postgres را برگردانید و به‌روزرسانی را دوباره امتحان کنید.

دو سناریو وجود دارد که ممکن است بخواهید بازگرداندن را انجام دهید:

  1. به نسخه قدیمی‌تر برگردید. برای مثال از ۴.۱۸.۰۱ به ۴.۱۷.۰۱.
  2. برگشتن به نسخه قدیمی‌تر در همان نسخه پخش.

برای انجام بازگشت به نسخه قبلی در هر دو سناریو، از روش زیر استفاده کنید.

چه کسی می‌تواند بازگرداندن را انجام دهد

کاربری که بازگرداندن را انجام می‌دهد باید همان کاربری باشد که در ابتدا Edge را به‌روزرسانی کرده است، یا کاربری که به‌عنوان root اجرا می‌شود.

به‌طور پیش‌فرض، مؤلفه‌های Edge به‌عنوان کاربر «apigee» اجرا می‌شوند. در برخی موارد، ممکن است مؤلفه‌های Edge را به‌عنوان کاربران مختلف اجرا کنید. برای مثال، اگر «مسیریاب» باید به درگاه‌های ممتاز دسترسی داشته باشد، مثل درگاه‌های زیر ۱۰۰۰، باید «مسیریاب» را به‌عنوان ریشه یا به‌عنوان کاربری که به آن درگاه‌ها دسترسی دارد اجرا کنید. یا ممکن است یک مؤلفه را به‌عنوان یک کاربر و مؤلفه دیگر را به‌عنوان کاربر دیگری اجرا کنید.

کدام مؤلفه‌ها را می‌توان برگرداند

هنگام انجام بازگشت به نسخه قبلی باید از شرایط زیر آگاه باشید:

  • پنج مؤلفه Edge که در زیر فهرست شده‌اند کد مشترکی دارند. بنابراین، برای بازگرداندن هریک از پنج مؤلفه در یک گره، باید هرکدام از پنج مؤلفه نصب‌شده در گره را بازگردانید. برای مثال، اگر «سرور مدیریت»، «رهیاب»، و «پردازشگر پیام» را در گره نصب کرده باشید، برای بازگرداندن هرکدام از آن‌ها باید هر سه را بازگردانید.

    پنج مؤلفه‌ای که کد را هم‌رسانی می‌کنند عبارت‌اند از:

    • سرور مدیریت
    • رهیاب
    • پردازشگر پیام
    • سرور Qpid
    • سرور Postgres
  • اگر از Edge 4.16.01 به‌روزرسانی می‌کنید، Cassandra را برنگردانید. این نسخه Edge حاوی نسخه به‌روزشده Cassandra است. اگر هریک از مؤلفه‌ها را برگرداندید، Cassandra را در نسخه ۴.۱۸.۰۱ رها کنید.

درحال عقب‌گرد کردن 4.18.01

این بخش حاوی روال بازگرداندن Edge 4.18.01 به نسخه قبلی است. این بخش به دو قسمت تقسیم شده است:

  • برگرداندن به‌روزرسانی Postgres
    بخش نهایی هر فرایند به‌روزرسانی، به‌روز کردن گره‌های Postgres به نسخه ۹.۶ است. اگر آن به‌روزرسانی ناموفق بود، می‌توانید از این روش برای بازگرداندن به‌روزرسانی استفاده کنید.
  • بازگرداندن همه مؤلفه‌های دیگر Edge
    از این روش برای بازگرداندن هر مؤلفه دیگر Edge استفاده کنید.

برای بازگرداندن به‌روزرسانی Postgres 9.6

برای بازگرداندن به‌روزرسانی Postgres هنگام به‌روزرسانی Postgres در پیکربندی master-standby، شما:

  • گره آماده‌به‌کار جدید را ارتقا دهید تا به گره اصلی Postgres تبدیل شود. Postgres master جدید همان نسخه نصب Edge قبلی شما خواهد بود.
  • گره آماده‌به‌کار قدیمی را طوری پیکربندی کنید که گره آماده‌به‌کار گره اصلی جدید باشد. گره آماده‌به‌کار قدیمی همان نسخه نصب قبلی Edge خواهد بود.
  • گره‌های اصلی و آماده‌به‌کار جدید را با گروه‌های مصرف‌کننده و تجزیه‌وتحلیل ثبت کنید.

وقتی بازگشت به نسخه قبلی را انجام دادید، دیگر به گره اصلی قدیمی نیازی نخواهد بود. سپس می‌توانید گره اصلی قدیمی را از کار بیندازید.

  1. مطمئن شوید گره Postgres آماده‌به‌کار جدید درحال اجرا باشد:
    > /opt/apigee/apigee-service/bin/apigee-all status

    اگر Postgres درحال اجرا نیست، آن را شروع کنید:

    > /opt/apigee/apigee-service/bin/apigee-all start
  2. مطمئن شوید Postgres در گره اصلی قدیمی و گره آماده‌به‌کار قدیمی متوقف شده باشد:
    > /opt/apigee/apigee-service/bin/apigee-all status

    اگر Postgres درحال اجرا است، آن را متوقف کنید:

    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. اگر نصب شده است، Qpid را در گره آماده‌به‌کار قدیمی شروع کنید:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. گره آماده‌به‌کار جدید را به‌عنوان گره اصلی Postgres ارتقا دهید:
    1. گره آماده‌به‌کار جدید را به گره اصلی جدید ارتقا دهید:
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      درصورت درخواست، گذرواژه Postgres را برای کاربر «apigee» وارد کنید که به‌طور پیش‌فرض «postgres» است.

    2. فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کرده‌اید ویرایش کنید تا موارد زیر را مشخص کنید:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. پیکربندی نسخه اصلی جدید:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. بازسازی گره آماده‌به‌کار قدیمی:
    1. فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کرده‌اید ویرایش کنید تا موارد زیر را مشخص کنید:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. برداشتن فهرست راهنمای داده‌ها در گره آماده‌به‌کار قدیمی:
      > cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. گره آماده‌به‌کار قدیمی را دوباره پیکربندی کنید تا گره آماده‌به‌کار اصلی جدید باشد:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. مطمئن شوید Postgres در گره آماده‌به‌کار قدیمی درحال اجرا است:
      > /opt/apigee/apigee-service/bin/apigee-all status

      اگر درحال اجرا نیست، آن را شروع کنید:

      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. با مشاهده فایل /opt/apigee/apigee-postgresql/conf/pg_hba.conf در گره اصلی جدید، بررسی کنید که گره آماده‌به‌کار جدید اضافه شده باشد.
  7. با اجرای فرمان زیر در «سرور مدیریت»، اطلاعات گروه مصرف‌کننده و Analytics فعلی را مشاهده کنید:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    این فرمان نام گروه Analytics را در فیلد name و نام گروه مصرف‌کننده را در فیلد name در بخش consumer-groups برمی‌گرداند. همچنین شناسه‌های UUID گره‌های اصلی و آماده‌به‌کار Postgres قدیمی را در فیلد postgres-server و فیلد datastores برمی‌گرداند. باید برونداد را به این شکل ببینید:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }
  8. با اجرای فرمان cURL زیر در گره اصلی قدیمی، نشانی UUID گره اصلی قدیمی را دریافت کنید:
    > curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    باید UUID گره را در انتهای خروجی به این شکل ببینید:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. مرحله قبلی را تکرار کنید تا نشانی‌های IP گره آماده‌به‌کار قدیمی و گره اصلی جدید را دریافت کنید.
  10. گره‌های اصلی و آماده‌به‌کار قدیمی را از گروه مصرف‌کننده بردارید:
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    که axgroup-001 و consumer-group-001 نام‌های پیش‌فرض گروه‌های مصرف‌کننده و تجزیه‌وتحلیل هستند. masterUUID,standbyUUID به همان ترتیبی است که در بالا هنگام مشاهده اطلاعات فعلی تجزیه‌وتحلیل و گروه مصرف‌کننده ظاهر شد. شاید لازم باشد آن‌ها را به‌صورت standbyUUID,masterUUID مشخص کنید.

    خصوصیت datastores برای consumer-groups اکنون باید خالی باشد.

  11. گره‌های اصلی و آماده‌به‌کار قدیمی را از گروه تجزیه‌وتحلیل بردارید:
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    دارایی postgres-server در uuids اکنون باید خالی باشد.

  12. گره‌های اصلی و آماده‌به‌کار PG جدید را با گروه‌های مصرف‌کننده و تجزیه‌وتحلیل ثبت کنید:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. گروه تجزیه‌وتحلیل را اعتبارسنجی کنید:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    باید UUIDهای گره‌های اصلی و آماده‌به‌کار جدید را که در گروه تجزیه‌وتحلیل و گروه مصرف‌کننده فهرست شده‌اند ببینید.

  14. «سرور مدیریت Edge» را بازراه‌اندازی کنید:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. همه سرورهای Qpid را بازراه‌اندازی کنید:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. همه سرورهای Postgres را بازراه‌اندازی کنید:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. با اجرای اسکریپت‌های زیر در هر دو سرور، وضعیت تکرار را تأیید کنید. سیستم باید نتایج یکسانی را در هر دو سرور نمایش دهد تا از تکرار موفقیت‌آمیز اطمینان حاصل شود:

    در نسخه اصلی جدید، این دستور را اجرا کنید:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    اعتبارسنجی کنید که می‌گوید اصلی است. در گره آماده‌به‌کار قدیمی:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    تأیید کنید که می‌گوید در حالت آماده‌به‌کار است.

  18. پس‌از ایجاد چند درخواست API، مرحله قبلی را تکرار کنید تا مطمئن شوید گره‌ها همگام‌سازی شده‌اند.
  19. بااستفاده از رویه موجود در به‌روزرسانی Apigee Edge 4.16.01/4.16.05 به 4.17.09، Postgres master قدیمی را از کار بیندازید.

    یا می‌توانید Qpid را از گره اصلی قدیمی حذف نصب کنید و Qpid را در گره اصلی جدید نصب کنید، همان‌طور که در زیر شرح داده شده است. پس‌از حذف نصب Qpid، می‌توانید گره اصلی قدیمی را از رده خارج کنید.

Uninstal Qpid from the old master and install Qpid on the new master

از روش زیر برای حذف نصب Qpid از نسخه اصلی قدیمی و نصب آن در نسخه اصلی جدید استفاده کنید:

  1. با اجرای فرمان زیر در همه «پردازشگرهای پیام»، دسترسی به درگاه Qpid‏ ۵۶۷۲ در سرور اصلی قدیمی را ازطریق «پردازشگرهای پیام» مسدود کنید:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. با اجرای فرمان زیر، مطمئن شوید که صف پیام Qpid خالی است. تا زمانی که Qpid همه پیام‌های معلقه را پردازش نکرده است، نمی‌توانید آن را حذف نصب کنید:
    > qpid-stat -q

    این فرمان جدولی را نمایش می‌دهد که حاوی تعداد msg, msgIn, and msgOut است. وقتی msg=0، و msgIn=msgOut، همه پیام‌ها پردازش شده‌اند.

  3. با اجرای فرمان زیر در سرور اصلی قدیمی، UUID سرور Qpid را در سرور اصلی قدیمی تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
    > curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Qpid را در نسخه اصلی قدیمی متوقف کنید:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. حذف نصب سرور Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. سرور قدیمی Qpid را از گروه‌های مصرف‌کننده و تجزیه‌وتحلیل بردارید:
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. سرور Qpid قدیمی را از Zookeeper بردارید:
    > curl -u sysAdminEmail:password -X DELETE
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Qpid را روی master جدید نصب کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. با اجرای فرمان زیر در سرور اصلی جدید، UUID سرور Qpid را در سرور اصلی جدید تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
    > curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. سرور Qpid جدید را با گروه‌های مصرف‌کننده و تجزیه‌وتحلیل ثبت کنید:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. بازراه‌اندازی همه پردازشگرهای پیام:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. فرمان زیر را در سرور Qpid جدید اجرا کنید تا بررسی شود که صف‌ها ایجاد شده‌اند:
    > qpid-stat -q

    مطمئن شوید که msg،‏ msgIn، و msgOut را می‌بینید که با پردازش پیام‌ها توسط سرور Qpid به‌روز می‌شوند.

برای بازگرداندن مؤلفه‌های تکی از 4.18.01

به‌عنوان بخشی از انجام بازگشت، باید فایل bootstrap.sh را برای نسخه فعلی Edge بارگیری کنید:

  • برای بازگشت به نسخه ۴.۱۷.۰۹، bootstrap_4.17.09.sh را بارگیری کنید
  • برای بازگشت به نسخه ۴.۱۷.۰۵، bootstrap_4.17.05.sh را بارگیری کنید
  • برای بازگشت به نسخه ۴.۱۷.۰۱، bootstrap_4.17.01.sh را بارگیری کنید
  • برای بازگشت به نسخه ۴.۱۶.۰۹، bootstrap_4.16.09.sh را بارگیری کنید
  • برای بازگشت به نسخه ۴.۱۶.۰۵، bootstrap_4.16.05.sh را بارگیری کنید
  • برای بازگشت به نسخه ۴.۱۶.۰۱، bootstrap.sh را بارگیری کنید

برای هر گره میزبان مؤلفه برای عقب‌گرد کردن:

  1. برای بازگرداندن، مؤلفه را متوقف کنید:
    1. اگر هریک از مؤلفه‌های زیر را در گره برمی‌گردانید، باید همه آن‌ها را متوقف کنید: سرور مدیریت، مسیریاب، پردازشگر پیام، سرور Qpid، یا سرور Postgres:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. اگر مؤلفه دیگری را در گره برمی‌گردانید، فقط همان مؤلفه را متوقف کنید:
      • > apigee-service comp stop
  2. اگر «درآمدزایی» را برمی‌گردانید، آن را از همه گره‌های «سرور مدیریت» و «پردازشگر پیام» حذف نصب کنید:
    > apigee-service edge-mint-gateway uninstall
  3. برای بازگشت به نسخه قبلی در گره، مؤلفه را حذف نصب کنید:
    1. اگر هرکدام از مؤلفه‌های زیر را در گره برمی‌گردانید، همه آن‌ها را حذف نصب کنید: Management Server،‏ Router،‏ Message Processor،‏ Qpid Server، یا Postgres Server:
      > apigee-service edge-gateway uninstall
    2. اگر مؤلفه دیگری را در گره برمی‌گردانید، فقط آن مؤلفه را حذف نصب کنید:
      > apigee-service comp uninstall
    3. اگر Router را به نسخه قبلی برمی‌گردانید، باید محتوای /opt/nginx/conf.d را حذف کنید:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. برای بازگرداندن مؤلفه:
    1. حذف نصب نسخه 4.18.01 از apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. bootstrap.sh را برای نسخه موردنظر بارگیری کنید: برای مثال، برای 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. برنامه کمکی apigee-service نسخه 4.16.01،‏ 4.16.05، یا 4.16.09 و وابستگی‌ها را نصب کنید. برای مثال، برای 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      که uName و pWord نام کاربری و گذرواژه‌ای است که از Apigee دریافت کرده‌اید. اگر pWord را حذف کنید، از شما خواسته می‌شود آن را وارد کنید.

    4. نصب apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. نسخه موردنظر عنصر را نصب کنید:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      که comp مؤلفه موردنظر برای نصب و configFile فایل پیکربندی شما برای نسخه موردنظر است.

    6. اگر Qpid را برمی‌گردانید، iptables را پاک کنید:
      > sudo iptables -F
  5. برای بازگرداندن مؤلفه به نسخه خاصی از انتشار 4.18.01:
    1. نسخه عنصر خاص را بارگیری کنید:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      که comp-version مؤلفه و نسخه موردنظر برای نصب است. برای مثال:

      > /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install

      اگر از مخزن آنلاین Apigee استفاده می‌کنید، می‌توانید نسخه‌های مؤلفه دردسترس را بااستفاده از فرمان زیر تعیین کنید:

      > yum --showduplicates list comp

      برای مثال:

      > yum --showduplicates list edge-ui
    2. از apigee-setup برای نصب مؤلفه استفاده کنید:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      برای مثال:

      > /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

      توجه داشته باشید که هنگام نصب فقط نام مؤلفه را مشخص می‌کنید.

اگر هنگام بازگرداندن با مشکل مواجه شدید، با پشتیبانی Apigee Edge تماس بگیرید.