نظرات اخیر

    کنترل کننده های ذخیره سازی در VMware vSphere

    کنترل کننده های ذخیره سازی

    برای دسترسی به دیوایس های مبتنی بر بلاک (مانند دیسک های مجازی، CD/DVD-ROM)، و همچنین دیوایس های SCSI عمومی، یک ماشین مجازی ، از کنترل کننده های ذخیره سازی استفاده می کند، که در زمانی که ماشین مجازی را ایجاد می کنید به صورت پیش فرض حداقل به یکی از این کنترل کننده ها اضافه شده است و نوع آن بستگی به نوع سیستم عامل میهمانی که انتخاب کرده اید دارد. زمانی که در creation wizard هستید می توانید تغییرات متعددی انجام دهید.

    سپس، بعد از ایجاد ماشین مجازی، می توانید کنترل کننده های بیشتری را به آن اضافه کنید ( در بعضی مواقع حتی می توانید آن ها را hot-add کنید) یا نوع کنترل کننده را تغییر دهید ( به صورت hot-add نمی شود).

    تکنولوژی کنترل کننده ذخیره سازی چگونه کار می کند؟

    کنترل کننده های ذخیره سازی برای یک ماشین مجازی ، به صورت انواع مختلف کنترل کننده های مبتنی بر بلاک ظاهر می شوند.

    بیشتر آن ها مبتنی بر SCSI (یا SAS) هستند شامل BusLogic Parallel، LSI Logic Parallel، LSI Logic SAS، و VMware Paravirtual SCSI.

    ولی همچنین کنترل کننده هایی مبتنی بر AHCI، SATA، و NVMe نیز با اهداف و مصارف متفاوت وجود دارند.

    استفاده از اکثر کنترل کننده ها برای مدیریت کردن صف برای درخواست I/O مزیت هایی دارند و برای دیسک های مجازی به خصوص یا ماشین های مجازی که نیاز به کارایی بیشتری دارند می توانند مفید باشند( شاید استفاده از کنترل کننده های PVSCI یا NVMe).

    هر ماشین مجازی می تواند حداکثر دو کنترل کننده ی IDE، چهار کنترل کننده ی SCSI، چهار کنترل کننده ی SATA، و چهار کنترل کننده ی NVMe داشته باشد. برای هر نوع کنترل کننده، کنترلر شماره 0، کنترل کننده ی پیش فرض است.

    زمانی که یک ماشین مجازی می سازید، اولین هارد دیسک به کنترل کننده ی پیش فرض 0 در نود باس (0:0) انتصاب داده شده است.

    زمانی که کنترل کننده های ذخیره سازی را اضافه می کنید، به صورت پشت سر هم 1، 2، و 3 شماره گذاری شده اند. اگر یک هارد دیسک، SCSI یا CD/DVD-ROM بعد از ایجاد ماشین مجازی به آن اضافه کنید، دیوایس به  اولین نود دیوایس مجازی موجود در کنترل کننده ی پیش فرض انتصاب داده شده است، برای مثال (0:1) در صورتی که تنها یک دیسک مجازی OS داشته باشید.

    سازگاری کنترل کننده ی ذخیره سازی

    نوع کنترل کننده ها نه تنها به سخت افزار مجازی و سیستم عامل میهمان بستگی دارد، بلکه به این که بوت مد ماشین مجازی چگونه پیکربندی شده است نیز بستگی دارد.

    توجه کنید که اضافه کردن انواع متفاوت کنترل کننده های ذخیره سازی به یک ماشین مجازی که از بوت مد BIOS استفاده می کند می تواند اشکالاتی در بوت سیستم عمل کننده بوجود بیاورد.

    در موارد زیر، ماشین مجازی ممکن است نتواند به درستی بوت شود و ممکن است نیاز باشد که وارد تنظیمات BIOS شوید و دیواس بوت درست را انتخاب کنید:

    • اگر ماشین مجازی از LSI Logic SAS یا VMware Paravirtual SCSI بوت می شود و شما یک دیسک که از کنترل کننده های BusLogic، LSI Logic، یا AHCI SATA استفاده می کند را اضافه کنید.
    • اگر ماشین مجازی از AHCI SATA بوت می شود و شما کنترل کننده های BusLogic Parallel یا LSI Logic را اضافه کنید.

    برای اطلاعات بیشتر جدول مقابل را مشاهده کنید:

    کنترل کننده های ذخیره سازی

    توجه کنید که ماشین های مجازی با مد بوت EFI تاثیری نپذیرفته اند.

     

    تغییر دادن پیکربندی کنترل کننده

    برای یک ماشین مجازی می توانید نوع کنترل کننده ی SCSI را مشخص کنید و نوع SCSI bus sharing را تنظیم کنید.

    همچنین می توانید یک دیسک مجازی را به یک کنترل کننده ی دیگر یا نوع دیگری کنترل کننده متصل کنید.

    انتخاب نوع یک کنترل کننده ی SCSI تاثیری روی دیسک مجازی شما روی یک IDE یا دیسک SCSI نمی گذارد. اداپتور IDE همیشه ATAPI است و پیش فرض برای سیستم عامل میهمان شما از قبل انتخاب شده است.

    ولی تغییر نوع کنترل کننده بعد از اینکه سیستم عامل میهمان نصب شده است دیسک و دیگر دیوایس های متصل به اداپتور را غیر قابل دسترس خواهد کرد.

    قبل از اینکه نوع کنترل کننده را تغییر دهید یا یک کنترل کننده ی جدید اضافه کنید، مطمئن شوید که مدیای نصب سیستم عامل میهمان درایور های مورد نیاز را دارد. در سیستم عامل های میهمان ویندوز، درایور باید به عنوان درایو بوت پیکربندی و نصب شود.

    محدودیت های کنترل کننده ی ذخیره سازی

    کنترل کننده های ذخیره سازی محدودیت ها و نیازمندی های زیر را دارد:

    • LSI Logic SAS و VM Paravirtual SCSI برای ماشین های مجازی با سازگاری ESXi 4.x و یا جدیدتر در دسترس هستند.
    • AHCI SATA تنها برای ماشین های مجازی با سازگاری ESXi 5.5 و جدیدتر در دسترس است.
    • NVMe تنها برای ماشین های مجازی با سازگاری ESXi 6.5 و جدیدتر در دسترس است.
    • دیسک ها در کنترل کننده های VM Paravitual SCSI اگر snapshots داشته باشند و یا حافظه ی هاست بیش از حد پر شده باشد ممکن است به کارایی بهینه ی خود دست نیابند.
    • IDE امکان hot-add کردن دیسک یا فضای دیسک را فراهم نمی کند.
    • کنترل کننده های BusLogic Parallel با دیسک های مجازی بزرگتر از 2 ترابایت پشتیبانی نمی شوند.

    حداکثر تعداد دیسک ها به نوع کنترل کننده بستگی دارد، در حقیقت می توانیم موارد زیر را داشته باشیم:

    • حداکثر 4 دیسک مجازی در کنترل کننده های IDE
    • حداکثر 60 دیسک مجازی در کنترل کننده های SCSI/SAS (تا حداکثر 4 کنترل کننده)
    • حداکثر 256 دیسک مجازی در کنترل کننده های PVSCI (تا حداکثر 4 کنترل کننده) در vSphere 6.7
    • حداکثر 60 دیسک مجازی در کنترل کننده های NVMe (تا حداکثر 4 کنترل کننده)
    • حداکثر 120 دیسک مجازی و/یا دیوایس های CDROM در کنترل کننده های SATA (تا حداکثر 4 کنترل کننده)
    • معمولا، یک دیسک مجازی به تنهایی می تواند تا 62 ترابایت با مقداری محدودیت داشته باشد

    (https://vinfrastructure.it/2017/02/jumbo-disk-vmware-esxi/را ببیند).

    کنترل کننده ی شبیه سازی شده ی SCSI

    خیلی از کنترل کننده های مجازی به صورت پیش فرض بسته به سیستم عامل میهمان یک کنترل کننده ی SCSI دارند. اگر یک ماشین مجازی که بسیار لود زیادی روی آن است با تعداد متعددی هارد دیسک دارید، می توانید تا 3 کنترل کننده ی SCSI را به آن اضافه کنید تا دیسک ها را به آنها انتصاب دهید. وقتی که دیسک ها را بین کنترل کننده ها پخش می کنید، می توانید کارایی را بالا برده و از ازدحام ترافیک داده جلوگیری کنید. همچنین اگر از محدودیت 15-دیوایس برای یک کنترل کننده رد کردید می توانید کنترل کننده های اضافه تر را اضافه کنید.

    اگر یک کنترل کننده ی SCSI اضافه کنید، می توانید یک هارد دیسک یا دیوایس موجود و یا جدید را به آن انتصاب دهید. برای مثال، می توانید دیوایس را به (1:z) انتصاب دهید، که در آن 1 کنترل کننده ی SCSI شماره 1  و z یک نود دیوایس مجازی از 0 تا 15 است. برای کنترل کننده های SCSI، z نمی تواند 7 باشد. به صورت پیش فرض کنترل کننده ی مجازی SCSI به نود دیوایس مجازی (z:7) انتصاب داده شده است، پس این نود دیوایس برای هاردیسک یا دیگر دیوایس ها در دسترس نیست.

    کنترل کننده ی SCSI paravirtualized

    کنترل کننده های VM Paravirtual SCSI کاملا مشابه کنترل کننده های شبیه سازی شده ی SCSI هستند(یک نوع از کنترل کننده های SCSI هستند)، اما برای محیط هایی از جمله محیط های SAN، که در حال اجرای اپلیکشن های I/O-intensive هستند مناسب ترین گزینه هستند.

    می توانید یک کنترل کننده ی ذخیره سازی با کارایی بالای VMware Paravirtual SCSI را به یک ماشین مجازی اضافه کنید تا توان عملیاتی بالاتر و مصرف CPU پایین تری را برای شما فراهم کند که باعث افزایش کارایی در مقایسه با کنترل کننده های SCSI دیگر می شود.

    برای پشتیبانی پلتفرم برای کنترل کننده های SCSI، راهنمای سازگاری VMware را از http://www.vmware.com/resources/compatibility مطالعه کنید.

    در مقایسه با دیگر کنترل کننده ها پیش نیاز های بیشتری دارند:

    • اطمینان حاصل کنید که سازگاری ماشین مجازی ESXi 4.x یا بالاتر است.
    • اطمینان حاصل کنید که ماشین مجازی یک سیستم عامل میهمان با VMware Tools نصب شده دارد.
    • مطمئن شوید که با نوع کنترل کننده ی VMware Paravirtual SCSI آشنایی دارید.
    • برای دسترسی به دیوایس های دیسک بوت متصل شده به یک کنترل کننده ی VMware Paravirtual SCSI، اطمینان حاصل کنید که ماشین مجازی یک سیستم عامل میهمان ویندوز سرور 2003 یا 2008 دارد.
    • در بعضی سیستم عامل ها، قبل از تغییر نوع کنترل کننده، یک ماشین مجازی با یک کنترل کننده ی LSI Logic ایجاد کنید، VMware Tools را نصب کنید، و بعد مد را به Paravirtual تغییر دهید.

    برای اطلاعات بیشتر درباره ی PVSCI می توانید KB 1010398 را مشاهده کنید: پیکربندی دیسک ها برای استفاده از اداپتورهای Paravirtual SCSI (PVSCI) (https://kb.vmware.com/kb/1010398).

    کنترل کننده ی SATA

    اگر یک کنترل کننده ی SATA اضافه کنید، می توانید یک هارد دیسک یا دیوایس موجود و یا جدید را به آن انتصاب دهید. برای مثال، می توانید دیوایس را به (1:z) انتصاب دهید، که در آن 1 کنترل کننده ی SATA شماره 1  و z یک نود دیوایس مجازی از 0 تا 29 است. برای کنترل کننده های SATA، می توانید از نودهای دیوایس 0 تا 29، شامل 0:7 استفاده کنید.

    می توانید ماشین های مجازی را از کنترل کننده های SATA بوت کنید و از آن ها برای هارد دیسک های با ظرفیت بالا استفاده کنید.

    همه ی OS های میهمان از کنترل کننده های AHCI SATA پشتیبانی نمی کنند، که شامل ویندوز vista و نسخه های بعدی ویندوز می شوند که یک کنترل کننده ی SATA پیش فرض برای دیوایس های CD/DVD-ROM دارند. برای اطمینان حاصل کردن از پشتیبانی، راهنمای سازگاری VMware را از http://www.vmware.com/resources/compatibility مشاهده کنید.

    کنترل کننده ی NVMe

    از شروع vSphere 6.5 هر ماشین مجازی می تواند حداکثر چهار کنترل کننده ی NVMe داشته باشد.

    NVM Express (NVMe) یا Non-Volatile Memory Host Controller Interface Specification (NVMHCI) یک مشخصه ی واسط دیوایس منطقی جدید برای دسترسی به حافطه ی غیر فعال attach شده (NVE)  در یک سیستم فیزیکی، از طریق باس PCIe به جای استفاده از باس SAS است. NVE همچنان یک حافظه فلش است، اما حالا با یک پشته ی طراحی شده است تا به بهترین کارایی دست پیدا کند.

    پروتکل انتقال حداکثر تعداد صف ها حداکثر عمق صف
    AHCI (SATA) 1 32
    SAS 1 254
    NVMe 65.535 64.000

    NVM Express سربار I/O را کاهش می دهد و بهبود های کارایی زیادی را در مقایسه با اینترفیس های دیوایس-منطقی قبلی به همراه می آورد از جمله، صف های دستور چندگانه و طولانی، و کاهش تاخیر.

    استفاده از یک کنترل کننده ی مجازی NVMe سربار نرم افزاری برای پردازش I/O سیستم عامل میهمان را در مقایسه با کنترل کننده های AHCI SATA یا SXSI بسیار کاهش می دهد.

    می توانید یک هارد دیسک یا دیوایس موجود یا جدید را به آن کنترل کننده انتصاب دهید.

    اگر یک ماشین مجازی چندین هارد دیسک دارد، می توانید تا چهار کنترل کننده NVMe مجازی را به آن اضافه کنید تا دیسک ها را به آن ها انتصاب دهید.

    برای مثال، می توانید هارد دیسک را به (x:z) انتصاب دهید، که در آن x کنترل کننده ی NVMe  و z یک نود دیوایس مجازی است.  x از 0 تا 3 مقدار می گیرد و z از 0 تا 14 مقدار می گیرد.

    کنترل کننده های NVMe با دیسک های مجازی روی یک آرایه دیسک تمام-فلش، NVMe SSD محلی، و ذخیره ساز PMem به بهترین شکل عمل می کند.

    در مقایسه با کنترل کننده های دیگر پیش نیاز های بیشتری دارد:

    • اطمینان حاصل کنید که سازگاری ماشین مجازی ESXi 6.5 یا بالاتر است.
    • اطمینان حاصل کنید که ماشین مجازی یک سیستم عامل میهمان دارد که NVMe را پشتیبانی می کند.
    • مطمئن شوید که با رفتار کنترل کننده ی ذخیره سازی و محدودیت ها آشنایی دارید. SCSI and SATA Storage Controller Conditions, Limitations, and Compatibility را مطالعه کنید.

    برای کسب اطلاعات بیشتر درباره ی NVMe می توانید KB 2147714 را مطالعه کنید: استفاده از NVMe مجازی با ESXi 6.5 و سخت افزار ماشین مجازی نسخه ی 13 (https://kb.vmware.com/kb/2147714).

    کدام کنترل کننده ؟

    زمانی که یک ماشین مجازی ایجاد می کنید، معمولا اولین کنترل کننده (کنترل کننده ی 0) برای بهترین کارایی برای دیسک بوت سیستم عامل بهینه سازی شده است.

    نوع کنترل کننده بستگی به سیستم عامل میهمان، نوع دیوایس، و بعضی وقت ها، سازگاری ماشین مجازی دارد. دلیل آن تقریبا تاریخی است و مربوط به درایورهای پیش فرض در سیستم عامل میهمان دارد. برای مثال، در ویندوز سرور 2013 کنترل کننده پیش فرض SCSI LSI Logic Parallel (با دستورات SCSI2) است، اما با شروع ویندوز سرور 2008 کنترل کننده جدید پیش فرض LSI Logic SAS (با قابلیت انجام تعدادی دستور SCSI3) شده است. یک کنترل کننده SATA معمولا به صورت پیش فرض برای درایور CD/DVD است.

    پست های بلاگ و اسناد زیادی وجود دارند که انواع کنترل کننده ها ی مختلف را برای بهبود کارایی مقایسه کرده اند، برای مثال لینک های زیر را ببینید:

    برای کنترل کننده های ذخیره سازی مجازی جدول زیر انواع مختلف و موارد احتمالی استفاده و سخت افزار مجازی مورد نیاز را خلاصه کرده است:

    نوع کنترل کننده VM نوع حداقل سخت افزار مجازی موارد استفاده
    IDE Legacy OS سیستم عامل بسیار قدیمی
    BusLogic Server سیستم عامل ویندوز بسیار قدیمی
    LSI Logic Parallel Server/Desktop Legacy Windows OS (2003)
    LSI Logic SAS Server/Desktop VH7 Windows OS (>2008)
    PVSCI Server VH7 بار کاری I/O شدید
    AHCI SATA Server/Desktop VH10 تعداد زیادی دیسک مجازی، اما کارایی محدود شده
    NVMe Server VH13 ذخیره سازی سریع و تاخیر کم

    توجه کنید که استفاده از کلاسترسازی میهمان ممکن ، بسته به سیستم عامل و ورژن vSphere ، نیاز به کنترل کننده به خصوصی داشته باشد (برای مثال برای کلاستر Microsoft Fail-Over با ورژن قدیمی vSphere کنترل کننده PVSCI پشتیبانی نشده بود).

    ولی برای توان عملیاتی بسیار بالا یک گزینه ی دیگر هم میتواند وجود داشتته باشد، با شروع vSphere6.7: گزینه ی Persistent Memory(PM).

    بعضی از اپلیکشن ها، مانند پایگاه داده های بزرگ داده های خود را با استفاده از الگوی in-memory از دیسک به RAM منتقل می کنند.

     

     

     

    مطالب مرتبط

    دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *