Virtual Switching System (VSS) on Cisco Switch

หากมีคำถามว่าจะซื้อสวิตช์ยี่ห้อไหนดี คำตอบของหลายต่อหลายคนคงหนีไม่พ้นยี่ห้อ Cisco และหากมีคำถามว่าหากต้องการวางสวิตช์เพื่อจะให้ง่ายต่อการ Management และ การทำ Redundancy ระหว่างกันเมื่อเกิดเหตุการณ์ไม่คาดคิด เช่น สวิตช์ตัวหลักหรือ Core Switch เกิดความเสียหายขึ้นเป็นต้นจะต้องใช้วิธีการไหนได้บ้าง คำตอบก็คงหนีไม่พ้น การทำ Stacking หรือไม่ก็ใช้ VSS นั่นเอง ในตอนนี้จะพูดถึงเฉพาะเรื่อง VSS ซึ่งเป็น Technology ของ Cisco นะครับ

คำถาม : VSS คืออะไร
คำตอบ : VSS ย่อมาจาก Virtual Switching System เป็น Technology ที่ Cisco คิดค้นขึ้นมาเพื่อทำให้ Physical Switch 2 ชุด รวมร่างกันเหลือเป็น Virtual Switch ชุดเดียว (เสมือนว่ามี Switch ตัวเดียว) ซึ่งจะช่วยให้ประสิทธิภาพการทำงาน เทคโนโลยีนี้จะรองรับกับ Switch Cisco ในรุ่น 4500E ขึ้นไป (ตรวจสอบ IOS/IOS XE ด้วยนะครับว่ารองรับหรือเปล่า)

คำถาม : ประโยชน์ของ VSS คืออะไรบ้าง
คำตอบ : ประโยชน์ของ VSS สามารถแบ่งเป็นข้อย่อย เพื่อความเข้าใจง่าย ๆ ประมาณนี้นะครับ
1. VSS จะช่วยเพิ่มประสิทธิภาพการทำงานของเครือข่าย หากเราใช้ Sup720-10GE บน Switch Catalyst 6500/6800 Series ในแต่ละ Supervisor จะมี data plane และ switching fabric ที่ 720 Gbps หากเราทำ VSS เทคโนโลยีนี้จะสามารถรวม Switch ทั้ง 2 ตัวให้มี Switching capacity ที่ 1400 Gbps หรือ 1.4 Tbps ต่อ 1 VSS
2. การบริหารจัดการตัวสวิตช์ จากเมื่อก่อนที่ต้องใช้ IP Address ถึง 2 IP Address เพื่อทำการ Manage ก็จะเหลือแค่ 1 IP เท่านั้น เราก็สามารถจัดการได้หมดผ่านทาง Telnet, ssh, web gui เป็นต้น
3. สามารถใช้ Gateway IP address ต่อ vlan เพื่อการทำ Inter VLAN Routing ได้ใน Switch ตัวเดียวกัน
4. เป็นการทำ Redundancy ตัว Supervisor หากตัว Active เกิดความเสียหายขึ้น ตัว Standby ก็จะทำงานทันที
5. ไม่จำเป็นต้องใช้ HSRP (Hot Standby Router Protocol), VRRP (Virtual Router Redundnacy Protocol), GLBP (Gateway Load Balancing Protocol) เราสามารถลบค่าพวกนี้ออกไปได้เลย เพราะ VSS เป็นเทคโนโลยีที่ไม่จำเป็นต้องทำ Virtual IP ขึ้นมาแล้วนั่นเอง
6. หากเรามี Cisco Prime เราสามารถใช้บริหารจัดการ Switch ที่ทำ VSS และ Manage ได้ โดยเสีย License เพียงแค่ 1 License Switch เท่านั้น
7. เพิ่มพอร์ตของ Switch ในการใช้งานไปในอีก Chassis เพื่อการขยายได้ โดยมองว่าเป็น Switch ตัวเดียวกัน
คำถาม : ทำอย่างไรถึงจะใช้ VSS ได้
คำตอบ : เราสามารถใช้สวิตช์ตั้งแต่รุ่น 4500E ขึ้นไป, 4500E+Sup7L-E ขึ้นไป, 6500+Sup720-E ขึ้นไป ทำ VSS ผ่านทาง VSL (Virtual switch link) ซึ่งใช้พอร์ต 10GE uplink ในการคุยระหว่างสวิตช์  (สามารถทำ Etherchannel ได้ 8 พอร์ต) และระยะของ VSL ขยายได้ถึง 40 กิโลเมตร หากเราต้องการวาง DC และ DR Site ก็สามารถใช้ VSL ได้ด้วยเช่นเดียวกันครับ

