شرکت VMware در ESXi ورژن 4 قابلیت جدیدی را معرفی کرد با نام PSA یا Pluggable Storage Architecture .
به صورت کلی PSA به این معنی است که شرکت های سازنده ذخیره ساز بتوانند به صورت مستقیم کدها و یا API های خود را وارد لایه ذخیره ساز ESXi کنند.
چرا باید VMware اجازه دهد که شرکت های تولید کننده ذخیره ساز بتوانند کدهای خود را وارد لایه Storage کنند؟
دلیل این امر بسیار واضح است . این کار باعث میشود که سازنده های Storage بتوانند مدل Load Balancing ای که خودشان احساس می کنند بهینه تر است را پیاده سازی و استفاده کنند.
این امر نه تنها برای متد Load Balance کاربرد دارد بلکه برای مدل Failover نیز به صورت کامل استفاده می شود.
یک مثال میتواند در جا افتادن مطلب به ما کمک کند.
فرض بگیریم یک ذخیره ساز EMC سری Unity XT را خریداری کرده ایم.
در ESXi زمانی که این ذخیره ساز اضافه می شود سه آپشن برای انتخاب کردن مدل Load Balancing داریم.
اما شرکت EMC تاکید دارد که به جای این سه مدل از مدل Load Balance خود Unity XT استفاده کنیم.
با استفاده از قابلیت PSA می توانیم به راحتی درایور LB متد مخصوص Unity XT را بر روی ESXi نصب کنیم و با Performance بسیار بالا از LB متد خود این استوریج استفاده کنیم.
وظایف PSA
ماژول PSA وظایف بسیار زیادی را در VMkernel بر عهده دارد.
- در مرحله اول وظیفه PSA زیر بار بردن و رها کردن پلاگین Multipathing می باشد.
به صورت کلی Multipathing Plugin ها دو مدل هستند :
- NMP (Native Multi-Path Plugin)
- MPP (Other Multi-Path Plugin)
- وظیفه مدیریت کردن راه های فیزیکی از جمله اسکن کردن و Remove کردن راهها
- وظیفه Route کردن ترافیک از یک دستگاه به سمت پلاگین Multipathing
- وظیفه مدیریت IO Queue از سمت HBA به سمت دستگاه ذخیره ساز
- وظیفه مدیریت پهنای باند HBA ها بین ماشین های مجازی
وظایف MPP
به محض اینکه MPP مالکیت یک راه را توسط PSA بر عهد میگیرد، MPP مسئولیت راه های فیزیکی که به LUN میرسند را مدیریت می کنند.
وظایفی که باید انجام دهد:
- Claim کردن و Unclaim کردن راه های فیزیکی
- رجیستر کردن ، پاک کردن و بررسی کردن Logical Devices یا LUN ها
- Route کردن IO به LUN ها با استفاده از بهینه ترین راه (LB Method)
- Fail کردن و Failover کردن
- ریست کردن Logical Device
تمام ESXi ها در داخل خود یک MPP دارند که به اسم NMP آنها را میشناسیم.
اما همانطور که در بالا گفته شد ، میتوانید پلاگین شرکت های 3rd party را بر روی ESXi نصب کنیم و در نهایت از NMP استفاده نکنیم.
بهترین MPP هایی که در حال حاضر موجود می باشد :
- EMC Power Path/VE
- Symantec/Vertias DMP
NMP چیست ؟
NMP یا Native Multipath Plugin همانطور که از اسمش معلوم هست ، پلاگین Load Balance پیش فرض خود VMware میباشد.
تمام استوریج هایی که در HCL (Hardware Compatibility List) وجود دارند در NMP پشتیبانی میشوند.
یکی از دلایلی که همیشه اصرار می شود قبل از اینکه دستگاهی برای دیتا سنتر خرید کنید حتما HCL را چک کنید NMP نمی باشد.
جالب است بدانید که خود NMP نیز دو پلاگین زیر شاخه خود دارد که اسم آنها PSP و SATP هستند که در ادامه راجع به آنها نیز صحبت خواهیم کرد.
SATP (Storage Array Type Protocol) :
در این پلاگین انتخاب راه Failover به صورت کامل صورت میگیرد و زمانی که راه اصلی استوریج بیافتد SATP راه جایگزین را انتخاب می کند.
PSP (Path Selection Policy) :
در این پلاگین انتخاب بهترین راه برای ارسال IO صورت می گیرد. در اصل این پلاگین وظیفه Load Balance کردن را دارد.
در مطالب بعدی به صورت کامل به PSP و SATP میپردازیم.
بیشتر بخوانید : PSP چیست؟