چهارشنبه ۰۴ تیر ۰۴

آرشیو دی ماه 1400

توضيح محصولات شبكه

VLAN چيست؛ آموزش VLANing در سوئيچ سيسكو

۴۷ بازديد

VLAN چيست

VLAN چيست؟

VLAN مخفف Virtual Local Area Network در واقع يك LAN مجازي است كه شامل مجموعه اي از پورت هاي يك سوئيچ شبكه يا تعدادي سوئيچ مي باشد كه از لحاظه منطقي در يك Broadcast Domain مستقل قرار دارند. بنابراين هدف از ايجاد VLANها، جدا كردن محدوده Broadcast Domain ها مي باشد. در واقع اگر بخواهيم Broadcast گروهي از PC ها را به گروهي ديگر در LAN و در سوئيچ و يا سوئيچ هاي لايه 2 محدود كنيم، بايد از VLAN ها استفاده نماييم.

البته VLAN بندي محدود به شبكه‌هاي محلي و سوييچ‌ها نيست و اين امكان وجود دارد كه شبكه‌هاي بزرگ‌تر مجازي را نيز با هدف مديريت دقيق ترافيك به گروه‌هاي منطقي مختلفي تقسيم كرد. اين مكانيزم گروه‌بندي كه VXLAN به معناي شبكه محلي گسترش‌پذير مجازي نام دارد منعطف‌تر از VLAN است، زيرا با محدوديت ۴۰۹۶ زيرشبكه روبرو نيست و سرپرست شبكه مي‌تواند به هر تعدادي كه نياز دارد شبكه منطقي مجازي پياده‌سازي كند.

انواع VLAN:  

ـ end to end vlan: در اين حالت اعضاي هر VLAN در سرتاسر شبكه پراكنده هستند. اين حالت براي اشتراك منابع و اعمال سياست ها و پراكندگي ميزبان مورد استفاده قرار مي گيرد. در اين حالت خطايابي پيچيده تر مي باشد چون ترافيك VLANهاي مختلف در سراسر شبكه در حال انتقال است.

ـ local vlan: در اين حالت ميزبان ها براساس موقعيت فيزيكي خود در VLANها قرار مي گيرند.به طور مثال يك طبقه از يك ساختمان اين طراحي مقياس پذيرتر و خطايابي در ان ساده تر مي باشد چون نحوي جريان ترافيك مشخص است. براي اشتراك منابع در اين روش نياز routing داريم.

 

 روش هاي عضويت در VLAN:  

عضويت در VLAN به طريق ايستا (Static) و پويا (Dynamic) صورت مي گيرد:

 

  • Static VLAN: به عنوان VLAN مبتني بر پورت يا port-based معرفي مي شود. وظايف استاتيك VLAN با اختصاص پورت به VLAN ايجاد مي شود. با ورود يك دستگاه به شبكه، آن دستگاه بطور خودكار عضو VLAN پورت فرض مي شود. اگر كاربر پورت ها را تغيير دهد و نياز داشته باشد به همان VLAN دسترسي پيدا كند، سرپرست شبكه بايد براي اتصال جديد تعريف پورت به VLAN را انجام دهد.

  • Dynamic VLAN: با استفاده از نرم افزار يا بصورت پروتكل ايجاد مي شوند. با يك VLAN Management Policy Server (VMPS)، يك مدير مي تواند پورت هاي سوئيچ را به VLAN بر اساس اطلاعاتي نظير MAC Address دستگاه متصل شده به پورت يا نام كاربري مورد استفاده جهت لاگين شده به آن دستگاه تعيين كند. با ورود دستگاه به شبكه، سوئيچ از يك پايگاه داده براي عضويت VLAN به پورتي كه دستگاه به آن متصل شده است، بررسي هاي لازم را انجام مي دهد. متدهاي پروتكل شامل Multiple VLAN Registration Protocol (MVRP) و تا حدودي روش منسوخ شده GARP VLAN Registration Protocol (GVRP) مي باشد.

 

Broadcast Domain چيست؟

يك شبكه كاملاً لايه 2 به يك شبكه Flat يا Flat Network Topology معروف است. در اين شبكه از يك رنج آدرس استفاده مي شود. پس اين شبكه فاقد Subnet هاي مختلف بوده و به طبع آن بين قسمت هاي مختلف Routing صورت نمي گيرد. پيام Braodcast يك دستگاه به همه نودهاي در شبكه مي رسد. اين مدل براي شبكه هاي بزرگ و متوسط پيشنهاد نمي شود. در شبكه هاي متوسط و بزرگ كه بيشتر از 100 كامپيوتر دارند، توصيه مي شود تا توسط ايجاد VLAN شبكه را به شبكه هاي كوچكتري تبديل كنيم كه به هر يك از اين ناحيه ها اصطلاحاً يك Broadcast Domain مي گويند.

