โครงสร้างเครือข่ายสำหรับศูนย์ข้อมูล Cisco ACI - เพื่อช่วยผู้ดูแลระบบ

โครงสร้างเครือข่ายสำหรับศูนย์ข้อมูล Cisco ACI - เพื่อช่วยผู้ดูแลระบบ
ด้วยความช่วยเหลือของสคริปต์ Cisco ACI ที่มีมนต์ขลังนี้ คุณสามารถตั้งค่าเครือข่ายได้อย่างรวดเร็ว

โรงงานเครือข่ายสำหรับศูนย์ข้อมูล ACI ของ Cisco มีอยู่เป็นเวลาห้าปีแล้ว แต่ Habré ไม่ได้พูดอะไรเกี่ยวกับเรื่องนี้จริงๆ ดังนั้นฉันจึงตัดสินใจแก้ไขเล็กน้อย ฉันจะบอกคุณจากประสบการณ์ของฉันเองว่ามันคืออะไร มีประโยชน์อย่างไร และมีคราดอยู่ที่ไหน

มันคืออะไรและมาจากไหน?

เมื่อถึงเวลาที่ ACI (Application Centric Infrastructure) ประกาศในปี 2013 คู่แข่งก็กำลังรุกเข้าหาแนวทางดั้งเดิมในเครือข่ายศูนย์ข้อมูลจากสามด้านพร้อมกัน

ในแง่หนึ่ง โซลูชัน SDN "รุ่นแรก" ที่ใช้ OpenFlow สัญญาว่าจะทำให้เครือข่ายมีความยืดหยุ่นมากขึ้นและราคาถูกลงในเวลาเดียวกัน แนวคิดคือการย้ายการตัดสินใจแบบดั้งเดิมที่ทำโดยซอฟต์แวร์สวิตช์ที่เป็นกรรมสิทธิ์ไปยังตัวควบคุมกลาง

ตัวควบคุมนี้จะมีวิสัยทัศน์เดียวของทุกสิ่งที่เกิดขึ้น และจากสิ่งนี้ จะตั้งโปรแกรมฮาร์ดแวร์ของสวิตช์ทั้งหมดในระดับของกฎสำหรับการประมวลผลโฟลว์เฉพาะ
ในทางกลับกัน โซลูชันเครือข่ายแบบโอเวอร์เลย์ทำให้สามารถนำนโยบายการเชื่อมต่อและความปลอดภัยที่จำเป็นไปใช้ได้โดยไม่มีการเปลี่ยนแปลงใดๆ ในเครือข่ายทางกายภาพเลย สร้างอุโมงค์ซอฟต์แวร์ระหว่างโฮสต์เสมือน ตัวอย่างที่รู้จักกันดีที่สุดของวิธีการนี้คือ Nicira ซึ่ง VMWare ซื้อกิจการไปแล้วในราคา 1,26 พันล้านดอลลาร์ และทำให้เกิด VMWare NSX ในปัจจุบัน ความน่าพิศวงของสถานการณ์ถูกเสริมด้วยข้อเท็จจริงที่ว่าผู้ร่วมก่อตั้งของ Nicira เป็นคนๆ เดียวกับที่เคยยืนอยู่ที่จุดกำเนิดของ OpenFlow โดยตอนนี้บอกว่าเพื่อสร้างโรงงานศูนย์ข้อมูล OpenFlow ไม่เหมาะ.

และในที่สุด ชิปสวิตชิ่งที่มีอยู่ในตลาดเปิด (สิ่งที่เรียกว่าซิลิกอนสำหรับผู้ค้า) ได้มาถึงระยะที่ครบกำหนดซึ่งกลายเป็นภัยคุกคามอย่างแท้จริงสำหรับผู้ผลิตสวิตช์แบบดั้งเดิม หากก่อนหน้านี้ผู้ขายแต่ละรายพัฒนาชิปสำหรับสวิตช์ของตนโดยอิสระ เมื่อเวลาผ่านไป ชิปจากผู้ผลิตบุคคลที่สาม ซึ่งส่วนใหญ่มาจาก Broadcom เริ่มลดระยะห่างกับชิปของผู้ขายในแง่ของฟังก์ชัน และแซงหน้าพวกเขาในแง่ของอัตราส่วนราคา / ประสิทธิภาพ ดังนั้นหลายคนเชื่อว่าวันที่ของสวิตช์บนชิปของการออกแบบของพวกเขาเองนั้นถูกนับ

ACI ได้กลายเป็น "การตอบสนองที่ไม่สมมาตร" ของ Cisco (หรือพูดให้ละเอียดยิ่งขึ้นคือบริษัท Insieme ซึ่งก่อตั้งโดยอดีตพนักงาน) ต่อสิ่งที่กล่าวมาทั้งหมด

OpenFlow ต่างกันอย่างไร?

ในแง่ของการกระจายฟังก์ชัน ACI ตรงกันข้ามกับ OpenFlow
ในสถาปัตยกรรม OpenFlow ตัวควบคุมมีหน้าที่เขียนกฎโดยละเอียด (โฟลว์)
ในฮาร์ดแวร์ของสวิตช์ทั้งหมด กล่าวคือ ในเครือข่ายขนาดใหญ่ อาจมีหน้าที่รับผิดชอบในการบำรุงรักษา และที่สำคัญที่สุดคือ การเปลี่ยนแปลงระเบียนนับสิบล้านที่หลายร้อยจุดในเครือข่าย ดังนั้นประสิทธิภาพและความน่าเชื่อถือจึงกลายเป็นปัญหาคอขวดใน การใช้งานขนาดใหญ่

ACI ใช้วิธีย้อนกลับ: แน่นอนว่ามีตัวควบคุมด้วย แต่สวิตช์ได้รับนโยบายการประกาศระดับสูงจากมัน และสวิตช์เองก็ดำเนินการเรนเดอร์เป็นรายละเอียดของการตั้งค่าเฉพาะในฮาร์ดแวร์ ตัวควบคุมสามารถรีบูตหรือปิดได้ทั้งหมดและจะไม่มีอะไรเลวร้ายเกิดขึ้นกับเครือข่ายยกเว้นการขาดการควบคุมในขณะนี้ ที่น่าสนใจ มีบางสถานการณ์ใน ACI ที่ยังคงใช้ OpenFlow แต่ภายในโฮสต์สำหรับการเขียนโปรแกรม Open vSwitch

ACI สร้างขึ้นจากการขนส่งแบบโอเวอร์เลย์บน VXLAN ทั้งหมด แต่รวมถึงการขนส่ง IP ที่อยู่ภายใต้เป็นส่วนหนึ่งของโซลูชันเดียว Cisco เรียกคำนี้ว่า "อินทิเกรตโอเวอร์เลย์" ในฐานะที่เป็นจุดสิ้นสุดสำหรับการซ้อนทับใน ACI ในกรณีส่วนใหญ่ จะใช้สวิตช์จากโรงงาน (ทำสิ่งนี้ที่ความเร็วลิงก์) โฮสต์ไม่จำเป็นต้องรู้อะไรเกี่ยวกับโรงงาน การห่อหุ้ม และอื่นๆ อย่างไรก็ตาม ในบางกรณี (เช่น ในการเชื่อมต่อโฮสต์ OpenStack) สามารถนำทราฟฟิก VXLAN มาให้พวกเขาได้

การซ้อนทับใช้ใน ACI ไม่เพียงเพื่อให้การเชื่อมต่อที่ยืดหยุ่นผ่านเครือข่ายการขนส่งเท่านั้น แต่ยังใช้เพื่อถ่ายโอนข้อมูลเมตา (เช่น ใช้เพื่อปรับใช้นโยบายความปลอดภัย)

