Vous êtes sur la page 1sur 87

INFORMATION STORAGE AND

MANAGEMENT

Hassan I. Eissa
HASSAN3ISSA@GMAIL.COM
http://fb.com/hassan3issa
Contents

❖ Part I Storage System


Chapter 1. Introduction to Information Storage and Management
➢ Information Storage
➢ Evolution of Storage Architecture
➢ Data Center Infrastructure
➢ Virtualization and Cloud Computing
Chapter 2. Data Center Environment
➢ Application
➢ Database Management System (DBMS)Host (Compute)
➢ Connectivity
➢ Storage
➢ Disk Drive Components
➢ Disk Drive Performance
➢ Host Access to Data
➢ Direct-Attached Storage
➢ Storage Design Based on Application Requirements and Disk Performance
➢ Disk Native Command Queuing
➢ Introduction to Flash Drives
➢ Concept in Practice: VMware ESXi
Chapter 3. Data Protection: RAID
➢ RAID Implementation Methods
➢ RAID Array Components
➢ RAID Techniques
➢ RAID Levels
➢ RAID Impact on Disk Performance
Chapter 4. Intelligent Storage Systems
➢ Components of an Intelligent Storage System
➢ Storage Provisioning
➢ Types of Intelligent Storage Systems
➢ Concepts in Practice: EMC Symmetrix and VNX
❖ Part II Storage Networking Technoligies
Chapter 5: Fibre Channel Storage Area Networks
➢ Fibre Channel: Overview
➢ The SAN and Its Evolution
➢ Components of FC SAN
➢ FC Connectivity
➢ Switched Fabric Ports
➢ Fibre Channel Architecture
➢ Fabric Services
➢ Switched Fabric Login Types
➢ Zoning
➢ FC SAN Topologies
➢ Virtualization in SAN
➢ Error! Reference source not found.
Chapter 6. IP SAN and FCoE
➢ iSCSI
➢ FCIP
➢ FCoE
Chapter 7. Network-Attached Storage
➢ Benefits of NAS
➢ File Systems and Network File Sharing
➢ Components of NAS
➢ NAS I/O Operation
➢ NAS Implementations
➢ NAS File-Sharing Protocols
➢ Factors Affecting NAS Performance
➢ File-Level Virtualization
Chapter 8. Object-Based and Unified Storage
➢ Object-Based Storage Devices
➢ Content-Addressed Storage
➢ CAS Use Cases
➢ Unified Storage
Part I
Storage System
‫‪Chapter 1. Introduction to Information Storage‬‬
‫‪and Management‬‬

‫‪Information Storage ‬‬


‫هو النظام الذى يحافظ على الوصول إلى البيانات لمعالجة المعلومات‪ .‬او بعبارة أخرى وحدة تخزين المعلومات‬
‫في النظام إما على محرك أقراص ثابت أو خادم يحتوي عادة على قاعدة بيانات‪.‬‬

‫‪Data -‬‬

‫تعريف البيانات هي مجموعة من الحروف أوالكلمات أو األرقام أو الرموز أو الصور المتعلقة بموضوع معين‬
‫مثال على ذلك‪ :‬بيانات الموظفين (األسماء ‪ -‬األرقام الوظيفية ‪ -‬المهن ‪ -‬الصور) بدون ترتيب ‪ ،‬يتم معالجتها‬
‫ببرامج حاسوبية خاصة لكي نحصل على معلومات (‪.)Information‬‬

‫هذه البيانات يمكن انشائها باستخدام جهاز كمبيوتر وتخزينها على هيئة مجموعه من االرقام الثنائية (‪)Binary‬‬
‫وتسمى بال ‪ ,Digital Data‬يمكن استحدامها بعد ذلك من قبل المستخدمين بعد ان يقوم الكمبيوتر بمعالجتها‪.‬‬

‫‪Types of Data -‬‬

