SRM, vSphere Replication ותמיכה בדיסקים משותפים

הערה: הפוסט נכתב לפני מספר חודשים (לפני שיצא vSphere 5.5) ומעודכן לגירסא 5.1. בהזדמנות אחקור מה השתנה ב-5.5.

כשאני אומר "דיסקים משותפים" אני מתכוון ל-VMDK או RDM שמחוברים לשתי מכונות וירטואליות או יותר.

בעקבות כמה שאלות ב-communities והתכתבויות פנימיות ב-VMware גיליתי כמה דברים מעניינים לגבי מה אפשר ומה אי אפשר לעשות כשרוצים להגן על מכונות כאלה.

אחת הסיבות לכך שהחלטתי לכתוב את פוסט היא שלצערי חלק מהדברים האלה לא מתועד במסמכים הרשמיים.

קצת רקע טכני:

אם תחברו דיסק (לא משנה VMDK או RDM) לשתי מכונות וירטואליות, מכונה ראשונה תידלק אבל השנייה לא תצליח בטענה שהקובץ נעול:

shared_disks_01

כך ESX מונע corruption אפשרי של מידע שבדיסק.

במקרה של clustering מכל סוג הוא זה שמטפל בעניין הנעילות ולכן כן צריך לאפשר גישה בו זמנית. ישנן שתי שיטות להשיג את זה:

1. Bus Sharing – הגדרה ברמת בקר דיסקים בכל מכונה וירטואלית:

  • עובד עם RDM מכל סוג, Virtual ו-Physical
  • VMDK חייב להיות eagerzeroed
  • חיסרון ענק של השיטה הוא שזה מונע vMotion (מה שהופך ניהול של הסביבה לסיוט)
  • אופציה יחידה אם צריכים להקים Microsoft Cluster

2. Multi-Writer flag – פרמטר שמגדירים עבור כל דיסק בכל מכונה וירטואלית:

  • עובד עם Virtual RDM בלבד
  • VMDK חייב להיות eagerzeroed
  • יכול להיות שעובד גם עם Physical RDM אבל לא נתמך רשמית
  • לא עובד עם Microsoft Cluster
  • מוגבל ל-8 hosts שמריצים מכונות עם דיסקים משותפים – זאת אומרת שאפשר לחבר יותר מ-8 מכונות כל עוד הן רצות על לא יותר מ-8 hosts

חשוב לציין שלא משנה באיזו שיטה תבחרו, יש לזה מחיר כבד, מכיוון שזה מבטל שימוש בהמון features שימושיים של vSphere, כגון Snapshots, Storage vMotion, CBT.

5.02.2014: ב-vSphere 5.1 U2 ה-snapshots כן נתמכים עם multi-writer flag.

הערה חשובה: אל תנסו להגדיר את שניהם ביחד. שילוב של שניהם גורם לבעיות רציניות (למשל, נפילת מכונות).

עכשיו, כשסיימנו את ההקדמה (שיצאה ארוכה ממה שתכננתי), נעבור לנושא של הפוסט.

אז מהן השלכות של קונפיגורציות אלה במקרה שרוצים להגן על מכונות עם דיסקים משותפים?

vSphere Replication:

לא יודע לרפלק שום קונפיגורציה שיש בה דיסקים משותפים. מתוכננת תמיכה בעתיד, אבל לא בעתיד הקרוב.

Array Based Replication:

כן תומך בכל הקונפיגורציות, אבל יש כמה מגבלות:

  • SRM יכול להגן על MSCS של שני Nodes בלבד (למרות ש-vSphere 5.1 תומך עד חמישה nodes עם Windows 2008)
  • כשמדובר בקונפיגורציית cluster-in-a-box עם shared VMDK, שני ה-nodes חייבים לשבת על אותו ESX
  • כשמדובר ב-cluster עם RDM, שני ה-nodes חייבים לשבת על שרתי ESX שונים

9/2/2015: ב-SRM 5.5 ומעלה תומכים בחמישה nodes של MS Cluster.

מקורות:

Disabling simultaneous write protection provided by VMFS using the multi-writer flag

Oracle Databases On VMware RAC Deployment Guide

Protecting MSCS and Fault Tolerant Virtual Machines

Microsoft Clustering on VMware vSphere: Guidelines for Supported Configurations

מיכאל.