Cisco เคยใช้ชิปจาก Broadcom ในสวิตช์ซีรีส์ Nexus 3000 ในตระกูล Nexus 9000 ซึ่งเปิดตัวเป็นพิเศษเพื่อรองรับ ACI เดิมทีมีการใช้โมเดลไฮบริดซึ่งเรียกว่า Merchant + สวิตช์นี้ใช้ทั้งชิป Broadcom Trident 2 ใหม่และชิปเสริมที่พัฒนาโดย Cisco พร้อมกัน ซึ่งนำความมหัศจรรย์ทั้งหมดของ ACI มาใช้ เห็นได้ชัดว่าสิ่งนี้ทำให้สามารถเร่งการเปิดตัวผลิตภัณฑ์และลดป้ายราคาของสวิตช์ให้อยู่ในระดับที่ใกล้เคียงกับรุ่นที่ใช้ Trident 2 ได้ วิธีการนี้เพียงพอสำหรับการส่งมอบ ACI ในช่วงสองหรือสามปีแรก ในช่วงเวลานี้ Cisco ได้พัฒนาและเปิดตัว Nexus 9000 เจนเนอเรชั่นถัดไปบนชิปของตัวเองพร้อมชุดประสิทธิภาพและฟีเจอร์ที่มากขึ้น แต่ในราคาระดับเดียวกัน ข้อกำหนดภายนอกในแง่ของการโต้ตอบในโรงงานได้รับการเก็บรักษาไว้อย่างสมบูรณ์ ในขณะเดียวกัน การบรรจุภายในก็เปลี่ยนไปอย่างสิ้นเชิง เช่น การปรับโครงสร้างใหม่ แต่สำหรับเหล็ก

สถาปัตยกรรม Cisco ACI ทำงานอย่างไร

ในกรณีที่ง่ายที่สุด ACI สร้างขึ้นบนโทโพโลยีของเครือข่าย Klose หรือที่มักเรียกกันว่า Spine-Leaf สวิตช์ระดับกระดูกสันหลังสามารถมีได้ตั้งแต่สองอัน (หรือหนึ่งอัน ถ้าเราไม่สนใจเรื่องความทนทานต่อความผิดพลาด) ถึงหก ดังนั้น ยิ่งมีมาก ความทนทานต่อความผิดพลาดก็จะยิ่งสูงขึ้น (แบนด์วิดท์และความน่าเชื่อถือลดลงในกรณีที่เกิดอุบัติเหตุหรือการบำรุงรักษากระดูกสันหลังอันหนึ่ง) และประสิทธิภาพโดยรวม การเชื่อมต่อภายนอกทั้งหมดไปที่สวิตช์ระดับลีฟ: สิ่งเหล่านี้คือเซิร์ฟเวอร์และการเชื่อมต่อกับเครือข่ายภายนอกผ่าน L2 หรือ L3 และการเชื่อมต่อตัวควบคุม APIC โดยทั่วไปแล้ว เมื่อใช้ ACI ไม่เพียงแต่การกำหนดค่าเท่านั้น แต่ยังรวมถึงการรวบรวมสถิติ การตรวจสอบความล้มเหลว และอื่นๆ ทุกอย่างทำได้ผ่านอินเทอร์เฟซของตัวควบคุม ซึ่งมีสามแบบในการใช้งานขนาดมาตรฐาน

คุณไม่จำเป็นต้องเชื่อมต่อกับสวิตช์ด้วยคอนโซลแม้แต่เพื่อเริ่มเครือข่าย: ตัวควบคุมจะตรวจจับสวิตช์และประกอบโรงงานจากโรงงานรวมถึงการตั้งค่าโปรโตคอลบริการทั้งหมด ดังนั้นสิ่งสำคัญคือต้อง จดหมายเลขซีเรียลของอุปกรณ์ที่ติดตั้งระหว่างการติดตั้ง เพื่อที่คุณจะได้ไม่ต้องเดาว่าสวิตช์ใดอยู่ในชั้นวางใดในภายหลัง สำหรับการแก้ไขปัญหา หากจำเป็น คุณสามารถเชื่อมต่อกับสวิตช์ผ่าน SSH: พวกมันสร้างคำสั่งการแสดงตามปกติของ Cisco อย่างระมัดระวัง

