סקירה כללית #
מטרת מאמר זה היא להסביר כיצד להפוך אפליקציית CRM, קריטית לחברה כמו Odoo , לגמישה במיוחד. כמו כן, כיצד להגדיר אותה בזמינות גבוהה על מנת להיות סובלנית לכשלים, וכיצד לחזק את אבטחת הגישה אליה.
מהו זמינות גבוהה? #
זמינות גבוהה היא איכות של מערכת או רכיב המבטיח רמה גבוהה של ביצועים תפעוליים, בדרך כלל uptime, לתקופה גבוהה מהרגיל.
מה זה אודו? #
Odoo (הידוע גם כ- OpenERP ) היא תוכנת קוד פתוח לעסקים המשלבת את כל צרכי העסק, כולל CRM, חיוב, חשבונאות, אתרי אינטרנט, ניהול מחסן ופרויקטים, ייצור, מלאי ועוד!
מגדיר RELIANOID טען איזון #
עם RELIANOID איזון עומסים אנו יכולים להבטיח זמינות גבוהה ולהכין עבור מדרגיות המונית Odoo על ידי ביצוע השלבים הבאים.
שים לב שכדי לבצע את ההוראות האלה יהיה צורך להתקין מופע של RELIANOID טען איזון ומספר מקרים של Odoo יישומים. בנוסף, חשוב מאוד שה- פוסטגרסל משוכפלים ביניהם, כדי להבטיח עקביות.
הסביבה אותה אנו מתארים במאמר זה מוצגת להלן.

שלב 1: צור כתובת IP וירטואלית #
נדרשת יצירת IP וירטואלי במאזנת העומסים מכיוון שזו תהיה נקודת הכניסה אליו Odoo שירותים. בדוגמה שלנו יהיו לנו שני Odoo שרתים אמיתיים, אבל אתה יכול לכלול כמה שאתה צריך ללא כל הגבלה. כדי ליצור כתובת IP וירטואלית חדשה, מתוך RELIANOID תפריט ראשי של LB, בחר הגדרות-> ממשקים.

מצא את הממשק הפיזי שבו ברצונך ליצור כתובת IP וירטואלית ותחת " פעולות" לחץ על הכפתור " הוסף ממשקי רשת וירטואליים".

הקלד את הכתובת ומסיכת הרשת של ה-IP הווירטואלי החדש שלך, היא חייבת להיות באותה רשת משנה כמו ההתקן הפיזי. שמור אותה על ידי לחיצה על כפתור שמור ממשק וירטואלי.

שלב 2: יצירת חוות http #
חווה היא אוסף של שרתי מחשב המספקים פונקציונליות של שרת, מה שמגדיל משמעותית את יכולתו. לכן, על ידי הקמת חווה של שרתי Odoo , נגדיל את הביצועים והמדרגיות שלה, החיוניים לזמינות גבוהה. על מנת להשיג זאת, עבור אל ניהול->חוות.

לחצו על הוסף חווה חדשה ובחלון החדש, בחרו שם ו- HTTP כפרופיל. אנו בוחרים פרופיל HTTP מכיוון שזו האפשרות הטובה ביותר עבור שירותי אינטרנט והוא נדרש לנתח את תוכן האפליקציה על מנת לספק התמדה ברמת האפליקציה.

יוצגו שתי אפשרויות נוספות. בחר את כתובת ה-IP הווירטואלית שנוצרה בשלב 1 ופורט (בדוגמה בחרנו 80, מכיוון שזוהי ברירת המחדל עבור פרוטוקול HTTP) ולחץ על כפתור שמור.

למידע נוסף על חוות, אנא עיינו ב- Manage::farms.
שלב 3: הוסף את השירות #
לאחר יצירת החווה, עלינו לערוך אותה על מנת להוסיף שירות חדש. אנא לחצו על הכפתור " ערוך חווה".

כמה פרטים של החווה ניתן לערוך, עכשיו אנחנו הולכים לשמור את ערכי ברירת המחדל ולהוסיף שירות חדש.

בצילום המסך למעלה, מצא את הקטע "הוסף שירות" , הקלד את שם השירות ולחץ על "הוסף".

לעת עתה, נשאיר את ערכי ברירת המחדל ונוסיף רק את השרתים האחוריים שבהם יפעלו שירותי Odoo האמיתיים. מצא את מקטע השרתים האחוריים ולחץ על כפתור הוסף שרת אמיתי.

כלול את כתובות ה-IP והפורטים של שירותי Odoo (ברירת המחדל 8069 עבור שירותי Odoo), את הזמן הקצוב ואת המשקל ולחץ על שמור שרת אמיתי.

נדרש כדי למנוע מעבר בין שרתים: אם במהלך הסשן שלנו נקפוץ משרת אחד למשנהו, תהיה אובדן יעילות, נתונים ואפילו תקשורת. על מנת למנוע התנהגות זו, יש להגדיר את האפשרות Persistence session . נבחר לשמור על סשן לפי מזהה סשן, כלומר במהלך סשן נתחבר לשרת אחד בלבד.
בפרמטרים הגלובליים של השירות נוכל כעת לשנות את שדה ה-persistence session ל- COOKIE: קובץ cookie מסוים וללחוץ על Modify.

הכנס session_id כמזהה session persistence ולחץ על Modify.

לבסוף, עלינו להחיל את השינויים על ידי הפעלה מחדש של החווה.
![]()
מזל טוב! הגדרת את Odoo בזמינות גבוהה. ניתן לגשת אליו על ידי הקלדת http://[VIRTUAL_IP]:[PORT] (בדוגמה שלנו http://192.168.56.200 ).
שלב 4: בדיקה רפואית מתקדמת #
כעת נגדיר את Farm Guardian על מנת לבצע בדיקות תקינות מתקדמות לשרתים האחוריים, ולוודא שהם פועלים והתנהגותם נכונה של היישום, ולא רק בדיקת פורט TCP. אנא אתר את Farm Guardian בתוך שירות Odoo שהגדרנו בשלב 3. לחץ על Use FarmGuardian to check Backend Servers , תוכל גם לשנות את הזמן בין הבדיקה ולבסוף, בתיבת הטקסט Command to check , הקלד את הפקודה הבאה:
check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s ' '
לבסוף, לחצו על שינוי.

הפקודה check_http בודקת חיבורי HTTP עם המארח שצוין. במקרה שלנו, אנו משתמשים באפשרויות הבאות:
-אני מארח: HOST HOST יוחלף על ידי כתובת ה- IP של ה- backend שהוגדרה.
-w 10: זמן תגובה שיביא למצב אזהרה: 10 שניות
-C 10: זמן תגובה למצב קריטי: 10 שניות
-10: 10 שניות לפני חיבור פעמים
-ה 200: מצפה מחרוזת 200 במעמד של תגובת השרת
-P פורט: ה- PORT של האסימון יוחלף ביציאה backend שהוגדרה.
-ש ' ': מחרוזת לצפות בתוכן היא ' '
בדיקת תקינות מתקדמת זו מבטיחה שנקבל תשובת 200 אישור מהשרתים האמיתיים ופקודת התגובה מכילה את המחרוזת ' '. אנו בוחרים מחרוזת זו מכיוון שהיא נמצאת בסוף התגובה, כך אנו יכולים להבטיח שנקבל תשובה נכונה מיישום ה- backends.
שלב 5: אבטחה גבוהה #
Odoo אינו מספק ערוץ מאובטח לתקשורת אינטרנט, אך אנו יכולים להשיג זאת בקלות RELIANOID טען איזון כמוצג להלן.

עלינו להגדיר מאזין HTTPS: במסך עריכת פרמטרים גלובליים של חווה , אנא שנה את מאזין החווה מ-HTTP ל-HTTPS ואת היציאה הווירטואלית ל-443.

בשלב זה, ניתן לגשת ל- Odoo על ידי הקלדת https://[VIRTUAL_IP] בדפדפן שלך.
תקשורת מאובטחת פועלת כעת, אך נוכל להמשיך הלאה על ידי הגדרת צפני HTTPS: בתוך הפרמטרים הגלובליים של החווה, אתר את הקטע הגדרות HTTPS . נוכל לשנות את הצפנים ל- HIGH Security.

שדה הצפנים משמש לבניית רשימה של צפנים המקובלים על ידי שרת ה-HTTPS על מנת להקשיח את חיבור ה-SSL. על ידי בחירת אבטחה גבוהה , נגדיר כברירת מחדל את הצפנים.
kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED
אפשרות נוספת היא אישורי HTTPS הזמינים : תוצג רשימה של אישורים שנבחרו עבור החווה הנוכחית (רק עבור חוות HTTP, וזה המקרה שלנו). נוכל לבחור אחד מהרשימה וללחוץ על הוסף . לבסוף, לחצו על שנה והפעילו מחדש את החווה כדי להחיל את השינויים.
לבסוף, ניתן להשתמש בתעודת zencert.pem כדי לבדוק את מאזין ה-HTTPS, אך חשוב להשתמש בתעודת SSL משלכם.
למידע נוסף, אנא עיינו בחוות פרופילי HTTP.
שלב 6: בסיס האינטרנט של Odoo #
Odoo בונה את כתובת האתר תוך התחשבות בהגדרה שלה web.base.url. אם נגיע דרך RELIANOID איזון עומסים נראה את כתובת ה- URL לעבור לכתובת האתר של ה- backend. מכיוון שהגדרנו תקשורת מאובטחת באמצעות HTTPS, הדבר עלול להוות בעיה ויכולנו לנווט רק אל ה- Odoo כתובת אתר בסיסית. כדי למנוע זאת, עלינו להגדיר את web.base.url פרמטר בכל אודו שרת.
כדי להשיג זאת, לגשת לכל backend, ועל הפאנל השמאלי, ללכת טכני >> פרמטרים >> פרמטרי מערכת ולשנות את web.base.url אל ה RELIANOID טען איזון IP וירטואלי ויציאה שנבחרו עבור החווה odoo. בדוגמה שלנו יהיה https: // 192.168.56.200, או אפילו טוב יותר, https://odoo.mycompany.com.

ייתכן שהתכונות הטכניות מושבתות. אם זהו המקרה, האפשרויות הטכניות לא יהיו זמינות. כדי לפתור זאת, בחר משתמשים >> משתמשים , ערוך את המשתמש הנוכחי והפעל את האפשרות תכונות טכניות תחת שימושיות.
שלב 7: אודו filestore #
ישנן מספר אפשרויות כדי להגדיר את filestore ב זמינות גבוהה.
1. בכל backend, נוכל להרכיב אחסון משותף ולקבוע את התצורה של הנתיב המקומי דרך הפרמטר ir_attachment.location תחת הקטע הגדרות >> טכני >> פרמטרים >> פרמטרי מערכת.
2. אם אין לנו יחידה לספק זמינות גבוהה של המשאב המשותף עבור מאגר הקבצים, נוכל להשתמש RELIANOID ליצור אותו עבור א NFS (רשת קבצים מערכת) שירות על מנת להיות מותקן בכל backend. כאשר שירות זה משתמש ביציאות TCP ו- UDP, אנו יכולים ליצור L4xNAT דרך כל היציאות תחת כתובת IP וירטואלית מסוימת, אשר תשמש להגדרת התצורה באופן אוטומטי בזמן האתחול / etc / fstab קובץ.
3. אפשרות נוספת היא להגדיר SSHFS המשתמש בשירות SSH מאובטח לשימוש במערכת קבצים משותפת מרחוק. מכיוון ששירות SSH משתמש בפורט TCP 22 כברירת מחדל, ניתן לאזן עומסים באמצעות L4xNAT ללא דאגה, בדומה למקרה של NFS.
תלוי אם יש צורך ליצור משאב חנות קבצים משותף פעיל-פעיל או פעיל-פסיבי, יהיה צורך בשכפול או סנכרון של הקבצים.
למרות שנושא זה אינו מתחום המאמר, הוא יטופל במאמר ייעודי.
כעת, התהליכים והפעולות העסקיות שלך מוכנים להרחיב את הגדרת Odoo בזמינות גבוהה עם RELIANOID, תהנה!