স্টোরেজের জন্য Lossless Ethernet: DCB, PFC, ECN
কনজেশন হলে ইথারনেট ফ্রেম ফেলে দেয়; অথচ ফাইবার চ্যানেল বা RDMA-এর জন্য তৈরি স্টোরেজ প্রোটোকল ধরে নেয় কিছুই কখনো হারায় না। ডেটা সেন্টার ব্রিজিং (DCB) এই ফাঁক পূরণ করে প্রতিটি প্রায়োরিটির আলাদা ফ্লো কন্ট্রোল ও ব্যান্ডউইথ বরাদ্দ দিয়ে, আর RoCE তার ওপর যোগ করে কনজেশন সিগন্যালিং। ফলাফল ততটুকুই লসলেস, যতটুকু তার সবচেয়ে দুর্বল লিংক: সীমার কিনারায় থাকা একটি মডিউল যদি দশ লাখ ফ্রেমের একটি ফেলে দেয়, সেটিও স্টোরেজে একটি ইনসিডেন্ট। এই পেজে প্রক্রিয়াগুলো ব্যাখ্যা করা হয়েছে এবং সেগুলোকে ফিজিক্যাল লেয়ারের প্রয়োজনীয়তায় রূপান্তর করা হয়েছে।
DCB-এর টুলসেট
| স্ট্যান্ডার্ড | নাম | কাজ |
|---|---|---|
| IEEE 802.1Qbb | PFC — প্রায়োরিটিভিত্তিক ফ্লো কন্ট্রোল | প্রতিটি ট্রাফিক ক্লাসের (0–7) জন্য পজ ফ্রেম: কনজেশনে থাকা রিসিভার পোর্ট না থামিয়ে একটি ক্লাসকে থামাতে পারে |
| IEEE 802.1Qaz | ETS — এনহ্যান্সড ট্রান্সমিশন সিলেকশন | প্রতিটি ক্লাসের জন্য নিশ্চিত ব্যান্ডউইথ ভাগ (যেমন 50 % স্টোরেজ, 50 % LAN) |
| IEEE 802.1Qaz | DCBX — DCB এক্সচেঞ্জ | সুইচ ও NIC-এর মধ্যে PFC/ETS সেটিংয়ের LLDP-ভিত্তিক নেগোশিয়েশন |
| IEEE 802.1Qau | CN — কনজেশন নোটিফিকেশন | কদাচিৎ স্থাপিত হয় |
| RFC 3168 + DCQCN | ECN মার্কিং + রেট কন্ট্রোল | কিউ জমতে শুরু করলে সুইচ প্যাকেট মার্ক করে; PFC-এর প্রয়োজন হওয়ার আগেই RoCE NIC প্রবাহ ধীর করে দেয় |
RoCE কীভাবে লসলেস থাকে
- স্টোরেজ/RDMA ট্রাফিককে DSCP বা 802.1p দিয়ে একটি নির্দিষ্ট প্রায়োরিটিতে ট্যাগ করা হয় (প্রায়ই 3 বা 4)।
- পথের প্রতিটি পোর্টে শুধু সেই প্রায়োরিটির জন্য PFC চালু থাকে, আর বাফারের হেডরুম ঠিক করা হয় লিংকের গতি ও ক্যাবলের দৈর্ঘ্য অনুযায়ী (পথে থাকা বাইট)।
- ECN-এর থ্রেশহোল্ড আগেভাগে প্যাকেট মার্ক করে; NIC চালায় DCQCN, যা তার রেট কমায়, ফলে PFC সক্রিয় হয় কেবল শেষ উপায় হিসেবে।
- LAN-এ লোড থাকলেও ETS স্টোরেজ ক্লাসের ব্যান্ডউইথ নিশ্চিত রাখে।
- DCBX NIC ও সুইচের সেটিং সামঞ্জস্যপূর্ণ রাখে; অমিল থাকলে লসলেস ব্যবস্থা নীরবে ভেঙে যায়।
ফাইবার চ্যানেল ও ইনফিনিব্যান্ড নকশাগতভাবেই প্রতিটি লিংকে ক্রেডিটের মাধ্যমে একই ফল পায়; ইথারনেটে এটি কনফিগার করতে, যাচাই করতে ও মনিটর করতে হয় (FC প্রোটোকলের মূল বিষয়, ইনফিনিব্যান্ড ট্রান্সপোর্ট)।
কী কী ভুল হতে পারে
| সমস্যা | প্রভাব | কীভাবে ধরা পড়ে |
|---|---|---|
| একটি হপে PFC চালু নেই / ভুল প্রায়োরিটি | লোডের সময় ড্রপ; RDMA পুনঃপ্রেরণ; ল্যাটেন্সি স্পাইক | যেখানে শূন্য থাকার কথা নয়, সেখানে পজ কাউন্টার শূন্য; ক্লাসে ড্রপ |
| PFC স্টর্ম | আটকে যাওয়া রিসিভার আপস্ট্রিমের ডিভাইসকে অনির্দিষ্টকালের জন্য থামিয়ে রাখে; কনজেশন পুরো ফ্যাব্রিকে ছড়িয়ে পড়ে | প্রচুর পজ ফ্রেম; ওয়াচডগ কাউন্টার |
| PFC ডেডলক | ক্লোস ফ্যাব্রিকে বাফারের চক্রাকার নির্ভরতা; ক্লাসের সব ট্রাফিক থেমে যায় | ডেডলক ভাঙতে ডেডলক শনাক্তকরণ / ওয়াচডগ লাগে |
| লম্বা ক্যাবল/অপটিক্সের জন্য হেডরুম খুব ছোট | PFC থাকা সত্ত্বেও ড্রপ | পজ কাউন্টার সক্রিয় থাকা অবস্থায় ড্রপ |
| ECN থ্রেশহোল্ড ভুল | খুব আগে হলে: থ্রুপুটের ক্ষতি; খুব দেরিতে হলে: PFC ঘন ঘন সক্রিয় হয় | ECN মার্ক কাউন্টার, NIC-এর CNP কাউন্টার |
| লিংকে ফিজিক্যাল এরর (CRC, FEC অসংশোধনযোগ্য) | যে ফ্রেম হারায়, কোনো ফ্লো কন্ট্রোলই তা ফেরাতে পারে না | পোর্ট এরর কাউন্টার, FEC কাউন্টার; দেখুন VDM ও FEC মেট্রিক |
DCB ছাড়া iSCSI
iSCSI চলে TCP-এর ওপর এবং প্যাকেট হারানো সামলে নিতে পারে, তবে তার দাম দিতে হয় ল্যাটেন্সি ও পুনঃপ্রেরণে। DCB থাকুক বা না থাকুক, সর্বোত্তম চর্চা:
- প্রতিটি ফ্যাব্রিকের জন্য আলাদা VLAN/সাবনেট, দুটি ফ্যাব্রিক, হোস্টে MPIO;
- প্রান্ত থেকে প্রান্ত জাম্বো ফ্রেম (MTU 9000);
- ইনিশিয়েটর ও টার্গেটের মধ্যে ওভারসাবস্ক্রিপশন নেই; অ্যারের উপযোগী আকারের 25G/100G আপলিংক;
- প্রতিটি 25G+ লিংকে FEC চালু; CRC কাউন্টার শূন্য;
- ঐচ্ছিকভাবে iSCSI ক্লাসে PFC, মাইক্রো-বার্স্ট মসৃণ করতে (অনেক অ্যারে এটি সুপারিশ করে)।
ফিজিক্যাল লেয়ারের প্রয়োজনীয়তা
| প্রয়োজনীয়তা | কেন | প্রয়োগ |
|---|---|---|
| প্রতিটি 25G+ লিংকে FEC চালু ও মিলিয়ে রাখা | অরক্ষিত 25G/50G লেনের কাঁচা BER RoCE সহ্য করতে পারে না | FEC ও লিংক ট্রেনিং |
| CRC ও অসংশোধনযোগ্য FEC = 0 | প্রতিটি হারানো ফ্রেম একটি কিউ আটকে দেয় | যেকোনো বৃদ্ধিতে অ্যালার্ট দিন |
| Rx পাওয়ার মার্জিনসহ উইন্ডোর ভেতরে | সীমার কিনারায় থাকা অপটিক্স তাপমাত্রার চাপে এররের ঝাঁক তৈরি করে | Rx পাওয়ার ও লিংক বাজেট |
| গতি/ডুপ্লেক্স/AN-এ সামঞ্জস্য | DAC-এর জন্য দুই প্রান্তেই AN + লিংক ট্রেনিং লাগে | কপার ও DAC |
| ক্যাবলের দৈর্ঘ্য হেডরুমের অনুমানের মধ্যে | হেডরুম হিসাব করা হয় পথে থাকা বাইট থেকে | র্যাকে DAC, সারিতে SR/AOC, কক্ষের মধ্যে DR/LR বেছে নিন |
| NIC ও সুইচ যে শনাক্তকরণ তথ্য গ্রহণ করে | প্রত্যাখ্যাত অপটিক্সে লিংক আসে না, নয়তো গতি কমে যায় | ভেন্ডর লক |
মনিটরিং চেকলিস্ট
- প্রতি পোর্টে: প্রতিটি প্রায়োরিটির পাঠানো/পাওয়া পজ ফ্রেম, ECN মার্ক, প্রতি ক্লাসের ড্রপ, CRC, FEC সংশোধিত/অসংশোধনযোগ্য, লিংক ফ্ল্যাপ।
- প্রতি NIC-তে: পাঠানো/পাওয়া CNP, পুনঃপ্রেরণ, আউট-অফ-সিকোয়েন্স, টাইমআউট।
- প্রতি মডিউলে: Rx/Tx পাওয়ার ও তাপমাত্রার প্রবণতা (মনিটরিং)।
- স্টোরেজের টেইল-ল্যাটেন্সি স্পাইকের সঙ্গে ওপরের সূচকগুলো মিলিয়ে দেখুন; অ্যারের চেয়ে ফিজিক্যাল লেয়ারই বেশি ক্ষেত্রে দায়ী হয়।
CodingBox-এ
লসলেস ফ্যাব্রিক সাধারণ অপটিক্স দিয়েই তৈরি হয়; শুধু সেগুলোকে আরও কড়া মানদণ্ডে বিচার করা হয়। টেস্ট বেঞ্চে আগত মডিউলের পরীক্ষা (শনাক্তকরণ তথ্য, চেকসাম, সাধারণ মান-এর বিপরীতে লাইভ DDM, বেসলাইন সংরক্ষণ) এভাবেই সীমার কিনারায় থাকা মডিউলকে এমন ফ্যাব্রিকের বাইরে রাখে, যেখানে একটি খারাপ লিংকের জন্য অ্যাপ্লিকেশনের ল্যাটেন্সি SLA লঙ্ঘিত হয় (Check transceiver, DDM)।
অন্যান্য ফরোয়ার্ডিং প্রক্রিয়ার মধ্যে PFC ও ECN-এর অবস্থান, এবং সেগুলোতে ফিজিক্যাল লেয়ারের এরর কীভাবে ফুটে ওঠে: ফরোয়ার্ডিংয়ের মূল বিষয়।