Saturday 25 July 2015

MCE မှသည် vPC သို့

Nexus နဲ့အတူပါလာတဲ့ Feature တစ်ခုကတော့ Virtual PortChannel (vPC) ဖြစ်ပီး စိတ်ဝင်စားဖို့ကောင်းတဲ့ Feature တစ်ခုဖြစ်သလို Data Center Design ပိုင်းမှာ အလွန်အရေးပါတဲ့ အရာတစ်ခုလို့ ထင်ပါတယ်။ Configuration ပိုင်းထက် Design ကပိုပီးခက်ပါလိမ့်မယ်။ လေ့လာရာမှာလည်း အရင် Etherchannel/ PortChannel အကြောင်းကိုသိထားရင်ပိုပီးအဆင်ပြေပါလိမ့်မယ်။ ကိုယ်တိုင်လဲ အသေးစိတ် နားလည်ဖို့ လေ့လာနေဆဲ ဖြစ်ပါတယ်၊ အထူးသဖြင့် Design နဲ့ Failure Scenarios တွေပါ။ ဘာကြောင့် Design ပိုင်းဟာ ပိုခက်နိုင်တယ်လို့ ပြောတာကတော့ အရင်လို Ethernet port တွေတင်မကပဲ FEX တွေ၊ မတူညီတဲ့ Module တွေဖြစ်တဲ့ F/M အတွဲတွေ၊ Single sided မဟုတ်ပဲ Double sided topology တွေပါလာရင် ရှုပ်ထွေးနိုင်သလို၊ တခြား ကိစ္စတွေဖြစ်တဲ့ VRF တို့ပါ ထည့်သွင်းစဉ်းစားဖို့ပါလိုအပ်လာလို့ဖြစ်ပါတယ်။ ဒါပေမယ့် အဲဒီအပိုင်းတွေကို သေချာနားလည်သွားရင်တော့ ရှင်းလင်းတဲ့ Logical Design တွေအဖြစ်မြင်နိုင်လိမ့်မယ်လို့ထင်ပါတယ်။ စိတ်ဝင်စားသူတွေဖတ်ရင် အထောက်အကူဖြစ်အောင် အခြေခံအချို့ကို ဝေမျှပေးလိုက်ပါတယ်။

vPC ဟာ Feature အသစ်လို့ဆိုပေမယ့် အရင် Catalyst Switch တွေက Multi-Chasis Etherchannel (MCE) ကနေ ဆက်စပ်လာတာပါ။ ဒါပေမယ့် Catalyst တွေနဲ့မတူ ထူးခြားတာက PortChannel ကို Control နစ်ခုနဲ့ပေါင်းပီး လုပ်ဆောင်တာဖြစ်ပါတယ်။ Catalyst မှာ MCE အတွက် Stackwise နဲ့ VSS သုံးရင် Chasis အရကွဲနေပေမယ့် Control အရ တစ်ခုတည်းအနေနဲ့ ပဲအလုပ်လုပ်ပါတယ်။ Nexus မှာ Switch တစ်ခုစီဟာ သီးသန့်အဖြစ်တည်ရှိပီး vPC ကိုပေါင်းပီးလုပ်ဆောင်ကြပါတယ်။ ဒီတော့ အချင်းချင်းညှိရတဲ့ အပိုင်းတွေကလဲ အတော်များလာတာတွေ့ရပါတယ်။ Compatabity check တင်မကပဲ Configuration အရ Consistency check ပါလိုအပ်လာပါတယ်။ အရင် Catalyst မှာလို Configuration တစ်ခုထဲမှ မဟုတ်တော့တာ။ Catalyst မှာ Stackwise/ VSS လုပ်လိုက်ရင် Chasis အားလုံကို Management IP တစ်ခုနဲ့ပဲ Manage လုပ်သလို Configuration ကလဲ တစ်ခုပဲရှိပါတယ်။ Nexus မှာတော့ Management IP တစ်ခုစီနဲ့ခွဲပီး Manage လုပ်ရပါတယ်။