VLAN تفكيك كننده Broadcast Domain در شبكه و متشكل از گروهي از دستگاه ها است كه در لايه 2 به يكديگر متصل اند و مي توانند در لايه دو MAC و فريم هاي همديگر را ببينند. هر VLAN كاملا مجزا و توسط روتر يا يك سوئيچ لايه 3، در نقاطي نظير VLAN Core ها به يكديگر Route مي شوند تا بتوانند با يكديگر ارتباط برقرار كنند، اما در عين حال Broadcast هاي آنها به يكديگر نمي رسد.

به وسيله ايجاد VLAN، مي توان شبكه اي كاملاً مستقل ايجاد كرد كه Broadcast Domain خود را داشته باشد و فريم ها تنها داخل خود VLAN رد و بدل شوند. ترافيك به گونه اي تفكيك خواهد شد كه گويي شبكه اي مجزا با كابل و سوئيچ مستقل، يك LAN جداگانه اي را تشكيل داده است.

كافيست در سوئيچ، پورت ها را به شماره VLAN مورد نظر ربط دهيم. مثلا شبكه 300 كامپيوتري خود را به سه VLAN هر يك حاوي 100 دستگاه با آدرس شبكه مجزاي 25/ تقسيم مي كنيم.

Subnet mask:255.255.255.128=/25 (128 IP Addresses)

 

مزاياي VLAN بندي شبكه:

به‌طور معمول سازمان‌ها و شركت‌هاي بزرگ به دلايل زير از شبكه‌هاي محلي مجازي يا VLAN استفاده مي‌كنند:

  • شبكه VLAN مي‌تواند تعداد دامنه‌هاي پخشي را زياد كند.
  • شبكه VLAN ريسك‌ امنيتي را با كاهش تعداد ميزبان‌هايي كه يك كپي از فريم‌هايي سوييچ دريافت مي‌كنند را كاهش مي‌دهد كه در عمل شانس پياده‌سازي موفقيت‌آميز حمله‌هاي DDoS بر عليه شبكه سازماني را كم مي‌كند.
  • امكان ايزوله‌سازي ميزبان‌هايي كه اطلاعات حساسي را نگه‌داري مي‌كنند فراهم مي‌شود. به‌طوري كه مي‌توان اين ميزبان‌ها را روي شبكه VLAN خاصي قرار داد.
  • گروه‌بندي كاربران وابسته به موقعيت مكاني نيست و مي‌توان بر مبناي نقش و واحدي كه مشغول به كار در آن هستند گروه‌بندي را انجام داد. به‌طور مثال، كارمندان حسابداري را در يك گروه منطقي و كارمندان كارگزيني را در گروه ديگري قرار داد.

 

معايب VLAN بندي شبكه: 

  • اگر VLAN بندي به درستي صورت نگيريد يك بسته مي تواند از يك VLAN به ديگري نشت كند.
  • بسته اطلاعاتي ممكن است منجر به حمله سايبري شود.
  • داده ها ممكن است يك ويروس را از طريق يك شبكه منطقي كامل منتقل كند.
  • براي كنترل حجم كار در شبكه هاي بزرگ به يك روتر اضافي نياز داريد.
  • در زمينه همكاري با مديران شبكه و عوض كردن متخصصين شبكه در زمان‌هاي مختلف با مشكلاتي زيادي روبرو خواهيد شد.
  • يك VLAN نمي تواند ترافيك شبكه را به ساير VLANها ارسال كند.

 

مقايسه VLAN و Subnet:

Subnet يا زير شبكه به فرآيند تقسيم يك شبكه بزرگ به چند شبكه كوچك گفته مي شود كه هدف از اين كار كاهش ترافيك شبكه، بهبود عملكرد، بهينه‌سازي و مديريت ساده‌تر شبكه است. بزرگ‌ترين مشكلي كه روش subnet دارد اين است كه فرآيند مسيريابي را پيچيده‌تر مي‌كند. اصلي‌ترين دليل كه باعث مي‌شود سازمان‌ها از رويكرد زيرشبكه‌سازي استفاده كنند به‌كارگيري بهينه آدرس‌هاي IP است كه خود مقوله مفصل و پيچيده‌اي است. حال بريم سراغ تفاوتي كه VLAN با Subnet دارد:

  • VLAN قابليت تفكيك Subnet را فراهم مي‌كند، به‌طوري كه امكان تخصيص دستگاه‌هاي محدود به Subnet وجود دارد.
  • يك Subnet را مي‌توان به يك VLAN اختصاص داد. البته اين امكان وجود دارد كه بيش از يك Subnet را به يك VLAN تخصيص داد، اما رويكرد فوق پيچيدگي طراحي را بيش از اندازه زياد مي‌كند.
  • هنگامي كه قصد استفاده از فناوري‌هايي نظير MPLS را داريم، به‌كارگيري Subnet هاي بيشتر بهتر از VLAN است، زيرا MPLS براي بهبود عملكرد و افزايش سرعت ميان‌برهايي ميان آدرس‌هاي آي‌پي Subnet ها ايجاد مي‌كند.
  • VLANها هنگامي كه مي خواهيم در محدوده گسترده‌اي ارتباط ميان چند ساختمان را با يكديگر برقرار كنيم (به‌طور مثال در محيط‌هاي دانشگاهي) عملكرد بسيار خوبي دارد.

 VLAN ID چيست؟

