پر شدن Datastore در ESXi
بحران پر شدن Datastore در ESXi؛ چرا ماشینهای مجازی قفل شده و روشن نمیشوند؟
در زیرساختهای مجازیسازی مبتنی بر VMware، فضاهای ذخیرهسازی یا همان Datastoreها رگهای حیاتی دیتاسنتر هستند. یکی از وحشتناکترین سناریوها برای ادمین شبکه، زمانی رخ میدهد که ظرفیت یک دیتاستور به ۱۰۰ درصد میرسد. در این حالت، ناگهان ماشینهای مجازی (VMs) به وضعیت تعلیق (Suspend) درمیآیند، دیگر روشن نمیشوند و حتی اجازه افزایش حجم دیسک از طریق وبکنسول را به شما نمیدهند. در این مقاله تخصصی، ابعاد مختلف بحران پر شدن Datastore در ESXi، کدهای خط فرمان عیبیابی و اشتباهات مهلکی که ادمینها در این شرایط مرتکب میشوند را بررسی میکنیم.
۱. سناریوی قفل شدن سرور هنگام پر شدن Datastore در ESXi
وقتی هارد یا استوریج اختصاص یافته به یک دیتاستور پر میشود، کمبود فضا در vmware باعث می شود ماشینهای مجازی فعال به دلیل عدم توانایی در نوشتن فایلهای لاگ و فایلهای موقت (مثل .vswp)، فریز میشوند. ادمین در اولین اقدام تلاش میکند ماشین را خاموش و روشن کند، اما ماشین دیگر روشن نمیشود و ارورهای عدم دسترسی به دیسک صادر میکند و گاها باعث روشن نشدن ماشین مجازی در esxi نیز خواهد شد.
چرا وبکنسول اجازه افزایش حجم (Extend) نمیدهد؟
زمانی که فضا کاملاً صفر شده باشد و کمبود فضا در vmware باعث می شود سیستم فایل فضای کافی برای ذخیره تنظیمات جدید ماشین (فایل VMDK) را ندارد. بنابراین گزینههای ویرایش حجم دیسک غیرفعال شده یا با خطای خروج مواجه میشوند. در این حالت، ریشه اصلی مشکل یعنی خطای پر شدن Datastore در ESXi باید مستقیماً از لایه زیرین برطرف شود. برای حل این مشکل، ادمینها گاهی سراغ پاک کردن فایلهای دیگر میروند که بدون شناخت دقیق ساختار VMFS، این کار بازی با آتش است!
۲. کلاف سردرگم: دلایل اصلی پر شدن Datastore در ESXi چیست؟
بسیاری از مدیران شبکه تعجب میکنند که چرا با وجود محاسبه دقیق حجم ماشینها، دیتاستور ناگهان پر شده است. دو عامل اصلی و مخفی در شکلگیری بحران پر شدن Datastore در ESXi نقش دارند:
- اسنپشاتهای فراموششده (Unconsolidated Snapshots): هر اسنپشات مانند یک بمب ساعتی است که روزانه حجمش افزایش مییابد و تا زمانی که Consolidated نشود، فضا را آزاد نمیکند.
- فایلهای دیسک غوغا (Thick vs Thin Provisioning): استفاده غیراصولی از دیسکهای Thin باعث میشود ماشینها به مرور زمان رشد کنند و ناگهان کل استوریج را خفه کنند.
۳. چرا دستورات ساده CLI در شرایط پر شدن Datastore در ESXi خطرناک هستند؟
وقتی وبکنسول قفل است، تنها راه زنده کردن استوریج، ورود به لایه SSH و استفاده از دستورات خط فرمان مانند سری esxcli storage یا ابزارهای مدیریت فایل سیستم VMFS است. اما اجرای کورکورانه دستورات فرومهای خارجی بدون بررسی وضعیت جفتشدن دیسکها (Locking)، میتواند کلاستر شما را دچار ناهماهنگی دیتابیسی کند؛ شرایطی که در آن هاردها سالم هستند اما دیتا کاملاً غیرقابل خواندن میشود!
۴. تلاش برای حل مشکل پر شدن Datastore در ESXi از طریق خط فرمان (CLI)
زمانی که وبکنسول کاملاً قفل شده است، ادمینهای باذکاوت سریعاً از طریق پروتکل SSH به هاست متصل میشوند تا با استفاده از کدهای دستوری زیر وضعیت را بررسی کنند:
- بررسی میزان دقیق پر شدن هاردها:با اجرای دستور زیر میتوانید ببینید کدام پارتیشنها یا دیتاستورها به مرز ۱۰۰٪ رسیدهاند:
df -h - لیست کردن دیسکها و مسیرهای ارتباطی (Storage Paths):برای اینکه متوجه شوید آیا مسیر ارتباطی هاست با استوریج قطع شده (APD) یا دستگاه کاملاً قفل کرده است:
esxcli storage core path list - پیدا کردن فایلهای حجیم و زائد (مانند ISOها):برای جستجو و پیدا کردن فایلهای سنگینی که شاید فراموش شدهاند و فضا را اشغال کردهاند، ادمینها معمولاً به مسیر دیتاستور رفته و دستور زیر را میزنند:
find . -type f -size +10G
⚠️ هشدار جدی مدیریتی:
شناسایی فضا با این دستورات ساده است، اما چالش اصلی اینجاست که در یک دیتاستور ۱۰۰٪ پر شده، سیستم فایل VMFS به هاست اجازه هیچگونه جابهجایی یا حذف ایمن را نمیدهد. رفتن به مسیر فایلهای .vmdk و استفاده از دستورات حذفی مثل rm -rf بدون داشتن ساختار دقیق فایلهای اسنپشات (Delta Disks)، به معنای نابود کردن کل دیتای ماشین مجازی و عدم بازگشت آن خواهد بود!
آیا دیتاستور شما پر شده و ماشینهای حیاتی سازمان روشن نمیشوند؟
آزاد کردن فضا در محیط دیتاستورهای قفلشده و جراحی فایلهای VMDK بدون از دست رفتن اطلاعات، نیاز به تجربه میدانی عمیق و تسلط کامل به ابزارهای CLI در شرایط بحران دارد. کوچکترین خطا در حذف فایلهای موقت، میتواند منجر به نابودی دائمی ساختار کلاستر شود. پیش از انجام هرگونه آزمون و خطای پرخطر، کار را به متخصص بسپارید.
همچنین برای پشتیبانی شبکه اینجا کلیک فرمایید.
سوالات کلیدی در عیبیابی خطای پر شدن Datastore در ESXi
۱. آیا حذف مستقیم فایلهای vmdk از طریق دستور rm -rf در محیط SSH ایمن است؟
خیر، بههیچوجه! حذف تهاجمی فایلهای دیسک بدون بررسی وضعیت زنجیره اسنپشاتها (Delta Disks) باعث نابودی دائمی و غیرقابل بازگشت کل اطلاعات ماشین مجازی خواهد شد.
۲. چطور بفهمیم کدام دیتاستورها یا پارتیشنهای هاست به مرز ۱۰۰٪ رسیدهاند؟
زمانی که وبکنسول کاملاً قفل شده است، باید از طریق پروتکل SSH به هاست متصل شده و با اجرای دستور df -h میزان دقیق فضای پر شده را بررسی کنید.
۳. علت قطع شدن مسیر ارتباطی هاست با استوریج (APD) در این بحران چیست؟
وقتی فضا کاملاً صفر میشود، دستگاه گاهی قفل کرده یا ارتباطش قطع میشود. برای عیبیابی این مسیرها میتوانید از دستور esxcli storage core path list استفاده کنید.