Nexus နှစ်လုံး vPC အတွက် အတူလုပ်ဆောင်ကြမယ်ဆိုရင် အရင်ဆုံး vPC domain တစ်ခုအောက်မှာ အတူရှိရပါမယ်။ Configuration အတွက် Features တွေအဖြစ် Feature VPC နဲ့ Link aggregation control အတွက် Feature LACP ကို Enable လုပ်ပေးရပါတယ်။ ပီးရင် အချင်းချင်း Keepalive ကိုစောင့်ကြည့်ပေးဖို့ Heartbeat link အတွက် Peer keepalive link/ Fault-Tolerant link လိုပါတယ်။ တိုက်ရိုက်ချိတ်ဆက်ထားဖို့မလိုပဲ Routed Interface ကနေ ဆက်သွယ်လို့ရရင်ဖြစ်ပါတယ်။ တစ်ခြား Production data routing တွေနဲ့မရောအောင် သီးသန့် VRF (Virtual Routing and forwarding) အောက်မှထားရပါတယ်။ ပီးရင် အဓိက ကြတဲ့ Link ဖြစ်တဲ့ vPC Peer Link ဆိုတာ လိုပါတယ်။ BPDU နဲ့ LACP တို့ကို Switch တစ်လုံးထဲအနေနဲ့ ယောင်ပြအဖြစ်မြင်အောင် ထားဖို့အတွက် မရှိမဖြစ် Link ပါ။ ဒါကြောင့် Virtual PortChannel လို့ခေါ်လိုက်တာ ဖြစ်နိုင်တယ်။ အဲဒီ Link ဟာ MAC address တွေ VLAN information တွေ၊ Port information တွေကိုဖလှယ်ဖို့ ကိုလည်း အသုံးပြုပါတယ်။ CFS/ CFSoE လို့ခေါ်တဲ့ (Cisco Fabric Services protocol) က ဒီအလုပ်တွေကိုလုပ်ဆောင်ပေးပါတယ်။ အဲဒီ Link ပြတ်သွားရင် vPC ပျက်သွားပီလို့ဆိုနိုင်ပါတယ်။ ဘာကြောင့်လဲဆိုရင် Peer Link ပြတ်သွားတာနဲ့ တပြိုင်နက် Peer Keepalive ကနေ Switch အချင်းချင်း ညှိလိုက်ပီး Secondary Switch မှာရှိတဲ့ vPC memeber port တွေနဲ့ VLAN တွေရဲ့ SVI Interface တွေကို suspend လုပ်လိုက်လို့ပါ။ ဒီတော့ Multi-Chasis ပေါ်မှာ vPC မပေးနိုင်တော့ဘူးပေါ့၊ Keepalive link ပါထပ်ပြတ်သွားရင်တော့ DC Engineer ဒုက္ခရောက်ပီပေါ့။ အဲဒီ အခြေအနေကိုတော့ Complete dual-active Failure လို့ခေါ်ပါတယ်။

