4.18.01 فرآیند بازگشت

Edge for Private Cloud نسخه 4.18.01

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

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

  1. بازگشت به نسخه قدیمی تر. به عنوان مثال از 4.18.01 تا 4.17.01.
  2. بازگشت به نسخه قدیمی در همان نسخه.

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

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

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

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

کدام اجزا را می توان به عقب برگرداند

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

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

    پنج جزء که کد را به اشتراک می گذارند عبارتند از:

    • سرور مدیریت
    • روتر
    • پردازشگر پیام
    • سرور Qpid
    • سرور Postgres
  • اگر از Edge 4.16.01 به‌روزرسانی می‌کنید ، Cassandra را به عقب برگردانید. این نسخه از Edge حاوی نسخه به روز شده Cassandra است. اگر کامپوننت‌ها را برگردانید، کاساندرا را در نسخه 4.18.01 رها کنید.

بازگشت به عقب 4.18.01

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

  • بازگشت به روز رسانی Postgres
    بخش پایانی هر روش به روز رسانی، به روز رسانی گره های Postgres به نسخه 9.6 است. اگر آن به‌روزرسانی ناموفق بود، می‌توانید از این روش برای بازگرداندن به‌روزرسانی استفاده کنید.
  • بازگرداندن تمام اجزای دیگر Edge
    از این روش برای برگرداندن سایر اجزای Edge استفاده کنید.

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

برای بازگرداندن به‌روزرسانی Postgres هنگام به‌روزرسانی Postgres در یک پیکربندی در حالت آماده به کار، باید:

  • گره آماده به کار جدید را برای تبدیل شدن به استاد Postgres تبلیغ کنید. Master جدید Postgres همان نسخه نصب قبلی 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. گره آماده به کار جدید را به عنوان Master 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. با اجرای دستور زیر در سرور مدیریت، تجزیه و تحلیل فعلی و اطلاعات گروه مصرف کننده را مشاهده کنید:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    این دستور نام گروه تحلیلی را در قسمت 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. آدرس UUID استاد قدیمی را با اجرای دستور cURL زیر در گره اصلی قدیمی دریافت کنید:
    > 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 master و standby را با تجزیه و تحلیل و گروه های مصرف کننده ثبت کنید:
    > 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 Management را مجددا راه اندازی کنید:
    > /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. مستر قدیمی Postgres را با استفاده از رویه به‌روزرسانی Apigee Edge 4.16.01/4.16.05 به 4.17.09 از کار انداخت.

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

Qpid را از Master قدیمی حذف کنید و Qpid را روی Master جدید نصب کنید

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

  1. با اجرای دستور زیر بر روی تمام پردازشگرهای پیام، دسترسی به پورت Qpid 5672 در Master قدیمی را از دسترسی توسط Message Processors مسدود کنید:
    > 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 را روی مستر جدید نصب کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. UUID سرور Qpid را در master new با اجرای دستور زیر بر روی master new تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
    > 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 خود دانلود کنید:

  • برای بازگشت به 4.17.09، bootstrap_4.17.09.sh را دانلود کنید
  • برای بازگشت به 4.17.05، bootstrap_4.17.05.sh را دانلود کنید
  • برای بازگشت به 4.17.01، bootstrap_4.17.01.sh را دانلود کنید
  • برای بازگشت به 4.16.09، bootstrap_4.16.09.sh را دانلود کنید
  • برای بازگشت به 4.16.05، bootstrap_4.16.05.sh را دانلود کنید
  • برای بازگشت به 4.16.01، 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. اگر هر یک از مؤلفه‌های زیر را روی گره برگردانید، همه آنها را حذف کنید: سرور مدیریت، روتر، پردازشگر پیام، سرور Qpid یا سرور Postgres:
      > apigee-service edge-gateway uninstall
    2. اگر هر مؤلفه دیگری را در گره برگردانید، فقط آن مؤلفه را حذف نصب کنید:
      > apigee-service comp uninstall
    3. اگر روتر را به عقب برگردانید ، باید محتویات /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. ابزار و وابستگی های 4.16.01، 4.16.05 یا 4.16.09 apigee-service را نصب کنید. به عنوان مثال، برای 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 تماس بگیرید.