هر VLAN يك شماره يا اصطلاحاً VLAN ID دارد و به وسيله آن شماره صدا زده مي شود. حتي مي توان به آن نامي اختصاص داد. در كل مي توان به تعداد 2 به توان 12 يعني 4096 عدد VLAN بر روي يك سوئيچ تعريف نمود كه به صورت ويژه از4096 عدد از 4096 تا از VLAN ها استفاده مي شود و دو VLAN يعني 0 و 4096 كه براي سيستم فقط استفاده مي شوند و رزور شده اند شما نمي توانيد اين VLAN ها را ببينيد يا از آنها استفاده كنيد.

VLAN ها به سه دسته تقسيم مي شوند:

  • VLAN هاي رنج نرمال يا استاندارد با VLAN ID بين 1 تا 1005 كه از VLAN 1 به Native VLAN يا VLAN Default اختصاص داده شده است و VLAN هاي 1002 تا 1005 نيز براي FDDI و Token ring از پيش رزرو شده اند. توجه داشته باشيد كه مي توانيد از VLAN 1 استفاده كنيد ولي قادر به حذف آن نيستيد، به علاوه شما نمي توانيد VLAN هاي 1002 تا 1005 را نيز حذف كنيد.
  • VLAN هاي Extended با VLAN ID بين 1006 تا 4096
  • VLAN هاي بدون VLAN ID

 

فرآيند ارسال اطلاعات در VLAN :

هنگامي كه يك شبكه محلي مجازي را پياده سازي مي‌كنيد، تمامي فريم‌هاي منتشر شده توسط كلاينت‌هاي عضو يك VLAN تنها بين پورت‌هاي همان شبكه محلي مجازي توزيع مي‌شود، بنابراين پهناي باندي كه تجهيزات عضو يك گروه منطقي دريافت مي‌كنند محدود به ظرفيتي است كه گروه دريافت مي‌كند. اين كار يك مزيت مهم دارد كه مانع از آن مي‌شود تا كلاينتي بيش از اندازه از پهناي باند شبكه استفاده كند و علاوه بر اين شناسايي تجهيزات شبكه اي كه پهناي باند شبكه را زياد مصرف‌ مي‌كنند ساده خواهد بود.

عملكرد شبكه محلي مجازي شباهت زيادي به شبكه محلي فيزيكي دارد، اما به ميزبان‌ها اجازه مي‌دهد در حوزه پخشي يكساني با يكديگر گروه‌بندي شوند، حتا اگر به سوييچ‌هاي يكساني متصل نشده باشند. در شكل زير توپولوژي شبكه‌اي را مشاهده مي‌كنيد كه ميزبان‌ها درون شبكه محلي واحدي قرار دارند. در تصوير زير هنگامي كه پيامي از نوع فراگير (Broadcast) از ميزبان A ارسال مي‌شود، تمامي دستگاه‌ها آن‌را دريافت مي‌كنند. اگر به مسير فلش‌ها دقت كنيد مشاهده مي‌كند كه پيام‌ها توسط دستگاه‌هاي ديگر نيز دريافت مي‌شود.

 

حذف VLAN در سوئيچ سيسكو:

يكي از مشكلاتي كه برخي سرپرستان شبكه هنگام كار با سوييچ هاي سيسكو و به ويژه VLAN روبرو هستند، نحوه حذف تنظيمات ذخيره شده در startup configuration و نحوه حذف تنظيمات VLAN در سوئيچ سيسكو است كه دو مقوله جدا از هم هستند.

توجه كنيد با حذف startup configuration، تمامي پورت‌هاي سوئيچ كه عضو VLANهاي ديگري هستند از شبكه‌هاي محلي مجازي حذف مي‌شوند و به VLAN پيش‌فرض خود سوئيچ انتقال پيدا مي‌كنند، اما خود VLANهاي ساخته حذف نمي‌شوند و بايد به شكل دستي آن‌ها را حذف كنيد.

اطلاعات VLAN در يك فايل به‌نام vlan.dat ذخيره مي‌شوند كه محل آن در حافظه Flash سوئيچ است. اگر دستور show flash را در وضعيت privilege اجرا كنيد، اين فايل را مشاهده مي‌ كنيد. البته دقت كنيد اين اطلاعات تنها زماني نشان داده مي‌ شوند كه روي سوئيچ يك VLAN ساخته باشيد، در غير اين صورت اطلاعات عادي سوييچ نشان داده مي‌شوند.