Configuration ပိုင်းကိုဆက်ရမယ်ဆိုရင် တစ်ခြား Optional Configuration တွေမထည့်တော့ရင် Port Channel လုပ်မယ့် Switch တစ်ခုစီက Port တွေကို vPC လုပ်လို့ရပါပီ။ Switch port တွေဟာ အရင်က access port တို့ Trunk Port တို့လိုခေါ် ကြတာများပါတယ်။ ဒါပေမယ့် vPC က သူ့ရဲ့ vPC domain အောက်လဲရောက်သွားရော Port တွေကိုခွဲခြားလိုက်ပါတယ်။ သူနဲ့ပက်သက်တဲ့ Port တွေကိုတော့ vPC port လို့ခေါ် ပါတယ်။ Switch ရဲ့တစ်ဖက်စီမှာ ရှိရင်တော့ vPC Member port ခေါ်ပီး Port Channel ထဲမှာ မပါဝင်တဲ့ ကျန်တဲ့ Port တွေကို တော့ Orphaned port လို့ခေါ်လိုက်ပါတယ်။ ဘာကြောင့် ဒီလိုခေါ်လိုက်လဲ မသိပါဘူး၊ သိပ်ပီးတော့ ဘဝင်ကြစရာတော့ မကောင်းတာသေချာပါတယ်။ ကိုယ့်ဖာသာ Switch port အနေနဲ့ရှိနေတာကို သူနဲ့မပက်သက်တာနဲ့နေရင်းထိုင်ရင်း Orphaned port ဖြစ်သွားတယ်။ ဒါပေမယ့် ခွဲလိုက်တော့လဲ မှတ်ရလွယ်သွားတယ်လို့ပဲ ယူဆလိုက်ပေါ့၊ တကယ်လို့များ Switch တစ်ခု ဒါမှမဟုတ် Server တစ်လုံးဟာ vPC domain အောက်မှာ ရှိတဲ့ Nexus နှစ်လုံးကို vPC မသုံးပဲ ချိတ်ဆက်ခဲ့မယ်ဆိုရင် Link နှစ်ခုထဲက တစ်ခုဟာ STP(Spanning Tree) ကြောင့် တစ်ခုဟာ Blocking အနေနဲ့ပဲရှိနေမှာပါ၊ vPC ဆိုရင်တော့ Link နှစ်ခုလုံဟာ Forwarding အနေနဲ့ Parent Switch နှစ်ခုလုံးကိုသွားနိုင်ပါတယ်။ ဒီတော့ Orpahned port ဆိုရင် အပြည့်မရဘူးလို့ မှတ်ထားလို့ရပါတယ်။
ဒါပေမယ့် vPC member port မရပဲ Orphaned port ပဲရတဲ့ အခွင့်အရေးလဲရှိပါတယ်။ ဘယ်အချိန်မှလဲဆိုတော့ vPC member port ကနေဝင်လာတဲ့ Frame တစ်ခုဟာ တစ်ဖက်က Peer Switch ရဲ့ vPC member port ကနေဘယ်တော့မှ ပြန်မထွက်ရဘူးဆိုတဲ့ စည်းမျဉ်းအရ တစ်ဖက်က Peer Switch ဟာ အဲဒီလို Frame မျိုးကို Orphaned port တွေကိုပဲ Forward လုပ်ပါတယ်။ vPC Memeber port တွေကို Forward မလုပ်ပါဘူး။ ဒါကို Duplicate Frames Prevention rule လို့ဆိုပါတယ်။

အခုလောက်ဆို vPC ရဲ့ အခေါ်အဝေါ်တွေနဲ့ အဓိကအချက်တွေကို သဘောပေါက်လောက်ပီလို့ ထင်ပါတယ်၊ ဒါပေမယ့် ပိုပီးရှင်းလင်းမြင်သာအောင် Diagram တစ်ချို့နဲ့ တွဲပီးကြည့်ရင်ပိုကောင်းပါလိမ့်မယ်။ Blog ထဲမှာ Cisco Documentation တွေကနေ ရှင်းထားတဲ့ Diagram တွေကို ကူးပီးဖော်ပြထားပေးပါတယ်။

vPC မှာပါဝင်တဲ့ အစိတ်အပိုင်းတွေပါ



vPC port မဟုတ်တဲ့ Port တွေဟာ Orphaned Port တွေပါ၊ Active/Standby အခြေအနေကို ပြထားပါတယ်


အသုံးများတဲ့ Single Sided design ပါ



Double sided design ဟာ vPC domain အောက်က Switch အားလုံးအပြန်အလှန် vPC ထားရှိတဲ့အတွက် အနည်းငယ်ရှုပ်ထွေးပါတယ်

Failure အခြေအနေကို ရှင်းလင်းစွာ မြင်နိုင်ပါတယ်

Above diagrams copied from Cisco vPC fundamental Concepts 5.0 and vPC best practices design guide.

Reference: http://www.cisco.com/c/dam/en/us/td/docs/switches/datacenter/sw/design/vpc_design/vpc_best_practices_design_guide.pdf
ကိုဖြိုး

No comments:

Post a Comment