در مورد مفهوم ATS چیست؟ در قسمت اول مقاله صحبت کردیم. باید بدانید ATS تنها در Datastoreهای VMFS5 و VMFS6 که به تازگی ساخته شدهاند دیده میشود، ATS همیشه در Datastore مورد استفاده قرار میگیرد بنابراین میتواند در تمامی عملیات Metadata استفاده شود.
در ATS Only Flag این Flag فعال نیست اما باعث تسهیل ارتقا Volumeهای VMFS5 از VMFS3 میشود زیرا VMFS3 دارای ATS کامل نیست و در طی فرآیند ارتقا برخی Hostها ممکن است به استفاده از Reservationهای SCSI برای برخی عملیات Metadata ادامه دهند.
نمیتوان ATS Only Flag را در Volumeهای VMFS5 که از VMFS3 ارتقا یافتهاند روشن نمود. ATS Only Flag میتواند در VMFS5 جدید بطور دستی روشن یا خاموش شود. جهت روشن کردن دستی آن میتوان از گزینه زیر استفاده کرد:
# vmkfstools –configATSOnly 1 [device path]
از آنجایی که مسیر ارتقا از VMFS3 یا VMFS5 به VMFS6 وجود ندارد، این امر مشکلی برای Volumeهای VMFS6 به وجود نمیآورد.
ATS Miscompare: زمانی که ATS برای حفظ Liveness مربوط به Heartbeat در vSphere 5.5U2 معرفی شده بود، مشکلاتی به وجود آمد. هنگامی که برخی از Arrayهای ذخیرهساز شلوغ میشدند ATS Miscompare را بازپس میفرستادند. در سناریو دیگر Reservationهای LUN که درون آن VMFS قرار داشت باعث ATS Miscompare شدند. در مورد دیگر، Set مربوط به ATS به درستی به دیسک نوشته میشد اما همچنان Array یک Miscompare را بازگردانی میکرد.
اما این تمامی مشکلات مربوط به Array نمی باشد، گهگاهی شرایطی به وجود می آید که در آنها VMFS نیز یک ATS Miscompare را به نادرستی شناسایی کرده، در این حالت زمان یک Heartbeat I/O تمام شده و VMFS آن I/O را لغو می نماید، اما پیش از لغو آن، I/O (ATS “Set”) خود را به دیسک رسانده است.
جهت مشاوره رایگان و یا راه اندازی زیرساخت مجازی سازی دیتاسنتر با کارشناسان شرکت APK تماس بگیرید. |
مفهوم ATS چیست؟ زمانی که یک ATS Miscompare دریافت شود، تمامی IOهای شاخص لغو میگردند. این امر منجر به استرس و بار بیشتر بر Arrayهای ذخیرهساز گشته و عملکرد را ضعیف میکند. در vSphere 6.5، فرآیندهای استنتاجی جدیدی اضافه شدهاند تا در زمان وقوع ATS Miscompare ،VMFS دادههایOn-Disk Heartbeat را خوانده و آن را در مقابل Imageهای ATS Test و ATS Set تصدیق می کند. این امر بررسی میکند که آیا یک Miscompare واقعی وجود دارد یا خیر. اگر Miscompare واقعی باشد، لغو نمودن تمامی I/Oهای شاخص مانند قبل انجام میشود، اگر دادههای On-Disk Heartbeat تغییر نکرده باشد پس این یک Miscompare اشتباه است. درصورت وجود یک Miscompare اشتباه، VMFS IOها را فورا لغو نمینماید و بجای آن VMFS پس از یک فاصله کوتاه، که معمولا کمتر 100 میلی ثانیه می باشد، اقدام به اجرای دوباره عملیات ATS Heartbeat مینماید.
بیشتر بخوانید: VMware vSphere VMFS چیست؟ معرفی و بررسی عملکردها و قابلیت های آن – قسمت اول
بدون VAAI، یک عملیات Clone باید از درایور Data Mover نرمافزار VMkernel استفاده نماید، اگر فایلهای Cloneشده از لحاظ سایز چندین گیگابایت باشند ممکن است عملیات از چند دقیقه تا چند ساعت به طول بیانجامد. این کپی کامل از منابع Host مانند چرخههای CPU، DMA Bufferها و فرمانهای SCSI موجود در HBA Queue استفاده مینماید. این Primitive مربوط به VAAI از Array درخواست میکند تا بلاکها را از جانب Data Mover کاملا کپی کند. این امر در Clone کردن و انتقال عملیات مانند VMware vSphere Storage vMotion® کاربردی است.
به هنگام آمادهسازی یک eagerzeroedthick VMDK، یک فرمان SCSI جهت نوشتن Zeroها به بلاکهای دیسک صادر میشود، مجدد این درخواست شروع، از منابع Host مانند چرخههای CPU، DMA Bufferها و فرمانهای SCSI موجود در HBA Queue استفاده مینماید.
یکی از رایجترین عملیات در دیسکهای مجازی شروع گسترههای بزرگ دیسک با Zero هاست تا ماشینهای مجازی را ایزوله نموده و امنیت را افزایش داد. Hostهای ESXi ممکن است دستور WRITE_SAME SCSI را برای Zero کردن بخشهای بزرگی از دیسک مورد استفاده قرار دهند.
بیشتر بخوانید: بررسی و معرفی قابلیت جدید vSphere پس از انتشار ESXi hypervisor
استفاده از فرمان WRITE_SAME جهت سرعت بخشیدن برای آمادهسازی:
- عملیات Clone سازی برای دیسکهای هدف eagerzeroedthick
- اختصاص دادن بلاکهای فایل جدید برای دیسکهای مجازی Thin-Provisioned
- آغاز به کار بلاکهای فایل قبلی نانوشته برای دیسکهای مجازی zeroedthick
UNMAP: یک VAAI Primitive، UNMAP، یک ESXi Host را قادر میسازد تا به Array ذخیرهساز اطلاع دهد که فضایی که قبلا توسط یک ماشین مجازی اشغال شده بود و دیگر به یک Datastore دیگر انقال یافته و حذف شده میتواند اکنون بازیابی گردد. از این امر با عنوان Dead Space Reclamation یا بازیابی فضای مرده یاد میشود که به یک Array این قابلیت را میدهد تا به درستی گزارش فضای مصرفی یک Thin-Provisioned Datastore را تهیه نموده و همچنین کاربران را قادر میسازد تا الزامات جدید ذخیرهساز را به درستی مانیتور و پیشبینی کنند.
در مورد مفهوم ATS چیست؟ می توان گفت از زمانی که Primitive در vSphere 5.0 معرفی شد مکانیزم عملیات بازیابی بطور مرتب بروزرسانی شده است. اوایل این عملیات خودکار بودند و زمانی که یک ماشین مجازی حذف شده یا از یک Datastore انتقال میافت، UNMAP فورا فراخوانده شده و فضا در Array بازیابی میشد. مشکلاتی با این رویکرد مخصوصا در بحث عملکرد و قابلیت Array در بازیابی فضا طی محدوده زمانی بهینه وجود داشت. به همین دلیل عملیات UNMAP بعدها بطور دستی انجام میشدند. با این حال با انتشار نسخه vSphere 6.5 ،UNMAP Primitive تا زمانی که Datastore اصلی با VMFS6 فرمت شود، بار دیگر خودکار شده و بطور خودکار در Volumeهای VMFS6 فعال گردید. مکانیزم خودکار UNMAP Crawler فضای مرده یا محبوس شده در VMFS Datastore اکنون بطور مداوم و در پسزمینه فعالیت میکند.
با esxcli کاربران میتوانند جزئیات دقیق تجهیزات را درباره Thin Provisioning و VAAI نشان دهند.
کاربران همچنین میتوانند Primitiveهای VAAI که توسط Array برای آن تجهیزات پشتیبانی شدهاند را نمایش دهند از جمله اینکه آیا این Array از UNMAP Primitive برای بازیابی فضای مرده پشتیبانی میکند یا خیر؟ که از آن با عنوان Delete Status میشود. فرمان esxcli دیگر که برای این اقدام استفاده میشود در زیر نشان داده شده است: