Kết cấu mạng cho trung tâm dữ liệu ACI của Cisco - để trợ giúp quản trị viên

Kết cấu mạng cho trung tâm dữ liệu ACI của Cisco - để trợ giúp quản trị viên
Với sự trợ giúp của đoạn lệnh ACI kỳ diệu này của Cisco, bạn có thể nhanh chóng thiết lập mạng.

Nhà máy sản xuất mạng cho trung tâm dữ liệu ACI của Cisco đã tồn tại được XNUMX năm, nhưng Habré không thực sự nói bất cứ điều gì về nó, vì vậy tôi quyết định sửa chữa nó một chút. Tôi sẽ cho bạn biết từ kinh nghiệm của bản thân nó là gì, công dụng của nó là gì và nó có cái cào ở đâu.

Nó là gì và nó đến từ đâu?

Vào thời điểm ACI (Cơ sở hạ tầng tập trung vào ứng dụng) được công bố vào năm 2013, các đối thủ cạnh tranh đang tiến hành các phương pháp tiếp cận truyền thống đối với mạng trung tâm dữ liệu từ ba phía cùng một lúc.

Một mặt, các giải pháp SDN "thế hệ đầu tiên" dựa trên OpenFlow hứa hẹn sẽ làm cho các mạng trở nên linh hoạt hơn và đồng thời rẻ hơn. Ý tưởng là chuyển việc ra quyết định theo truyền thống được thực hiện bởi phần mềm chuyển mạch độc quyền sang bộ điều khiển trung tâm.

Bộ điều khiển này sẽ có một tầm nhìn duy nhất về mọi thứ xảy ra và dựa trên điều này, sẽ lập trình phần cứng của tất cả các công tắc ở cấp độ quy tắc để xử lý các luồng cụ thể.
Mặt khác, các giải pháp mạng lớp phủ giúp thực hiện các chính sách bảo mật và kết nối cần thiết mà không có bất kỳ thay đổi nào trong mạng vật lý, xây dựng các đường hầm phần mềm giữa các máy chủ ảo hóa. Ví dụ nổi tiếng nhất về cách tiếp cận này là Nicira, sau đó đã được VMWare mua lại với giá 1,26 tỷ USD và tạo ra VMWare NSX hiện tại. Một số điểm thú vị của tình huống đã được thêm vào bởi thực tế là những người đồng sáng lập Nicira cũng chính là những người trước đây đã đứng về nguồn gốc của OpenFlow, giờ nói rằng để xây dựng một nhà máy trung tâm dữ liệu OpenFlow không phù hợp.

Và cuối cùng, chip chuyển mạch có sẵn trên thị trường mở (cái được gọi là silicon dành cho thương gia) đã đạt đến giai đoạn chín muồi khi chúng trở thành mối đe dọa thực sự đối với các nhà sản xuất chuyển mạch truyền thống. Nếu trước đó, mỗi nhà cung cấp độc lập phát triển chip cho thiết bị chuyển mạch của mình, thì theo thời gian, chip từ các nhà sản xuất bên thứ ba, chủ yếu từ Broadcom, bắt đầu thu hẹp khoảng cách với chip của nhà cung cấp về chức năng và vượt qua họ về tỷ lệ giá / hiệu suất. Do đó, nhiều người tin rằng thời của các công tắc trên chip do chính họ thiết kế đã được đánh số.

ACI đã trở thành "phản ứng bất đối xứng" của Cisco (chính xác hơn là công ty Insieme do các nhân viên cũ của họ thành lập) đối với tất cả những điều trên.

Sự khác biệt với OpenFlow là gì?

Về mặt phân phối chức năng, ACI thực sự ngược lại với OpenFlow.
Trong kiến ​​trúc OpenFlow, bộ điều khiển chịu trách nhiệm viết các quy tắc (luồng) chi tiết
trong phần cứng của tất cả các thiết bị chuyển mạch, nghĩa là trong một mạng lớn, nó có thể chịu trách nhiệm duy trì và quan trọng nhất là thay đổi hàng chục triệu bản ghi tại hàng trăm điểm trong mạng, vì vậy hiệu suất và độ tin cậy của nó trở thành nút cổ chai trong một triển khai lớn.

ACI sử dụng cách tiếp cận ngược lại: tất nhiên, cũng có một bộ điều khiển, nhưng các công tắc nhận các chính sách khai báo cấp cao từ nó và chính công tắc đó thực hiện kết xuất chúng thành chi tiết của các cài đặt cụ thể trong phần cứng. Bộ điều khiển có thể được khởi động lại hoặc tắt hoàn toàn và sẽ không có gì xấu xảy ra với mạng, tất nhiên, ngoại trừ việc thiếu kiểm soát vào lúc này. Thật thú vị, có những tình huống trong ACI trong đó OpenFlow vẫn được sử dụng, nhưng cục bộ bên trong máy chủ để lập trình Open vSwitch.

ACI được xây dựng hoàn toàn trên truyền tải lớp phủ dựa trên VXLAN, nhưng bao gồm truyền tải IP cơ bản như một phần của một giải pháp duy nhất. Cisco gọi đây là thuật ngữ "lớp phủ tích hợp". Trong hầu hết các trường hợp, các công tắc gốc được sử dụng làm điểm kết thúc cho các lớp phủ trong ACI (chúng thực hiện việc này ở tốc độ liên kết). Các máy chủ không bắt buộc phải biết bất cứ điều gì về nhà máy, đóng gói, v.v., tuy nhiên, trong một số trường hợp (ví dụ: để kết nối các máy chủ OpenStack), lưu lượng VXLAN có thể được đưa đến chúng.

Các lớp phủ được sử dụng trong ACI không chỉ để cung cấp kết nối linh hoạt thông qua mạng truyền tải mà còn để truyền siêu thông tin (ví dụ: nó được sử dụng để áp dụng các chính sách bảo mật).

Các chip của Broadcom trước đây đã được Cisco sử dụng trong các thiết bị chuyển mạch dòng Nexus 3000. Trong dòng Nexus 9000, được phát hành đặc biệt để hỗ trợ ACI, một mô hình kết hợp ban đầu đã được triển khai, được gọi là Merchant +. Công tắc sử dụng đồng thời cả chip Broadcom Trident 2 mới và chip bổ sung do Cisco phát triển, thực hiện tất cả các phép thuật của ACI. Rõ ràng, điều này giúp tăng tốc độ phát hành sản phẩm và giảm giá của công tắc xuống mức gần với các mẫu chỉ dựa trên Trident 2. Cách tiếp cận này là đủ cho hai hoặc ba năm đầu tiên ACI giao hàng. Trong thời gian này, Cisco đã phát triển và ra mắt Nexus 9000 thế hệ tiếp theo trên chip của riêng mình với bộ tính năng và hiệu suất cao hơn nhưng ở cùng mức giá. Thông số kỹ thuật bên ngoài về mặt tương tác trong nhà máy được giữ nguyên hoàn toàn. Đồng thời, phần nội bộ đã hoàn toàn thay đổi: một cái gì đó giống như tái cấu trúc, nhưng dành cho phần cứng.

Cách thức hoạt động của kiến ​​trúc ACI của Cisco

Trong trường hợp đơn giản nhất, ACI được xây dựng trên cấu trúc liên kết của mạng Klose, hay như người ta thường nói, Spine-Leaf. Công tắc cấp cột sống có thể từ hai (hoặc một, nếu chúng ta không quan tâm đến khả năng chịu lỗi) đến sáu. Theo đó, càng nhiều thì khả năng chịu lỗi càng cao (giảm băng thông và độ tin cậy trong trường hợp xảy ra sự cố hoặc bảo trì một Spine) và hiệu suất tổng thể càng cao. Tất cả các kết nối bên ngoài đều chuyển đến các công tắc cấp lá: đây là các máy chủ và kết nối với các mạng bên ngoài thông qua L2 hoặc L3 và kết nối các bộ điều khiển APIC. Nói chung, với ACI, không chỉ cấu hình mà còn thu thập số liệu thống kê, giám sát lỗi, v.v. - mọi thứ đều được thực hiện thông qua giao diện của bộ điều khiển, trong đó có ba triển khai có kích thước tiêu chuẩn.

Bạn không bao giờ phải kết nối với các công tắc bằng bảng điều khiển, ngay cả khi khởi động mạng: bộ điều khiển tự phát hiện các công tắc và lắp ráp một nhà máy từ chúng, bao gồm cài đặt của tất cả các giao thức dịch vụ, do đó, điều rất quan trọng là phải ghi lại số sê-ri của thiết bị được cài đặt trong quá trình cài đặt, để sau này bạn không phải đoán xem công tắc nào nằm trong giá đỡ nào. Để khắc phục sự cố, nếu cần, bạn có thể kết nối với các công tắc thông qua SSH: chúng sao chép khá cẩn thận các lệnh hiển thị thông thường của Cisco.