คราวนี้มาดูวิธีการ Configure กันนะครับ
Step 1 : ทำการกำหนด Virtual Switch Domain และ Switch Number ให้กับสวิตช์ทั้ง 2 ตัวที่จะทำ VSS ด้วยกัน หมายเลข domain ที่สามารถใช้ได้ตั้งแต่ 1-255 โดย Virtual Switch Domain จะต้องเป็นเลข domain เดียวกันทั้ง 2 สวิตช์

ส่วนตัว Switch Number นั้นสวิตช์ตัวที่แรกจะใช้ Switch Number 1 ส่วนตัวที่สองที่เป็น Standby เราจะใช้ Switch Number 2 ครับ

SW1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#switch virtual domain 10
Domain ID 10 config will take effect only
after the exec command 'switch convert mode virtual' is issued
SW1(config-vs-domain)#switch 1
SW1(config-vs-domain)#exit
SW1(config)#
SW2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW2(config)#switch virtual domain 10
Domain ID 10 config will take effect only
after the exec command 'switch convert mode virtual' is issued
SW2(config-vs-domain)#switch 2
SW2(config-vs-domain)#exit
SW2(config)#

Step 2 : Configuring VSL Port Channel
เราสามารถ Add VSL physical port ไปเป็น port channel ได้ จากตัวอย่างด้านล่าง เป็น tengig1/1 และ tengig 1/2 ของสวิตช์ทั้ง 2 ตัว

SW1(config)#int port-channel 5
SW1(config-if)#switchport
SW1(config-if)#switch virtual link 1
SW1(config-if)#no shut
SW1(config-if)#exit
*Jan 24 05:19:57.092: %SPANTREE-6-PORTDEL_ALL_VLANS: Port-channel5 deleted from all Vlans
SW2(config)#int port-channel 10
SW2(config-if)#switchport
SW2(config-if)#switch virtual link 2
SW2(config-if)#no shut
SW2(config-if)#exit
SW2(config)#
*Jan 24 05:14:17.273: %SPANTREE-6-PORTDEL_ALL_VLANS: Port-channel10 deleted from all Vlans

Note : ต้องระวังไม่ให้ port-channel duplicate ระหว่างกันเอง เพราะจะทำให้ไม่สามารถทำ VSS ได้เลย ปัญหานี้เกิดขึ้นได้จากการที่ 
บางครั้งเราอาจจะมีตัว Switch ตัวเดิมอยู่แล้วซึ่งมี port-channel อยู่เยอะมาก แล้วซื้อ Switch ตัวใหม่มาเพื่อทำการ VSS กัน แต่ลืมดูไปว่า
Switch ตัวเดิมนั้นมี Port-Channel อะไรอยู่บ้าง เมื่อเราไปทำ Switch 2 มีค่า Port-Channel เหมือนกันกับตัวแรก จะเจอปัญหาว่า VSS ไม่ขึ้น
Switch ตัวที่ 2 จะทำการ copy running-configuration ทั้งหมดของ Switch 1 มา และจะไม่ทำการแปลงตัวเองเอง Standby Switch นั่นเอง

Step 3 : Configuring the VSL ports
เราจำเป็นต้องกำหนด VSL physical port ให้เป็นสมาชิกของ Port Channel ตามตัวอย่างด้านล่างนี้

SW1(config)#int range te1/1 - 2
SW1(config-if-range)#switchport mode trunk
SW1(config-if-range)#channel-group 5 mode on
WARNING: Interface TenGigabitEthernet1/1 placed in restricted config mode. All extraneous configs removed!
WARNING: Interface TenGigabitEthernet1/2 placed in restricted config mode. All extraneous configs removed!
SW1(config-if-range)#exit
SW2(config)#int range te1/1 - 2
SW2(config-if-range)#switchport mode trunk
SW2(config-if-range)#channel-group 10 mode on
WARNING: Interface TenGigabitEthernet1/1 placed in restricted config mode. All extraneous configs removed!
WARNING: Interface TenGigabitEthernet1/2 placed in restricted config mode. All extraneous configs removed!
SW2(config-if-range)#exit
Step 4 : ทำการ Convert สวิตช์ที่เป็น Standalone mode ให้เป็น Virtual Switch mode 
เราสามารถพิมพ์คำสั่ง switch convert mode virtual ลงไปที่ Global Configuration mode ได้ทั้ง 2 สวิตช์ เพื่อแปลง switch ให้ทำ VSS ระหว่างกัน 
SW1#switch convert mode virtual 