ภายในโรงงานใช้การขนส่ง IP ดังนั้นจึงไม่มี Spanning Tree และสิ่งที่น่าสะพรึงกลัวอื่น ๆ ในอดีต: การเชื่อมโยงทั้งหมดเกี่ยวข้องและการบรรจบกันในกรณีที่เกิดความล้มเหลวนั้นรวดเร็วมาก การรับส่งข้อมูลในโครงสร้างจะถูกส่งผ่านอุโมงค์โดยใช้ VXLAN แม่นยำยิ่งขึ้น Cisco เองเรียกการห่อหุ้ม iVXLAN และแตกต่างจาก VXLAN ทั่วไปตรงที่ใช้ฟิลด์สงวนในส่วนหัวของเครือข่ายเพื่อส่งข้อมูลการบริการ ส่วนใหญ่เกี่ยวกับความสัมพันธ์ของการรับส่งข้อมูลกับกลุ่ม EPG สิ่งนี้ช่วยให้คุณใช้กฎการโต้ตอบระหว่างกลุ่มในอุปกรณ์โดยใช้หมายเลขของพวกเขาในลักษณะเดียวกับที่ใช้ในรายการเข้าถึงทั่วไป

อุโมงค์ช่วยให้ทั้งส่วน L2 และส่วน L3 (เช่น VRF) ถูกขยายผ่านการขนส่ง IP ภายใน ในกรณีนี้ เกตเวย์เริ่มต้นจะถูกแจกจ่าย ซึ่งหมายความว่าสวิตช์แต่ละตัวมีหน้าที่กำหนดเส้นทางการรับส่งข้อมูลเข้าสู่แฟบริค ในแง่ของตรรกะของทราฟฟิก ACI คล้ายกับแฟบริค VXLAN/EVPN

ถ้าเป็นเช่นนั้น อะไรคือความแตกต่าง? อย่างอื่น!

ความแตกต่างอันดับหนึ่งที่คุณพบกับ ACI คือวิธีที่เซิร์ฟเวอร์เชื่อมต่อกับเครือข่าย ในเครือข่ายแบบดั้งเดิม การรวมเซิร์ฟเวอร์ทางกายภาพและเครื่องเสมือนไปที่ VLAN และทุกอย่างจะเต้นจากพวกเขา: การเชื่อมต่อ ความปลอดภัย ฯลฯ ใน ACI จะใช้การออกแบบที่ Cisco เรียกว่า EPG (End-point Group) ซึ่งมาจาก ไม่มีที่ไหนหลีกหนี เป็นไปได้ไหมที่จะเทียบเคียงกับ VLAN? ใช่ แต่ในกรณีนี้มีโอกาสที่จะสูญเสียสิ่งที่ ACI ให้เกือบทั้งหมด

สำหรับ EPG นั้น กฎการเข้าถึงทั้งหมดได้รับการกำหนดขึ้น และใน ACI หลักการ "รายการสีขาว" จะถูกใช้โดยค่าเริ่มต้น กล่าวคือ อนุญาตเฉพาะทราฟฟิกเท่านั้น อนุญาตโดยชัดแจ้ง นั่นคือเราสามารถสร้างกลุ่ม EPG "เว็บ" และ "MySQL" และกำหนดกฎที่อนุญาตการสื่อสารระหว่างกันบนพอร์ต 3306 เท่านั้น ซึ่งจะทำงานโดยไม่ต้องเชื่อมโยงกับที่อยู่เครือข่ายและแม้แต่ภายในซับเน็ตเดียวกัน!

เรามีลูกค้าที่เลือก ACI เนื่องจากคุณสมบัตินี้ เนื่องจากช่วยให้คุณจำกัดการเข้าถึงระหว่างเซิร์ฟเวอร์ (เสมือนหรือจริง - ไม่สำคัญ) โดยไม่ต้องลากระหว่างเครือข่ายย่อย ซึ่งหมายความว่าไม่ต้องแตะที่อยู่ ใช่ ใช่ เรารู้ว่าไม่มีใครกำหนดที่อยู่ IP ในการกำหนดค่าแอปพลิเคชันด้วยตนเอง ใช่ไหม

กฎจราจรใน ACI เรียกว่าสัญญา ในสัญญาดังกล่าว กลุ่มหรือระดับหนึ่งหรือหลายกลุ่มในแอปพลิเคชันหลายระดับกลายเป็นผู้ให้บริการ (เช่น บริการฐานข้อมูล) กลุ่มหรือระดับอื่นๆ กลายเป็นผู้บริโภค สัญญาสามารถส่งทราฟฟิกหรือทำสิ่งที่ยุ่งยากกว่านั้น เช่น ส่งไปยังไฟร์วอลล์หรือบาลานเซอร์ และเปลี่ยนค่า QoS ได้ด้วย