به‌طور مثال، فرض كنيد يك سوئيچ دست دوم خريداري كرده‌ايد و قبل از استفاده از اين سوئيچ در شبكه خود، قصد داريد همه تنظيمات سوييچ كه شامل vlanهاي ساخته شده در سوييچ مي‌شوند را حذف كنيد. انجام اين‌كار فرايند ساده‌اي است و تنها كاري كه بايد انجام دهيد حذف تنظيمات ذخيره شده در startup-configuration و راه اندازي سوئيچ است.

دستور حذف vlan در سيسكو دستور زير است كه بايد در وضعيت privilege آن را اجرا كنيد:

Switch#erase startup-config

با اجراي اين دستور، پيغامي مبني بر حذف پيكربندي‌ها نشان داده مي‌شود كه بايد كليد اينتر را فشار دهيد. لازم به توضيح است كه براي اين‌منظور ios سوييچ نيز حذف مي‌‌شود.

?Erasing the nvram filesystem will remove all configuration files! Continue

[confirm]

[OK]

Erase of nvram: complete

همان‌گونه كه مشاهده مي‌كنيد تمامي تنظيمات از nvram حذف شدند، با اين‌حال در runing-config اين تنظيمات در حافظه فعال وجود دارند. تنها كاري كه بايد انجام دهيد راه‌اندازي سوييچ است تا همه چيز پاك شود. براي اين‌كار دستور reload را اجرا كنيد تا سوئيچ ريستارت شود.

Switch#reload

اكنون زمان آن رسيده تا شبكه‌هاي محلي ساخته شده را حذف كنيم، اگر دستور زير را اجرا كنيد، مشاهده مي‌كنيد كه شبكه‌هاي محلي مجازي روي سوييچ وجود دارند.

Switch#show vlan brief

هنگامي كه مراحل بالا را اجرا كنيد، مشاهده مي‌كنيد كه پورتي مرتبط با شبكه‌هاي محلي مجازي نيست، اما شبكه‌هاي محلي مجازي حذف نشده‌اند. با اجراي دستور show vlan brief، تعداد شبكه‌هاي محلي مجازي پيكربندي شده روي سوييچ را مشاهده مي‌كنيد. همان‌گونه كه اشاره كرديم، اين شبكه‌هاي محلي مجازي در فايلي به‌نام vlan.dat كه در فلش است ذخيره مي‌شود. اكنون كافي است دستور show flash را اجرا كنيد.

:Switch#show flash

/:Directory of flash

rw-     4414921            c2960-lanbase-mz.122-25.FX.bin-

rw-         616            vlan.dat-

۶۴۰۱۶۳۸۴ bytes total (59600847 bytes free)

شما مي‌توانيد اين فايل از حافظه flash سوئيچ حذف و سوئيچ را reload كنيد تا vlan ها حذف شوند. براي اين منظور از دستور زير استفاده كنيد.

Switch#delete vlan.dat

با اجراي دستور فوق، دو پيغام تاييد حذف زير را تاييد كنيد تا فايل vlan.dat حذف شود.

?Delete filename [vlan.dat]

Delete flash:/vlan.dat? [confirm]

اگر يكبار ديگر دستور Show flash را اجرا كنيد، مشاهده مي‌كنيد كه ديگر فايل vlan.dat وجود ندارد.

Switch#sh flash

:/Directory of flash

rw-     4414921            c2960-lanbase-mz.122-25.FX.bin-

۶۴۰۱۶۳۸۴ bytes total (59601463 bytes free)

در نهايت دستور reload را اجرا كنيد تا سوئيچ راه‌اندازي شود. بعد از بارگذاري كامل ميان‌افزار اگر يكبار ديگر دستور show vlan brief را اجرا كنيد، مشاهده خواهيد كرد كه تمامي vlan ها حذف شده‌اند.

 

حذف يك پورت از VLAN در سوئيچ:

فرض كنيد قصد داريم پورت ۱۱ از VLAN 4 كه روي سوييچ (Device-A) نشان داده شده در شكل زير قرار دارد را حذف كنيم.

اين كار در چهار مرحله به شرح زير انجام مي‌شود:

1ـ با وارد كردن دستورات زير به حالت پيكربندي سراسري در سوييچ دسترسي پيدا كنيد.

device-A> enable

…No password has been assigned yet

device-A# configure terminal

device-A(config)#

2ـ با وارد كردن دستور زير به سطح cli براي پيكربندي vlan 4 مبتني بر پورت مذكور دسترسي پيدا كنيد.

device-A(config)# vlan 4

3ـ دستور زير را براي حذف پورت ۱۱ از vlan 4 وارد مي كنيم.

device-A(config-vlan-4)# no untagged ethernet 11

deleted port ethernet 11 from port-vlan 4

4ـ دستورات زير را براي خروج از حالت پيكربندي vlan و ذخيره پيكربندي در فايل پيكربندي سيستم اجرا مي‌كنيم.