Trong nội bộ, nhà máy sử dụng truyền tải IP, vì vậy không có Spanning Tree và những nỗi kinh hoàng khác trong quá khứ: tất cả các liên kết đều có liên quan và sự hội tụ trong trường hợp lỗi diễn ra rất nhanh. Lưu lượng trong kết cấu được truyền qua các đường hầm dựa trên VXLAN. Chính xác hơn, chính Cisco gọi là đóng gói iVXLAN và nó khác với VXLAN thông thường ở chỗ các trường dành riêng trong tiêu đề mạng được sử dụng để truyền thông tin dịch vụ, chủ yếu về mối quan hệ của lưu lượng truy cập với nhóm EPG. Điều này cho phép bạn thực hiện các quy tắc tương tác giữa các nhóm trong thiết bị, sử dụng số của chúng giống như cách địa chỉ được sử dụng trong danh sách truy cập thông thường.

Các đường hầm cho phép cả phân đoạn L2 và phân đoạn L3 (tức là VRF) được kéo dài thông qua truyền tải IP nội bộ. Trong trường hợp này, cổng mặc định được phân phối. Điều này có nghĩa là mỗi công tắc chịu trách nhiệm định tuyến lưu lượng truy cập vào kết cấu. Về logic luồng lưu lượng, ACI tương tự như kết cấu VXLAN/EVPN.

Nếu vậy, sự khác biệt là gì? Mọi thứ khác!

Sự khác biệt số một mà bạn gặp phải với ACI là cách các máy chủ được kết nối với mạng. Trong các mạng truyền thống, việc đưa cả máy chủ vật lý và máy ảo vào Vlan và mọi thứ khác đều phụ thuộc vào chúng: kết nối, bảo mật, v.v. Trong ACI, một thiết kế được sử dụng mà Cisco gọi là EPG (Nhóm điểm cuối), từ đó không có nơi nào thoát được. Có thể đánh đồng nó với Vlan không? Có, nhưng trong trường hợp này có khả năng mất hầu hết những gì ACI mang lại.

Đối với EPG, tất cả các quy tắc truy cập đều được xây dựng và trong ACI, nguyên tắc "danh sách trắng" được sử dụng theo mặc định, tức là chỉ cho phép lưu lượng truy cập, việc đi qua được cho phép rõ ràng. Nghĩa là, chúng ta có thể tạo các nhóm EPG "Web" và "MySQL" và xác định quy tắc chỉ cho phép giao tiếp giữa chúng trên cổng 3306. Điều này sẽ hoạt động mà không bị ràng buộc với các địa chỉ mạng và thậm chí trong cùng một mạng con!

Chúng tôi có những khách hàng đã chọn ACI chính xác vì tính năng này, vì tính năng này cho phép bạn hạn chế quyền truy cập giữa các máy chủ (ảo hoặc vật lý - không quan trọng) mà không cần kéo chúng giữa các mạng con, nghĩa là không cần chạm vào địa chỉ. Vâng, vâng, chúng tôi biết rằng không ai quy định địa chỉ IP trong cấu hình ứng dụng theo cách thủ công, phải không?

Quy tắc giao thông trong ACI được gọi là hợp đồng. Trong một hợp đồng như vậy, một hoặc nhiều nhóm hoặc cấp độ trong ứng dụng nhiều tầng trở thành nhà cung cấp dịch vụ (ví dụ: dịch vụ cơ sở dữ liệu), những người khác trở thành người tiêu dùng. Hợp đồng có thể chỉ đơn giản là chuyển lưu lượng truy cập hoặc có thể thực hiện điều gì đó phức tạp hơn, chẳng hạn như chuyển hướng lưu lượng truy cập đến tường lửa hoặc bộ cân bằng, đồng thời thay đổi giá trị QoS.

Làm thế nào để các máy chủ có được vào các nhóm này? Nếu đây là những máy chủ vật lý hoặc thứ gì đó được bao gồm trong một mạng hiện có mà chúng tôi đã tạo một đường trục Vlan, thì để đặt chúng vào EPG, bạn sẽ cần trỏ đến cổng chuyển đổi và Vlan được sử dụng trên đó. Như bạn có thể thấy, Vlan xuất hiện ở nơi bạn không thể làm gì nếu không có chúng.

Nếu các máy chủ là máy ảo, thì chỉ cần đề cập đến môi trường ảo hóa được kết nối là đủ, và sau đó mọi thứ sẽ tự diễn ra: một nhóm cổng sẽ được tạo (về VMWare) để kết nối VM, các VLAN hoặc VXLAN cần thiết sẽ được chỉ định, chúng sẽ được đăng ký trên các cổng chuyển đổi cần thiết, v.v. Vì vậy, mặc dù ACI được xây dựng xung quanh mạng vật lý, nhưng các kết nối cho máy chủ ảo trông đơn giản hơn nhiều so với kết nối vật lý. ACI đã có sẵn khả năng kết nối với VMWare và MS Hyper-V, cũng như hỗ trợ Ảo hóa OpenStack và RedHat. Kể từ một thời điểm nào đó, hỗ trợ tích hợp sẵn cho các nền tảng vùng chứa cũng đã xuất hiện: Kubernetes, OpenShift, Cloud Foundry, trong khi nó liên quan đến cả việc áp dụng chính sách và giám sát, nghĩa là quản trị viên mạng có thể thấy ngay máy chủ nào hoạt động trên nhóm nào và họ rơi vào nhóm nào.

