در این مطلب قصد داریم به بررسی قابلیت VVOL در زیرساخت VMware vSphere بپردازیم و علاوه بر معرفی این تکنولوژی، نحوه عملکرد آن را نیز شفاف سازی کنیم.
VVOL یا Virtual Volume چیست؟
استفاده از تکنولوژی VVOL یا Virtual Volume، روش جدیدی در ذخیره سازی فایل های مربوط به ماشین مجازی، در زیرساخت مجازی مبتنی بر VMware vSphere است، قبل از اینکه VVOL را تعریف کنیم اجازه بدهید نگاهی به اجزای تشکیل دهنده VVOL داشته باشیم، VVOL از مفاهیمی است که درک آن پس از شناخت اجزای آن راحت تر صورت خواهد گرفت.
اجزای فوق با کمی دخل و تصرف** که در ادامه به آن اشاره خواهد شد و برای فهم بیشتر مطلب ایجاد شده است، عبارتند از:
1.VM files
2.Storage Container
3.SPBM
4.Virtual datastore
5.Protocol Endpoint
1. فایل های Virtual machine
یک ماشین مجازی یا Virtual machine معمولا متشکل از فایل های زیر است:
VMDK یا دیسک ماشین مجازی
Snapshot files که خود به صورت vmdk هستند
vmem یا فایل مربوط به اسنپ شات مموری ماشین مجازی که در هنگام ایجاد اسنپ شات باید انتخاب شود
Vswp یا فایل مربوط به swap ماشین مجازی که به صورت خودکار پس از روشن شدن ماشین ایجاد میشود
VM Home یا فایل هایی به غیر از فایل های فوق از قبیل vmx یا configuration file و descriptor های مربوط به دیسک و همچنین لاگ فایل ها
در تکنولوژی VVOL بستری به نام دیتااستور که از قبل وجود داشته و فرمت شده باشد موجود نیست و راه حل دیگری برای ذخیره سازی فایل های ماشین مجازی مورد استفاده قرار خواهد گرفت که دقیقا موضوع این مطلب است و پس از معرفی اجزای مختلف تکنولوژی VVOL به آن خواهیم رسید.
**دخل وتصرف ذکر شده، مربوط به همین بخش می باشد، چرا که فایل های ماشین مجازی از اجزای اصلی VVOL نیستند ولی به دلیل اینکه یکی از اصلی ترین عملیات های VVOL روی همین فایل ها و نحوه ذخیره سازی آنها صورت میگیرد، به منظور جامعیت مقاله در اجزای اصلی ذکر شده اند.
2.Storage Container
فضایی است که در سمت استوریج ایجاد میشود و زیرساخت را برای ایجاد VVOL ها فراهم میکند.
SC یا Storage Container از قبل فرمت شده نیست و همانند Pool ها فقط معنای Logic ی یا منطقی دارد و حاوی RAW space یا دیسک خام است.
هر SC میتواند نمایانگر قابلیت یا Capibility های سمت استوریج باشد. به عنوان مثال استوریجی را در نظر بگیرید که دارای قابلیت های زیر باشد:
Auto Tier Storage; FAST Cache; Space Efficiency, Thin
یک SC میتواند تمام یا بخشی از این قابلیت ها را داشته باشد و آنرا توسط API به وی سنتر معرفی کند.
برای معرفی این قابلیت ها از یک API به نام VASA یا vSphere APIs for Storage Awareness استفاده میشود که برای اضافه کردن آن باید از منوی زیر اقدام کنید:
Vcenter-> Configure -> Storage Providers
ارایه این قابلیت یا Capability ها از سمت استوریج به vCenter باعث میشود ما بتوانیم با استفاده از پالیسی هایی که توسط SPBM ایجاد میکنیم به ازای ایجاد فایل های مربوط به هر VM از تمام یا بخشی از این قابلیت ها استفاده کنیم.
3.SPBM
همانطور که می دانیم SPBM یا Storage Policy Based Management امکانی است که توسط آن میتوانیم پالیسی های مورد نیاز خود را در زمان ایجاد VM به آن اعمال کنیم.این پالیسی ها میتوانند هر یک از موارد زیر و یا امثال آنها باشند.
Auto Tier Storage; FAST Cache; Space Efficiency, Thin
از این قابلیت قبلا در VSAN هم استفاه کرده ایم و دیده ایم که به راحتی و به صورت on the fly میتوان استوریج پالیسیِ مربوط به یک VM را تغییر داد.
4.Virtula Datastore
Virtual Datastore ها مفهوم دیگری هستند که نیاز است با آنها آشنا شویم. Virtual datastore ها در واقع همان دیتااستورهایی هستند که ما در هنگام ایجاد دیتااستورهایی با نام VVOL با آنها اشنایی داریم و به عملیات map کردن یک SC یا Storage Container به یک دیتااستور قابل مدیریت در زیرساخت مجازی، ایجاد virtual datastore میگویند.
حالا وقت آن است که به معرفی VVOL بپردازیم:
روش جدیدی که برای نگهداری فایل های مربوط به هر VM از آن استفاده می شود، مفهوم جدیدی است به نام VVOL یا Virtual Volume
VVOL ها object هایی هستند که روی فضای SC یا Storage Container قرار میگیرند و فایل های هر ماشین مجازی که در بالا معرفی شدند، درون آنها encapsulate می شوند.
VVOL ها نیز از قبل ایجاد شده نیستند و به ازای ایجاد عملیات هایی که روی هر VM انجام میشود، ایجاد میشوند. این عملیات میتواند VM creation, cloning و Snapshotting باشد. همانطور که گفتیم هر VM بسته به نوع فایل های آن میتواند متشکل از یک یا چند VVOL باشد.
هرVVOL دارای یک GUID می باشد که توسط آن شناسایی میشود.
5.Protocol Endpoints:
یکی دیگر از اجزا که در این قسمت باید به آن اشاره شود Protocol endpoint ها هستند. نکته ای که باید در اینجا به آن اشاره کرد این است که VVOL ها به صورت مستقیم برای ESXi و vCenter قابل دسترسی نیستند و اتصال به آنها از طریق اجزای جدیدی به نام PE یا Protocol endpoint امکان پذیر میشود.
Protocol endpoint ها در زمان map کردن Storage Container ها یا همان ایجاد virtual datastore ها به vCenter و esxi معرفی میشوند.
Protocol endpoint ها میتوانند هم به وسیله هرنوع استوریج با هر Underlying Protocol مانند FC یا FCOE یا iSCSI و حتی NFS ایجاد شوند و این نشان میدهد که در صورتی که استوریج از قابلیت VVOL پشتیبانی کند مهم نیست که SAN باشد و یا NAS و تمامی استوریج ها در این زمینه ساپورت میشوند.
Protocol endpoint ها در صورتی که توسط پروتکل های SCSI based مثل FC یا FCOE و یا iSCSI ارایه شوند مانند یک proxy LUN در قسمت storage devices نمایش داده میشوند و در صورتی که با پروتکل nfs ارایه شوند همانند یک Shared mount point خواهند بود.
Protocol endpoint به عنوان IO proxy استفاده میشود و esxi از آن برای ایجاد data path بین VM و دیسک آن استفاده میکند. یک PE میتواند به صدها یا هزاران VVOL متصل شود.
به صورت کلی با مفاهیمی که تاکنون به آنها اشاره کردیم میتوان گفت:
Virtual Volume ها بر روی Storage Containerها ایجاد میشوند و توسط Protocol Endpoint ها در دسترس زیرساخت مجازی قرار میگیرند. به ازای هر VVOL میتوان از پالیسی جداگانه ای استفاده کرد که در بخش SPBM ایجاد شده است و همچنین به دیتااستوری که با map کردن یک Storage Container و معرفی قابلیت های آن به زیرساخت مجازی ایجاد میشود نیز virtual datastore میگویند.
مزایای VVOL
از جمله مزایای استفاده از VVOL میتوان به موارد ذیل اشاره کرد:
- استفاده بهینه از فضا به دلیل استفاده از provisioning در سطح VM
- تغییر پالیسی اختصاص داده شده به هر VM به صورت on the fly
- ایجاد پالیسی به ازای هر VM و مشخص کردن نوع سرویس ها برای آن VM خاص
- ذخیره سازی فایل های VM به صورت Object در داخل VVOL ها و قابلیت فراخوانی توسط API
- قابلیت ایجاد خودکار VM ها در نرم افزارهای Automation
- سازگاری بسیار بالاتر با محیط رایانش ابری
محصولات و قابلیت های سازگار با VVOL
در بخش بعدی نگاهی خواهیم داشت به محصولاتی که سازگار با این تکنولوژی هستند:
لیست زیر محصولاتی هستند که به صورت کامل با VVOL سازگاری دارند عبارتند از:
- محصول VMware vSphere 6.x
- محصول VMware vRealize Automation 6.x
- محصول VMware Horizon
- محصول VMware vSphere Replication
- محصول VMware vCloud Director for Service Provider
از طرفی باید بدانیم هنوز برخی محصولات شرکت VMware به صورت کامل VVOL را پشتیبانی نمی کنند و اگر در بستر ما محصولات زیر وجود دارد، می بایست در هنگام ذخیره سازی داده های مربوط به آنها همچنان از دیتااستورهای Legacy استفاده کنیم.
لیست زیر محصولاتی هستند که به صورت کامل با VVOL سازگاری ندارند عبارتند از:
- محصول VMware vRealize Operations Manager
- محصول VMware Site Recovery Manager
- نسخه های قدیمی تر از 8 محصول VMware vCloud Director for Service Provider
- محصول VMware vCloud Director
نکته ای که باید به آن توجه کنیم این است که قبل از استفاده از VVOL باید بدانیم کدام یک از قابلیت هایی که هم اکنون در زیرساخت VMware vSphere از آن استفاده می کنیم، با VVOL ساز گاری دارد
لیست قابلیت هایی که در حال حاضر با این محصول سازگاری دارد به ترتیب ذیل می باشد:
- High Availability (HA)
- Linked Clones
- Native Snapshots
- NFS version 3.x
- Storage Policy Based Management (SPBM)
- Storage vMotion
- Thin Provisioning
- View Storage Accelerator/Content Based Read Cache (CBRC)
- vSAN
- vSphere Auto Deploy
- vSphere Flash Read Cache
- vSphere Software Development Kit (SDK)
- vSphere API for I/O Filtering (VAIO)
- vMotion
- xvMotion
و همچنین برخی از قابلیت های محصول vSphere با VVOL سازگاری ندارند که لیست آنها به شرح ذیل می باشد:
- Fault Tolerance (FT)
- IPv6
- Microsoft Failover Clustering
- NFS version 4.1
- Raw Device Mapping (RDM)
- SMP-FT
- Storage Distributed Resource Scheduler (SDRS)
- Storage I/O Control
برای اطلاع از آخرین تغییرات مربوط به سازگاری محصولات مختلف می توانید به سایت VMware Interoperability مراجعه کنید.