device-A(config-vlan-4)# end

 

device-A# write memory

VLANs IEEE 802.1Q چيست؟

پروتكل 802.1Q از quality of service (QoS) و Virtual LAN (VLAN) در هنگام حركت ترافيك در شبكه اترنت پشتيباني مي كند. پروتكل 802.1Q يكي از پروتكل هاي برچسب گذاري(تگ گذاري) VLAN است كه توسط سوئيچ هاي سيسكو پشتيباني مي شود. اين استاندارد توسط موسسه مهندسان برق و الكترونيك (IEEE) ايجاد شده است، بنابراين يك استاندارد عمومي است و مي تواند در سوئيچ هاي غير سيسكو نيز استفاده شود.

 VLAN ها براي تقسيم broadcast domain در لايه 2(Data Link) استفاده مي شوند. يك شبكه محلي  مجازي است كه براي انتقال داده ها به جاي شبكه فيزيكي خود از LAN ديگري استفاده مي كند. پروتكل 802.1Q به اندازه فريم اترنت اجازه مي دهد تا چهار بايت به محدوده 68 تا 1522 بايت اضافه كند. اين افزايش اندازه، به دليل درج يك برچسب VLAN چهار بايتي در فريم است. برچسب ها، كه شامل شناسه VLAN (VID) است، توسط آدرس MAC به هر فريم اترنت متصل مي شوند. اين VID 12 بيتي به هر VLAN اختصاص داده شده است و 4094 شناسه براي استفاده در دسترس است.

از trunk براي رد و بدل كردن ترافيك VLAN بين سوئيچ ها استفاده مي شود. سوئيچ ها را مي توان از طريق پورت trunk به يكديگر متصل كرد. هنگامي كه از ترانك استفاده مي شود، دستگاه متصل فريم هاي اترنت داراي برچسب را دريافت مي كند. استاندارد 802.1Q از پيكربندي منحصر به فرد VLAN هاي جداگانه پشتيباني مي كند.

 

 VLAN Trunking چيست؟

حال كه، متوجه شديد VLAN چيست، به موضوع ديگري مي پردازيمزماني كه بسته اي بخواهد، از يك vlan به vlan ديگري ارسال شود، يك برچسب با عنوان tag، روي آن مي خورد كه، هويت بسته مشخص شوداين برچسب مشخص مي كند كه، بسته از كدام vlan ارسال شده استپورت هاي سيسكو، بايد عضو ترانك يا اكسس باشند، غير از اين دو مورد وجود نداردبراي پورت هايي كه، در يك vlan هستند، بايد از پورت اكسس استفاده كردولي براي اينكه ترافيك تمام vlan ها عبور داده شود، بايد از پورت trunk استفاده كرد.

روي هر سوئيچ يك  vlan به صورت پيش فرض، و از قبل آماده شده وجود دارد كه، شماره اين vlan برابر با يك مي باشداين پورت، با نام native vlan شناخته شده استاگر شما پورتها را، به صورت مجزا عضو vlan ديگري نكنيدهمه ي آنها جزو native هستندو ويژگي اين پورت native اين مي باشد كه، بسته ها بدون tag ارسال مي شوند، و نيازي به ساخت header نمي باشدبه آنها پورتهاي untagged هم گفته مي شود

يكي از پروتكل هاي vlan، بنام vtp مي باشدشما زماني كه، مي خواهيد بين دو سوئيچ مختلف، ارتباط برقرار كنيد، بايد از اين پروتكل استفاده كنيداين پروتكل سه حالت مختلف دارد: client،server، transparent با توجه به اين ويژگي، مي توان يك يا چند سوئيچ را، در حالت server قرار دادو تنظيمات مشخص را، روي سوئيچ مورد نظر انجام داد

سپس با فعال كردن پروتكل vtp، تمامي اين تنظيمات بر سوئيچ هاي client، نيز اعمال خواهد شدتمام اين تغييراتي كه، بر روي سوئيچ سرور انجام مي شود، revision number  آن تغيير مي كند، و اين عدد براي تمام اين سوئيچ هاي كلاينت نيز، ارسال مي شودبا هر تغيير در سوئيچ سرور، يك عدد به revision number اضافه مي شودسوئيچي كه، حالت transparent دارد، فقط اين تغييرات را ميگيرد، و به سوئيچ بعدي ارسال مي كند.

منبع : VLAN چيست

iops چيست؟ بررسي مفهوم iops در تبادل اطلاعات

۴۴ بازديد

iops چيست

براي درك بهتر از مشخصات هر وسيله ذخيره‌سازي بهتر است كه حداقل سه ويژگي مختلف آن مد نظر گرفته شود. IOPS، زمان پاسخ‌دهي و حجم‌كاري. حال ما در اين مقاله قصد داريم در رابطه با iops صحبت كنيم، پس با ما همراه باشيد.