‫يمكن تصنيف الداتا الى بيانات مهيكله وغير مهيكله ‪ Structured‬و ‪ unstructured‬بناءا على كيفية تخزينها‬
‫واداراتها‪.‬‬
‫حيث انه يتم تنظيم ال ‪ Structured Data‬على هيئة صفوف واعمدة في جداول او قواعد بيانات بشكل محدد مما‬
‫يسهل على اي تطبيق معالجتها بسهولة ويتم تخزينها عن طريق مايسمى بال ‪database management‬‬
‫)‪.system (DBMS‬‬

‫اما ال ‪ Unstructured Data‬فهي تشكل النسبة االكبر للبيانات وال يمكن تخزينها فى صفوف واعمدة مما يصعب‬
‫على التطبيقات معالجتها بسهولة اال من خالل تطبيقات محددة‪ ,‬على سبيل المثال البيانات التى يتم تخزينها من‬
‫المستخدمين على هيئة ‪sticky notes, e-mail messages, business cards, or even digital format files,‬‬
‫‪such as .doc, .txt, and .pdf‬‬

‫‪Big Data -‬‬

‫مجموعة من البيانات الكبيرة جدا بحجم يفوق قدرة أدوات قواعد البيانات التقليدية من تخزين‪ ،‬إدارة و تحليل تلك‬
‫البيانات فى فترة زمنية مقبولة‪.‬‬

‫وتتضمن البيانات المهيكلة والغير مهيكلة (‪ )structured and unstructured‬التى تنشأ عن طريق مجموعه‬
‫متنوعه من المصادر والتطبيقات المختلفة مثل ‪business application transactions, web pages, videos,‬‬
‫‪images, e-mails, social media‬‬
‫‪Information -‬‬

‫مفهوم المعلومات هي نتائج معالجة البيانات‪ ،‬فالمعلومات عبارة عن البيانات التي تمت معالجتها بتصنيفها‬
‫وتنظيمها وتحليلها‪ ،‬وأصبح لها معنى لتحقق هدف معين وتستعمل لغرض معين حتى توفر ما يسمى بالمعرفة‪.‬‬

‫‪Storage -‬‬

‫يجب تخزين البيانات والمعلومات المنشأة من قبل األفراد او الشركات بحيث يمكن سهولة الوصول اليها‬
‫ومعالجتها‪ .‬وتسمى االجهزة الخاصة بتخزين البيانات بال ‪ Storage‬وتختلف انواع ال‪ Storage‬على حسب‬
‫اختالف انواع الداتا والطريق المنشأة بها مثل كروت الذاكرة للموبيل والكاميرات او ال‪ DVD‬لمشغالت االقراص‬
‫او ال‪ Disk Drive‬فى اجهزة الكمبيوتر والسيرفرات‪.‬‬

‫‪Evolution of Storage Architecture ‬‬


‫فى البداية كان يتم استخدام اجهزة كمبيوتر مركزية تسمى بال ‪ mainfarms‬بها اجهزة تخزين للبيانات ‪tape‬‬
‫‪ reels and disk packs‬ولكن مع تطور االنظمه اصبح بمقدور الشركات ان يكون لها اجهزة التخزين‬
‫والسيرفرات الخاصه بها ولكن عملية التخزين كانت تطبق داخليا على اجهزة السيرفر حيث اليمكن مشاركة‬
‫البيانات مع اي اجهزة اخرى ويكون لكل سيرفر مساحه محدوده من التخزين وأي مهام إدارية‪ ،‬مثل صيانة الخادم‬
‫أو زيادة سعة التخزين قد تؤدي إلى عدم توافر المعلومات وبالتالى كانت غير محمية او غير مدارة بالشكل االمثل‬

‫وللتغلب على هذه التحديات تطورت اجهزة التخزين حيث اصبحت تدار مركزيا وبشكل مستقل عن اجهزة‬
‫السيرفر حيث يتم مشاركة اجهزة التخزين مع العديد من السيرفرات ويمكن زيادة مساحة التخزين ايضا دون‬
‫التاثير على البيانات مما يجعل عملية ادارة المعلومات اكثر سهولة وبتكلفة اقل والتى تمكن من حماية وتحسين‬
‫االستفادة من المعلومات‪.‬‬
‫‪Data Center Infrastructure ‬‬
‫تقوم الشركات بتوفير مراكزالبيانات داخل المؤسسة لتقديم قدرات مركزية الدارة و معالجة البيانات‪.‬‬

‫ومراكز البيانات هي عباره عن مركز ضخم مكون من العديد من الخوادم الضخمة ومزودات الطاقة مثل أجهزة‬
‫الكمبيوتر وأنظمة التخزين وأجهزة الشبكة والنسخ االحتياطي للطاقة‪ ,‬ومكونات البرمجيات‪ ،‬مثل التطبيقات‬
‫وأنظمة التشغيل وبرامج اإلدارة‪.‬‬

‫ومن الممكن ان تحتفظ المنظمات الكبيرة بأكثر من مركز بيانات واحد لتوزيع أعباء العمل على معالجة البيانات‬
‫وتوفير النسخ االحتياطي في حالة حدوث كارثة‪.‬‬

‫‪Core Elements of a Data Center -‬‬

‫كما ذكرنا العناصر االساسية فى الداتا سنتر‬

‫▪ ‪ :Application‬تطبيقات الكمبيوتر لتقديم عمليات التشغيل المختلفة‪.‬‬


‫▪ )‪ :Database management system (DBMS‬تقدم طريقة تخزين وتنظيم البيانات داخل قواعد البيانات‪.‬‬
‫▪ ‪ :Host or compute‬التى تقوم بتشغيل البرامج والتطبيقات المختلفة مثل ( ‪Hardware, Software,‬‬
‫)‪.Firmware‬‬
‫▪ ‪ :Network‬تحدد مسار البيانات داخل الداتا سنتر عن طريق االجهزة المختلفة المتصلة بالشبكة‪.‬‬
‫▪ ‪ :Storage‬االجهزة التى تقوم بتخزين البيانات داخلها‪.‬‬

‫‪Modern IT Data Center Layers -‬‬


‫يمكن تقسيم مراكز البيانات الحديثة التى تتناسب مع ال‪ Cloud Computing‬الى ‪ 8 Layers‬منها ‪5 Logical‬‬
‫‪ Layers‬و ‪.3 cross-layer functions‬‬
:Five Logical Layers

‫ مثل اجهزة الهاردوير والسيرفرات‬Resources‫ التى تحتوى على ال‬:Physical infrastructure ▪


Virtual ‫ وتحويلها الى‬Physical Resources ‫ لل‬abstracting‫ تقوم بعملية ال‬:Virtual infrastructure ▪
Resources
‫ حيث يستطيع المستخدم من‬ITaaS (IT as Service) ‫ تقوم بتقديم ال‬:Software-defined infrastructure ▪
.‫خاللها الوصول الى التطبيقات المختلفة‬
‫ يقوم بعمل تنسيق وادارة المهام‬Orchestration software ‫ تحتوي على‬:Orchestration Layer ▪
.workflow ‫ المختلفة للمستخدمين من خالل عمل‬Requests‫لل‬
‫ والتى تقوم بتقديمها‬IT Resources‫ تشمل كل الخدمات والمعلومات الموجوده حول ال‬:Services Layer ▪
.end users‫الى ال‬

:Three cross-layer functions

‫( بسبب‬Down Time) ‫ تمكنك من تخفيف أثر التوقف عن العمل‬:Business continuity Layer ▪


‫االنقطاعات المخطط لها والغير مخطط لها من خالل عدة عوامل مثل‬
business impact analysis, risk assessment, backup, :‫ متضمنه‬Proactive Measure •
.archiving, and replication
.disaster recovery and disaster restart :‫ متضمنه‬Reactive Measures •

‫ تدعم هذه الطبقة جميع الطبقات السابقة لتقديم خدمة آمنة للمستخدمين اعتمادا على‬:Security Layer ▪
administrative mechanisms and technical mechanisms
‫ تقوم بدعم جميع الطبقات لتنفيذ مهام ادارة ومراقبة وعمل التقارير المتعلقه بالداتا‬:Management Layer ▪
‫سنتر‬
‫‪Key Characteristics of a Data Center‬‬ ‫‪-‬‬

‫اهم الخصائص الرئيسية لمراكز البيانات‪:‬‬

‫▪ ‪Availability‬‬
‫▪ ‪Security‬‬
‫▪ ‪Performance‬‬
‫▪ ‪Data integrity‬‬
‫▪ ‪Capacity‬‬
‫▪ ‪Manageability‬‬

‫‪Managing a Data Center -‬‬


‫▪ ‪Monitoring‬‬
‫▪ ‪Reporting‬‬
‫▪ ‪Provisioning‬‬

‫‪Virtualization and Cloud Computing ‬‬


‫اوال يجب ان نتعرف على تكنولوجيا ال‪ Virtualization‬وهي عملية انشاء نسخ وهمية ‪ Virtual‬من اجهزة حقيقية‬
‫‪ ,Physical‬مثل ‪ Compute, Storage & Network‬تحويلها الى ‪.Logical Resources‬‬

‫على سبيل المثال فان جهاز الكمبيوتر او السيرفر يتكون من عدة طبقات‪:‬‬

‫‪ Software Layer -‬وهي السوفتوير والتى تحتوي على النظام التشغيلي ‪ OS‬والتطبيقات المختلفة‬
‫‪ Virtualization Layer -‬وهي تفصل بين االولى والثالثة وهنا تطبق التكنولوجية التخيليه عن طريق ما‬
‫يسمى بال‪hypervisor‬‬
‫‪ Physical Layer -‬وهي الهاردوير والتى تحتوي على … ‪CPU, Memory, Hard Desk,‬‬

‫بالنسبة لل‪ Hypervisor‬هو نظام تشغيلي يكون وسيط بين ال‪ Hardware‬و ال‪ OS‬وينشا منه ‪.Virtual machine‬‬

‫اما ال‪ Cloud Computing‬هو مصطلح يشير الى الخدمات او الموارد التى تقدم الى الشركة من مزود الخدمة‬
‫عن طريق االنترنت بغرض االستفادة من االمكانيات لديها‪ ,‬بمعنى انه يمكنك نقل الداتا سنتر الخاصه بك الى داتا‬
‫سنتر موجوده عند مزودى خدمة ال‪ cloud‬وتستطيع الوصول اليها عن طريق سحابة االنترنت‪.‬‬
‫‪Chapter 2. Data Center Environment‬‬
‫االن اصبح وجود الداتا سنتر جزء اساسي فى اي شركة سواء كانت صغيرة‪ ,‬متوسطة او كبيرة‪.‬‬

‫ومن اهم عناصر الداتا سنتر الرئيسية كما ذكرنا هي ال ‪host, storage, Network, applications, and DBM‬‬

‫هذه العناصر تعمل على معالجة وتخزين البيانات‪ .‬وظهر تطور جديد للداتا سنتر مع ظهور ال‪Virtualization‬‬
‫اصبح قادر على تحويل ال‪ physical resources‬الى ‪ .Logical resources‬هذا التطور ادى الى قلة استخدام‬
‫ال‪ Physical resources‬مما ادى الى تحسين ال‪ Infrastructure‬وتقليل التكلفة االجمالية المتالكها‪.‬‬

‫‪Application ‬‬
‫هو تطبيق يمكن الوصول اليه من خالل الكمبيوتر و السيرفر‪ ,‬يقوم ببعض العمليات الحاسوبية المحدده التى‬
‫يحتاجها المستخدم حيث يقوم بعملية القراءة والكتابة للبيانات )‪ (Database‬باستخدام خدمات نظام التشغيل ألداء‬
‫عمليات ‪ R / W‬على أجهزة التخزين (‪.)Storage‬‬

‫يمكن تصنيف التطبيقات الى ‪business applications - infrastructure management applications - data‬‬
‫‪.protection applications - security applications‬‬
‫ومنها على سبيل المثال ‪Email, enterprise resource planning (ERP), decision support system (DSS),‬‬
‫‪ resource management, backup, authentication and antivirus applications‬وغيرها‪.‬‬
‫‪Note: Application virtualization breaks the dependency between the application and the‬‬
‫‪underlying platform (OS and hardware). Application virtualization encapsulates the application‬‬
‫‪and the required OS resources within a virtualized container.‬‬

‫‪Database Management System (DBMS) ‬‬


‫نظام ادارة قواعد البيانات وهوعبارة عن مجموعة من البرامج التى تتحكم في تنظيم وتخزين وإدارة وسحب‬
‫البيانات من قواعد البيانات‪ .‬و يمكنها ادارة العديد من قواعد البيانات كما يمكن العديد من المستخدمين من‬
‫الوصول إلى هذه القواعد في الوقت نفسه‪.‬‬

‫‪Host (Compute) ‬‬


‫يقوم المستخدمين بتخزين واسترجاع البيانات من خالل التطبيقات المختلفة‪ ,‬وتعمل هذه التطبيقات على اجهزة‬
‫الكمبيوتر التى تسمى بال ‪ Host‬ومن الممكن ان يكون ال‪ Host‬اما ‪ Physical‬او ‪ .Logical‬وامثلة على‬
‫ال‪ Physical Host‬مثل اجهزة الكمبيوتر والسيرفرات واجهزة الجوال والتى تحتوى على ‪CPU, memory, I/O‬‬
‫‪ devices‬وتحتوى ايضا على مجموعة من ال‪ Software‬لتنفيذ عمليات الحوسبة مثل معالجة المدخالت‬
‫المخرجات الى ال‪Host‬‬
‫العناصر االساسية لل )‪:Host (Compute‬‬

‫‪Operating System -‬‬


‫‪Device Driver -‬‬
‫‪Volume Manger -‬‬
‫‪File System -‬‬
‫‪Compute Virtualization -‬‬

‫‪Connectivity ‬‬
‫تشير الى كيفية الربط بين ال‪ Host‬واالجهزة المختلفة مثل السيرفرات واجهزة ال‪ Storage‬وسنقوم بالتركيز فى‬
‫هذا الجزء على التوصيل بال ‪ Storage Devices‬حيث يوجد هناك نوعين من االتصال‪:‬‬

‫‪Physical Components of Connectivity -‬‬


‫المقصود بال ‪ Physical connectivity‬لل ‪ Host‬هو كروت الشبكة ويوجد منها انواع حيث كارت الشبكة‬
‫المتصل باجهزة ال‪ Storage‬يكون نوعه )‪ host bus adapter (HBA‬اما المتصل باجهزة الشبكة يكون ‪. NIC‬‬

‫‪Interface Protocols -‬‬


‫مجموعة من البروتوكوالت التى تمكن من التوصيل بين ال‪ host‬وال ‪ Storage‬ومنها انواع مختلفة مثل‬
‫▪ ‪ :IDE/ATA and Serial ATA‬يكون ال‪ Storage‬موصولة مباشرة بال‪ Host‬بطريقة تسمى ‪DAS‬‬
‫▪ ‪ :SCSI and Serial SCSI‬تقنية نقل بيانات من النوع ‪ Parallel‬تستطيع نقل البيانات بسرعة ‪16Mbps‬‬
‫▪ ‪ :Fiber Channel‬تستخدم الكابالت الضوئية فى االتصال وتصل سرعة نقل البيانات الى ‪10Gbps‬‬
‫▪ )‪ :Internet Protocol (IP‬بروتوكول يستخدم فى ‪host-to-host traffic‬‬
‫‪Storage ‬‬
‫‪ -‬اوال مفهوم ال ‪Storage‬‬
‫بداية كان هناك ‪ Device‬يستخدم لتخزين البيانات والمعلومات وهناك انواع منه تسمى بالهارد ديسك ‪ HDD‬واهم‬
‫مايميز الهارد ديسك هوه قدرة التخزين وسرعة االداء لذلك كان هناك انواع منها ‪ATA, PATA, SATA,‬‬
‫‪SCSI, SAS & Fiber Channel‬‬
‫‪ -‬ثم ظهر مؤخرا تقنية ثانية عبارة عن ذاكرة متنقلة )‪ (Flash Memory‬تسمى بال)‪Solid-State Drive (SSD‬‬
‫وتعتبر أكثر كفاءة من االولى النها ال تعتمد فى قراءة البيانات على اى اجزاء متحركة كال‪ HDD‬فهو عبارة عن‬
‫مجموعه من االقراص المتحركة يتم قرائتها بواسطة راس متحرك (ابره) اما ال‪ SSD‬عبارة عن عدة شرائح‬
‫‪ NAND‬يتم التنسيق فيما بينهما بواسطة متحكم ‪. Controller‬‬
‫مع زيادة حجم البيانات وحفاظا على البيانات والمعلومات داخل الهارد ديسك كان البد من وجود عملية‬
‫‪ Redundantly‬وهنا ظهرت تقنية ال‪ RAID‬لتحسين اداء تخزين البيانات ويوجد انواع من ال‪ Raid‬منها‬
‫‪RAID-0, RAID-1, RAID-5, RAID-10‬‬
‫‪ -‬ومع ظهور االنترنت وزيادة حجم البيانات المراد تخزينها فظهر ال‪ File Server‬وهو عباره عن ‪ Server‬يضم‬
‫العديد من الهارديسك تخزن عليه البيانات عن طريق الشبكة ولكن كان هذا التصميم غير كافي ايضا‬

‫▪ )‪Direct-Attached Storage (DAS‬‬


‫ومعناها ان الهارد ديسك واصل مباشرة بالكمبيوتر او السيرفر عن طريق ‪ IDE‬كابل ‪ ATA or SATA‬ثم تتم‬
‫عملية ال‪ Read & Write‬للبيانات مباشرة على حسب ال‪ OS‬سواء كانت ‪ NTFS or FAT32‬باستخدام‬
‫بروتوكول ال ‪SCSI‬‬
‫▪ )‪Network attached storage (NAS‬‬
‫هناك طريقة اخرى لتوصيل ال ‪ Storage‬عن طريق الشبكة العادية ‪ LAN‬تسمى ‪ NAS‬نفس طريقة ال ‪File‬‬
‫‪ Server‬باختالف ان ال‪ Storage‬تكون داخل ‪ Arrays‬تقرا البيانات من عليها عن طريق برتوكوالت ‪NFS,‬‬
‫‪ CIFS & SMB‬ومن عيوبها انها ‪ File-Level Storage System‬والتستطيع ان تعمل منها ‪. Boot‬‬

‫▪ ‪A tape drives‬‬
‫نوع من انواع ال‪ Storage‬عبارة عن شريط ممغنط يتم الكتابة والقراءه عليه عن طريق ‪Tape Library‬‬

‫يتميز بسرعة نقل البيانات مثال ال)‪ Linear Tape-Open 7(LTO7‬تصل سرعته الى ‪300 Mbps‬‬
‫‪Disk Drive Components ‬‬
‫يتكون الهارد ديسك لل‪ Storage‬من مجموعه من المكونات الرئيسية مثل‪:‬‬

‫‪Platter -‬‬
‫هي واحد او مجموعه من االقراص الدائرية التى تخزن‬
‫عليها البيانات علي هيئة ‪.binary codes‬‬
‫‪Spindle -‬‬
‫هو الذى يربط جميع االقراص ببعضها وترتبط بمحرك‬
‫لتحريكه بسرعه ثابتة حيث ان االقراص تدور االف‬
‫المرات فى الدقيقة الواحدة‪.‬‬

‫‪Read / Write Head -‬‬


‫تقوم بعملية القراءة والكتابة على االقراص حيث يحتوي‬
‫كل قرص على رأسين واحد لكل وجه للقرص يتم‬
‫تحريكهما عن طريق محرك للقيام بعملية القراءة والكتابة‪.‬‬
‫‪Actuator Arm Assembly -‬‬
‫هو المحرك الذي يقوم بتحريك الرؤوس على االقراص‬
‫للقيام بعملية القراءة والكتابة‪.‬‬
‫‪Drive Controller Board -‬‬
‫هي لوحة الدوائر الموجوده فى الهارد ديسك وتحتوى على مجموعه من ال‪ microprocessor‬و ‪internal‬‬
‫‪.memory and firmware’s‬‬
‫‪Physical Disk Structure -‬‬
‫البيانات تخزن فى القرص على مايسمى بال ‪ tracks‬تكون عباره عن مجموعه من الدوائر او الحلقات حول‬
‫ال‪ spindle‬كما فى الصورة ويتم ترقيمها ابتداءا من الصفر بداية من الحلقة الخارجية ‪The number of‬‬
‫)‪tracks per inch (TPI‬‬
‫كل ‪ track‬ينقسم الى مجموعة من ال‪ Sectors‬كل ‪ sector‬يكون قابل لتخزين البيانات بشكل فردي ويختلف‬
‫عدد ال‪ sectors & tracks‬على االقراص على حسب اختالف نوع الهارد ديسك‪.‬‬

‫‪Zoned Bit Recording -‬‬


‫يتم تقسيم ال‪ tracks‬داخل القرص الى ‪ zones‬بناءا على المسافه الى منتصف القرص حيث ان ال‪tracks‬‬
‫الخارجيه على طرف القرص تكون مساحتها اكبر من ال‪ tracks‬الداخلية القريبه من المنتصف حيث كل ‪track‬‬
‫ال يحتوى على نفس حجم البيانات لذلك تم عمل ‪ zone bit recording‬لتتساوى حجم ال‪ tracks‬وتم ترقيمها حيث‬
‫ان ال‪ zone‬على ال‪ track‬الخارجية تبدا من صفر كما فى الصورة‪.‬‬
‫‪Logical Block Addressing -‬‬
‫الهارد ديسك يستخدم ‪ physical address‬يتكون من ال )‪ cylinder, head and sector (CHS‬هذا الرقم يشير‬
‫الى العنوان المحدد فى الديسك ويجب ان يكون نظام التشغيل على علم بهذه العناوين باستخدام ‪Logical block‬‬
‫)‪ addressing (LBA‬حيث يقوم ال‪ disk controller‬بتحويل ال‪ LBA‬الى ‪ CHS‬حيث ان نظام التشغيل يريد فقط‬
‫معرفة حجم الهاردديسك بناءا على عدد ال‪ Blocks‬حيث يتم مقارنتها بال ‪ physical sectors‬على اساس ‪1:1‬‬

‫‪Disk Drive Performance ‬‬


‫هناك عدة عوامل تؤثر على اداء محركات االقراص منها‪:‬‬
‫‪Disk Service Time -‬‬
‫هو الوقت الذى يستغرقه الهارد ديسك الكمال مهامه ‪ I/O Requests‬ومن العوامل التى تساهم فى ذلك‪:‬‬
‫▪ ‪ :Seek Time‬وهو الوقت المستغرق فى تحريك رأس القراءه والكتابه على ال‪ platter‬ليصل الى‬
‫ال‪ track‬المطلوب‪ ,‬وهناك مواصفات محدده لل ‪:Disk Service Time‬‬
‫• ‪Full Stroke‬‬
‫• ‪Average‬‬
‫• ‪Track-to-Track‬‬
‫▪ ‪ :Rotational Latency‬الوقت المستغرق للقرص للقيام بالدوران وظبط موقع ال‪ Sector‬المطلوب‬
‫تحت رأس القراءة والكتابة‪.‬‬
‫▪ ‪ :Data Transfer Rate‬متوسط كمية البيانات على الوحده الزمنية المستغرقة لوصول الداتا الى كارت‬
‫ال‪.HBA‬‬
‫‪Disk I/O Controller Utilization -‬‬
‫استخدام جزء كبير من الهارد ديسك له تاثيرعلى سرعة االستجابة ويعتمد هذا على عنصرين اساسين ‪:‬‬
‫▪ ‪ :Queue‬موقع انتظار ال‪ I/O Requests‬قبل المعالجة‬
‫▪ ‪ :Disk I/O Controller‬معالجة ال‪ I/O Requests‬المنتظره فى ال‪ queue‬واحده بواحده‪.‬‬

‫‪Host Access to Data ‬‬


‫‪ -‬طرق التخزين والوصول الى البيانات تختلف على حسب اختالف تصميم البنية التحتية للشبكة حيث تعتمد‬
‫على طريقة توصيل ال‪ Host‬بال‪ ,Storage‬فمن الممكن ان تكون ال‪ Storage‬موصوله داخليا او خارجيا‬
‫ويتم وصول ال‪ Host‬لل‪ Storage‬باستخدام بعض البروتوكوالت المختلفة مثل‬
‫‪.IDE/ATA SCSI or Fibre Channel‬‬
‫‪ FC & iSCSI -‬تستخدم للوصول الى البيانات على ال‪ Storage‬الموصوله خارجيا‪ ,‬اما اذا كانت ال‪Storage‬‬
‫موصوله مباشرة بال‪ Host‬فتستخدم ما يسمى بال )‪ direct-attached storage (DAS‬للوصول الى البيانات‪.‬‬
‫‪ -‬يمكن الوصول الى البيانات فى الشبكة بعدة طرق تسمى ‪.block level, file level & object level‬‬
‫حيث انه فى ال‪ File System‬يقوم بتقسيم ال‪ file attributes‬الى )‪ logical block address (LBA‬وارسالها‬
‫لطلب البيانات من ال‪ Storage‬ثم يقوم ال‪ storage‬بتحويل ال‪ LBA‬الى ‪ CHS‬ثم يقوم بجلب البيانات‪.‬‬

‫‪ -‬اما فى ال‪ Block Level‬يتم انشاء ال‪ File System‬داخل ال‪ Host‬ويتم الوصول للبيانات من خاللها كما‬
‫موضح بالصورة‪.‬‬
‫‪Direct-Attached Storage ‬‬
‫ومعناها ان الهارد ديسك واصل مباشرة بالكمبيوتر او السيرفر عن طريق ‪ IDE‬كابل ‪ ATA or SATA‬ثم تتم‬
‫عملية ال‪ Read & Write‬للبيانات مباشرة على حسب ال‪ OS‬سواء كانت ‪ NTFS or FAT32‬ببروتوكول ‪.SCSI‬‬

‫‪DAS Benefits and Limitations -‬‬


‫يتطلب تكلفة اقل فى بناء الشبكة بالنسبة لل‪ Storage‬وكذلك االعدادات تكون بسيطه وسريعة مما يجعل التحكم‬
‫فى ال‪ Storage‬ابسط واسهل‪.‬‬
‫‪Storage Design Based on Application Requirements and Disk Performance ‬‬
‫‪ -‬يسهل تحديد حجم ال‪ Storage‬المطلوبه الي ‪ Application‬حيث تقدر بحجم وارقام كل من ال ‪file system‬‬
‫ومكونات ال‪ database‬المستخدمة فى ال‪ Application‬نفسه‪.‬‬
‫‪ -‬حجم وعدد ال‪ I/O Requests‬وخصائصه التى تم انشائها عن طريق ال‪ Application‬تؤثر على سرعة‬
‫استجابة ال‪ Storage‬وبالتالى يؤثر على ال ‪.Disk Performance‬‬
‫‪ -‬حجم ال‪ I/O block‬يعتمد على ال ‪ file system‬و ال‪ database‬التى تم انشائها عن طريق ال‪Application‬‬
‫‪ -‬من المفترض ان ال)‪ disk service time (Ts‬الي ‪ I/O Request‬هو مقياس لل ‪ Disk Performance‬وكما‬
‫ذكرنا سابقا ان ال ‪ Ts‬هي مجموع ال)‪ seek time (T‬و)‪ rotational latency (L‬و)‪internal transfer time (X‬‬
‫‪ -‬اذن )‪ (TS = T + L + X‬فعلى سبيل المثال‪....‬‬

‫لو افترضنا ان معدل ال )‪ seek time (T‬هو ‪5ms‬‬


‫وان سرعة دوران القرص هي ‪15000 revolutions Per minute‬او‪ 250 Per Second‬اي ان ‪L=0.5/250 rps‬‬
‫وان حجم البيانات المراد نقلها ‪ 40Mb‬وعلى سبيل المثال ان حجم ال ‪ 32kb=I/O block‬اذن ‪L=32kb/40mb‬‬
‫اذن الوقت المستغرق لل ‪ I/O Controller‬لنقل ‪ block size 32kb‬هو‬
‫‪(TS) = 5 ms + (0.5/250) + 32 KB/40 MB = 7.8 ms‬‬

‫وبالتالي‬

‫‪the maximum number of I/Os serviced per second or IOPS is (1/ TS) = 1/(7.8 × 10*3) = 128‬‬
‫‪IOPS‬‬

‫وهنا جدول لتوضيح الحد االقصى لل ‪ IOPS‬لخدمة ال‪ Block Size‬المختلفة‪.‬‬

‫نجد هنا ان معدل ال‪ IOPS‬يتراوح من ‪ 116 – 140‬ومن الممكن ان يصل الى الحد االقصى لالستخدام وكما‬
‫ذكرنا من قبل انه معدل االستخدام يؤثر على سرعة االستجابة )‪ Response Time (R‬على سبيل المثال لو ان‬
‫معدل االستخدام )‪ (U‬ل ‪ Block size‬حجمه ‪ 32kb‬هو ‪ 96%‬اذن سرعة االستجابة )‪ (R‬هي‪:‬‬
‫‪R = TS/(1 – U) = 7.8/(1 – 0.96) = 195 ms‬‬
‫هنا نجد ان سرعة االستجابة تختلف على حسب معدل االستخدام‬
‫وبالتالى تحديد ال‪ Storage‬المطلوبه الي ‪ Application‬تعتمد على ال ‪ Capacity & IOPS‬لو افترضنا ان‬
‫ال‪ Application‬يتطلب ‪ 200GB‬فمن الممكن استخدام ‪ .Single Disk‬لكن ماذا لو ان معدل ال‪IOPS‬‬
‫لل ‪ application‬نفسه عالى فان سرعة استجابة ال ‪ Single Disk‬تكون قليلة على عملية ‪.I/O Requests‬‬
‫اذن عدد ال‪ Disks‬المطلوبة )‪ (DR‬تساوي‬

‫)‪DR = Max (DC, DI‬‬

‫‪DC = the number of disks required to meet the capacity‬‬

‫‪DI = number of disks required to meet the application IOPS‬‬

‫على سبيل المثال‪:‬‬


‫لو افترضنا ان المساحة المطلوبه ل ‪ Application‬ما‪ ,‬هى ‪ 1.46 TB‬وان معدل ال‪ I/O‬المنشأه من خالل هذا‬
‫ال‪ Application‬هي ‪ ,9000 IOPS‬وعلى حسب مواصفات ال‪ Vendors‬بان مساحة الديسك ‪ 146GB‬بمعدل‬
‫دوران ‪ 15000 rbm‬قادرة على القيام ب ‪ 180 IOPS‬حد اقصى‬
‫اذن من المساحة المطلوبه نجد ان عدد الديسك المطلوبه = ‪1.46 TB/146 GB = 10 disks DC‬‬

‫ايضا عدد الديسك المطلوبه لمقابلة ال‪9000 / 180= 50 Disks = application IOPS‬‬
‫لكن لو افترضنا ان هناك معدل استخدام ‪ 70%‬للديسك فان معدل ال‪ IOPS‬يصبح ‪180 / 0.7= 126 IOPS‬‬
‫وبالتالى يكون عدد الديسك المطلوبه لمقابلة ال‪9000 / 126 = 72 Disks DI = application IOPS‬‬

‫اذن عدد ال‪ Storage‬المطلوبه لل ‪Max (10, 72) = 72 disks = Application‬‬

‫‪Disk Native Command Queuing ‬‬


‫ال‪ Command Queuing‬هي تقنية جديدة تقوم بتحديد اوامر التنفيذ لل ‪ I/O‬المستقبلة وازالة حركة رؤوس القراءة‬
‫الكتابه الغير ضرورية منها لتحسين مستوى الديسك‪.‬‬

‫عندما يستقبل الديسك ال‪ I/O‬للتنفيذ فان ‪ command queuing algorithms‬يقوم بوضع ‪ tags‬لتحديد تسلسل‬
‫االوامر التى يجب تنفيذها اوال‪.‬‬

‫فى ال‪ Command Queuing‬تعتمد ال‪ Commands‬على تنظيم الداتا داخل الديسك بغض النظر عن االوامر‬
‫المستقبله فى اي ‪ command‬وهنا تستخدم ال‪Seek Optimization‬‬

‫تعتمد ال‪ Commands‬ايضا على تحسين القراءة ‪ /‬الكتابة لحركات الرأس‪ ،‬مما قد يؤدي إلى إعادة ترتيب األوامر‬

‫حيث انه بدون ال‪ seek optimization‬يتم تنفيذ االوامر بالترتيب كما هي ‪ .‬كما بالصورة التالية‬
‫‪Introduction to Flash Drives ‬‬
‫‪ -‬ال ‪ Flash Drives‬هو جيل جديد من الديسكات تسمى ايضا ب )‪ solid state drives (SSDs‬وهي اكثر كفائه‬
‫واعلى فى االداء عن ال‪.HDD‬‬
‫‪ -‬النها ال تعتمد فى قراءة البيانات على اى اجزاء متحركة‪ .‬والنها تستخدم مايسمى بال ‪semiconductor-‬‬
‫)‪ based solid state memory (flash memory‬لحفظ واسترداد البيانات‬
‫‪ -‬النها ايضا ال تحتوي على ‪ seek time‬او ‪rotational latencies‬‬
‫‪ -‬ال‪ Flash Drives‬ايضا تستلم عدد كبير من ال‪ IOPS‬فى وقت استجابه )‪ (Respond Time‬قليل جدا‪.‬‬
‫‪ -‬ايضا ال‪ Flash Drives‬يستهلك طاقة اقل مقارنة بال ‪.HDD‬‬
‫‪ -‬ال‪ Flash Drives‬مناسب خاصة لل ‪ Block Size‬الصغيرة والتى تتطلب اقل من ‪ 1ms‬لل‪Respond Time‬‬
‫‪ -‬هناك بعض ال‪ Applications‬التى تتطلب سرعه فى معالجة الداتا مثل ‪currency exchange, electronic‬‬
‫‪ trading systems‬والتى تجد فائدة فى استخدام ال‪.Flash Drives‬‬
‫‪Components and Architecture of Flash Drives -‬‬
‫‪ -‬ال‪ Flash Drives‬تشبه فى شكلها الفيزيائى ال‪ Physical Disks‬االخرى مما يسهل عملية استبدال‬
‫الديسكات داخل ال‪.Storage Array‬‬
‫المكونات الرئيسية لل ‪ Flash Drives‬هي ‪:‬‬
‫▪ ‪ :Controller‬الدارة اداة ال‪Drive‬‬
‫▪ ‪ :I/O Interface‬يوفر الطاقة والوصول للبيانات‬
‫▪ )‪ :mass storage (collection of memory chips‬هي مجموعه من ال‪ memory chips‬تسمى‬
‫)‪ nonvolatile NAND (negated AND‬تستخدم لتخزين الداتا‪.‬‬
‫▪ ‪ :Cashe‬يستخدم للتخزين االحتياطي للداتا للقيام بعملية ال‪.Buffering‬‬
‫‪ -‬ال‪ Flash Drives‬تستخدم العديد من ال‪ I/O Channels‬الموصوله من ال‪ Controller‬الى ‪memory chips‬‬
‫للوصول الى الداتا مما يؤدى الى ارتفاع ال‪ Bandwidth‬الداخلية وكذلك ال‪Performance‬‬
‫‪ -‬وتستخدم عادة من ‪ 8‬الى ‪.Channels 24‬‬
‫‪ -‬يتم تقسيم ال‪ Memory chips‬الى ‪blocks & pages‬‬
‫‪ -‬ال‪ pages‬هي اصغر شئ يمكن القراءة والكتابة عليه فى ال‪ flash drives‬ويتم تقسيمه الى مجموعات‬
‫داخل ال‪ ,blocks‬ليس لها مساحه معينه ممكن ان تبدا من ‪4 KB, 8 KB – 16 KB‬‬
‫‪ -‬يمكن ان يحتوى ال‪ blocks‬على ‪.32, 63 or 128 Pages‬‬

‫‪Features of Enterprise Flash Drives -‬‬


‫▪ ‪NAND flash memory technology‬‬
‫هي تكنولوجيا مناسبة للقراءة العشوائية للبيانات النها تستخدم مايسمى بال ‪bad block tracking and‬‬
‫)‪error-correcting code (ECC‬‬
‫▪ ‪Single-Level Cell (SLC)-based flash‬‬
‫تقنية ال ‪ NAND‬تستخدم شكلين مختلفين من ال‪Cell Designs‬‬
‫• )‪ :A multi-level cell (MLC‬يمكنها من تخزين اكثر من ‪.pit per cell‬‬
‫• )‪ :single-level cell (SLC‬التى يمكنها تخزين ‪ 1 pit‬فقط‬
‫ال‪ SLC‬هي التكنولوجيا المفضله لدى الشركات بسبب ادائها االعلى وسرعة القراءه والكتابه‬
‫لديها عن ال‪MLC‬‬
‫▪ ‪Write leveling technique‬‬
‫عنصر مهم فى تحقيق اقصى استفاده من عمر ال‪ Flash drives‬حيث كتابة البيانات يتم تحديثها بشكل‬
‫متكرر لتجنب اعادة الكتابة على نفس الخاليا‪ .‬واستخدام اصغر ‪ block‬عند عملية الكتابة الجديدة‪.‬‬
‫‪Concept in Practice: VMware ESXi ‬‬
‫‪ VMWare‬هي الشركة الرائدة فى تقنية ال‪ Server virtualization‬حيث تقدم نظام تشغيلي يسمى بال‪Hypervisor‬‬

‫‪ -‬ال ‪ hypervisor‬هو عباره عن نظام تشغيلي يتعامل مباشرة مع الهاردوير للسيرفر حيث انه يتم تنزيله‬
‫على ال‪ x86 hardware‬ويقوم بتخصيص نسبة من ال‪ resource‬الخاصه به مثل ال ‪Hard drive, ram,‬‬
‫‪ CBU‬النشاء ‪ virtual machines‬داخله تعمل على ‪ Physical machine‬واحده‪.‬‬
‫‪ -‬ال‪ virtual machine‬يتم تخزينها داخل ملفات منفصله يمكن نقلها او نسخها على هيئه ‪template‬‬
‫‪ -‬تخزن الداتا داخل ال‪ VM‬فى ‪ single directory‬داخل ال ‪ file system cluster‬وتسمى بال ‪virtual‬‬
‫)‪.machine file system (VMFS‬‬
‫‪ -‬ال‪ ESXi‬هو ال‪ virtual machine host‬ل ‪ VMWare‬يستخدم ال‪ physical resource‬النشاء ال‪VM‬‬
‫‪ -‬ال ‪ ESXi‬يحتوى على مكونين رئيسين ‪VMkernel and Virtual Machine Monitor‬‬
‫▪ ‪ VMkernal‬الكروت التى تستخدم للربط بين ال‪ VM‬وال‪.hardware‬‬
‫▪ ‪ Virtual Machine Monitor‬هو المسؤول عن تنفيذ االوامر داخل ال‪ CBUs‬وعن عملية ال ‪binary‬‬
‫‪.translation‬‬
‫‪Chapter 3. Data Protection: RAID‬‬

‫مراكز البيانات اصبحت االن تحتوي على العديد من وسائط التخزين ‪ Disk Drives‬داخل ال ‪Storage‬‬
‫‪ Infrastructure‬و مع زيادة حجم البيانات وحفاظا على البيانات والمعلومات داخل الهارد ديسك كان البد من‬
‫وجود عملية ‪ Redundantly & data protection‬وهنا ظهرت تقنية ال‪ RAID‬لتحسين اداء تخزين البيانات‪.‬‬
‫ويوجد انواع من ال‪ Raid‬منها ‪.RAID-0, RAID-1, RAID-5, RAID-10‬‬

‫وهي إختصار لـ ‪ redundant array of independent disks‬وتعد هذه التقنية من أحد أهم التقنيات المستخدمة‬
‫في السيرفرات وأجهزة حفظ البيانات فهي تقوم بعملية دمج عدة وحدات تخزين مع بعضها البعض ليس بشكل‬
‫فيزيائي أو عن طريق الكابالت ولكن بطريقة منطقية مقسمة إلى عددة مستويات مثل ‪ RAID 0‬و ‪ RAID 1‬و‬
‫‪ RAID 5‬ولكل واحد منها خصائصه فمثال ‪ RAID 0‬يقوم بزيادة سرعة النقل واألداء وذلك بتقسيم حزمة البيانات‬
‫بين عدة وحدات تخزين حيث أن كل وحدة تأخذ جزء من البيانات لتحفظها وهذا يقلص من وقت الحفظ كون‬
‫وجود عدة أقراص تشتغل في عملية الحفظ بدال من واحد ‪ .‬أما ‪ RAID 1‬فهي تعمل عند تواجد وحدتيين تخزين أو‬
‫أكثر فهي تقوم بأخذ نسخة إحتياطية من وحدة التخزين ونسخها لألقراص األخرى بشكل كامل بهدف الحفاظ على‬
‫البيانات من الضياع ‪ .‬وهنالك خصائص أخرى أكثر تعقيدا في المستويات األخرى حيث يمكننا دمج عدة مستويات‬
‫مع بعض للحفاظ على البيانات من الضياع بشكل أفضل ولتسريع أداء النقل أيضا‪.‬‬

‫‪RAID Implementation Methods ‬‬


‫‪Software RAID -‬‬
‫يستخدم ‪ host-based software‬لتقديم وظائف ال‪ RAID‬حيث يكون فى طبقة نظام التشغيل وال يستخدم‬
‫‪ hardware‬خارجي الدارة ال‪ .RAID Array‬ومن مميزاته‪:‬‬
‫▪ ‪Performance‬‬
‫▪ ‪Supported features‬‬
‫▪ ‪Operating system compatibility‬‬

‫‪Hardware RAID -‬‬


‫يستخدم ‪ hardware controller‬للقيام بوظائف ال‪ RAID‬يكون اما على ال‪ host‬ويسمى ‪Controller card RAID‬‬
‫او على ال ‪ array‬ويسمى ‪ .The external RAID controller‬ومن مميزاته‪:‬‬
‫▪ ‪Management and control of disk aggregations‬‬
‫▪ ‪Translation of I/O requests between logical disks and physical disks‬‬
‫▪ ‪Data regeneration in the event of disk failures‬‬
‫‪RAID Array Components ‬‬
‫ال ‪ RAID array‬عباره عن ‪ enclosure‬يحتوى على عدد من الديسكات التى تدعم ال ‪ RAID‬من الممكن تجميعهم‬
‫فى ‪ one logical disk‬وتسمى بال‪ logical array‬او ‪.RAID group‬‬

‫‪RAID Techniques ‬‬


‫يوجد ثالث تقنيات لل‪ RAID‬وهي‪:‬‬
‫‪Striping -‬‬

‫تعني تقسيم الداتا الى احجام صغيره وتوزيعها على‬


‫ال‪ (more than one) Drives‬بالتوازي‪ .‬كل منهم لهم نفس‬
‫الحجم وتعمل رؤوس القراءه والكتابه فى وقت واحد مما‬
‫يعمل على معالجة البيانات فى وقت اقصر وبالتالى تزيد‬
‫سرعة االداء‪.‬‬

‫داخل كل ديسك مجموعه من ال ‪ RAID‬ويحتوى كل ‪RAID‬‬


‫على عدد من ال‪ block size‬يتم تحديدها وتعرف بال‬
‫‪.strips‬‬

‫حجم ال‪ Strip‬هو عدد ال‪ blocks‬وهو ايضا عباره عن الحد‬


‫االقصى للبيانات التى يتم قرائتها وكتابتها على الديسك‬
‫الواحد‪.‬‬
‫‪Mirroring -‬‬
‫وهي تعنى تخزين نفس الداتا على اتنين ديسك مختلفين اي انه يتم عمل ال ‪ Back-up‬بشكل فوري ومستمر‬
‫وذلك بانه يتم كتابة البيانات بنفس الوقت على ال‪.two disks‬‬
‫يمكن إضافة أو إزالة اي من ال‪ disks‬الموجوده داخل ال‪ RAID‬وذلك يضمن استرجاع البيانات فى حالة تعطل‬
‫اي ديسك دون الحاجه لوجود ‪ .backup‬وذلك يوفر ال ‪.Data redundancy & Data Protection‬‬
‫ولكن من عيوبها بطئ عملية كتابة البيانات حيث انه يقوم بالكتابه على ‪ two disks‬وايضا ارتفاع التكلفة المالية‪.‬‬

‫‪Parity -‬‬
‫هى طريقه اخرى لحماية البيانات دون زيادة التكلفة كما يحدث فى ال‪ ,mirroring‬حيث يتم اضافة ديسكات‬
‫احتياطيه لضمان عملية ال‪ Parity‬حيث ان هذه الديسكات االضافية تحتوى على معلومات من كل ديسك يمكنها‬
‫من اعادة انشاء البيانات فى حالة حدوث عطل بها‪ .‬هذه التقنية ايضا توفر ال‪ redundancy & protection‬دون‬
‫عمل ‪ .duplicate data‬بمعنى اخر فانه يتم تقسيم البيانات الى عدد من األجزاء )‪ (Stripes‬بعدد الديسكات ما‬
‫عدا ديسك واحد يتم تخزين به جزء اخر يطلق عليه جزء االحتياط )‪ (parity‬ويتم توليده من األجزاء‬
‫االخرى‪,‬وانشاء ال‪ Parity‬يتم عن طريق مقارنة باقي األجزاء عن طريق )‪ (XOR‬هذه الدالة تقوم باجراء عملية‬
‫حسابية على أجزاء البيانات االخرى لكتابة واسترجاع البيانات‪.‬‬
‫ال ‪ Parity information‬يمكن تخزينها فى ‪ separate, dedicated disk drives‬او ‪ distributed disk‬موزعه‬
‫على كل الديسك داخل ال‪ RAID‬كما موضحه بالصورة‬
‫‪RAID Levels ‬‬
‫يوجد العديد من انواع ال‪ RAID‬يمكن استخدامها‪ ,‬كل منها تستخدم تقنية معينه سواء كانت ‪Striping, Mirroring‬‬
‫‪ or Parity‬كما موضح بالجدول التالى‪:‬‬

‫‪RAID 0 -‬‬
‫يستخدم تقنية ال‪ striping‬حيث يقوم ال‪ RAID controller‬بتوزيع البيانات على جميع الديسكات الموجوده‬
‫بالتساوي)‪ (strip size‬وبالتالى القراءه والكتابه تعمل بشكل متزامن مما يؤدى الى زيادة فى‬
‫االداء )‪(Performance‬‬
‫مساحة ال‪ = RAID‬جميع مساحات ال‪ disks‬الموجوده داخل ال‪.RAID‬‬
‫من عيوبه عند تلف اي ديسك داخل ال‪ RAID‬تضيع كل البيانات المخزنه‪ .‬يكون استخدامه جيد مع‬
‫ال‪ Application‬التى تتطلب ‪.high I/O throughput‬‬
‫‪RAID 1 -‬‬
‫تستخدم تقنية ال‪ mirroring‬حيث يقوم بالحفاظ على البيانات من خالل نسخها على ديسك اخر كـ ‪backup‬‬
‫يكون الديسك االخر نفس الصوره لالول )‪.(Redundancy‬‬
‫يعتبر هو االفضل فى عملية ال‪ Recovery‬وبذلك يعتبر افضل للتطبيقات التى تحتاج ‪High Availability‬‬
‫لكن يوجد به بعض العيوب حيث يحتاج الى واحدات تخزين اكثر النه يقوم بتكرار البيانات على اكثر من ديسك‬
‫وبالتالى يكون ابطئ فى عملية الكتابة للبيانات‪.‬‬

‫‪Nested RAID -‬‬


‫هي خليط من ‪ RAID 0‬و ‪ RAID 1‬بحيث تحقق االداء المميز )‪ (Performance‬من ‪ RAID 0‬والحماية المطلوبه‬
‫)‪ (Redundancy‬من ‪ .RAID 1‬تعرف باسم )‪RAID 1+0 (RAID 10) or RAID 0+1 (RAID 01‬‬
‫لكي نفهم طريقة عمل ال ‪ Nested RAID‬على سبيل المثال من الصورة السابقة‬
‫‪ RAID 1+0‬نجد ان هناك ‪ 6 disks‬تم دمجهم ليعملو ك )‪RAID1+0 (RAID 1 first and then RAID 0‬‬
‫حيث ‪ RAID 1‬طبقت ال‪ mirroring‬على كل اتنين ‪ disk‬كما يلي‪:‬‬
‫)‪Drives 1+2 = RAID 1 (Mirror Set A‬‬

‫)‪Drives 3+4 = RAID 1 (Mirror Set B‬‬

‫)‪Drives 5+6 = RAID 1 (Mirror Set C‬‬

‫ثم ‪ RAID 0‬طبقت ال‪ striping‬على كل ال ‪Sets A,B & C‬‬

‫اما فى ‪ RAID 0+1‬نجد انه تم تطبيق ال ‪ striping‬اوال لكل من‪:‬‬


‫)‪Drives 1 + 2 + 3 = RAID 0 (Stripe Set A‬‬

‫)‪Drives 4 + 5 + 6 = RAID 0 (Stripe Set B‬‬

‫ثم تم تطبيق ال ‪ mirroring‬بين ‪.set A & B‬‬

‫‪RAID 3,4 -‬‬


‫تستخدم تقنية ال‪ Parity‬حيث يقوم بعمل ‪ stripes‬للداتا من اجل زيادة االداء وكذلك يقوم بعمل ‪ Parity‬من اجل‬
‫‪.fault tolerance‬‬
‫حيث ان ال‪ Parity‬يقوم بتخزين معلومات عن كل ال‪ Drive‬الموجوده بحيث لو حدث اي خطا فى اي منهم يقوم‬
‫باعادة بناء البيانات‪.‬‬
‫ولكن يختلف فى ‪ RAID 4‬انه يقوم بالوصول الى البيانات على ال‪ Disks‬المطبق عليها ال‪ striping‬بشكل مستقل‬
‫دون الحاجه الى قراءة البيانات كامله على ال‪.striping‬‬
‫‪RAID 5 -‬‬
‫يتشابه مع ‪ RAID 4‬من حيث عمل ال‪ Striping‬والوصول الى ‪ strips drivers‬بشكل مستقل مع تطبيق‬
‫ال ‪ Parity‬ايضا مع اختالف موقع ال‪ Parity‬حيث انه فى ‪ RAID 4‬يكون ديسكات محدده لكن فى ‪ RAID 5‬تكون‬
‫موزعه على كل الديسكات كما موضح بالصورة لتجنب المشاكل التى تحدث عند الكتابه على ‪dedicated‬‬
‫‪.parity disk‬‬

‫‪RAID 6 -‬‬
‫يعمل بنفس طريقة ال ‪ RAID 5‬مع اختالف وجود ‪ Parity‬اخر فى ‪ RAID 6‬وذلك لتجنب ضياع البيانات اذا‬
‫حدث خطأ فى اتنين ديسك مع بعض داخل ال‪ RAID‬ولذلك تكون الكتابة ابطئ به عن ‪ RAID 5‬نظرا لوجود‬
‫‪ Parity‬اخر وايضا اعادة انشاء البيانات تكون ابطئ‪.‬‬
‫‪RAID Impact on Disk Performance ‬‬
‫عند اختيار نوع ال‪ RAID‬الذي سيتم تطبيقه يجب النظر اوال الى مدى تاثيره على اداء ال‪Disks‬‬
‫والتطبيقات )‪.(IOPS‬‬
‫على سبيل المثال فى نظامي ال ‪ mirroring & Parity‬يكون هناك العديد من المدخالت والمخرجات ‪ I/O‬مثل‬
‫قراءة وكتابة البيانات‪.‬‬
‫فنجد مثال فى ‪ RAID 1‬كل عملية كتابة يجب ان تتم على اتنين ديسك مختلفين الذين يستخدمون نظام‬
‫ال‪ ,mirroring‬كذلك فى ‪ RAID 5‬عملية الكتابة من المحتمل ان تمر على اربعة عمليات مختلفه حيث ان‬
‫ال‪ RAID controller‬يقوم بقراءة وكتابة واعادة تهيئة البيانات وكتابتها على ال‪ Parity‬لكل داتا يتتم قرائتها على‬
‫ال‪ .RAID‬كما نجد فى الصورة التالية‬

‫تم حساب ال)‪ Parity (P‬على اساس المعادلة ‪ XOR‬حيث‬

‫)‪Ep = E1 + E2 + E3 + E4 (XOR operations‬‬

‫وعندما يتم قراءة بيانات جديدة عن طريق ال‪ RAID controller‬يتم حساب ال‪ Parity‬عن طريق قراءة ال‪Parity‬‬
‫القديم )‪ (Ep old‬باالضافة الى قراءة البيانات القديمة )‪(E4 old‬وبعد ذلك يقوم ال‪ Controller‬بكتابة البيانات‬
‫الجديدة على الديسك وعلى ال‪ (Ep new) Parity‬وهذا معناه انه يوجد عمليتين قراءة وعمليتين كتابة لكل عملية‬
‫كتابة جديدة للبيانات داخل ال‪.RAID‬‬
‫)‪Ep new = Ep old – E4 old + E4 new (XOR operations‬‬

‫وكذلك فى ‪ RAID 6‬نجد انه يتطلب ‪ 3‬عمليات قراءة )‪ (2 Parity & 1 Data‬وكذلك ايضا القراءة‪ .‬اي ‪ 6‬عمليات‬
‫‪ I/O‬على الديسكات‪.‬‬
Application IOPS and RAID Configurations -
‫ بناءا على عدد‬RAID‫عند تحديد عدد الديسكات المطلوبه الي تطبيق يجب االخذ فى االعتبار مدى تاثير ال‬
RAID configuration‫ يحسب بناءا على ال‬Disk load‫ حيث ان ال‬.application‫ المنشأه من خالل ال‬IOPS‫ال‬
.host‫وعمليات القراءة والكتابه التى تتم من ال‬
‫ منهم يتم قرائتهم‬60% ‫ حوالى‬,5200 IOPS ‫ ينشا‬application ‫على سبيل المثال لو ان هناك‬
:‫ يحسب كاالتى‬disk load ‫اذن ال‬
The disk load in RAID 5 is calculated as follows:
RAID 5 disk load (reads + writes) = 0.6 x 5,200 + 4 x (0.4 x 5,200) [because the write penalty
for RAID 5 is 4]
= 3,120 + 4 x 2,080
= 3,120 + 8,320
= 11,440 IOPS
The disk load in RAID 1 is calculated as follows:
RAID 1 disk load = 0.6 x 5,200 + 2 x (0.4 x 5,200) [because every write manifests as two writes
to the disks]
= 3,120 + 2 x 2,080
= 3,120 + 4,160
= 7,280 IOPS
‫ مع اعتبار ان الحد‬workload‫ نجد ان عدد الديسكات المطلوبه للعمل مع ال‬RRAID 5 ‫ مع‬RAID 1 ‫بالمقارنة‬
180 IOPS ‫االقصى للديسك الواحد حسب مواصفاته هي‬
RAID 5: 11,440/180 = 64 disks
RAID 1: 7,280/180 = 42 disks (approximated to the nearest even number)
‫‪RAID Comparison -‬‬

‫‪Hot Spare -‬‬

‫يقصد بها ديسكات احتياطيه داخل ال‪ RAID array‬تستبدل مؤقتا مع الديسكات التى يحدث بها مشكلة لتقوم بعملية‬
‫ال‪ Data Recovery‬حسب نظام ال ‪ RAID‬المطبق‪ .‬على سبيل المثال‬

‫اذا كان ‪ Parity RAID‬هو المستخدم فيتم اعادة انشاء البيانات داخل ال‪ hot spare‬من خالل ال‪ Parity Disk‬داخل‬
‫ال‪.RAID set‬‬

‫اما اذا كان ‪ Mirroring RAID‬فيتم نسخ البيانات من ال‪ mirror disk‬االخر‪.‬‬

‫وعندما يتم اضافة ديسكات جديدة الى ‪ RAID array‬يتم نسخ البيانات من ال‪ hot spare‬الى الديسك الجديد‬

‫ثم يعود ال‪ hot spare‬الى وضع االستعداد ليحل مكان اي ديسك اخر عند حدوث اي مشكله به‪.‬‬
‫‪Chapter 4. Intelligent Storage Systems‬‬

‫تكنولوجيا ال‪ RAID‬تساهم بشكل كبير فى تحسين اداء ال‪ Storage System‬لكنها قد التكون كافية بالنسبة‬
‫لبعض التطبيقات الحديثه‪.‬‬
‫ومع تقدم التكنولوجيا ظهرت حلول اخرى لل‪ Storage‬تسمى ب ‪ intelligent storage systems‬هي تطور‬
‫لتكنولوجيا ال‪ RAID‬حيث يمكنها القيام باداء افضل لعمليات ال ‪ I/O‬بقدرات عالية‪ .‬حيث يتم تهيئتها بعدد كبير‬
‫من ال‪ memory‬تسمى )‪ (cashe‬ايضا عدد كبير من ال‪ I/O Paths‬عن طريق ‪ algorithm‬متطورة لتلبية‬
‫متطلبات التطبيقات الحديثة والتى تحتاج الى اداء عالى‪.‬‬

‫‪Components of an Intelligent Storage System ‬‬


‫تحتوى ال‪ Intelligent Storage Systems‬على اربع مكونات رئيسية هم & ‪front end, cache, back end,‬‬
‫‪ .physical disks‬باالضافة الى االربط الداخلى بينهم كما موضح بالصورة‬
‫حيث يتم استقبال ال‪ I/O Request‬من ال‪ Host‬عن طريق ال‪ Front-end‬ثم يتم معالجتها عن طريق ال‪ cashe‬و‬
‫ال‪ Back-end‬حتى تمكن من تخزينها واسترجاعها من ال‪.Physical-Disks‬‬

‫‪Front End -‬‬


‫هو ال‪ Interface‬الموصول بين ال‪ Storage system‬وال ‪ Host‬ويحتوى على جزئين هما ال ‪Front-end‬‬
‫‪ controller & front-end ports‬ويكون هناك اكثر من‪ Controller‬من اجل عملية ال‪ Redundancy‬يحتوى كل‬
‫منهم على اكثر من ‪ Ports‬لكي يقدر على توصيل العديد من ال‪ host‬على ال‪.Intelligent storage‬‬
‫ويستخدم ال‪ front-end controller‬العديد من البروتوكوالت لعملية نقل البيانات مثل ‪Fibre Channel, iSCSI,‬‬
‫‪ ,FICON, or FCoE‬حيث يقوم بتوجيه البيانات المستقبله وارسال ‪ Acknowledgement‬الى ال‪.Host‬‬
‫‪Cashe -‬‬
‫هي ذاكرة تخزين احتياطي يتم وضع البيانات بها مؤقتا لتقليل الوقت المطلوب لمعالجة ال‪I/O requests‬‬
‫المستقبله من ال‪.Host‬‬
‫ال‪ Cashe‬يقوم بتحسين اداء ال‪ Storage System‬عن طريق عزل ال‪ Host‬عن ال‪HDD‬‬
‫الديسكات بشكلها الفيزيائى تعتبر دائرية والحركة الدائرية لها تعتبر هي الجزء االبطئ داخل نظام‬
‫ال‪ intelligent storage‬حيث ان الوصول للداتا خالل دوران الديسك ياخذ بعض الوقت ‪ milliseconds‬بسبب‬
‫ال‪ seek time & rational latency‬بعكس الوصول الى الداتا الموجوده على ال‪ cashe‬تاخذ اقل من‬
‫‪ millisecond‬داخل ال‪.intelligent arrays‬‬

‫▪ ‪Structure of Cache‬‬
‫يتم تخزين ال‪ cashe‬داخل صفحات )‪ (Pages‬وهي اصغر وحده تخزين داخل ال‪cashe‬‬
‫حجم كل ‪ page‬يحدد بناءا على ‪ I/O size‬الخاص بال‪.application‬‬
‫وال‪ cashe‬يتكون من ‪ data store & Tag RAM‬حيث ال‪ data store‬تحمل البيانات بينما ال‪tag RAM‬‬
‫تتتبع مواقع البيانات داخل ال‪.data store‬‬

‫▪ ‪Read Operation with Cache‬‬


‫عندما يطلب ال ‪ host‬قراءة اي بيانات يقوم ال‪ Storage controller‬بقراءة ال‪ tag RAM‬لكي يحدد هل‬
‫هذه البيانات موجوده فى ال‪ cashe‬ام ال‪ ,‬فاذا كانت موجوده ترسل مباشرة الى ال‪ host‬بدون اي اجراء‬
‫للديسك وتسمي هذه القراءة بال ‪ ,read cashe hit‬اما اذا كانت الداتا غير موجوده بال ‪ cashe‬تسمى‬
‫بال ‪ read cashe miss‬وتتطلب قراءة البيانات من الديسك حيث يقوم ال‪ back-end‬باسترجاع الداتا‬
‫المطلوبه‪.‬‬
‫▪ ‪Write Operation with Cache‬‬
‫الكتابة على ال‪ cashe‬تتضمن مزايا اكثر من ناحية االداء حيث انها تاخذ وقت اقل بكثير من الكتابة‬
‫مباشرة على الديسك‪ .‬وايضا من خالل تجميع الكتابات الصغيره من ال‪ cashe‬ودمجها الى كتابات‬
‫كبيرة وتحويلها الى الديسك‪.‬‬
‫• ‪ :Write-back cashe‬تخزن البيانات على ال‪ cashe‬ويتم ارسال ‪ acknowledgment‬الى‬
‫ال‪ host‬مباشرة ثم مؤخرا بعد عدة كتابات يتم حفظه على الديسك‬
‫• ‪ :Write-through cashe‬تخزن البيانات على ال‪ cashe‬ويتم ارسال ‪ acknowledgment‬الى‬
‫ال‪ host‬ويتم تخزينها على الديسك مباشرة‪.‬‬

‫▪ ‪Cache Implementation‬‬
‫يتم تطبيق ال‪ cashe‬اما ‪ dedicated cache‬او ‪ ,global cashe‬حيث فى ال‪ dedicated cashe‬يتم‬
‫تخصيص جزء منفصل من ال‪ memory‬للقراءة والكتابة‪ ,‬اما فى ال‪ global cashe‬تتم القراءه والكتابه‬
‫على اي جزء من ال‪ memory‬المتاحه‪.‬‬
‫▪ ‪Cache Management‬‬
‫تاتى ال‪ Intelligent storage‬مع عدد كبير من ال‪( cashe‬ذاكرة التخزين المؤقته) والتى يجب من‬
‫ادارتها بشكل جيد حيث انه عند ملئ الصفحات الخاصه بال ‪ cashe‬هناك بعض الصفحات االخرى‬
‫يجب تحريرها الستيعاب البيانات الجديدة وتتم هذه عن طريق استخدام بعض ال‪ algorithms‬مثل‪:‬‬
‫• )‪Least Recently Used (LRU‬‬
‫• )‪Most Recently Used (MRU‬‬
‫• ‪Idle flushing‬‬
‫• ‪High watermark flushing‬‬
‫• ‪Forced flushing‬‬

‫▪ ‪Cache Data Protection‬‬


‫ال‪ cashe‬تعتبر ذاكره مؤقته واي فقدان للداتا بها تتسبب فى ضياع البيانات التى لم تخزن الى الديسك‬
‫ولذلك البد من حمايتها لتخفيف خطر فقدان تلك البيانات وذلك باستخدام‬
‫• ‪Cashe Mirroring‬‬
‫حيث كل كتابة على ال‪ cashe‬تتم على اتنين ‪ memory loacotin‬مختلفين ايضا على اتنين‬
‫‪ memory cards‬منفصلين‪.‬‬
‫• ‪:Cashe vaulting‬‬
‫لتقليل خطر ضياع البيانات الناتجه عن فصل الطاقه عن طريق استخدام ‪ battery‬مع الذاكره‬
‫بحيث لو يتم استعادة الطاقه ليتم كتابة البيانات على ال‪ cashe‬ولكن اذا حدث انقطاع لمدة كبيره‬
‫فان استخدام البطاريات ال يكون قابل للتطبيق هذا الن فى ال‪ intelligent storage‬تستخدم كميات‬
‫كبيره من البيانات التى تحتاج الى وقت كبير لحفظها على الديسكات والتى التوفرها عمل‬
‫البطاريات‪ ,‬لذلك يتم استخدام ‪ physical disks‬لتفريغ محتويات ال‪ cashe‬بها خالل انقطاع الطاقه‬
‫وهذا مايسمى بال‪ cashe vaulting‬وهذه الديسكات تسمى‪ vault drive‬وعندما تعود الطاقه يتم‬
‫كتابة البيانات مره اخرى فى ال‪ cashe‬ثم تخزن الى الديسكات‪.‬‬
‫‪Back End -‬‬
‫هو ال‪ Interface‬الوسيط بين ال‪ Cashe‬وال ‪ Physical disks‬ويحتوى على جزئين ‪back-end ports and‬‬
‫‪ .back-end controllers‬حيث يقوم ال‪ controller‬بنقل البيانات من ال‪ cashe‬الى ال‪Physical disks‬‬
‫الموصوله بال‪.back-end ports‬‬

‫‪Physical Disk -‬‬


‫التى تخزن عليها البيانات وتكون موصوله بال ‪ back-end controller‬حيث ان ال ‪modern intelligent‬‬
‫‪ storage‬تدعم مجموعه متنوعه من الديسكات بسرعات مختلفه مثل ال‪FC, SATA,SAS, and flash drives‬‬

‫‪Storage Provisioning ‬‬


‫هي عملية تخصيص ال‪ Storage resources‬الى ال‪ Hosts‬بناءا على السعة المطلوبه واالداء المطلوب من‬
‫ال‪ application‬المشغل على ال‪ host‬ويمكن تنفيذها بطريقتين‪:‬‬

‫‪Traditional Storage Provisioning -‬‬


‫فى هذه الطريقه يتم تجميع ال‪ Physical Disks‬داخل ال‪ RAID‬المطلوب تطبيقه وبناءا عليه يتم تخصيص‬
‫ال‪ Availability, Capacity & Performance‬المتاحه خالل ال‪ RAID set‬ومن المفترض ان يكون ال‪RAID set‬‬
‫مطبق من خالل ديسكات لها نفس النوع والسرعه والحجم لتحقيق االستفادة القصوى من االداء‪.‬‬
‫ال ‪ RAID sets‬تحتوى دائما على مساحات عالية النها تقوم بدمج مجموعه من الديسكات الفردية وتقوم بانشاء‬
‫ما يسمى بال ‪ logical units‬عن طريق تقسيم المساحه المتوفره الى ‪ units‬صغيره هذه ال ‪ units‬يتم تخصيصها‬
‫الى ال‪ hosts‬بناءا على المساحه المطلوبه منها‪.‬‬
‫كل ‪ logical unit‬تم انشائها من خالل ال ‪ RAID‬يكون لها رقم خاص بها ‪ Unique ID‬يسمى بال ‪Logical unit‬‬
‫)‪ number (LUN‬هذه ال‪ LUN‬تقوم بتنظيم وتكوين ال‪ RAID‬وتخصيصها الى ال‪ hosts‬وهي تمثل طريقة‬
‫ال‪Traditional Storage Provisioning‬‬
‫عندما يتم تخصيص ال ‪ LUN‬الى ‪ non-virtualized host‬يظهر كانه ‪ raw-disk‬داخل نظام التشغيل ويتم تهيئته‬
‫واستخدامه من خالل نظام التشغيل‪ ,‬اما اذا كان ال ‪ LUN‬مخصص الى ‪ virtualized host‬فيتم تخصيصه الى ال‬
‫‪ Hyper-visor‬والذي يقوم باعادة هيكلته الى ‪ raw disks‬الستخدامه داخل ال ‪ virtual machines‬من خالل ال‬
‫‪.virtual disks‬‬
‫يمكن ايضا لل‪ Virtual machines‬الوصول مباشرة الى ال‪ ,LUN‬حيث فى هذه الحاله يتم تخصيص ال ‪LUN‬‬
‫الى ‪ single virtual machine‬ويتم استخدامها عندما يكون ال‪ application‬يعمل على ال‪.virtual machine‬‬

‫▪ ‪LUN Expansion: MetaLUN‬‬


‫هي طريقه تستخدم لتمديد ال ‪ LUN‬التى تحتاج الى مساحه اضافية او اداء اعلى عن طريق دمج اتنين‬
‫‪ LUN‬او اكثر ومن الممكن ان تكون ‪.concatenated or Striped‬‬
‫• ‪Concatenated expansion‬‬
‫فى هذه الحاله ليس بالضروره ان تكون ال‪LUN‬‬
‫المضافه نفس حجم ال‪ LUN‬االساسية‬
‫وكل ال‪ LUN‬بداخلها يجب ان تكون اما محميه عن‬
‫طريق ال‪ mirrored or parity‬او غير محمية‬
‫باستخدام ‪.RAID 0‬‬
‫يمكن دمج ال‪ LUN‬فى انواع ال‪ RAID‬المختلفه على‬
‫سبيل المثال ‪ RAID 10 LUN‬يمكن دمجها‬
‫)‪ (Concatended‬مع ‪ ,RAID 5 LUN‬لكن فى‬
‫‪ RAID 0 LUN‬يمكن دمجها فقط مع ‪.RAID 0 LUN‬‬

‫• ‪Striped expansion‬‬
‫تعيد تقسيم ال ‪ LUN‬االساسية مع ال‪ LUN‬االضافية‬
‫وفى هذه الحاله يجب ان تكون جميعها نفس الحجم‬
‫وحالة ال‪RAID‬‬
‫تحسن من مستوى االداء من خالل زيادة عدد‬
‫الديسكات التى تكون ‪Striped‬‬

‫جميع ال ‪ LUNs‬فى ال ‪ concatended and striped‬يجب ان يكون لها نفس نوع الديسكات‬
‫سواء جميعهم ‪ Fibre Channel‬او جميعهم ‪.ATA‬‬
‫‪Virtual Storage Provisioning -‬‬
‫تمكن من انشاء ‪ LUN‬مع ‪ Capacity‬اعلى من التى يتم تخصيصها ‪ .Physically‬وهنا تعرف ال‪ LUN‬باسم ‪thin‬‬
‫ال‪ LUN‬هنا ال تحتاج الى ‪ Physical Storage‬لكي يتم تخصيصها بشكل كامل الى ال‪ ,hosts‬حيث يتم‬
‫التخصيص حسب الطلب من خالل ‪ shared pool‬على ال‪Physical capacity‬‬
‫ال ‪ Shared pool‬تتكون من ‪ physical disks‬وتكون مشابهه لل‪ RAID group‬حيث انها عباره عن مجموعه‬
‫من ال‪ Drives‬التى تنشأ من خاللها ال‪.LUNs‬‬
‫ال ‪Shared Pool‬ايضا تدعم ال‪ single RAID‬و تحتوى على عدد كبير من ال‪ Drives‬ممكن ان تكون متجانسه‬
‫اي لها نفس النوع او غير متجانسة مثل ال‪.Flash, FC, SAS & SATA‬‬
‫ال‪ virtual storage‬تخصص ‪ Storage‬اكثر كفاءة الى ال‪ hosts‬النها توفر ‪ capacity‬اعلى من الذى يوفره‬
‫ال ‪ storage array‬العادى‪.‬‬
‫من الممكن انشاء العديد من ال‪ Shared Pool‬داخل ال‪ ,Storage array‬ايضا تحتوي ال‪ Shared pool‬على‬
‫العديد من ال‪.thin LUNs‬‬

‫▪ ‪Comparison between Virtual and Traditional Storage Provisioning‬‬


‫نالحظ هنا فى ال‪ Traditional Provisioning‬ان هناك ‪ 3 LUNs‬تم انشائها لواحد او اكثر من ‪ host‬وان المساجه‬
‫االجمالية لل ‪Storage System‬هي ‪ 2TB‬تم تخصيص ‪ 500 GB‬الى ‪ LUN1‬بينما المستخدم منها فعليا هو ‪100‬‬
‫‪ GB‬والباقى غير مستخدم كذلك فى ‪ LUN3‬تم تخصيص ‪ 550 GB‬بينما المستخدم هو ‪ ,50 GB‬ايضا فى ‪LUN 3‬‬
‫تم تخصيص ‪ 800 GB‬والمستخدم ‪ .200 GB‬اي انه فى المساحه االجماليه لل‪ Storage System‬نجد ان ‪350‬‬
‫‪ GB‬هي المستخدمه فقط و ‪ 1.5 TB‬مخصصه لل‪ LUNs‬لكن غير مستخدمه والمساحه المتاحه هي ‪ 150 GB‬فقط‬
‫اما فى ال‪ Virtual Provisioning‬نجد ان هنا ‪ 3 Thin LUNs‬ال يوجد بهم مساحه غير مستخدمه من المساحه‬
‫االجمالية حيث اجمالى المستخدم هو ‪ 350 GB‬واجمالى المتاح هو ‪.1.65 TB‬‬

‫▪ ‪Use Cases for Thin and Traditional LUNs‬‬


‫ال‪ Thin LUN‬يعتبر اكثر كفاءة فى عملية توفير مساحة التخزين والذي يكون مناسب اكثر لبعض‬
‫ال‪ ,application‬ايضا مناسب للشركات من حيث توفير كمية الطاقه المستهلكه وسهولة االدارة‪.‬‬
‫اما ال‪ Traditional LUNs‬مناسبة اكثر للتطبيقات التى تحتاج اداء افضل حيث تكون اكثر تجكم ودقة فى‬
‫البيانات المستخدمه‪ ,‬كذلك يمكنها انشاء العديد من ال‪ LUNs‬داخل ‪ RAID group‬مختلفه والذي يمنع‬
‫حدوث ‪ .workload‬ومناسب اكثر للشركات الغير مهتمه بمساحة التخزين‪.‬‬

‫‪LUN Masking -‬‬


‫هي خاصية للتحكم فى الوصول الى الداتا حيث تخصص ‪ LUNs‬لكل ‪ Host‬على ال‪ Storage Array‬حيث‬
‫تتحكم بهم بشكل مناسب لمنع استخدام ال‪ LUN‬من ال‪ host‬الغير مصرح بها داخل ال‪.shared environment‬‬
‫على سبيل المثال لو انه يوجد داتا لقسم معين كالمبيعات داخل الشركة بدون ‪ LUN masking‬فانه من السهل‬
‫الوصول الى هذه البيانات من قبل اي قسم اخر‪.‬‬

‫‪Types of Intelligent Storage Systems ‬‬


‫ال ‪ Intelligent Storage‬عامة تندرج تحت نوعين رئيسين اما ‪ High-end storage systems‬او ‪Midrange‬‬
‫‪storage systems‬‬
‫‪High-end storage systems -‬‬
‫ال‪ High-end Storage‬يعرف ب ‪ ,active-active arrays‬وغالبا‬
‫يهدف الى ‪ enterprise application‬الكبيرة خاصة وانه مصمم‬
‫بعدد كبير من ال‪ controllers‬وال ‪.cashe memory‬‬
‫ال‪ active-active‬تعنى ان ال‪ host‬بامكانه ارسال اي ‪I/O request‬‬
‫الى ال‪ LUNs‬خالل اي ‪ controller‬متاح‪.‬‬
:High-end Storage ‫اهم مميزات ال‬
Large storage capacity ▪
Large amounts of cache to service host I/Os optimally ▪
Fault tolerance architecture to improve data availability ▪
Connectivity to mainframe computers and open systems hosts ▪
Availability of multiple front-end ports and interface protocols to serve many of hosts ▪
Availability of multiple back-end controllers to manage disk processing ▪
Scalability to support increased connectivity, performance, and storage capacity ▪
requirements
Ability to handle large amounts of concurrent I/Os from many hosts and applications ▪
Support for array-based local and remote data replication ▪

Midrange Storage Systems -


enterprise applications‫ مناسبة اكثر لل‬,active-passive arrays ‫ تعرف ب‬Midrange-end Storage‫ال‬
.‫ بتكاليف اقل‬Storage solution‫ حيث انها توفر ال‬,‫الصغيره او المتوسطة‬
‫ الذي يحتوى على‬controller‫ فقط من خالل ال‬LUN ‫ من الوصول الى ال‬host‫ تمكن ال‬active-passive ‫ال‬
.‫ كما موضح بالصورة‬LUN‫هذه ال‬
host interfaces, cache, RAID ‫ كل منهما يحتوى على‬controller ‫ مصمم ب اتنين‬Midrange Storage ‫ال‬
.Disk drive‫ الى ال‬Interface ‫ و‬controllers
Concepts in Practice: EMC Symmetrix and VNX 
‫ وهو مناسب جدا للشركات التى تتطلب مستوى عالى‬active-active storage array ‫ هو‬EMC Symmetrix ‫ال‬
application workloads ‫ حيث يمكنه دعم عدد ضخم من ال‬storage system‫من االداء والخدمه بالنسبه الى ال‬
.‫الغير متوقعه‬

‫ موحده حيث توفر تخزين‬storage platform ‫ تعتبر‬active-passive array ‫ هي‬EMC VNX Storage ‫اما ال‬
application workloads‫ تعتبر مناسبة لل‬,array‫ فى نفس ال‬block, file & object-based ‫الداتا لكل من‬
.‫المتوقعه‬

EMC Symmetrix Storage Array -


‫ حيث يوفر قدر عالى من‬Storage solution ‫يوفر اعلى مستوى من االداء والمساحه التخزينية بالنسبة للـ‬
Symmetrix Virtual ‫ يحتوى ايضا على‬,‫ الغير متوقعه‬I/O workloads‫ لمواجهة متطلبات ال‬scalability‫ال‬
.Matrix (VMAX) series
‫ بالنسبة لمجال‬storage‫ صمم لمواجهة نمو وتطور مستقبل ال‬Storage Platform ‫ هو‬The EMC VMAX
:‫ ومن اهم مميزاته‬.Virtualization‫ال‬
Incrementally scalable to 2,400 disks ▪
Supports up to 8 VMAX engines (Each VMAX engine contains a pair of directors. ▪
Supports flash drives, fully automated storage tiering (FAST), virtual provisioning, and ▪
Cloud computing
Supports up to 1 TB of global cache memory ▪
Supports FC, iSCSI, GigE, and FICON for host connectivity ▪
Supports RAID levels 1, 1+0, 5, and 6 ▪
Supports storage-based replication through EMC TimeFinder and EMC SRDF ▪
Highly fault-tolerant design that allows nondisruptive upgrades and full component-level ▪
redundancy with hot-swappable replacements
EMC Symmetrix VMAX Component -
‫ مناطق كل منها تدعم حتى‬10 ‫ تصل الى‬Storage‫ اما ال‬System‫ على منطقة واحده لل‬VMAX ‫يحتوى على‬
.15 drives ‫ من الممكن ان يحتوى الى‬enclosure ‫ وكل‬16 Drives array enclosures (DAEs)
VMAX Engines, Matrix Interface Board ‫ تحتوى على مكونات النظام مثل‬System‫اما منطقة ال‬
.Enclosure (MIBE), standby power supply (SPS) modules, and service processor

Symmetrix VMAX Architecture -


Part II
Storage
Networking
Technologies
‫‪Chapter 5: Fibre Channel Storage Area‬‬
‫‪Networks‬‬

‫‪Fibre Channel: Overview ‬‬


‫تقنية جديدة طورت لتتناسب مع زيادة سرعات نقل البيانات بين ال‪ Servers‬المختلفة وال ‪Storage Systems‬‬
‫حيث يمكنها من ربط وحدات التخزين مع السيرفرات بإستخدام كابالت الفايبر او الكابالت الضوئية والتي تسمح‬
‫لنا بنقل البيانات بسرعة عالية جدا ً تصل إلى ‪ .16 Gbps‬كما أنها تمكنك من نقل البيانات للمسافات الطويلة‪.‬‬

‫‪The SAN and Its Evolution ‬‬


‫ال‪ SAN‬هي شبكة يتم بها نقل البيانات بين ال ‪ Host‬وال ‪ Storage‬باستخدام بروتوكول ال‪ Fibre Channel‬فيمكنه‬
‫نقل البيانات بسرعات عاليه ويمكنه من دمج ومركزية ال‪ Storage‬لكي تكون متاحه الى العديد من ‪.Servers‬‬
‫وتوفر ايضا تحسين استغالل موارد ال‪ Storage‬وسهولة ادارتها مقارنة بال‪ ,DAS‬حيث تعمل بنظام ‪Block-‬‬
‫‪.Level Storage System‬‬
‫فى الصورة السابقة نجد مثال بسيط لل ‪ FC SAN‬حيث يحتوى على مجموعه من ال‪ hosts‬موصوله على‬
‫‪ Storage devices‬باستخدام ‪ FC hub‬هذه التكوين يعرف بـ )‪ Fibre Channel Arbitrated Loop (FC-AL‬لكن‬
‫استخدام ال‪ hub‬فى شبكة ال‪ SAN‬يكون له ‪.limited connectivity & bandwidth‬‬

‫ولكن جاء تطور شبكات ال‪ SAN‬باستخدام ال‪ FC Switches‬تعرف ايضا بال‪ MDS switch‬حيث قامت بتحسين‬
‫وتطويرسرعة واداء نقل البيانات داخل الشبكة‪.‬‬

‫‪Components of FC SAN ‬‬


‫‪Node Ports -‬‬
‫تحتوى ال‪ SAN Network‬على العديد من ال‪ Ports‬والتى تساعد فى‬
‫نقل البيانات بين ال‪ Hosts‬وال‪ Storage‬داخل ال ‪Fibre Channel‬‬
‫وتسمى االجهزه المتصله بال‪ Storage System‬بال ‪ ,Node‬كل‬
‫‪ node‬تعتبر ‪ source‬او ‪ destination‬للمعلومات وتحتوى على‬
‫‪ port‬او اكثر يمثل ال ‪ physical interface‬لتبادل البيانات مع ال‬
‫‪ nodes‬االخرى‪ .‬يعتبر هذا البورت جزء من ال‪host adapter‬‬
‫الذى يسمى بال ‪.HBA‬‬
‫‪Cables and Connectors -‬‬
‫يستخدم فى شبكات ال‪ SAN‬الكابالت النحاسية ‪ copper cable‬للمسافات القصيره ‪, for MAX 20 m‬او االلياف‬
‫الضوئية ‪ Fiber Optics‬للمسافات البعيدة ويوجد منه نوعين تعتمد عليها ال‪ SFP‬الموصله عليها‪:‬‬
‫▪ )‪ :Multi-mode Fiber (MMF‬يستخدم للمسافات القصيرة ‪up to 500 m‬‬
‫▪ )‪ :Single-Mode Fiber (SMF‬يستخدم للمسافات البعيدة ‪up to 10 km‬‬

‫اما ال‪ Connectors‬الموصوله فى نهاية كل ‪ cable‬لتمكنه من االتصال بالبورت لها انواع ايضا بالنسبه لل ‪Fiber‬‬
‫‪ cables‬مثل )‪ Standard connector (SC) & Lucent connector (LC‬تستخدم فى ال‪Fiber Optic cables‬‬
‫وايضا )‪ Straight Tip (ST‬تستخدم فى ‪.fiber patch panels‬‬

‫‪Interconnect Devices -‬‬

‫تتكون من ال‪FC Hubs, Switches & Directors‬‬

‫▪ ‪ :Hub‬تستخدم فى االتصال داخل )‪ Fibre Channel Arbitrated Loop (FC-AL‬حيث تقوم بتوصيل‬
‫ال‪ nodes‬داخل ‪ ,physical star topology‬هذا معناه ان كل ال‪ nodes‬تشارك المعلومات مع بعضها‬
‫داخل ‪ loop‬الن الداتا تمر على كل ال‪.connections point‬‬
‫▪ ‪ :Switches‬اكثر كفاءة من ال‪ hub‬حيث يقوم بتوجيه البيانات فقط الى‪ Physical port‬االخر بدون‬
‫مشاركه لل‪ bandwidth‬بين ال‪ nodes‬حيث كل منها لها مسار اتصال مخصص‪.‬‬
‫تصميم ال‪ switch‬يكون اما ‪ fixed port count‬او بشكل ‪ modular‬حيث فى ال‪ modular‬ممكن زيادة عدد‬
‫ال‪ ports‬بتركيب ‪ port card‬اضافى‬
‫▪ ‪ :Directors‬هي تعتبر ‪ high-end switches‬حيث يوجد بها عدد اكثر من ال ‪ ports‬اكثر بقدرات اكثر‬
‫كفاءة‪ .‬اما التصميم فجميعها ‪ modular‬يمكن زيادة ال‪ ports‬بتركيب ‪ port cards‬او ‪ blades‬لل ‪chassis‬‬
‫‪SAN Management Software -‬‬
‫هو سوفتوير يستخدم الدارة ال‪ Interfaces‬الموصوله بين ال‪ Hosts‬وال‪ ,Storage Arrays‬حيث يقوم بادارة‬
‫موارد شبكة ال‪ SAN‬عن طريق وحدة تحكم مركزية مثل ادارة الوظائف المختلفة وطرق التوصيل المختلفة بين‬
‫ال ‪ storage system‬وال‪ servers‬ايضا مراقبة ومتابعة التنبيهات لالجهزه الجديدة وال ‪.Zoning‬‬

‫‪FC Connectivity ‬‬


‫تمثل التوصيالت داخل ال‪ FC SAN Architecture‬مثل‪:‬‬

‫‪Point-to-Point -‬‬
‫ابسط مثال لطريقة التوصيل داخل شبكة ال‪ SAN‬حيث يتم توصيل ال‪ host‬بال‪ storage‬مباشرة ً‪ ,‬يسمح بنقل‬
‫البيانات بين ال‪ nodes‬لكن يكون له عدد اتصال محدود وهذا يعتمد على عدد المنافذ الموجودة في ‪Fiber‬‬
‫‪ Channel‬الخاصة بـ ‪.Storage Unit‬‬

‫‪Fibre Channel Arbitrated Loop -‬‬


‫فى هذا التصميم تكون االجهزه مرتبطه بـ‪ Shared Loop‬النه يكون مصمم للعمل فى ‪ token ring toplogy‬او‬
‫‪ star topology‬وهنا يتم استخدام ‪ FC-Hub‬حيث كل االجهزه تشارك االجهزه االخرى فى ال‪I/O operation‬‬
‫داخل ال‪ loop‬ويجب على جهاز واحد فقط التحكم فى ال‪ Loop‬لتنفيذ اوامر ال‪ I/O operation‬داخله‪.‬‬
‫‪Fibre Channel Switched Fabric -‬‬
‫هنا يتم استخدام ‪ FC-Switch‬يعرف ايضا بال‪ Fabric connect‬حيث يقوم بربط جميع ال‪ nodes‬بال‪storage‬‬
‫داخل الشبكة‪.‬‬
‫كل سويتش داخل ال‪ Fabric‬يكون له ‪ unique domain identifier‬والذى هو جزء من ال ‪fabric addressing‬‬
‫‪.scheme‬‬
‫ايضا ال‪ nodes‬ال تشارك فى ال‪ loop‬حيث يتم نقل البيانات داخل مسار خاص بين ال‪.nodes‬‬
‫كل ‪ port‬داخل ال‪ fabric‬يكون له ‪.24-bit Fibre channel address‬‬
‫الربط بين اتنين سويتش داخل ال‪ switched fabric‬تسمى بال )‪ Interswitch Link (ISL‬وتستخدم فى نقل‬
‫البيانات بين ال‪ host‬وال‪ storage‬وادارة الترافيك بين ال‪ switches‬وتستخدم ايضا لتويع الشبكة لتوصيل العديد‬
‫من ال‪.nodes‬‬

‫يمكن وصف ال‪ Fabric‬بانه مجموعه من الطبقات عدد هذه الطبقات تحدد بعدد السويتش التى يتم مرور البيانات‬
‫عليها بين نقطتين ومنها تحدد كيف يتم التوصيل بين ال‪ Host‬وال ‪ ,Storage‬فانه عند زيادة عدد الطبيقات بينهم‬
‫داخل ال‪ fabric‬فالبتالى تزيد المسافه فيزيد الوقت المستغرق فى وصول البيانات‬
FC-SW Transmission ▪
.Ports‫ مباشرة من خالل ال‬nodes‫ التى تقوم بتحويل الداتا بين ال‬switches‫ تستخدم ال‬FC-Switches‫ال‬
.fabric‫ بواسطة ال‬Destination ‫ وال‬source‫ بين ال‬Frames‫حيث تقوم بتحويل ال‬

Switched Fabric Ports 


‫ موصول‬Storage array‫ او ال‬Host (HBA) ‫ وهو البورت على ال‬Node Port‫ يعرف بال‬:N_Port -
.Fabric Port‫بالسويتش على ال‬
‫ اخرعن‬FC Switch‫ الموصول ب‬FC switch‫ وهو البورت على ال‬Expansion port ‫ يعرف بال‬:E_Port -
ISL ‫طريق ال‬
.N_Port ‫ وموصول بال‬FC Switch‫ وهو البورت على ال‬Fabric port‫ يعرف بال‬:F_Port -
‫ حيث تحدد وظيفته تلقائيا اثنا ال‬F_Port ‫ او‬E_Port ‫ على السويتش يعمل ك‬Generic Port ‫ هو‬:G_Port -
.initialization
‫‪Fibre Channel Architecture ‬‬
‫كما ذكرنا ان ال‪ Fibre Channel‬تقنية جديدة ظهرت لنقل البيانات بسرعات عالية بين ال‪ Host‬وال‪ Storage‬من‬
‫خالل شبكات ال‪ SAN‬باستخدام )‪.Fibre Channel Protocol (FCP‬‬

‫ولكن هناك مراحل او طبقات تمر بها الداتا فى شبكات ال ‪ SAN‬بين ‪ Host‬وال‪ . Storage‬مثل ال‪OSI Layers‬‬
‫فى شبكات ال‪ LAN‬بين ال‪ Source‬وال ‪.Destination‬‬

‫‪Fibre Channel Protocol Stack -‬‬


‫ال‪ FCP‬يقوم بتوصيل البيانات داخل الشبكة خالل ‪ 5‬مراحل او طبقات‬

‫▪ ‪FC-4 Layer‬‬
‫هذه الطبقة تحدد ال‪ Application Interface‬والطريقه التى يتم بها التوصيل بين الطبقه العليا )‪ (ULPs‬الى‬
‫الطبقات السفلى باستخدام البروتوكوالت المختلفة مثل ‪.SCCI, HIPPI, ESCON, ATM & IP‬‬
‫▪ ‪FC-2 Layer‬‬
‫توضح حجم او شكل الداتا داخل الفريم الذى يتم ارساله داخل ال ‪ Fibre Channel‬حيث انها تحتوى‬
‫الداتا على ‪ Control Frame & Data Frame‬حيث فى ال‪ Data Frame‬يتم تحديد حجم البيانات من خالل‬
‫ال‪ ,Exchange & sequence‬اما فى ال‪ Control Frame‬يتم تحديد حجم البيانات من خالل عمل‬
‫‪ negotiate‬لل ‪ Classes‬و ‪ Flow Control‬لل ‪.Fibre Channel‬‬
‫▪ ‪FC-1 Layer‬‬
‫لنقل البيانات بسرعات عالية يتم تشفير الداتا قبل ارسالها وفك الشفرة عند االستالم وتتم هذه المرحله‬
‫بطريقة معينه بحيث يتم تحديد عدد ال‪ bits‬التي سيتم نقلها وتحديد بداية ال ‪ (SOF) Frame‬ونهاية‬
‫ال‪ . (EOF) Frame‬ايضا طريقة التحكم فى الداتا كتحديد بداية ال‪ Header‬ونهاية ال‪Header‬‬
‫▪ ‪FC-0 Layer‬‬
‫الطبقة التى تتم فيها ‪ Transmission‬لل‪ Bits‬عن طريق الكابالت النحاسية ‪ copper cable‬للمسافات‬
‫القصيره ‪, for MAX 20 m‬او االلياف الضوئية ‪ Fiber Optics‬للمسافات البعيدة‬
‫‪Fibre Channel Addressing -‬‬
‫ال‪ FC Address‬يتم تحديده تلقائيا عندما يسجل ال‪ N_Port‬دخوله على ال‪ Fabric‬ويكون له هيئه معينه حيث‬
‫يحتوى على ‪.24-bit‬‬
‫الجزء االول منها على ال‪ Domain ID‬وهو ‪ unique number‬لكل ‪ switch‬وهناك ‪ 239‬عنوان فقط مخصص‬
‫لل‪ Domain ID‬الن هناك بعض العناوين محجوزه لل‪ fabric management service‬على سبيل المثال‬
‫‪ FFFFFC‬محجوز لل‪ name server‬ايضا ‪ FFFFFE‬مخصص لل ‪.fabric login service‬‬
‫اما الجزء الثانى ‪ Area ID‬يحدد مجموعه من ال‪ switch port‬تستخدم للتوصيل الى ال‪.nodes‬‬
‫اما الجزء االخير ‪ Port ID‬يحدد عدد ال‪ ports‬داخل المجموعه‪.‬‬
‫وبالتالى اقصى عدد يمكن توصيله لل ‪ nodes‬الى ال‪ switched fabric‬يحدد كالتالى‬
‫‪239 domains x 256 areas x 256 ports = 15,663,104‬‬

‫‪World Wide Names -‬‬


‫كل جهاز داخل ال‪ FC environment‬يحتوى على عنوان يسمى بال ‪ WWN‬شبيه لل‪ MAC address‬ويوجد منه‬
‫نوعين )‪ World Wide Node Name (WWNN) & World Wide Port Name (WWPN‬حيث ان ال‪WWNN‬‬
‫الذي يكون على ال‪ array‬وال ‪ WWPN‬يكون موجود على ال‪ HPA‬للسيرفر او الجهاز‪.‬‬

‫‪FC Frame -‬‬


‫حجم ال ‪ Frame‬فى ال‪ Fibre Channel‬ال يتعدى ‪ 2112 Bytes‬مضافا اليه ال‪ Header‬تصبح ‪2148 Bytes‬‬
‫ويتكون من ‪ 5‬اجزاء هي ‪start of frame (SOF), frame header, data field, cyclic redundancy check‬‬
‫)‪.(CRC), and end of frame (EOF‬‬
‫ال‬
‫‪ SOF & EOF‬فقط لتحديد بداية ونهاية الفريم‪ ,‬اما ال‪ Frame Header‬حجمه ‪ 24-Bytes‬ويحتوى على كل‬
‫العناوين والمعلومات للفريم مثل ال)‪ Source ID (S_ID‬وال)‪ Destination ID (D_ID‬و ‪Sequence ID‬‬
‫)‪ (SEQ_ID‬و )‪ Sequence count (SEQ_CNT‬و)‪ Originating Exchange ID (OX_ID‬و ‪Responder‬‬
‫)‪ Exchange ID (RX_ID‬باالضافه الى بعض ‪ control field‬مثل‪:‬‬
‫‪Routing Control (R_CTL), Class Specific Control (CS_CTL), TYPE, Data Field Control‬‬
‫‪(DF_CTL) & Frame Control (F_CTL).‬‬
‫اما ال‪ Data Field‬الحد االقصى للبيانات على الفريم وحجمها ‪ ,2112-Bytes‬وال‪ CRC‬تستخدم لعمل ‪CHECK‬‬
‫على الداتا لتسهيل اكتشاف االخطاء‪.‬‬

‫‪Structure and Organization of FC Data -‬‬


‫عند نقل البيانات داخل ال‪ FC network‬فانها يكون لها شكل وحجم معين داخل الفريم ويتم تحديد حجم الداتا عن‬
‫طريق مراحل بين ال‪ host‬وال‪.array‬‬
‫▪ ‪ :Exchange‬عملية تبادل تتم بين ال‪ nodes‬لتحديد وادارة المعلومات مثل نوع البروتوكول المستخدم‬
‫لنقل البيانات هذه المعلومات تسمى بال‪ information units‬حيث كل ‪ unit‬تحتوى على مجموعه من ال‬
‫‪ Sequence‬بترتيب معين وال يتم ارسال ال‪ Exchange‬الى ال‪ Receiver‬حتى تكتمل ال‪.Sequence‬‬
‫▪ ‪ :Sequence‬هي عباره عن مجموعه من ال‪ Frames‬المرسله من ‪ port‬الى اخر‪.‬‬
‫▪ ‪ :Frame‬هي الجزء االساسي للبيانات والحد االقصى لحجم الفريم هي ‪.2112 Bytes‬‬

‫‪Flow Control -‬‬


‫التحكم فى نقل البيانات يضمن وصول البيانات كامله وبشكل سليم وهناك نوعان للتحكم فى نقل البيانات وهي‬
‫)‪.End-to-End Credit (EE_Credit) & Buffer-to-Buffer Credit (BB_Credit‬‬
‫وتتم بعدة خطوات ‪:‬‬
.Write or Read ‫ عباره عن‬Request ‫ طلب‬Receiver ‫ لل‬Sender‫ يرسل ال‬-1
Receiver‫ لل‬Capacity‫ او ال‬free Buffer‫ هي ال‬Credit‫ وال‬Sender‫ الى ال‬Credit ‫ يرسل‬Receiver‫ ال‬-2
.3 Credit ‫الستالم الداتا على سبيل المثال‬
Receiver Ready (R_Ready)=0‫ والثاني‬Credit (CR)=3 ‫ اوال وهم‬Counters ‫ ينشأ اتنين‬Sender‫ ال‬-3
CR=2 Credit‫ من ال‬1 ‫ سيبدأ بارسال جزء من الداتا ويخصم‬Sender‫ ال‬-4
R_Ready=1 ‫ باالستقبال‬Acknowledgment ‫ يرسل‬Receiver‫ ال‬-5
R_Ready=3 ‫ وال‬CR=0‫ الى ان تكتمل الترافيك عندما تكون ال‬-6

Classes of Service -
.‫ للعمل مع التطبيقات المختلفة‬Services ‫ وال‬classes‫ تحدد انواع مختلفه من ال‬FC Standard‫ال‬

Fabric Services 
Fibre ‫ تقدم خدمات موحده بغض النظر عن الشركة المصنعه كما هو محدد فى‬FC Switches ‫جميع ال‬
Fabric Login Server, Fabric Controller, Name ‫ على سبيل المثال خدمات مثل‬, Channel Standard
Server, and Management Server

fabric‫ الى ال‬nodes‫ ويستخدم اثناء عملية تسجيل دخول ال‬FFFFFE ‫ محدد بعنوان‬Fabric Login Server

node ports‫ وهي المسؤوله عن عملية تسجيل اسم ال‬FFFFFC ‫ محدده ايضا بعنوان ثابت‬Name Server

Registered State Change ‫ وهو مسؤول عن ادارة وتوزيع ال‬FFFFFD ‫ ومعرفة بعنوان‬Fabric Controller
.‫ المسجلة‬node port‫ الى ال‬Notifications (RSCNs)

‫ الدارة‬FC SAN management software ‫ يستخدم لتفعيل‬FFFFFA ‫ معرفه بعنوان‬Management Server


.‫واسترداد المعلومات‬
‫‪Switched Fabric Login Types ‬‬
‫يوجد مراحل عند تسجيل دخول ال‪ Port‬فى ال‪Fabric Service‬‬

‫‪Fabric Login (FLOGI) -‬‬


‫تتم بين ال‪ N_Port‬و ال ‪ F_Port‬حيث يرسل ال‪ node‬طلب يحتوى على ال‪ WWNN & WWPN‬الى‬
‫ال‪ .login server service‬عندها ال ‪ switch fabric login‬يقوم بالموافقه )‪ Accept (ELS Reply‬على‬
‫الطلب وينشأ ‪ FCID‬خاص بال‪ N_Port‬ويكون ‪ associated‬على نفس البورت‪.‬‬

‫‪Port login (PLOGI) -‬‬


‫ال‪ Initiator‬يقوم بفتح ‪ session‬مع ال‪ name server‬وهي ‪ service‬على السويتش يسجل عليها الداتابيز‬
‫الخاصه بال‪ Port ID‬ومن الممكن ان يكون نفس ال ‪ switch fabric login‬او مختلف‪.‬‬

‫‪Process login (PRLI) -‬‬


‫تتم بين اتنين ‪ N_Ports‬وهذه المرحله لها عالقه بالطبقة ‪ FC-4 ULPs‬مثل فاذا كان ال‪ ULP‬عباره عن‬
‫‪ SCSI‬فيتم التبادل للخدمات التى لها عالقه بال ‪.SCSI‬‬
‫‪Zoning ‬‬
‫يتم تقسيم ال‪ FC Switch‬الى ‪ Logical group‬تحتوى على ‪ node ports‬لالتصال مع بعضهما البعض داخل‬
‫المجموعه ويسمى هذا التقسيم بال ‪.Zoning‬‬

‫نالحظ عند حدوث اي تغيير داخل ال‪ name server database‬يقوم ال ‪ fabric controller‬بارسال ‪Registered‬‬
‫)‪ State Change Notification (RSCN‬الى جميع ال‪ nodes‬داخل ال‪ fabric‬اضافة الى‪ nodes‬الغير متعلقه‬
‫بنتائج هذا التغيير وهذا يؤدى الى زيادة ال‪ fabric-management traffic‬الذى يؤثر بشكل كبير على عملية‬
‫ال‪ processing‬داخل ال‪.fabric‬‬

‫هنا ال‪ Zoning‬يساعد على تقليل عدد ال ‪ RSCNs‬داخل ال‪.Fabric‬‬


‫‪Types of Zoning‬‬ ‫‪-‬‬

‫▪ ‪Port Zoning‬‬
‫يتم على مستوى ال‪ ,Port‬تخصيص كل بورت الى ‪ zone‬محدده‪ .‬لكن من عيوبه انه عند تغيير البورت‬
‫البد من تغيير ال‪.configuration‬‬

‫▪ ‪WWN zoning‬‬
‫تتم على مستوى على‪ ,WWN‬تخصيص كل ‪ WWN‬لل‪ initiator‬الى ‪.Zone‬‬

‫▪ ‪Mixed zoning‬‬
‫تتم على مستوى ال‪ Port & WWN‬او ممكن استخدم ال‪FCID‬‬

‫يوجد صعوبة فى عملية ال‪ Zoning‬بالنسبه لل‪ WWN‬و‪ FCID‬اذا كان هناك اكتر من‪ initiator‬كل منها‬
‫يحتوى على اكثر من بورت فيكون العدد كبير وتم حل هذه المشكلة بعمل مايسمى بال ‪Device Aliases‬‬
‫اما على مستوى ال‪ array‬يتم تقسيمها الى ‪ LUN Masking‬لتوفير ايضا ال‪ Security‬وكل ‪Initiator‬‬
‫يستطيع الوصول لل ‪ LUN‬الخاصه به عن طريق عمل ‪ mapping‬بين ال‪ WWN‬له وال‪LUN ID‬‬
‫‪FC SAN Topologies ‬‬
‫هناك انواع مختلفة لطرق تصميم شبكات ال‪ FC SAN‬منها‪:‬‬

‫‪Mesh Topology -‬‬


‫يوجد منه نوعين هما ال‪Full Mesh & Partial Mesh‬‬
‫▪ ‪ :Full Mesh‬يكون كل ‪ switch‬مرتبط بجميع ال‪ switches‬االخرى داخل الشبكة‪ ,‬ويكون مناسب عندما‬
‫تكون الشبكة صغيره حيث يحتوى الى حد اقصى ‪ ,4 switches or directors‬ايضا يحتوى على حد‬
‫اقصى ‪ one ISL‬تستخدم لنقل الترافيك بين ال‪ .host-to-storage‬ومع زيادة عدد السويتشات داخلها تقل‬
‫عدد ال‪ ports‬المتاحه لل‪.nodes connectivity‬‬
‫▪ ‪ :Partial Mesh‬يكون هناك العديد من ال ‪ ISL‬بين ال‪ host-to-storage‬لنقل الترافيك‪.‬‬

‫‪Core-Edge Fabric -‬‬


‫هذا التصميم يحتوى على نوعين من ال‪ Switches‬هما ال‪edge tier & core tier‬‬
‫حيث فى ال‪ edge tier‬تتكون من مجموعه من السويتشات التى تسمح باضافة وتوصيل العديد من‬
‫ال‪ hosts‬وكل سويتش داخل ال‪ edge tier‬يكون متصل بسويتش اخر داخل ال‪ core tier‬من خالل ‪.ISL‬‬
‫اما ال‪ core tier‬يحتوى غالبا على ال‪ Directors‬التى تحتوى على ‪ high fabric availability‬وذلك الن‬
‫جميع الترافيك البد ان تمر او تصل الى هذه الطبقة‪ ,‬ايضا جميع ال‪ Storage‬تكون متصله بهذه الطبقة‬
‫عن طريق ‪ ISL‬باالضافه الى ال‪ host‬التى تحتاج اداء عالى فى سرعة نقل البيانات‪.‬‬
‫‪Benefits and Limitations of Core-Edge Fabric‬‬ ‫▪‬

‫ال‪ core-edge‬لديه نقطة اتصال واحده الى كل ال‪ Storage devices‬داخل ال‪ fabric‬هذا الن الترافيك‬
‫تمر على نمط محدد من ال‪ edge-to-core‬مما يسهل عملية حساب ال‪ ,traffic load‬ايضا الن كل بورت‬
‫على ال‪ switch‬مخصص ل‪ storage or host‬مما يسهل عملية تحديد ال‪network resources‬‬
Virtualization in SAN 
Block-Level Storage ‫ باستخدام‬SAN‫ داخل شبكات ال‬Virtualization ‫سنتحدث هنا عن تقنية ال‬
Virtualization & VSAN

Block-level Storage Virtualization -


storage array‫ حيث يتم تقسيم ال‬block-level system‫ تستخدم نظام ال‬FC-SAN‫كما ذكرنا ان شبكات ال‬
.Hosts‫ وتخصيصها الى ال‬LUNs ‫الى‬
virtualization‫ يستخدم طبقة ال‬block level‫هنا ال‬
‫ مستقله‬virtual storage volume ‫عن طريق انشاء‬
‫ حيث تقوم بعمل‬physical storage‫عن ال‬
‫ وعمل‬physical storage‫ الى ال‬abstracts
storage‫ من جميع اجهزة ال‬storage pool
‫ عليها يتم‬virtual volume‫الموجودة وانشاء ال‬
‫ بدال من ربطها مباشرة‬hosts‫تخصيصها الى ال‬
‫ موجوده فى‬hosts‫ اذن تكون هذه ال‬,LUNs‫الى ال‬
‫ حيث تقوم هذه الطبقه بعمل‬virtualization layer‫ال‬
LUNs‫ الى ال‬virtual volume ‫ لل‬mapping
‫فى المثال السابق كان ال‪ block-level storage virtualization‬يدعم ال‪ data migration‬فقط داخل داتا‬
‫سنتر واحده‪ ,‬هناك جيل جديد من ‪ block-level storage virtualization‬يدعم ال‪ data migration‬بين العديد‬
‫من الداتا سنتر والتى يمكن ربطها وادارتها من خالل ‪ virtualization layer‬واحده تربط جميع الداتا سنتر‪.‬‬

‫‪Virtual SAN (VSAN) -‬‬


‫تسمى ايضا بال ‪ virtual fabric‬حيث تخصص مجموعه من ال)‪hosts or storage ports(nodes‬‬
‫للتواصل فيما بينهم باستخدام ‪ virtual topology‬داخل ال‪ Physical SAN‬بناءا على ال ‪physical‬‬
‫‪ location‬لهم داخل ال‪.fabric‬‬
‫من الممكن انشاء العديد من ال‪ VSANs‬داخل ال‪ ,Physical SAN‬كل ‪ VSAN‬تكون مستقله لها‬
‫ال‪ service‬الخاص بها مثل ‪name server, and zoning‬‬
‫ال‪ VSAN‬توفر ال‪ security scalability, availability, and manageability‬عن طريق عزل البيانات‬
‫الخاص بكل ‪ VSAN‬وتقييد الوصول اليها لغير المصرح لهم داخل ال‪.VSAN membership‬‬

‫▪ ‪Dynamic Port VSAN Membership‬‬


‫بشكل افتراضى كل بورت ينتمى الى ‪ Default VSAN‬ويوجد طريقتين لعمل‪ assign‬للبورت داخل‬
‫ال‪ VSAN‬اما ‪ manually‬على كل بورت ‪access VSAN1‬‬
‫اما ‪ dynamically‬عن طريق تخصيص ال‪ VSAN Membership‬بناءا على ال‪ WWN‬وهذه الطريقه‬
‫تسمى )‪ Dynamic Port VSAN Membership (DPVM‬وال‪ DPVN‬يحتوى على كل الداتابيز الخاصة‬
‫بال‪ pWWN‬وال‪ nWWN‬ويختار ال‪ VSAN‬عن طريق عمل ‪mapping‬‬
Chapter 6. IP SAN and FCoE

iSCSI 
IP protocol‫ لكن باستخدام ال‬Storage‫ وال‬Host‫ بروتوكول يقوم بنقل البيانات بين ال‬SCSI‫نفس مفهوم ال‬

.TCP/IP‫ ويتم ارسالها عن طريق ال‬IP Packet ‫ والداتا داخل‬SCSI commands ‫حيث يتم وضع ال‬

‫ وغير مناسب‬capacity‫يعتمد عليه بشكل واسع النه قليل التكلفه وسهل التطبيق لكن من عيوبه محدودية ال‬
.‫للتطبيقات الكبيرة‬

Components of iSCSI -
Initiator (Host) ▪
Target (Storage or ISCSI gateway) ▪
IP based network ▪

iSCSI Host Connectivity -


Standard NIC with software ISCSI initiator ▪
TCP offload engine (TOE) ▪
ISCSI HBA ▪
‫‪iSCSI Topologies -‬‬
‫▪ ‪Native iSCSI Connectivity‬‬
‫هنا مكونات ال‪ FC‬غير مطلوبه فمن الممكن ان يكون ال ‪ initiator‬متصل مباشرة بال ‪ Target‬او عن‬
‫طريق ال‪ .IP network‬كما فى الصورة التالية ال‪ Array‬يحتوى على ‪ iSCSI port‬وله ‪IP Address‬‬
‫متصل بالشبكة من خالل ‪ Standard ethernet switch‬وعندما يتصل ال ‪ initiator‬بالشبكه يمكنه‬
‫الوصول الى ال ‪ LUNs‬المتاحه على ال‪.Array‬‬

‫▪ ‪Bridged iSCSI Connectivity‬‬


‫تحتوى على مكونات ال‪ FC‬حيث ان ال ‪ Array‬ال يحتوى على ‪ iSCSI port‬ولكنه متصل بجهاز‬
‫خارجى يسمى ‪ iSCSI gateway‬يستخدم لالتصال بين ال‪ iSCSI host & FC Storage‬حيث يقوم‬
‫بتحويل ال‪ IP Packets‬الى ‪FC Frames‬‬
‫يتم ضبط اعداد ال ‪ iSCSI initiator‬بال ‪ IP Address‬لل ‪ gateway‬على اساس انه ال‪Target‬‬
‫وبالعكس بالنسبه لل‪ Array‬يتم اعداده على انه ال‪.FC Initiator‬‬

‫▪ ‪Combining FC and Native iSCSI Connectivity‬‬


‫حيث تحتوى على النوعين معا‪ ,‬حيث يوجد بها ‪.iSCSI Port & FC Port‬‬
‫‪iSCSI Protocol Stack -‬‬
‫ال‪ SCSI‬هو ‪ command protocol‬يعمل فى ال‪ application layer‬حيث يتم عمل ‪ Encapsulate‬لل‬
‫‪ SCSI Request‬سواء كان ‪ Read or Write‬داخل ‪ TCP/IP Header‬ويرسل من خالل ‪ NIC‬فى‬
‫ال‪ Ethernet‬العادية‪.‬‬

‫‪iSCSI PDU -‬‬


‫يتم التواصل بين ال‪ iSCSI initiators‬بينهما البعض باستخدام ‪ ,iSCSI PDU‬تحتوى هذه االتصاالت على‬
‫‪iSCSI connections, iSCSI sessions, iSCSI discovery, sending SCSI commands and data‬‬
‫ال‪ iSCSI PDU‬عباره عن واحده او اكثر من ‪ header segments‬اضافة الى ال ‪ Data Segment‬يتم عمل‬
‫‪ Encapsulate‬له داخل ‪ IP Packet‬لتسهيل عملية النقل‪.‬‬
‫يحتوى ال‪ PDU‬لل‪ IP Packet‬على ‪ IP Header‬يقوم بعملية ال‪ routing information‬لنقل البيانات داخل‬
‫الشبكة‪ ,‬ويحتوى ايضا على ‪ TCP Header‬الذي يحتوى على المعلومات المطلوبه لضمان وصول الباكيت‬
‫الى ال‪.target‬‬
‫اضافة الى ال‪ iSCSI Header‬الذى يقوم باستخراج ال‪ SCSI commands‬والبيانات وتوصيلها الى‬
‫ال ‪ target‬ويحتوى ايضا على ‪ CRC‬او ‪ digest‬الذي يقوم بالتاكد من سالمة البيانات‪.‬‬
‫‪iSCSI Discovery -‬‬
‫ال‪ initiator‬البد ان يستكشف مواقع واسماء ال‪ targets‬قبل البدء فى عملية التواصل وتتم عملية االستكشاف‬
‫بطريقتين اما ‪ Send Targets discovery‬او )‪.internet Storage Name Service (iSNS‬‬
‫▪ ‪ Send Targets discovery‬يتم اعداد ال‪initiator‬‬
‫يدويا داخل شبكة ال‪ targets‬لبدء عملية االستكشاف‬
‫حيث يقوم بارسال ‪ Send Target commands‬ويقوم‬
‫ال‪ target network portal‬باالستجابة وارسال اسماء‬
‫ال‪ targets‬وال‪ IP Addresses‬المتاحه‪.‬‬
‫▪ ‪ iSNS‬يقوم باستكشاف اجهزة ال‪ iSCSI‬بشكل‬
‫‪ automatic‬حيث يتم اعداد ال‪initiators & targets‬‬
‫للتسجيل داخل ال‪ iSNS server‬اوتوماتكيا حيث يحتوى‬
‫هذا السيرفر على ‪ list‬بكل ال‪ targets‬داخل الشبكة‬
‫ايضا يتم استخدام )‪service location protocol (SLP‬‬
‫فى عملية االستكشاف‪.‬‬

‫‪iSCSI Names -‬‬


‫تستخدم لتعريف ال‪ initiators & target‬داخل ال‪ iSCSI network‬لتسهيل عملية التواصل ويوجد نوعين من‬
‫اسماء ال‪.iSCSI‬‬
‫▪ )‪iSCSI Qualified Name (IQN‬‬
‫▪ )‪Extended Unique Identifier (EUI‬‬

‫‪iSCSI Sessions -‬‬


‫هي ال‪ session‬التى تبدا بين ال‪ initiator & target‬وتعرف ب)‪ ,session ID (SSID‬ويتم انشائها فى عدة‬
‫حاالت مثل مرحلة ‪ Discovery‬عملية استكشاف ال‪ initiator‬الى ال‪ target‬المتاحة او مرحلة نقل الداتا‬
‫العادية بينهما‪.‬‬
iSCSI Command Sequencing -
request – ‫ مثل ال‬command sequence‫ تعتمد على بعض ال‬initiators & target‫عملية التواصل بين ال‬
‫ لذلك يتم ترقيمها وتعرف باسم‬PDUs‫ من الممكن ان تنشأ العديد من ال‬sequences‫ هذه ال‬respond
.session ‫ الخاصه بكل‬command PDUs‫ ليتم تعريف ال‬command sequence number (CmdSN)
sequence number‫ تستخدم لمعرفة حالة استجابة ال‬status sequence number (StatSN)‫ايضا هناك ال‬

FCIP 
‫ عن طريق‬IP based network ‫ من خالل ال‬FC SAN ‫ يستخدم لنقل البيانات داخل ال‬tunneling protocol ‫هو‬
.IP Packet ‫ داخل‬Fibre Channel Frame ‫ لل‬Stacking ‫عمل‬

FCIP Protocol Stack -


‫▪ ‪ Application Layer‬تقوم بانشاء ال‪.SCSI commands & Data‬‬
‫▪ اما ال‪ SCSI Layer‬يحتوى على تطبيق ‪ SCSI driver‬الذي يقوم بتنفيذ اوامر ‪read write commands‬‬
‫▪ ال‪ FCP Layer‬هو ال‪ Fibre Channel frame‬الذي يحمل ال‪ SCSI‬يكون اعلى ال‪transport layer‬‬
‫مما يسهل مروره خالل ال‪ SAN fabric environment‬باالضافه انه يتم عمل ‪encapsulation‬‬
‫لل ‪ Fibre Channel Frame‬داخل ‪IP Packet‬‬
‫▪ ‪ FCIP Layer‬هي الطبقة التى يتم فيها عمل ‪ encapsulate‬لل ‪ Fibre Channel Frame‬داخل ‪IP‬‬
‫‪ Packet‬وتمريرها الى ال‪. TCP Layer‬‬
‫▪ ‪ IP Layer‬تستخدم لنقل البيانات حيث تقوم بعمل ‪ encapsulated data‬داخل ال‪.ethernet‬‬
‫عندما يتم عمل ‪ encapsulate‬للبيانات الى ‪ IP Packet‬من الممكن لل‪ Data link‬ان التدعم حجم‬
‫ال‪ MTU‬لل ‪ IP Packet‬مما يتسبب فى عمل ‪ fragmentation‬لها والذي يتطلب وضع ‪ headers‬على‬
‫كل ‪ fragments‬ويقوم ال‪ TCP‬بعملية استقبال واعادة هيكلة البيانات ‪ resequencing‬وتمريرها الى ال‬
‫‪ FC processing‬للجهاز‪.‬‬

‫‪FCIP Performance and Security -‬‬


‫يجب االخذ باالعتبار وجود عملية ال‪ Performance, reliability, and security‬عند تطبيق ال‪ FCIP‬ومن‬
‫ضمن هذه االعتبارات‪ ,‬وجود اكثر من مسار بين ال‪ FCIP gateways‬وهذا لتجنب ‪single point of failure‬‬
‫وزيادة ال‪ .bandwidth‬ايضا ال‪ FCIP‬يستخدم ال‪ unified fabric‬والتى يتم فيها الدمج بين ال‪LAN Network‬‬
‫وال ‪ SAN Network‬لالستفادة من الخدمات الموجوده فى الشبكة الى اقصى حد لتحقيق اداء افضل لها‬
‫وانخفاض تكاليف التشغيل وزيادة اداء التطبيقات فى الشبكة‪.‬‬
‫‪FCIP Topology -‬‬
‫داخل ال‪ FCIP environment‬يوجد ‪ FCIP gateway‬متصل بكل ‪ Fabric SAN‬يقوم واحد منهم متصل بال‬
‫‪ IP network‬بعمل ‪ encapsulate‬لل ‪ FC Frame‬داخل ‪ IP Packet‬ويقوم االخر باستقبال ال‪ Packet‬وعمل‬
‫ازالة لل ‪ IP‬وارسال ال‪ FC data‬داخل ال‪fabric‬‬

‫‪FCoE ‬‬
‫هو بروتوكول يستخدم لنقل ال‪ Fibre Channel Traffic‬من خالل ال ‪ .Ethernet‬اي انه يقوم بنقل الداتا الخاصه‬
‫بال‪ LAN & SAN‬حيث يتم عمل ‪ Encapsulate‬لل ‪ Fibre Channel frame‬التى تخرج من ال ‪ CNA‬الى‬
‫‪ TCP/IP Header‬داخل ال ‪.Ethernet‬‬

‫‪Consolidation Using FCoE -‬‬


‫من اهم فوائد ال‪ FCoE‬هي عملية الدمج بين الشبكات‪ ,‬حيث انه قبل ال‪ FCoE‬كان يستخدم كروت ‪NIC‬‬
‫للوصول الى ‪ IP network‬ويتم استخدام كروت ال‪ HBA‬للوصول الى ‪ Storage resources‬فكان كل‬
‫سيرفر يحتوى على االقل على ‪ 2 NIC & 2 HBA‬من اجل عملية ال‪ redundancy‬فاذا كان هناك العديد من‬
‫السيرفرات يتطلب هذا العديد من ال‪ adapters, cables & switches‬فتصبح العملية معقده داخل‬
‫ال‪.environment‬‬
‫لكن جاء ال‪ FCoE‬وقام بعملية الدمج وذلك باستخدام ‪FCoE switches & Converged Network‬‬
‫)‪ Adapters (CNAs‬يتم استبدالها مع ال‪ NIC & HBA‬داخل السيرفر لدمج ‪ IP & FC traffic‬لتقليل عدد‬
‫ال‪ adapters, cables & switches‬داخل الشبكة وبالتالى تقليل التكلفة وسهولة االدارة‪.‬‬
Compenants of an FCoE Network -
Converged Network Adapter ▪
‫ بحيث انه يرسل‬Ethernet & Fibre Channel‫وهي كروت تدعم ال‬
‫ وكذلك‬.‫ الى السويتش‬FCoE Header ‫ يحتوى على‬SCSI Request
‫ داخل‬TCP/IP Header‫ لل ال‬Encapsulate‫ يتم عمل‬Ethernet‫مع ال‬
.SCSi Request ‫ مع ال‬FCoE Header

Cables ▪
‫ للمسافات القصيره حد اقصى‬Copper based Twinax ‫هناك اختيارين من الكابالت المستخدمه اما‬
Small Form Factor ‫ يتم توصيلهم بال‬10Gbps ‫ بسرعات‬standard fi ber optical ‫ او‬10 meter
.Pluggable Plus (SFP+)

FCoE Switches ▪
‫ حيث تحتوى على‬ethernet switch & fibre channel switch ‫تقوم بعمل وظائف النوعين‬
Fibre Channel Forwarder (FCF), Ethernet Bridg, Ethernet ports and optional FC ports
de- ‫ ايضا عمل‬FC Ports‫ المستقبله من ال‬FC Frames ‫ لل‬encapsulate ‫ بعمل‬FCF‫حيث يقوم ال‬
ethernet bridge‫ المستقبله من ال‬FCoE frames ‫ لل‬encapsulate
‫‪FCoE Frame Structure -‬‬
‫ال‪ FCoE Frame‬هو عباره عن ‪ Ethernet Frame‬تحتوى على ‪ FCoE protocol data unit‬كما موضح‬
‫بالصورة‪ .‬اول ‪ 48-bits‬تستخدم لتحديد ال‪ Destenatin MAC Address‬وال ‪ 48-bits‬الثانية لتحديد‬
‫ال‪ 32-bits ,Source MAC Address‬التالية ‪ IEEE 802.1Q tag‬المسؤوله عن انشاء ال‪,VLANs‬ثم‪16-bits‬‬
‫خاصة بال‪ FCoE‬معها ‪ 4-bit‬لل‪ 100-bits ,version‬محجوزه معها ‪ 8-bit‬لراس الفريم )‪ (SOF‬ثم ياتى‬
‫الفريم نفسه حيث حجم ال ‪ Frame‬فى ال‪ Fibre Channel‬ال يتعدى ‪ 2112 Bytes‬مضافا اليه ال‪Header‬‬
‫تصبح ‪ ,2148 Bytes‬ثم ‪ 8-bit‬اخرى لنهاية الفريم متبوعه ب ‪ 24-bits‬محجوزة‪ ,‬وفى النهاية ‪32-bits‬‬
‫لل)‪ Frame Check Sequence (FCS‬مسؤوله عن التحقق من الفريم واستكشاف االخطاء‪.‬‬
‫▪ ‪FCoE Frame Mapping‬‬
‫عملية ال‪ encapsulation‬لل‪ FCoE Frame‬تحدث من خالل عمل ‪ mapping‬لل ‪ FC frame‬داخل‬
‫ال‪ ethernet‬كما موضح بالصورة حيث لكل منهم طبقات محددة تمر من خاللها الداتا لكل طبقه‬
‫وظائف معينه‪ ,‬بالنسبه لل‪ FCoE‬يقوم باستبدال طبقة ال‪ FC-0 & FC-1‬الخاصه بال‪Fibre Channel‬‬
‫بطبقة ال‪ ethernet‬مما يوفر القدرة على نقل بيانات ‪ FC2 – FC4‬داخل طبقة ال‪.ethernet‬‬

‫‪FCoE Enabling Technologies -‬‬


‫ال‪ Ethernet‬على مستوى ‪ Layer 2‬يوجد لديه مشكلتين اساسيتين اوال يتطلب القدره على توفير ‪lossless‬‬
‫‪ traffic delivry‬للتاكد من وصول الترافيك كامله‪ ,‬ايضا مشكلة ال‪ Pause‬وتحدث عند وجود ‪congestion‬‬
‫فى الشبكة فيقوم بارسال ‪ pause request‬لوقف ارسال الداتا سواء كانت خاصة بال ‪ .LAN or SAN‬ولذلك‬
‫البد من تحسين اداء ال‪ Ethernet‬النه يستخدم فى نقل البيانات الخاصة بال‪ SAN‬عن طريق بروتوكول‬
‫ال‪ FCoE‬واليجب وجود فقدان للداتا ووجود حل لمشكلة ال‪ Congestion‬الموجوده فى الشبكه وذلك‬
‫باستخدام ‪ DCB Standards‬وهي‪:‬‬
‫▪ )‪Priority Flow Control (PFC‬‬
‫هي ميزه تستخدم لحل مشكلة ‪ Losseless traffic delivry‬عن طريق تقسيم اللينك المستخدم لنقل‬
‫الترافيك الى ‪ 8 Virtual Links‬وتخصيص ‪ Bandwith‬محدده لكل ‪ Virtual link‬ومن خالل عمل‬
‫‪ QoS Configuration‬ممكن تقسيم الترافيك الى ‪ Classes‬وتخصيص كل ‪ class‬لكل ‪virtual link‬‬

‫▪ )‪Enhanced Transmission Selection (ETS‬‬


‫هي ميزه اخرى لتحسين ال‪ Ethernet‬من خالل تحسين اداء ال‪ PFC‬وذلك عن طريق انه اذا حدث‬
‫‪ Congesstion‬فى احدى ال ‪ Virtual link‬المستخدمه النها استهلكت ال‪ Bandwith‬المخصصه لها‬
‫وكان هناك ‪ virtual link‬اخرى غير مستخدمه فتقوم بعمل ‪ reallocation‬للترافيك بحيث تخرج من‬
‫ال‪ Free virtual link‬وتقوم بارجاعها مره اخرى اذا جاءت ترافيك لهذه اللينك‪.‬‬

‫▪ )‪Data Center Bridging Exchange (DCBX‬‬


‫هو بروتوكول شبيه لل ‪ LLDP‬او ال‪ CDP‬بحيث انه يقوم بعمل ‪ Negotiation & Exchange‬لل‬
‫‪ FCoE‬بروتوكول بين ال ‪ initiotor & target‬ليقوم بعمل ‪ Discovering‬لكل ال ‪DCB-capable‬‬
‫‪ Switches‬الموجوده داخل ال‪ Fibre Channel Netowr‬وكل المعلومات الخاصه بها‪.‬‬

‫▪ )‪Congestion Notification (QCN‬‬


‫اذا كان هناك اكثر من سويتش على الشبكه وموصل ليهم اكثر من سيرفر كلهم يقوموا بارسال ترافيك‬
‫الى ان تصل الى السويتش االخير الموصول بال ‪ Arrays‬فمن الممكن حدوث ‪ Congession‬عليه‬
‫فيرسل ‪ Pause Message‬فيتم ايقاف جميع الترافيك على ال هنا يانى دور ال‪ CN‬حيث انه باستخدام‬
‫ال‪ DCBX‬ومعرفة ال ‪ exchange capable‬وال‪ traffic flows‬وال ‪ traffic classes‬لكل‬
‫ال‪ Switches‬يقوم كل سويتش بعمل ‪ Decapsulate‬للترافيك الى ان يصل الى السويتش صاحب‬
‫ال‪ overload traffic‬ويقوم بعمل ‪ pause traffic‬له‬
Chapter 7. Network-Attached Storage

NFS, ‫ باستخدام بروتوكوالت مثل‬ethernet network‫ من خالل ال‬Storage ‫ هي طريقه للوصول الى ال‬NAS
.file-level storage system ‫ وتعمل بنظام‬CIFS & SMB

Benefits of NAS 
Comprehensive access, Improved effi ciency, Improved fl exibility, Centralized storage,
Simplified management, Scalability, High availability, Security, Low cost & Ease of deployment

File Systems and Network File Sharing 


Accessing a File System -
‫ وهي طريقة في نظام التشغيل تستخدم للتحكم في كيفية تخزين‬mounted ‫ يجب ان يكون‬File System‫ال‬
‫وإسترجاع وتنظيم وإدارة ملفات الحاسوب والبيانات التي تحتوى عليها تلك الملفات لتسهيل إيجادها‬
‫ وعملية‬NAS ‫ يستعمل جهاز تخزين للبيانات مثل القرص الصلب او‬file system‫ وال‬،‫وإستخدامها‬
.‫ وبين انظمة التشغيل‬NAS‫ على ال‬file system‫ هذه تقوم بعمل اتصال يربط بين ال‬mounting‫ال‬
Network File Sharing -
‫ وهنا يقوم‬file sharing ‫ وتسمى بال‬.‫تشير الى عملية التخزين والوصول الى البيانات من خالل الشبكة‬
‫ بانشاء الملفات ويحدد طريقة الوصول اليه مثل القراء والكتابة والتنفيذ وازالة الملفات التى يمنحها‬user‫ال‬
.‫للمستخدمين االخرين‬
file transfer protocol (FTP), Distributed File System (DFS), ‫ هي‬file sharing‫ومن االمثلة لعملية ال‬
.NFS & CIFS ‫ مثل‬file sharing‫ التى تستخدم بروتوكوالت ال‬client-server models‫ايضا ال‬

Components of NAS 
‫ ممكن ان تكون خارجية‬Storage‫ بالنسبة لل‬,Head & Storage‫ على مكونين رئيسين هما ال‬NAS‫تحتوى ال‬
‫ يحتوى على المكونات التالية‬Head‫ اما بالنسبة لل‬,hosts‫ على ال‬Shared ‫ وتكون‬NAS ‫على اجهزة‬

CPU and memory ▪


One or more network interface cards (NICs) ▪
optimized operating system for managing the NAS functionality ▪
NFS, CIFS, and other protocols for fi le sharing ▪
Industry-standard storage protocols and ports ▪
‫شبكة ال‪ NAS‬تحتوى ايضا على ‪ clients‬تقوم بالوصول الى اجهزة ال‪ NAS‬عن طريق ‪ IP Network‬باستخدام‬
‫‪.file-sharing protocols‬‬

‫‪NAS I/O Operation ‬‬


‫ال‪ NAS‬يعمل بنظام ال‪ file-level‬لوصول ال ‪ client‬الى البيانات فعملية الوصول الى البيانات من ال‪ client‬الى‬
‫ال‪ storage‬تمر بعدة مراحل‪:‬‬

‫‪ -1‬ال ‪ client‬يقوم بارسال طلب ‪ file I/O‬داخل ‪ TCP/IP package‬وارسالها خالل الشبكة‬
‫‪ -2‬يقوم ال‪ NAS device‬باستقبال طلب ال‪ file I/O‬وتحويلها الى ‪ block-level I/O‬الرسالها الى ال‪storage‬‬
‫‪ -3‬عندما تعود الداتا من ال‪ storage‬تقوم ال‪ NAS device‬بعمل ‪ repackages‬لها باستخدام البروتوكول‬
‫المناسب مثل ‪ NFS, CIFS, SMB‬من خالل ‪ TCP/IP Packages‬وتحويلها الى ال‪.client‬‬

‫‪NAS Implementations ‬‬


‫هناك ثالث عوامل مشتركة عند تطبيق ال‪ NAS‬وهي ‪.Unified, Gateway & Scale-out‬‬

‫حيث ان ال‪ unified‬يقوم بتوحيد الوصول الى البيانات فى ال‪ NAS-based & SAN-based‬ضمن ‪storage‬‬
‫موحده وتوفير ‪ interface‬موحد ايضا الدارة كل منهما‪.‬‬

‫اما فى ال‪ gateway‬اجهزة ال‪ NAS‬تستخدم ‪ storage‬خارجية لتخزين واسترجاع البيانات وتختلف عن ال ‪unifed‬‬
‫‪ storage‬بان هناك مهام ادارية منفصله الجهزة ال‪ NAS‬وال‪.storage‬‬

‫اما ال‪ scale-out‬يقوم بتجميع العديد من ال‪ nodes‬داخل ‪.cluster‬‬


‫‪Unified NAS -‬‬
‫يقوم بخدمة تخزين واسترجاع البيانات مع امكانية الوصول الى ‪ ,block-level data‬حيث تدعم‬
‫بروتوكوالت ‪ CIFS & NFS‬بالنسبة لل‪ file-level access‬ايضا تدعم بروتوكوالت ‪ iSCSI & FC‬بالنسبة‬
‫لل‪ . block-level access‬والتى تؤدى الى دمج ال‪ NAS-based & SAN-based‬داخل ‪storage platform‬‬
‫واحد‪ .‬وبالتالى تساعد على تقليل تكلفة ال‪ infrastructure & management‬للمنظمه‪.‬‬
‫وتحتوى على واحد او اكثر من ‪ NAS heads & storage‬داخل السيستم الواحد‪.‬‬

‫‪Unified NAS Connectivity -‬‬


‫كل ‪ NAS head‬يعتبر ‪ unified NAS‬حيث يحتوى على ‪ front-end Ethernet ports‬موصوله بال ‪IP‬‬
‫‪ network‬لتوفير وصول ال‪ clients‬الى البيانات واستقبال ال‪ .I/O requests‬ايضا يحتوى على ‪back-end‬‬
‫‪ ports‬موصوله بال‪ storage controller‬حيث تدعم بروتوكوالت ‪.iSCSI & FC‬‬

‫‪Gateway NAS -‬‬


‫تحتوى على واحد او اكثر من ال‪ NAS heads‬باالضافه الى ‪ storage‬الخارجية التى تدار بشكل مستقل‪.‬‬
‫تشبه ال‪ unified storage‬من حيث المشاركه فى التطبيقات المختلفة التى تستخدم ال‪block-level I/O‬‬
‫وتختلف عنها حيث لها مهام ادارية منفصله الجهزة ال‪ NAS‬وال‪.storage‬‬
‫يعتبر اكثر قابلية للتطوير مقارنة بال‪ unified storage‬حيث من الممكن توسيع او تطوير ال ‪NAS heads‬‬
‫‪ & storage‬اذا تتطلب االمر‪ ,‬على سبيل المثال من الممكن اضافة ‪ NAS heads‬لتحسين اداء ال ‪NAS‬‬
‫‪ ,devices‬ايضا يمكن اضافة ‪ capacity‬اذا وصل التخزين للحد االقصى مثل ال‪ unified NAS‬ايضا يمكنها‬
‫تحسين استخدام تخزين ال‪.storage‬‬
‫‪Gateway NAS Connectivity -‬‬
‫ال‪ front-end connectivity‬تشبه ال‪ ,unified storage connectivity‬لالتصال بين ال‪ NAS gateway‬وال‬
‫‪ Storage‬يكون من خالل ‪ traditional FC SAN‬لدعم الحلول المختلفة مثل ‪multiple paths for data,‬‬
‫‪.redundant fabrics, and load distribution‬‬

‫‪Scale-Out NAS -‬‬


‫كما ذكرنا ان كل من ال‪ unified & gateway NAS‬له القابلية للتوسيع والتطوير والتى تؤدى الى زيادة سعة‬
‫البيانات وتحسين االداء من خالل اضافة بعض ال‪ resources‬مثل ال‪ CPUs, memory & storage‬حيث‬
‫تكون ال‪ storage‬محدده بسعه معينه‪.‬‬
‫‪ Scale-out NAS‬يساعد على هذا التوسيع من خالل اضافة ‪ nodes‬الى ال‪.clustered NAS architecture‬‬
‫ال‪ cluster‬يعمل ك ‪ NAS device‬ويدار مركزيا‪ ,‬ويمكن اضافة ال‪ nodes‬الى ال‪ cluster‬عند الحاجه الى‬
‫زيادة السعه واالداء بدون اي ‪.downtime‬‬
‫ال‪ scale-out‬يقوم بانشاء ‪ file system‬يعمل على جميع ال‪ nodes‬داخل ال‪ cluster‬وتكون المعلومات‬
‫داخلها ‪ shared‬لكل ال‪ nodes‬و يكون ال‪ file system‬متاح الي ‪ client‬موصول بال‪.nodes‬‬
‫يقوم ايضا بعمل ‪ stripes‬للبيانات داخل ال‪ nodes‬باستخدم ‪ ,mirror or parity protection‬حيث تكون‬
‫البيانات المرسله من ال ‪ client‬الى ال ‪ cluster‬مقسمه ومخصصه الى ال‪ nodes‬المختلفة‪ ,‬وعندما يرسل‬
‫ال‪ client‬طلب بقراءة البيانات يقوم ال ‪ scale-out NAS‬باعادة ‪ blocks‬المناسبة من العديد من ال‪nodes‬‬
‫الموجودة واعادة توجيها داخل ‪ file‬الى ال‪.client‬‬
‫تعتبر ال‪ scale-out‬مناسبة الستخدام ال‪ Big Data‬حيث لها القدرة على ادارة وتخزين مساحة ضخمه من‬
‫البيانات داخل نظام واحد مع المحافظه على االداء المناسب‪.‬‬
‫‪Scale-Out NAS Connectivity -‬‬

‫‪NAS File-Sharing Protocols ‬‬


‫اجهزة ال‪ NAS‬تمكن المستخدمين من مشاركة البيانات عبر االنظمة المختلفة وذلك باستخدام بعض البروتوكوالت‬

‫‪NFS -‬‬
‫هو ‪ client-server protocol‬يستحدم لمشاركة الملفات ويستخدم عادة على انظمة ال‪ .UNIX‬يعتمد فى‬
‫االصل على ال‪ connectionless‬باستخدام ال‪ ,UDP Protocol‬يقوم باستخدام اجهزة منفصلة لعرض‬
‫ال‪user data‬‬
‫يستخدم ايضا طريقة )‪ Remote Procedure Call (RPC‬لعملية التواصل بين جهازين كمبيوتر‬
‫‪ NFS‬يقوم بانشاء اتصال بين ال‪ client‬وال ‪ remote system‬لنقل البيانات‬
‫▪ ‪ :NFSv2‬هو ‪ stateless protocol‬الذي يعنى انه اليحتفظ باي معلومات تخص الملفات‬
‫▪ ‪ :NFSv3‬مبنى على ‪ stateless protocol‬ايضا يقوم باستحدام ال‪TCP or UDP‬‬
‫▪ ‪ :NFSv4‬يستخدم ال‪ TCP‬حيث انه ‪ statefull protocol‬والذي يوفر ال‪.enhanced security‬‬
‫‪CIFS -‬‬
‫هو ‪ client-server application protocol‬حيث يمكن ال‪ client programs‬من مشاركة الملفات والخدمات‬
‫على ال‪ remote computers‬من خالل ال‪TCP/IP protocol‬‬
‫يقوم باستخدام تامين خاص على الملفات والسجالت المخزنه من قبل المستخدم لمنع حدوث ‪overwriting‬‬
‫من قبل مستخدمين اخرين‪.‬‬
‫تدعم ايضا ال‪ fault tolerance‬حيث تقوم باعادة االتصال اوتوماتيكيا واعادة فتح الملفات التى تاثرت عند‬
‫حدوث االنقطاع‬
‫هو ‪ statefull protocol‬حيث ان ال‪ CIFS server‬تحافظ على معلومات االتصال الخاصه بكل ‪.client‬‬
‫‪Factors Affecting NAS Performance ‬‬
‫ال‪ NAS‬يقوم باستحدام ال‪ IP network‬لمشاركة الملفات لذلك تتاثر ال‪ Performence‬بشكل كبير حيث ترتبط‬
‫بال‪ ,bandwidth & latency‬حيث تقوم ال‪ NAS‬بتجنب حدوث ‪ Network congestion‬باتباع مايلي‪:‬‬

‫‪ :Number of hops -1‬حيث زيادة عدد ال‪ hops‬يؤدى الى زيادة سرعة االستجابة‬
‫‪ Authentication with a directory service such as Active Directory or NIS -2‬حيث يجب ان تتوفر‬
‫الموارد المتاحة الجهزة السيرفر الخاصه بعملية ال‪ authentecation‬لسرعة اداء هذه العملية‪.‬‬
‫‪ :Retransmission -3‬حيث من الممكن حدوث ‪Link errors and buffer overfl ows‬‬
‫‪ :Over utilized routers and switches -4‬حيث يكون وقت االستجابة اكبر من ‪optimally utilized‬‬
‫‪File system lookup and metadata requests -5‬‬
‫‪ :Over utilized NAS devices -6‬محاولة الوصول للملفات من قبل العديد من المستخدمين تؤدى زيادة‬
‫معدل االستحدام والتى يمكن تحديدها من خالل عرض احصاءات استخدام ال ‪memory, CPU, or disk‬‬
‫‪subsystem utilization‬‬
‫‪ :Over utilized clients -7‬ايضا ال‪ client‬التى تحاول الوصول الى ‪ CIFS or NFS‬من الممكن ان تؤدى‬
‫الى ‪ over utilized‬والتى تؤدى الى زيادة وقت ال‪ processing‬وسرعة االستجابة‪.‬‬

‫‪File-Level Virtualization ‬‬


‫ال‪ File-Level virtualization‬يقوم بالغاء تبعية الوصول الى البيانات داخل ال‪ file level‬والموقع الذى يخزن عليه‬
‫البيانات بمعنى انه اوال كان كل جهاز يعلم الموقع الذي يخزن عليه البيانات والذى يؤدى الى مشكلة فى حجم‬
‫التخزين غير المستغل بشكل كامل حيث كل جهاز ملزم بالتخزين فى اجهزة ال‪ NAS‬او ال‪ file sever‬باالضافة‬
‫الى مشكلة فى ال‪ performence‬حيث عند ملئ ال‪ file server‬فليس بالسهولة نقل البيانات او اعادة تهيئة‬
‫التطبيقات للتخزين فى سيرفر اخر‪.‬‬
‫‪ File-Level viritualizaion‬يقوم بتبسيط عملية تخزين ونقل البيانات حيث يوفر تطبيق مستقل للموقع الذى يخزن‬
‫عليه البيانات ويقوم بانشاء ‪ logical pool of storage‬تمكن المسخدمين من استخدام ‪ logical path‬للوصول الى‬
‫البيانات كما انها تحل مشكلة الوصول الى البيانات من خالل اجهزة ال‪ NAS‬عند تغيير ال‪.file server‬‬
Chapter 8. Object-Based and Unified Storage

Object-Based Storage Devices 


‫ كـ‬movies, office documents & graphics‫ مثل ال‬Unstructured Data‫هي اجهزة تقوم بتنظيم وتخزين ال‬
.‫ وتستخدم مساحة تخزين متساوية للتخزين وبالتالى اليوجد تسلسل هرمي فى تنظيم وتخزين البيانات‬.objects

(size, ‫ مثل‬metdata ‫ و‬user data ‫ ويحتوي ايضا على‬opject ID ‫ يكون له رقم محدد يسمى بال‬opject ‫كل‬
.(retention, access pattern,…) ‫ مثل‬attributes‫ باالضافة الى بعض ال‬date, ownership,..)

Object-Based Storage Architecture -


‫ من خالل‬I/O‫ التقليدية تمر بعدة مراحل حيث يتم انشاء ال‬Block access‫ داخل ال‬I/O‫اوامر ال‬
.disk drive‫ وصوال الى ال‬file system‫ وتمر من خالل ال‬application‫ال‬
disk ‫ القادمه الى ال‬I/O‫ يقوم بعمل مقارنة مع ال‬application‫ من ال‬I/O‫ ال‬file system‫عندما يستقبل ال‬
.‫ خالل الشبكة‬storage device‫ الى ال‬I/O‫ الرسال ال‬block interface ‫ ويتم استخدام ال‬,blocks
‫يتكون ال‪ file system‬من مكونين هما ال ‪ user component‬والذى يقوم بتنفيذ الوظائف المختلفه مثل‬
‫‪ hierarchy management, naming, and user access control‬ويتكون ايضا من‪storage component‬‬
‫والذي يقوم بتوصيل ال‪ files‬الى ال‪ physical location‬لل‪.disk drive‬‬
‫عندما يقوم ال‪ application‬بمحاولة الوصول الى بيانات مخزنة على ‪ OSD‬يقوم بارسال طلب الى ال ‪user‬‬
‫‪ compenent‬لل‪ file system‬والتى تقوم بالتواصل مع ال‪ storage device‬من خالل ال‪OSD interface‬‬
‫والتى تحتوى على ال ‪ storage compenet‬والتى تكون مسؤوله عن عملية تنظيم الوصول ال‪ opject‬الى‬
‫ال‪storage device‬‬

‫‪Components of OSD -‬‬


‫تتكون من ثالث مكونات هي ال‪nodes, private network & storage‬‬

‫ال ‪ OSD system‬يحتوى على ‪ node‬او اكثر وال‪ node‬عباره عن سيرفر الذي يقوم بالعمليات التشغيلية‬
‫لل‪ OSD‬وتقديم خدمات لتخزين واستعادة البيانات‪ .‬حيث يقوم ال‪ OSD node‬بخدمتين رئيستين هما‪:‬‬
‫ال‪ metdata service‬وهي المسؤوله عن انشاء ال‪ opject ID‬وتحتوى ايضا على ال‪ attributes‬للداتا وتقوم‬
‫بالمقارنه بين ال‪ opject ID‬وال ‪.file system namespace‬‬
‫يقوم ايضا بال‪ Storage service‬والذي يقوم بادارة مجموعة الديسكات التى تخزن عليها البيانات‪.‬‬
‫ال‪ OSD node‬يتصل بال‪ storage‬عن طريق شبكة داخلية من خالل ‪.node-to-node connectivity‬‬
Object Storage and Retrieval in OSD -
:‫ تتم على مراحل كما يلي‬OSD‫ داخل ال‬opjects‫عملية التخزين لل‬
.OSD node‫ للتخزين فى ال‬file‫ بارسال ال‬application server‫ يقوم ال‬-1
.userdata & metdata ‫ الى جزئين‬file‫ بتقسيم ال‬OSD node‫ يقوم ال‬-2
.‫ مخصص‬algrothim ‫ باستخدام‬opject ID‫ بانشاء ال‬OSD node‫ يقوم ال‬-3
.metdata service‫ الستخدامها مستقبال باستخدام ال‬metdata & opject ID‫ يقوم بتخزين ال‬OSD node‫ ال‬-4
.storage service‫ باستخدام ال‬storage device‫ داخل ال‬user data (opject)‫ يقوم بتخزين ال‬OSD node‫ ال‬-5
.‫ تم تخزينه‬opject‫ بان ال‬application server‫ الى ال‬acknowledgment ‫ يتم ارسال‬-6

:‫ بنجاح يكون جاهز لالسترجاع ويتم االستعادة على مراحل ايضا كما يلي‬opject‫بعد تخزين ال‬
.OSD system‫ الى ال‬read request ‫ بارسال‬application server‫ يقوم ال‬-1
.‫ للملف المطلوب‬opject ID ‫ تقوم باستعادة ال‬metdata service‫ ال‬-2
.application server‫ الى ال‬opject ID‫ بارسال ال‬metdata service‫ تقوم ال‬-3
.‫ الستعادة الملفات‬OSD storage‫ الى ال‬opject ID‫ بارسال ال‬application server‫ يقوم ال‬-4
.storage device‫ من ال‬opject‫ يقوم باستعادة ال‬OSD storage service‫ ال‬-5
.application server‫ بارسال الملفات الى ال‬storage device‫ يقوم ال‬-6
Benefits of Object-Based Storage -
.‫ من خالل انظمة التخزين التقليدية‬unstructured data‫ العديد من المزايا بالنسبة لل‬OSD‫تقدم اجهزة ال‬
performance, scalability, security, and data sharing ‫حيث ان نظام التخزين المثالى يجب ان يوفر‬
‫ التوفر جميع هذه المزايا‬SAN & NAS‫ ولكن انظمة التخزين التقليدية مثل ال‬.across multiple platforms
‫ حيث تقوم بالعديد من المزايا مثل‬.‫فى نظام واحد‬
Security and reliability ▪
Platform independence ▪
Scalability ▪
Manageability ▪
Common Use Cases for Object-Based Storage -
‫ حيث ان سالمة وحماية‬.data archival solution‫ هي ال‬OSD‫من اهم االسباب الشائعه الستخدام اجهزة ال‬
.data archiving solution‫البيانات هي اهم جزء مطلوب داخل ال‬
‫ والذي يضمن امان‬unique opject ID ‫ وربطهم ب‬opject form ‫ بتخزين البيانات داخل‬OSD‫حيث يقوم ال‬
‫ الخيار‬OSD‫ هذه القدرات تجعل ال‬,scability & data protection‫عالى للبيانات باالضافة بانه يوفر ال‬
.fixed content‫ وتخزين ال‬data archiving‫االفضل للتطبيق النظمة ال‬
.fixed content‫ صمم لتخزين ال‬OSD ‫ هو نوع خاص الجهزة ال‬Content addressed storage (CAS)
‫ للوصول‬web interface ‫ حيث يقوم باستخدام‬cloud-based storage ‫ وهي‬OSD‫ايضا استخدام اخر لل‬
security, scalability and automated data management ‫ اضافة الى‬storage resources‫الى ال‬
.cloud-based storsge‫يجعله الخيار االفضل بالنسبة لل‬
‫ و‬representational state transfer (REST) ‫ من خالل‬web service access‫ يدعم ايضا ال‬OSD ‫ال‬
.simple object access protocol (SOAP)‫ايضا ال‬
‫ حيث يقوم بعدة عمليات عن‬web application‫ هو بروتوكول طور لالستخدام فى ال‬RESET‫ ال‬:Note
.retrieving, modifying, creating, and deleting resources ‫( مثل‬web service) ‫طريق الويب‬
web ‫ يمكن من ربط قواعد البيانات والتواصل بين ال‬XML-based protocol ‫ هو‬SAOP‫اما ال‬
HTTP & XML ‫ لل‬encoding ‫ المستعمله على االنظمه التشغيليه المختلفه عن طريق عمل‬application
‫‪Content-Addressed Storage ‬‬
‫هو ‪ opject-based storage device‬صمم خصيصا لتخزين واستعادة المحتوى الثابت ‪( fixed content‬البيانات‬
‫الغير متوقع تحديثها) حيث انها تقوم بتخزين البيانات بناءا على محتواها وليس موقع التخزين‪.‬‬

‫ال‪ CAS‬يقوم بتحزين بيانات المستخدمين وال‪ attributes‬الخاصه بهم كـ ‪ opject‬ويخصص لها ‪unique address‬‬
‫يعرف بال )‪ content address (CA‬وهذ يوفر ادارة مركزية افضل للتخزين‪.‬‬

‫طرق الوصول للبيانات فى ال‪ CAS‬تختلف عن ال‪ OSD‬حيث ان ال‪ application server‬يصل الى ال ‪CAS‬‬
‫‪ devices‬عن طريق ‪ CAS API‬يعمل على السيرفر‪ ,‬ولكن يتشابها معا فى طريقة التخزين‪.‬‬

‫من اهم مزايا ال‪ CAS‬فى تخزين المحتوى الثابت ‪:fixed content‬‬

‫▪ ‪Content authenticity‬‬
‫▪ ‪Content integrity‬‬
‫▪ ‪Location independence‬‬
‫▪ )‪Single-instance storage (SIS‬‬
‫▪ ‪Retention enforcement‬‬
‫▪ ‪Data protection‬‬
‫▪ ‪Fast record retrieval‬‬
‫▪ ‪Load balancing‬‬
‫▪ ‪Scalability‬‬
‫▪ ‪Event notifi cation‬‬
‫▪ ‪Self diagnosis and repair‬‬
‫▪ ‪Audit trails‬‬

‫‪CAS Use Cases ‬‬


‫الكثير من المنظمات تستخدم ال ‪CAS Solution‬لمواجهة تحديات االعمال ومن االمثله على ذلك‪:‬‬

‫‪Healthcare Solution: Storing Patient Studies -‬‬


‫المراكز الصحية الكبرى تستقبل مئات المرضى يوميا وتقوم بانشاء العديد من التقارير الصحية التى تحتوى‬
‫على بيانات المريض وصور التقارير ويتم تخزين هذه المعلومات ‪ online‬لمدة من الوقت لالستعمال‬
‫المباشر‪ ,‬ثم يتم تخزين هذه السجالت واالحتفاظ بها للعديد من السنين حتى لو كانت غير مطلوبه بالنسبة‬
‫للمريض‪.‬‬
Finance Solution: Storing Financial Records -
archive ‫ايضا فى البنوك المعامالت اليوميه والتقارير المحاسبية يتم انشاء العديد منها يوميا ثم ترسل لل‬
‫ اذا تم الحاجه لها‬CAS System‫ يوم ايضا على ال‬60 ‫ ثم يتم تخزينها بعد‬IP network ‫ من خالل‬services
.‫فيما بعد‬

Unified Storage 
.‫ واحد‬storage solution ‫ داخل‬block, file & opject access‫ تقوم بتوحيد عمليات ال‬unified storage‫ال‬

.CIFS, NFS, iSCSI, FC, FCoE, REST & SOAP ‫وتدعم العديد من البروتوكوالت مثل‬

Components of Unified Storage -


storage controller, NAS head, OSD node & storage ‫▪ يتكون من مجموعه من المكونات الرئيسية مثل‬
‫ من خالل استخدام‬application server‫ لل‬block-level access‫ يدعم ال‬Storage controller ‫▪ ال‬
‫ داخل‬back-end storage pool‫ وهو المسؤول ايضا عن ادارة ال‬iSCSI, FC, or FCoE ‫بروتوكوالت مثل‬
.storage system‫ال‬
application servers, NAS heads ‫ وعرضها على ال‬LUNs ‫ يقوم بانشاء‬Storage Controller‫ايضا ال‬
LUNs‫ داخل هذه ال‬file system‫ ويتم تكوين ال‬local physical disks ‫ & حيث تظهر وكانها‬OSD node
.‫ لتخزين البيانات‬application‫بحيث تكون متاحه الى ال‬
‫ ويكون موصول‬NAS client‫ من خالل ال‬files‫ يوفر الوصول لل‬dedicated file server ‫ هو‬NAS head‫▪ ال‬
‫ ومن الممكن‬FC or FCoE ‫ باستخدام بروتوكول ال‬storage controller‫ من خالل ال‬storage‫على ال‬
NAS head‫ ايضا على ال‬LUN’s‫ وتظهر ال‬,Redundancy‫ من اجل عملية ال‬NAS head ‫وجود اكثر من‬
NFS, ‫ وانشاء‬LUNs‫ داخل هذه ال‬file systems‫ بتكوين ال‬NAS head‫ يقوم ال‬physical disks ‫كانها‬
.NAS clients‫ وتصديرها الى ال‬CIFS or mixed share
‫ ايضا‬FC or FCoE‫ باستخدام ال‬storge controller‫ عن طريق ال‬storage‫ موصوله بال‬OSD nodes‫▪ ال‬
‫ لتتمكن من تخزين‬OSD nodes‫ يتم اعدادها من خالل ال‬physical disk‫ المخصصه لها تظهر كـ‬LUNs‫وال‬
.REST, SOAP or API‫ باستخدام بروتوكوالت ال‬web application server‫البيانات عن طريق ال‬

Data Access from Unified Storage -


‫ مختلفة‬I/O ‫ تمر على مسارات‬block, file, and object requests‫ عمليات ال‬unified storage‫فى ال‬
storage‫للوصول الى ال‬
FC, ‫ باستخدام بروتوكول‬storage‫ الى ال‬block request ‫ يقوم السيرفر بارسال‬:Block I/O request ▪
storage controller‫ حيث يكون متصل مباشرة بال‬FCoE or Iscsi
NFS or ‫ باستخدام‬NAS head ‫ الى‬NAS client‫ من خالل ال‬file request ‫ يتم ارسال‬:File I/O request ▪
.‫ والعكس‬storage controller ‫ الى‬block request ‫ بتحويلها الى‬NAS head‫ ثم يقو ال‬CIFS
REST ‫ باستخدام‬web application server‫ من خالل ال‬opject request ‫ يتم ارسال‬:Object I/O request ▪
.‫ والعكس‬storage controller ‫ الى‬block request ‫ والذي يقوم بتحويلها الى‬OSD node‫ الى ال‬or SOAP
End of Part 1 ☺

‫ مصادر الكتاب‬

Information Storage and Management second edetion ‫كتاب‬


EMC ‫من شركة‬

Storage Area Networks for Dummies 2nd edetion ‫كتاب‬

‫تحياتي‬
‫حسن عيسى‬
22-11-2017

Vous aimerez peut-être aussi