เซิร์ฟเวอร์เข้าไปในกลุ่มเหล่านี้ได้อย่างไร? หากสิ่งเหล่านี้เป็นเซิร์ฟเวอร์จริงหรือบางสิ่งที่รวมอยู่ในเครือข่ายที่มีอยู่ที่เราสร้าง VLAN trunk ดังนั้นเพื่อวางไว้ใน EPG คุณจะต้องชี้ไปที่พอร์ตสวิตช์และ VLAN ที่ใช้ อย่างที่คุณเห็น VLAN จะปรากฏขึ้นในที่ที่คุณไม่สามารถทำได้หากไม่มี

หากเซิร์ฟเวอร์เป็นเครื่องเสมือน ก็เพียงพอแล้วที่จะอ้างถึงสภาพแวดล้อมการจำลองเสมือนที่เชื่อมต่อ จากนั้นทุกอย่างจะเกิดขึ้นเอง: กลุ่มพอร์ตจะถูกสร้างขึ้น (ในแง่ของ VMWare) เพื่อเชื่อมต่อ VM, VLAN หรือ VXLAN ที่จำเป็นจะถูกสร้างขึ้น ได้รับมอบหมาย พวกเขาจะถูกลงทะเบียนบนพอร์ตสวิตช์ที่จำเป็น เป็นต้น ดังนั้น แม้ว่า ACI จะสร้างขึ้นจากเครือข่ายจริง แต่การเชื่อมต่อสำหรับเซิร์ฟเวอร์เสมือนนั้นดูง่ายกว่าการเชื่อมต่อจริงมาก ACI มีการเชื่อมต่อกับ VMWare และ MS Hyper-V ในตัวอยู่แล้ว รวมทั้งรองรับ OpenStack และ RedHat Virtualization จากจุดหนึ่ง การสนับสนุนในตัวสำหรับแพลตฟอร์มคอนเทนเนอร์ก็ปรากฏขึ้นเช่นกัน: Kubernetes, OpenShift, Cloud Foundry ในขณะที่เกี่ยวข้องกับทั้งการใช้นโยบายและการตรวจสอบ นั่นคือ ผู้ดูแลระบบเครือข่ายสามารถเห็นได้ทันทีว่าโฮสต์ใดที่พ็อดทำงานบนและ พวกเขาตกอยู่ในกลุ่มใด

นอกเหนือจากการรวมอยู่ในกลุ่มพอร์ตเฉพาะแล้ว เซิร์ฟเวอร์เสมือนยังมีคุณสมบัติเพิ่มเติม: ชื่อ แอตทริบิวต์ ฯลฯ ซึ่งสามารถใช้เป็นเกณฑ์ในการถ่ายโอนไปยังกลุ่มอื่น เช่น เมื่อมีการเปลี่ยนชื่อ VM หรือแท็กเพิ่มเติมปรากฏใน มัน. Cisco เรียกการแบ่งส่วนย่อยนี้ว่ากลุ่ม แม้ว่าโดยมากแล้ว การออกแบบด้วยความสามารถในการสร้างส่วนความปลอดภัยจำนวนมากในรูปแบบของ EPG บนเครือข่ายย่อยเดียวกันก็ค่อนข้างเป็นการแบ่งส่วนย่อยเช่นกัน ผู้ขายรู้ดีกว่า

EPG เองเป็นโครงสร้างแบบลอจิคัลล้วน ๆ ไม่เชื่อมโยงกับสวิตช์ เซิร์ฟเวอร์ ฯลฯ ที่เฉพาะเจาะจง ดังนั้นคุณจึงสามารถทำสิ่งต่าง ๆ ร่วมกับสิ่งเหล่านี้และสร้างตามสิ่งเหล่านี้ (แอปพลิเคชันและผู้เช่า) ซึ่งทำได้ยากในเครือข่ายทั่วไป เช่น การโคลนนิ่ง ด้วยเหตุนี้ สมมติว่าเป็นเรื่องง่ายมากที่จะโคลนสภาพแวดล้อมการผลิตเพื่อให้ได้สภาพแวดล้อมการทดสอบที่รับประกันว่าจะเหมือนกันกับสภาพแวดล้อมการผลิต คุณสามารถทำได้ด้วยตนเอง แต่จะดีกว่า (และง่ายกว่า) ผ่าน API

