پایان نامه ارشد:ارائه یک مدل فرمال برای تحلیل زیر ساخت نرم افزاری در دیتا سنترها |
فصل دوم: معرفی و بررسی ابزار فرمال برای مدل سازی سیستم ها 12
- Abstract State Machine (ASM) 14
LOTOS 17
- مقدمه ای بر جبر پروسه ها 18
- VDM-SL 22
شبکه های پتری 23
خصوصیات رفتاری 25
- Reachability 26
- Boundedness 26
- Liveness 26
- Reversibility 28
- Coverability 28
زیر مجموعه های شبکه های پتری 29
- State Machine (SM) 30
- Marked Graph (MG) 30
- Free-choice net (FC) 31
- Extended Free-choice net (EFC) 31
- Asymmetric choice net (AC) 31
- قضایا و فرضیات 32
- مقایسه و جمع بندی 35
فصل سوم: بررسی معماری دیتا سنترها 38
Microsoft Hyper-V 39
بررسی اجزاء معماری Hyper-V 42
- APIC 43
- Child Partition 43
- Hypercall 43
- Hypervisor 43
- IC 43
- I/O stack 44
- Root Partition 44
- VID 44
- VMBus 44
- VMMS 44
- VMWP 44
- VSC 45
- VSP 45
- WinHv 45
- WMI 45
- نقاط ضعف 46
Xen 46
بررسی اجزاء معماری Xen 48
- Xen Hypervisor 48
- Domain 0 48
- Domain U 49
- Xenstored 50
- ارتباطات مابین دامنه صفر و دامنه های U 50
VMware ESXi 50
بررسی اجزاء معماری VMware ESX 52
- VMkernel 52
- File System 52
- CIM 53
- طراحی یک معماری برای دیتا سنتر 54
-
-
مختصری درباره vSphere 56
- سرویس های زیر ساختی vSphere 58
سرویس های کاربردی vSphere 59
- سرور VMware vCenter 59
- Client ها 59
- ESX 59
- vCenter Server 59
- VMFS 59
- SMP 60
- VCMS 60
- VI Client 60
- VMware VMotion 60
- Storage VMotion 60
- VMware HA 61
- DRS 62
- Consolidated Backup 63
- vSphere SDK 63
- Fault Tolerance 64
- سرویس های توزیع شده در vSphare 64
- معماری شبکه 64
- معماری محل ذخیره سازی داده ها 66
معماری سرور مدیریت VirtualCenter 69
- User Access Control 70
- Core Service 71
- جمع بندی 71
فصل چهارم: ارائه مدل فرمال برای دیتا سنتر و تحلیل آن 72
- تشریح دیتا سنتر نمونه 73
ارائه مدلی از رفتار کلی دیتا سنتر 77
- ارزیابی و تحلیل مدل فرمال 87
4.2.1.1. Liveness 87
4.2.1.2. Safeness 87
4.2.1.3. Reversibility 89
- بررسی لایه های پایینتر مدل فرمال 90
بررسی نحوه کار سرویس HA 91
- شرح سرویس VMware HA 91
- ارائه مدل فرمال از نحوه کار سرویس HA 95
- تحلیل و ارزیابی مدل 98
4.3.3.1. Liveness 99
4.3.3.2. Safeness 101
4.3.3.3. Reversibility 102
بررسی نحوه کار سرویس Fault Tolerance 106
- تشریح ساختار سرویس Fault Tolerance 106
- ارائه مدل فرمال از نحوه کار سرویس Fault Tolerance 110
- تحلیل و ارزیابی مدل 111
4.4.3.1. Liveness 112
4.4.3.2. Safeness 113
4.4.3.3. Reversibility 113
بررسی نحوه کار سرویس VMotion 114
- تشریح ساختار سرویس VMotion 114
- ارائه مدل فرمال از نحوه کار سرویس VMotion 118
- تحلیل و ارزیابی مدل 119
4.5.3.1. Liveness 120
4.5.3.2. Safeness 121
4.5.3.3. Reversibility 122
بررسی ساختار داخلی ESX hypervisor 124
- تشریح ساختار ESX 124
- ارائه یک مدل فرمال از نحوه کار ESX 125
- بررسی و تحلیل مدل 129
4.6.3.1. Liveness 129
4.6.3.2. Safeness 131
4.6.3.3. Reversibility 132
تشریح ساختار سیستم ذخیره سازی در ESX 133
- تشریح ساختار سیستم ذخیره سازی 133
- ارائه یک مدل فرمال از نحوه کار سیستم ذخیره سازی در ESX 138
- بررسی و تحلیل مدل 144
4.7.3.1. Liveness 144
4.7.3.2. Safeness 145
4.7.3.3. Reversibility 146
معماری ساختار شبکه در ESX 148
- تشریح ساختار شبکه 148
- ارائه مدل فرمال برای ساختار شبکه در ESX 155
- بررسی و تحلیل مدل 161
4.8.3.1. Reversibility 161
4.8.3.2. Liveness 163
4.8.3.3. Safeness 165
معماری سوئیچ مجازی در ساختار شبکه 165
- تحلیل ساختار سوئیچ مجازی 165
- ارائه یک مدل فرمال برای سوئیچ مجازی 169
- بررسی و تحلیل مدل 172
4.9.3.1. Liveness 172
4.9.3.2. Safeness 173
4.9.3.3. Reversibility 174
- جمع بندی 175
فصل پنجم: نتیجه گیری و پیشنهادات 176
مراجع 180
پیوست: مجموعه کامل مدل های پتری طراحی شده در پایان نامه 186
چکیده به زبان انگلیسی 195
فهرست جدول ها
عنوان و شماره صفحه
جدول 2.1. خلاصه مقایسه ابزار توصیف فرمال 36
جدول 3.1. سیستم های عامل قابل پشتیبانی توسط Hyper-V R2 41
جدول 3.2. سیستم های عامل قابل پشتیبانی توسط Xen نسخه 3. 47
جدول 4.1. گزارهای فعال در وضعیت های M0 الی M15 از مدل پتری 4.30 164
جدول 5.1. خلاصه نتایج به دست آمده از تحلیل رفتار زیر سیستم ها و سرویس های VMware ESX 177
فهرست شکل ها
عنوان صفحه
شکل 1.1. نحوه قرارگیری لایه های نرم افزاری بر روی سرور 4
شکل 1.2. شمای کلی دیتا سنتر با معماری مجازی 5
شکل 2.1. مثال هایی از زبان های فرمال و تقسیم بندی آنها ]10[ 13
شکل 2.2. روال طراحی یک سیستم نمونه به کمک زبان های فرمال ]10[ 14
شکل 2.3. نقطه gate در جبر پروسه ها ]4[ 18
شکل 2.4. مدل تولید کننده- مصرف کننده به کمک LOTOS ]17[ 19
شکل 2.5. مثالی از مدل سازی یک پروتکل به کمک شبکه های پتری ]23[ 25
شکل 2.6. نمونه ای از شبکه پتری non-Live ]23[ 27
شکل 2.7. نشانه گزاری برای: a) مجموعه موقعیت های ورودی و خروجی برای t و b) مجموعه گزارهای ورودی و خروجی برای p ]23[ 30
شکل 2.8. مثال هایی از زیر مجموعه های شبکه های پتری ]23[ 32
شکل 2.9. یک شبکه پتری و گراف نشانه دار مربوط به آن ]23[ 33
شکل 3.1. معماری سطح بالای Hyper-V ]40[ 42
شکل 3.2. شمایی از معماری Xen ]51[ 47
شکل 3.3. نحوه سرویس دهی به ماشین میزبان توسط Qemu-DM ]51[ 49
شکل 3.4. شمایی از معماری VMware ESXi ]3[ 52
شکل 3.5. ساختار شماتیک مدیریت CIM ]3[ 54
شکل 3.6. مثالی از مفاهیم میزبان، کلاستر و مخزن منابع ]60[ 58
شکل 3.7. طرز کار سرویس HA ]61[ 62
شکل 3.8. شمایی از معماری شبکه در محیط مجازی ]60[ 65
شکل 3.9. شمایی از معماری ذخیره سازی ]60[ 66
شکل 3.10. طرز کار RDM ]60[ 68
شکل 3.11. شمایی از ساختار سرور مدیریت VirtualCenter ]60[ 70
شکل 4.1. زیر ساخت دیتا سنتر مجازی ]63[ 73
شکل 4.2. یک الگوی نمونه برای زیر ساخت دیتا فیزیکی سنتر ]60[ 75
شکل 4.3. ساختار شماتیک دیتا سنتر نمونه 76
شکل 4.4. مدل پتری طراحی شده برای دیتا سنتر نمونه 78
شکل 4.5. گراف پوشا برای مدل پتری شکل 4.4 88
شکل 4.6. نتیجه تحلیل فضای حالت به وسیله نرم افزار PIPE 89
شکل 4.7. مدل پتری نحوه کار سرویس HA 96
شکل 4.8. عضویت شبکه 4.7 در زیرکلاس های شبکه های پتری 100
شکل 4.9. گراف پوشای مدل 4.7 101
شکل 4.10. نتیجه تحلیل فضای حالت بر روی مدل 102
شکل 4.11. نحوه توزیع توکن در وضعیت S8 103
شکل 4.12. شبیه سازی شبکه پتری شکل 4.7 104
شکل 4.13. چندین نمونه از شبیه سازی اجرای شبکه پتری 105
شکل 4.14. مدل پتری نحوه کار سرویس Fault Tolerance 110
شکل 4.15. نحوه توزیع توکن ها در M3 و M4 112
شکل 4.16. گراف پوشای مدل پتری شکل 4.14 114
شکل 4.17 مدل پتری نحوه کار سرویس VMotion 118
شکل 4.18. گراف نشانه دار (G, ) مربوط به مدل 4.17 120
شکل 4.19. گراف پوشای مدل 4.17 123
شکل 4.20. مدل پتری طرز کار ESX 125
شکل 4.21. گراف جهت دار معادل شبکه پتری 4.20 130
شکل 4.22. گراف پوشای کدل پتری 4.20 132
شکل 4.23. نمای شماتیک مدل چند لایه ای سیستم ذخیره سازی در ESX ]63[ 134
شکل 4.24. مدل پتری ارائه شده از نحوه کار سیستم ذخیره سازی در ESX 139
شکل 4.25. گراف جهت دار متناظر با مدل پتری 4.24 144
شکل 4.26. گراف پوشای شبکه پتری 4.24 146
شکل 4.27. نرم افزار تحلیلگر گراف، در حال اجرای الگوریتم اول عمق 147
شکل 4.28. نحوه ارتباط کارت شبکه مجازی و سوئیچ مجازی ]62[ 149
شکل 4.29. شمای کلی از ساختار شبکه در سرور ESX 153
شکل 4.30. مدل پتری تهیه شده از ساختار شبکه در ESX 156
شکل 4.31. گراف پوشای مدل پتری شکل 4.30 162
شکل 4.32. جستجوی اول عمق گراف شکل 4.31 163
شکل 4.33 مدل فرمال از نحوه کار سوئیچ مجازی 170
شکل 4.34. گراف جهت دار متناظر با مدل پتری 4.33 173
شکل 4.35. گراف پوشای مدل پتری 4.33 174
فصل اول: مقدمه
1.1. بیان مسئله و ضرورت تحقیق
نیاز بشر به پردازش و ذخیره سازی اطلاعات در دهه های گذشته همواره رشد صعودی و شتابدار داشته است. به گونه ای که حرکت از سیستم های توزیع شده بر روی سوپرکامپیوترهای گران قیمت به شبکه های بسیار پر قدرت و ارزان در مدت نسبتا کوتاهی صورت گرفته است. همچنین نیاز به مدیریت اطلاعات، پردازش، گردش کار و دیگر ابزار مدیریتی همواره رشد فزاینده داشته است. به طبع این نیاز، ساختار سیستم های کامپیوتری در سطوح فنی و مدیریتی نیز رشد کرده و پیچیده تر شده است.
به منظور جوابگویی به این حجم فزاینده درخواست ها و نیاز بازار به منابع پردازش و ذخیره سازی اطلاعات و نیز به منظور ارائه سرویس های مورد نیاز با کیفیت مناسب و قابل رقابت، یکی از بهترین راه های پیشنهاد شده، متمرکز نمودن این منابع و مدیریت صحیح آنها است. به این منظور و برای به حداکثر رساندن کیفیت خدمات و حداقل نمودن هزینه ها یکی از رایج ترین راهکارهای موجود راه اندازی مراکز داده یا دیتا سنتر ها می باشد. در این طرح با آماده سازی زیر ساخت های فیزیکی، امنیتی، شبکه ای، سخت افزاری و نرم افزاری، مجموعه ای از سرورهای قدرتمند برای ارائه سرویس های مورد نیاز مشتریان در نظر گرفته می شود. این سرورها با خطوط بسیار پر سرعت بر حسب نیاز به اینترنت یا شبکه های سازمانی متصل می گردند و با نصب سیستم های عامل و نرم افزارها و سرویس های مورد نیاز به کاربران خدمات لازم را ارائه می نمایند. با وجود چنین مراکزی دیگر سازمان ها و مراکز تجاری، صنعتی، دانشگاهی و غیره نیازی به راه اندازی مراکز سرویس دهی محلی[1] و نیز متحمل شدن هزینه های نگهداری، به روز رسانی و استخدام متخصصین نخواهند داشت. در ادامه به بررسی اجمالی دیتا سنترها خواهیم پرداخت تا بتوانیم طرح پیشنهادی را تشریح نمائیم.
تعریف دیتا سنتر: مجموعه ای از سیستمهای پشتیبانی (از جمله زیر ساخت سخت افزاری passive، زیرساخت خنک کننده، زیر ساخت تامین انرژی، اطفاء حریق و غیره)، منابع پردازشی سخت افزاری شامل سرورها، تجهیزات زیرساخت شبکه، زیرساخت ذخیره سازی داده ها و زیرساخت نرم افزاری شامل ابزار یک پارچه سازی[2]، مجموعه ای از سیستم های عامل، مجموعه ای از نرم افزارهای کاربردی شامل سرویس ها، تعدادی پایگاه داده، مجموعه ای از ابزارهای امنیتی نرم افزاری و سخت افزاری و یک ساختار مدیریتی است. این سیستم به کمک خطوط پرسرعت به شبکه های خارجی (Intranet، Extranet یا اینترنت) متصل است ]1[.
با توجه به رشد نیازها و احتیاج کاربران به انعطاف پذیری و تحمل خطای بالا در این مراکز پردازشی، در سال های اخیر تکنولوژی مجازی سازی[3] به عنوان پاسخی به این نیازها و بهترین شیوه یکپارچه سازی ارائه شده و بسیار رشد کرده است. در حقیقت، این تکنولوژی به عنوان لایه مدیریت نرم افزاری و سیستم عاملی دیتا سنتر مورد استفاده قرار می گیرد. در ادامه به تشریح تکنولوژی مجازی سازی و نحوه استفاده از آن در این طرح خواهیم پرداخت.
تکنولوژی مجازی سازی یکی از جوانترین نظریه های مطرح شده در علم کامپیوتر می باشد که در ده سال اخیر توجه زیادی را به خود جلب نموده است. این تکنولوژی از این بابت بسیار جذاب است که انعطاف پذیری و امکانات خارق العاده ای را بر روی همان بستر سخت افزاری موجود ارائه می دهد و استفاده از آن هزینه بسیار ناچیزی برای سازمان دارد.
معماری مجازی سازی، همه منابع پردازشی از جمله سرورها، منابع ذخیره سازی[4] و شبکه را به یک ساختار مجازی نگاشت می دهد. این زیر ساخت با گردآوری همه منابع و نمایش مجموعه ای ساده شده و یکپارچه از آنها، مدیر را در درک بهتر ساختار فنی دیتا سنتر و مدیریت و تغییر آن یاری می رساند. به کمک این ساختار می توان منابع توزیع شده در یک دیتا سنتر را به صورت مجموعه ای یکپارچه از ابزار مدیریت نمود. همچنین می توان از دیتا سنتر برای مصارف گوناگونی استفاده کرد بدون اینکه نگران گوناگونی سخت افزارها و نحوه اتصال آن ها به سیستم باشیم؛ ]2[ و ]3[.
از این تکنولوژی برای طراحی زیر ساخت نرم افزاری دیتا سنتر استفاده خواهد شد. با این توضیح که به جای نصب یک سیستم عامل بر روی هر دستگاه سرور، از یک نرم افزار مجازی سازی به نام Hypervisor استفاده می شود. این نرم افزار شبه سیستم عامل به مدیر سیستم اجازه می دهد که به تعداد دلخواه کامپیوتر مجازی[5] بر روی سرور مذکور راه اندازی کرده و سیستم عامل و سرویس های دلخواه را بر روی آن نصب نماید (شکل 1.1).
شکل 1.1. نحوه قرارگیری لایه های نرم افزاری بر روی سرور
با این ترکیب می توان امکانات بسیار زیادی از جمله قابلیت دسترسی دائمی به سرویس ها (HA)[6] و مقاوم سازی سرویس ها در مقابل خطا[7] که از ضروریات چنین دیتا سنتری می باشد را با کمترین هزینه میسر نمود. همچنین امکان انتقال این کامپیوترهای مجازی در حال کار از روی یک سرور به سرور دیگر را بدون تاخیر زمانی وجود دارد[8].
در دیتاسنتری با این ابعاد، اغلب سرویس های در حال کار بسیار حیاتی و حساس بوده و از کار افتادن آن ها هزینه های هنگفت و بعضا جبران ناپذیری برای سازمان مربوطه به دنبال خواهد داشت. به همین دلیل لازم است امکانات حرفه ای را در دیتا سنتر به منظور محافظت از سرویس ها پیاده سازی نمائیم تا در دسترس بودن و سلامت آنها را تضمین کند. شکل 1.2 شمایی کلی از یک دیتا سنتر را با استفاده از معماری یاد شده نشان می دهد.
شکل 1.2. شمای کلی دیتا سنتر با معماری مجازی
با توجه به نیاز به این مراکز و پیچیدگی ذاتی آنها، ترسیم یک مدل فرمال از ماهیت یک دیتا سنتر، چه پیش از طراحی[9] و چه پس از آن[10]، می تواند در شناخت طرز کار و چگونگی فعالیت چنین مرکزی نقش به سزایی داشته باشد. از جمله این کاربردها می توان به تشخیص بن بست ها[11] و گلوگاه ها[12] قبل از طراحی و محک زدن[13] سیستم بعد از طراحی اشاره نمود. با در دست داشتن این مدل (تصویر فرمال) جریان کنترل در سیستم قابل رویت بوده و در نتیجه رفتار سیستم را می توان بررسی و پیش بینی نمود ]4[. البته باید توجه داشت که در سیستم های واقعی از جمله دیتا سنترها، به دست آوردن مدل جامع تقریبا غیر ممکن بوده و تنها می توان بخش هایی از سیستم را با نادیده گرفتن برخی از پارامترها مدل نمود. هرچقدر مدل به سیستم واقعی نزدیکتر باشد بررسی رفتار سیستم به کمک مدل حاصل دقیقتر و کاربردی تر خواهد بود. در بخش های بعدی با بررسی دقیقتر ماهیت مدل سازی فرمال، با انواع شیوه ها در این حوزه[14] بیشتر آشنا خواهیم شد.
به طور کلی متد های فرمال نوع خاصی از شیوه های بیان فرمال مسائل هستند که از آنها برای تشریح و تبیین[15] سیستم های کامپیوتری و همچنین اثبات رفتار آنها[16] در سطح سخت افزار و نرم افزار استفاده می شود. هدف از توضیح رفتار یک سیستم به کمک روش های فرمال، بررسی رفتار و خصوصیات سیستم از جمله میزان حد پذیری[17]، بازگشت پذیری[18] و نیز پارامترهای انتزاعی تر مانند میزان ثبات[19] و پایداری[20] می باشد ]5[.
بدیهی است انجام چنین کاری در مورد سیستم های واقعی با توجه به پارامترهای متعدد و ساختار پیچیده آنها بسیار وقت گیر و دشوار است و در بسیاری از مواقع فقط بخش هایی از سیستم را می توان در حد قابل قبولی تشریح و مدل نمود. به همین دلیل و نیز به دلیل هزینه بسیار گزاف این فرایند، استفاده از شیوه های فرمال برای توضیح رفتار سیستم فقط در مورد سیستم های بسیار حساس و گران قیمت صورت می گیرد.
در این تحقیق، از زبان شبکه های پتری که ابزاری گرافیکی برای تشریح رفتار سیستم ها می باشد بهره گرفته شده است. این زبان در واقع نوع خاصی از ماشین های متناهی (اتوماتا) می باشد که امکان ترسیم جریان کنترل در سیستم را به صورت ساختار گراف و تعریف مجموعه ها فراهم می کند.
[1] Local Farm Servers
[2] Consolidation
[3] Virtualization technilogy
فرم در حال بارگذاری ...
[چهارشنبه 1399-10-10] [ 02:03:00 ق.ظ ]
|