iops چيست؟

IOPS مخفف عبارات input output operation per second مي باشد كه يك واحد اندازه گيري حداكثر ميزان خواندن و نوشتن بر روي تجهيزات ذخيره سازي اطلاعات است. در واقع به واحد استاندارد اندازه گيري براي بيشترين تعداد خواندن و نوشتن در فضاهاي ذخيره سازي ( مانند هارد ديسك، SSD و درايو هاي SAN) گفته مي شود. به طور كلي مي توان گفت دستگاه يا هاردي كه مقدار IOPS آن بيشتر باشد مي تواند عمليات بيشتري را در يك ثانيه انجام دهد.

براي آنكه بهتر متوجه IOPS شويد مثالي مي زنيم: براي مثال مي‌توان IOPS را به سرعت در دقيقه يك موتور در ماشين تشبيه كرد. يك موتور قدرت گردش 10 هزار دور در دقيقه را دارد. انجام اين مقدار گردش در حالي كه موتور دنده در حالت خلاص قرار گرفته اهميت خاصي ندارد. اما اگر موتوري بتواند اسب بخار و گشتاور خاصي را با استفاده از ده هزار دور در دقيقه به كار گيرد مي‌توان به قدرت آن موتور اطمينان داشت.

در سال 1999 اكثر شركت هاي توليد كننده سخت افزار شروع به سواستفاده از IOPS كرده كه اين عامل مشكلات زيادي را به وجود آورد. اين شركت ها شروع به اعلام اعداد غير واقعي در رابطه با IOPS كردند. براي حل اين مشكل شركت اينتل بنچمارك IOmeter را براي اندازه‌گيري ويژگي‌هاي مختلف وسايل ذخيره‌سازي منتشر كرد. سازمان Storage Performance Council نيز توانست بنچماركي به نام SPC-1 Benchmark Suite را منتشر كند كه يكي از دقيق‌ترين بنچمارك‌هاي موجود است.

SPC-1 از توليدكنندگان درخواست مي‌كند تا تمام مشخصات مربوط به دستگاه‌هاي ذخيره‌سازي خود را اعلام كنند. استاندارد‌هايي كه در محيط‌كاري استفاده مي‌شوند. در اين ميان بايد ميزان IOPS و زمان پاسخ‌دهي به دقت مشخص شود تا از تقلب و ارائه اعداد غيرواقعي جلوگيري شود. در نتيجه تست و بنچمارك SPC-1 نتيجه‌اي واقع‌گرا از IOPS، زمان پاسخ‌دهي، پايداري داده و عملكرد در وسيله ذخيره‌سازي است.

همچنين اين تست با توجه به دريافت قيمت‌ قطعات استفاده شده در ساخت وسيله ذخيره‌سازي انجام مي‌شود و در نهايت ارزش خريد نسبت به هر IOPS نيز ارائه مي‌شود. مقدار دقيق IOPS در هر سيستم بسته به تنظيمات مختلف مي‌تواند بسيار متفاوت باشد. شايد مهم‌ترين نوع تست IOPS دسترسي به داده‌ها به صورت ترتيبي و يا تصادفي است. گرچه تست‌هاي ديگري نيز وجود دارند. از عوامل محيطي موثر روي نتيجه تست SPC-1 مي‌توان به كانفيگ سيستم، سيستم عامل و … اشاره كرد.

 

بررسي IOPS، تاخير (latency) و توان عملياتي (throughput):

در اين جا لازم است كه به اين نكته اشاره كنيم كه iops به تنهايي نمي تواند معيار خوبي براي اندازه گيري عملكرد باشد. از اين رو آي او پي اس همراه با يكي از دو معيار توان عملياتي (throughput) و تاخير (latency) مي توانند براي اندازه گيري عملكرد، معيارهاي مناسبي باشند.

Throughput (توان عملياتي) تعداد واحدهاي اطلاعاتي را كه يك سيستم مي تواند در يك دوره ي زماني پردازش كند، اندازه گيري مي نمايد. همچنين تعداد عمليات I/O در ثانيه را شامل مي شود اما معمولا به صورت بايت بر ثانيه محاسبه مي شود. IOPS و throughput به تنهايي نمي توانند معيار مناسبي براي اندازه گيري عملكرد باشند.

Latency (تاخير) فاصله زماني بين ارسال يك درخواست و دريافت يك پاسخ است. در رابطه با IOPS تاخير به مدت زماني گفته مي شود كه يك درخواست I/O از طرف اپليكيشن كامل مي شود. همانطور كه گفته شد مقياس هايي همچون latency، IOPS و throughput به تنهايي تصوير كاملي ارائه نمي دهند اما در كنار هم، به سنجش عملكرد كمك مي كنند.

 

بررسي IOPS و Latency و Storage Performance:

وقتي صحبت از ذخيره سازي مي شود اغلب افراد به throughput فكر مي كنند. اما throughput مانند حداكثر سرعت يك خودرو مي ماند كه ممكن است شما نتوانيد از حداكثر سرعت يك خودرو استفاده نماييد. برخي ويژگي هايي مانند سرعت ماشين شما و نحوه كنترل خميدگي ها و پيچ ها، اغلب از حداكثر سرعت آن مهم تر هستند. و اين مثال براي عملكرد ذخيره سازي نيز صادق است.

همانطور كه مي دانيد SSD ها اغلب بسيار سريعتر از هارد ديسك هاي معمولي هستند اما اين در مورد توان عملياتي يا throughput نمي توان اين مسأله را عنوان كرد. همه چيز به عمليات ورودي/خروجي در ثانيه (IOPS) بر مي گردد. اما IOPS كل داستان نيست. به بيان دقيق تر IOPS يك رقم بي معني است مگر اينكه به ميانگين latency و اندازه درخواست معين (چه مقدار داده با I/O پردازش مي شود) مرتبط باشد. بياييد ابتدا روي IOPS و Latency تمركز كنيم و بعداً در مورد اندازه درخواست صحبت كنيم.

پس اول تمركزمون رو روي IOPS و latency مي گذاريم.

iops چيست

latency بسيار مهم است، زيرا يك سيستم ذخيره‌سازي كه مي‌تواند 1000 IOPS با تاخير متوسط 10 ميلي‌ثانيه را مديريت كند، ممكن است عملكرد برنامه بهتري نسبت به يك زيرسيستم كه مي‌تواند 5000 IOPS با تأخير متوسط 50 ميلي‌ثانيه را مديريت كند، داشته باشد. به خصوص اگر برنامه شما به latency حساس باشد، مانند سرويس پايگاه داده.

درك اين موضوع بسيار مهم است: IOPS و latency چگونه با يكديگر ارتباط دارند. تصور كنيد كه در يك سوپر ماركت هستيد. اين يك سوپرماركت ويژه است كه در آن به مشتريان (I/Os) با صندوقدار (ديسك) با سرعت متوسط 10 ميلي ثانيه خدمات ارائه مي شود. اگر يك ثانيه را با 10 ميلي ثانيه تقسيم كنيد، متوجه مي شويم كه اين صندوقدار مي تواند 100 مشتري در ثانيه را اداره كند. اما فقط يكي در يك زمان و پشت سر هم.

iops چيست

واضح است كه با اينكه صندوقدار مي تواند در هر ثانيه 100 مشتري را اداره كند، اما نمي تواند همزمان از عهده آنها برآيد! بنابراين هنگامي كه مشتري به ثبت مي رسد، و در مدت زمان رسيدگي به 10 ميلي ثانيه، مشتري دوم مي رسد، آن مشتري بايد منتظر بماند. هنگامي كه مشتري منتظر توسط صندوقدار رسيدگي مي شود، رسيدگي به آن مشتري هنوز فقط 10 ميلي ثانيه طول مي كشد، اما زمان پردازش كلي شايد 15 ميلي ثانيه يا در بدترين حالت (دو مشتري همزمان وارد مي شوند) حتي 20 ميلي ثانيه بود.

iops چيست

البته يك ديسك ممكن است ورودي/خروجي هاي با تاخير متوسط 10 ميلي ثانيه را مديريت كند. تأخير واقعي همانطور كه توسط برنامه درك مي شود ممكن است بيشتر باشد زيرا برخي از I/O ها بايد در صف منتظر بمانند.

اين مثال همچنين نشان مي‌دهد كه انتظار در صف، تأخير يك I/O خاص را افزايش مي‌دهد. بنابراين اگر صف خواندن ورودي/خروجي را افزايش دهيد، متوجه خواهيد شد كه ميانگين تأخير افزايش خواهد يافت. صف هاي طولاني تر به معناي تأخير بيشتر و همچنين IOPS بيشتر خواهد بود!!!

iops چيست

چطور ممكنه؟ چگونه يك هارد ديسك مي تواند ناگهان IOP هاي تصادفي بيشتري را به قيمت latency انجام دهد؟ ترفند در اين است كه سيستم ذخيره سازي مي تواند هوشمند باشد و به صف نگاه كند و سپس ورودي/خروجي ها را به گونه اي سفارش دهد كه الگوي دسترسي واقعي به ديسك سريالي تر شود. بنابراين يك ديسك مي تواند IOPS/s بيشتري را به قيمت افزايش متوسط latency ارائه دهد. بسته به تأخير به دست آمده و الزامات عملكرد لايه كاربردي، اين مي تواند قابل قبول باشد يا خير.

ميانگين سرعت iops در HDD ها و SSD ها:

ميزان iops هارد ديسك ها به زمان جستجو بستگي دارد ولي ميزان iops در SSD ها عمدتا به كنترلر داخلي دستگاه بستگي دارد. لازم به ذكر است كه عملكرد SSD در طول زمان تغيير مي كند و در مراحل اوليه بيشتر است به طوري كه حتي زماني كه به حالت پايدار مي رسد همچنان از نظر آي او پي اس نسبت به هارد ديسك ها بهتر عمل مي كند زيرا HDD ها اغلب درگير مسائلي از قبيل تاخير و زمان خواندن و نوشتن مي باشند.

اعداد مربوط به آي او پي اس در هر دو وسايل ذخيره سازي SSD و HDD معمولا بيشترين سرعت را نمايش مي دهد و تعداد آي او پي اس ترتيبي معمولا حداكثر پهناي باند پايدار را نشان مي دهد كه سيستم ذخيره سازي قادر به انجام آن مي باشد. اغلب آي او پي اس ترتيبي به عنوان يك مگابايت بر ثانيه به شرح زير گزارش مي شود:

IOPS*TransferSizeInBytes = BytesPerSec

كه اصولا نتيجه عمليات فوق به مگابايت بر ثانيه تبديل مي شود.

با افزايش تعداد IO ها، برخي از HDD ها در عملكرد بهبود مي يابند. اين معمولاً نتيجه منطق كنترلر پيشرفته تري درايو است كه فرماندهي را مرتب مي كند كه مرتب سازي مجدد آن را معمولاً يا Tagged Command Queaching (TCQ) يا Native Command Queaching (NCQ) مي نامند. اكثر درايوهاي SATA  قادر به انجام اين كار نيستند و يا اجراي آنها به حدي ضعيف است كه هيچ فايده اي از عملكرد را نمي توان مشاهده كرد.

در حالي كه HDD هاي سنتي تقريباً داراي همان  آي او پي اس براي عمليات خواندن و نوشتن هستند، اكثر SSD هاي مبتني بر فلش NAND نوشتن آن بسيار كندتر از خواندن به دليل عدم امكان بازنويسي مستقيم به طور مكتوب در مكان قبلي است كه مجبور مي شود روشي به نام garbage collection  را انجام دهد.

IOPS ∗ TransferSizeInBytes = BytesPerSec {displaystyle {text{IOPS}}*{text{TransferSizeInBytes}}={text{BytesPerSec}}}

IOPS در SATA و SAS:

اين دو نوع از هارد ها در دنياي امروز بيشترين كاربرد را دارند. هر دو اين هارد ها براي انجام عمليات خود در حال چرخاندن يك ديسك هستند. فقط يك نوع از هارد ديسك SATA در بازار موجود مي باشد اين در حالي است كه از هارد ديسك SAS دو نوع در بازار موجود است. مبناي اين دسته بندي مقدار IOPS آن هاست. در ادامه به اين دسته بندي ها خواهيم پرداخت.

ـ SATA:

ميانگين سرعت SATA 7.2K rpm است و مي تواند حداكثر ۱۰۰ عمليات ورودي و خروجي را در ثانيه انجام دهد. اين هارد با سرعت ۱۰K rpm مي تواند حداكثر ۱۵۰ عمليات را در ثانيه انجام دهد.

ـ SAS:

اين نوع از هارد ديسك با دو سرعت ۱۰k و ۱۵k در بازار موجود است. SAS 10k مي تواند ۱۴۰ عمليات را در ثانيه انجام دهد و SAS 15k مي تواند ۲۱۰ عمليات را در ثانيه انجام دهد. SAS سريعتر از SATA است و در معاملات بانكي و تجارت الكترونيكي استفاده مي شود.

ـ SSD:

در اين نوع از هارد ها مقدار IOPS بسته به نياز سرعت خواندن و نوشتن بسيار زياد است. مقدار IOPS در هارد هاي SSD بين ۴۶۰۰ تا ۷۵۰۰ است ولي اين مقدار نيز قابل افزايش است. امروزه يك هارد SSD مدرن مي تواند ۱۰۰۰۰۰ عمليات را در يك ثانيه انجام دهد.

 

اهميت iops: 

جالب است بدانيد كه ميزان اهميت IOPS به عنوان يك مقياس اندازه گيري همچنان سوال برانگيز است. با توجه به ميزان لود بار اعداد مربوط به واحد بيشترين تعداد خواندن و نوشتن بسيار متفاوت است در نتيجه نمي توان IPOS را به تنهايي پارامتر موثري براي تصميم گيري در نظر گرفت.

از آنجايي كه اعداد بيشترين تعداد خواندن و نوشتن تحت تاثير اندازه بلوك داده ها و حجم كار است، بعيد است كه فروشندگان در هنگام اندازه گيري آن از متغيرهاي استاندارد استفاده كنند. حتي در صورت استفاده از سيستم استانداري با در نظر گرفتن اندازه بلوك و عمليات خواندن و نوشتن، عدد به دست آمده معنايي به جز ميزان كارايي در يك حجم كار مشخص ندارد. 

منبع : iops چيست