فصل دوم: معرفی و بررسی ابزار فرمال برای مدل سازی سیستم ها                                                     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

 

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...