This command will convert all interface names
to naming convention "interface-type switch-number/slot/port",
save the running config to startup-config and
reload the switch.
Do you want to proceed? [yes/no]: yes
Converting interface names
Building configuration...
Compressed configuration from 6551 bytes to 2893 bytes[OK]
Saving converted configuration to bootflash: ...
Destination filename [startup-config.converted_vs-20130124-062921]?
Please stand by while rebooting the system...
Restarting system. 

Rommon (G) Signature verification PASSED  
Rommon (P) Signature verification PASSED  
FPGA   (P) Signature verification PASSED
 Step 5 : ทำการตรวจสอบ Switch ทั้ง 2 ตัว ที่ reboot ขึ้นมาแล้วว่าทำงานในโหมด VSS แล้วหรือเปล่าได้จากคำสั่งตามด้านล่างนี้
SW1#sh switch virtual 

Executing the command on VSS member switch role = VSS Active, id = 1 

Switch mode                  : Virtual Switch
Virtual switch domain number : 10
Local switch number          : 1
Local switch operational role: Virtual Switch Active
Peer switch number           : 2
Peer switch operational role : Virtual Switch Standby 

Executing the command on VSS member switch role = VSS Standby, id = 2  

Switch mode                  : Virtual Switch
Virtual switch domain number : 10
Local switch number          : 2
Local switch operational role: Virtual Switch Standby
Peer switch number           : 1
Peer switch operational role : Virtual Switch Active

เมื่อเราใช้ Console ไปที่ Switch 2 เราจะไม่สามารถ console ได้ จำเป็นต้องใช้ console ที่ Switch 1 เท่านั้น และ Prompt ของ 
Switch 2 หากมีการทำ VSS ถูกต้องแล้วนั้น ก็จะเปลี่ยนเป็น standby โดยอัตโนมัติ
SW2-standby> 
Standby console disabled

SW1#sh switch virtual role 

Executing the command on VSS member switch role = VSS Active, id = 1 

RRP information for Instance 1 

--------------------------------------------------------------------
Valid Flags   Peer     Preferred Reserved
               Count     Peer       Peer  

--------------------------------------------------------------------
TRUE   V       1           1         1  

Switch Switch Status Preempt       Priority Role     Local   Remote
       Number         Oper(Conf)   Oper(Conf)         SID     SID
--------------------------------------------------------------------
LOCAL   1     UP     FALSE(N )     100(100) ACTIVE   0       0
REMOTE  2     UP     FALSE(N )     100(100) STANDBY 6834   6152  

Peer 0 represents the local switch  

Flags : V - Valid
In dual-active recovery mode: No  

Executing the command on VSS member switch role = VSS Standby, id = 2 

RRP information for Instance 2  

--------------------------------------------------------------------
Valid Flags   Peer     Preferred Reserved
               Count     Peer       Peer  

--------------------------------------------------------------------
TRUE    V       1           1         1  

Switch Switch Status Preempt       Priority Role     Local   Remote
       Number         Oper(Conf)   Oper(Conf)         SID     SID
--------------------------------------------------------------------
LOCAL   2     UP     FALSE(N )     100(100) STANDBY  0       0
REMOTE  1     UP     FALSE(N )     100(100) ACTIVE   6152   6834 

Peer 0 represents the local switch

Flags : V - Valid
In dual-active recovery mode: No

SW1#sh switch virtual link  

Executing the command on VSS member switch role = VSS Active, id = 1 

VSL Status : UP
VSL Uptime : 3 minutes
VSL Control Link : Te1/1/1  

Executing the command on VSS member switch role = VSS Standby, id = 2 

VSL Status : UP
VSL Uptime : 3 minutes
VSL Control Link : Te1/1/1

จะเห็นว่า VSS มีประโยชน์มากสำหรับองค์กรที่ต้องการ High Availability เพื่อทำให้ระบบเครือข่ายคอมพิวเตอร์นั้นสามารถทำงานได้อย่างต่อเนื่องนั่นเอง 
แม้อุปกรณ์จะเกิดการเสียหายขึ้นก็ตาม และการ configure ก็ไม่ได้ยุ่งยากมาก นี่คือสิ่งที่ Cisco มีข้อดีกว่ายี่ห้ออื่น ๆ นั่นเอง และทำให้ Cisco 
เป็นผู้นำด้าน Switching ฝั่ง Datacom ตลอด 20 ปีที่ผ่านมาจนถึงปัจจุบันนั่นเองครับ