โดยทั่วไปแล้ว ตรรกะการควบคุมใน ACI นั้นไม่เหมือนกับสิ่งที่คุณมักจะพบเลย
ในเครือข่ายแบบดั้งเดิมจาก Cisco เดียวกัน: อินเทอร์เฟซซอฟต์แวร์เป็นอุปกรณ์หลัก และ GUI หรือ CLI เป็นอุปกรณ์รอง เนื่องจากทำงานผ่าน API เดียวกัน ดังนั้น เกือบทุกคนที่เกี่ยวข้องกับ ACI หลังจากนั้นไม่นาน ก็เริ่มนำทางโมเดลออบเจกต์ที่ใช้สำหรับการจัดการ และทำให้บางสิ่งเป็นแบบอัตโนมัติเพื่อตอบสนองความต้องการของพวกเขา วิธีที่ง่ายที่สุดในการทำเช่นนี้คือจาก Python มีเครื่องมือสำเร็จรูปที่สะดวกสำหรับมัน

คราดสัญญา

ปัญหาหลักคือหลายสิ่งหลายอย่างใน ACI ทำแตกต่างกัน หากต้องการเริ่มใช้งานตามปกติ คุณต้องฝึกใหม่ โดยเฉพาะอย่างยิ่งสำหรับทีมปฏิบัติการเครือข่ายในลูกค้ารายใหญ่ ซึ่งวิศวกรได้ "กำหนด VLAN" ตามคำขอเป็นเวลาหลายปี ข้อเท็จจริงที่ว่าตอนนี้ VLAN ไม่ใช่ VLAN อีกต่อไป และคุณไม่จำเป็นต้องสร้าง VLAN ด้วยมือเพื่อวางเครือข่ายใหม่ในโฮสต์เสมือนจริง เป็นการทลายหลังคาของเครือข่ายแบบเดิมโดยสิ้นเชิง และทำให้พวกเขายึดติดกับแนวทางที่คุ้นเคย ควรสังเกตว่า Cisco พยายามทำให้เม็ดยาหวานขึ้นเล็กน้อยและเพิ่ม CLI ที่ “เหมือน NXOS” ลงในคอนโทรลเลอร์ ซึ่งช่วยให้คุณทำการกำหนดค่าจากอินเทอร์เฟซที่คล้ายกับสวิตช์แบบดั้งเดิม แต่ถึงกระนั้น ในการเริ่มใช้ ACI ตามปกติ คุณต้องเข้าใจว่ามันทำงานอย่างไร

ในแง่ของราคาในระดับขนาดใหญ่และขนาดกลาง เครือข่าย ACI ไม่แตกต่างจากเครือข่ายแบบดั้งเดิมในอุปกรณ์ Cisco เนื่องจากใช้สวิตช์เดียวกันในการสร้าง (Nexus 9000 สามารถทำงานใน ACI และในโหมดดั้งเดิมและตอนนี้กลายเป็นหลัก "ม้างาน" สำหรับโครงการศูนย์ข้อมูลใหม่) แต่สำหรับศูนย์ข้อมูลของสวิตช์สองตัว แน่นอนว่าการมีคอนโทรลเลอร์และสถาปัตยกรรม Spine-Leaf นั้นให้ความรู้สึก เมื่อเร็ว ๆ นี้มีโรงงาน Mini ACI ซึ่งตัวควบคุมสองในสามตัวถูกแทนที่ด้วยเครื่องเสมือน สิ่งนี้ช่วยลดความแตกต่างของต้นทุน แต่ยังคงอยู่ ดังนั้น สำหรับลูกค้า ทางเลือกจะถูกกำหนดโดยความสนใจในคุณลักษณะด้านความปลอดภัย การผสานรวมกับระบบเสมือนจริง การควบคุมจุดเดียว และอื่นๆ มากเพียงใด

ที่มา: will.com

เพิ่มความคิดเห็น