Ngoài việc được bao gồm trong một nhóm cổng cụ thể, các máy chủ ảo còn có các thuộc tính bổ sung: tên, thuộc tính, v.v., có thể được sử dụng làm tiêu chí để chuyển chúng sang một nhóm khác, chẳng hạn như khi một VM được đổi tên hoặc một thẻ bổ sung xuất hiện trong Nó. Cisco gọi đây là các nhóm phân đoạn vi mô, mặc dù nhìn chung, bản thân thiết kế với khả năng tạo nhiều phân đoạn bảo mật dưới dạng EPG trên cùng một mạng con cũng là một phân đoạn vi mô. Vâng, các nhà cung cấp biết rõ hơn.

Bản thân các EPG là các cấu trúc logic thuần túy, không bị ràng buộc với các thiết bị chuyển mạch, máy chủ cụ thể, v.v., vì vậy bạn có thể thực hiện mọi việc với chúng và các cấu trúc dựa trên chúng (ứng dụng và đối tượng thuê) khó thực hiện trong các mạng thông thường, chẳng hạn như sao chép. Do đó, giả sử rất dễ dàng sao chép môi trường sản xuất để có được môi trường thử nghiệm được đảm bảo giống với môi trường sản xuất. Bạn có thể thực hiện thủ công nhưng sẽ tốt hơn (và dễ dàng hơn) thông qua API.

Nói chung logic điều khiển trong ACI không giống chút nào với những gì bạn thường gặp
trong các mạng truyền thống từ cùng một Cisco: giao diện phần mềm là chính và GUI hoặc CLI là phụ vì chúng hoạt động thông qua cùng một API. Do đó, hầu hết mọi người tham gia vào ACI, sau một thời gian, bắt đầu điều hướng mô hình đối tượng được sử dụng để quản lý và tự động hóa thứ gì đó để phù hợp với nhu cầu của họ. Cách dễ nhất để làm điều này là từ Python: có các công cụ làm sẵn thuận tiện cho việc này.

Cào đã hứa

Vấn đề chính là nhiều thứ trong ACI được thực hiện khác đi. Để bắt đầu làm việc với nó bình thường, bạn cần đào tạo lại. Điều này đặc biệt đúng đối với các nhóm vận hành mạng ở những khách hàng lớn, nơi các kỹ sư đã “kê đơn VLAN” trong nhiều năm theo yêu cầu. Thực tế là giờ đây Vlan không còn là Vlan nữa và bạn không cần phải tạo Vlan thủ công để đặt mạng mới trong máy chủ ảo hóa, hoàn toàn thổi bay mái nhà của các nhà mạng truyền thống và khiến họ bám vào các cách tiếp cận quen thuộc. Cần lưu ý rằng Cisco đã cố gắng làm dịu viên thuốc một chút và thêm CLI “giống NXOS” vào bộ điều khiển, cho phép bạn thực hiện cấu hình từ một giao diện tương tự như các công tắc truyền thống. Tuy nhiên, để bắt đầu sử dụng ACI bình thường, bạn phải hiểu cách thức hoạt động của nó.

Về giá cả, ở quy mô lớn và trung bình, mạng ACI không thực sự khác biệt so với mạng truyền thống trên thiết bị của Cisco, vì các công tắc tương tự được sử dụng để xây dựng chúng (Nexus 9000 có thể hoạt động ở chế độ ACI và truyền thống và hiện đã trở thành công cụ chính "ngựa ô" cho các dự án trung tâm dữ liệu mới). Nhưng đối với các trung tâm dữ liệu của hai thiết bị chuyển mạch, tất nhiên, sự hiện diện của bộ điều khiển và kiến ​​​​trúc Spine-Leaf khiến chúng cảm thấy như vậy. Gần đây, một nhà máy Mini ACI đã xuất hiện, trong đó hai trong số ba bộ điều khiển được thay thế bằng máy ảo. Điều này làm giảm sự khác biệt về chi phí, nhưng nó vẫn còn. Vì vậy, đối với khách hàng, sự lựa chọn được quyết định bởi mức độ anh ta quan tâm đến các tính năng bảo mật, tích hợp với ảo hóa, một điểm kiểm soát duy nhất, v.v.

Nguồn: www.habr.com

Thêm một lời nhận xét