Trong một trung tâm dữ liệu hiện đại, phần lớn lưu lượng mạng còn chẳng buồn đi ra Internet. Nó chạy lòng vòng giữa server với server, ngay bên trong bốn bức tường - và chính sự thật này đã âm thầm viết lại toàn bộ cách người ta thiết kế mạng data center trong hơn một thập kỷ qua.
Lưu lượng trong data center được chia theo hai hướng. North-South là lưu lượng đi xuyên biên ra ngoài, giữa client và server, qua tường lửa perimeter để vào hoặc ra khỏi trung tâm dữ liệu. East-West là lưu lượng nội bộ, server nói chuyện với server, switch nói chuyện với switch, hoàn toàn không rời khỏi ranh giới vật lý. Với sự bùng nổ của ảo hóa và microservices, East-West giờ đây mới là phần chiếm khối lượng áp đảo, chứ không còn là North-South như thời web server truyền thống.
Kiến trúc mạng ba lớp truyền thống - Access, Distribution, Core - vốn được thiết kế cho một thế giới mà North-South là chính. Access layer dùng switch Top-of-Rack nối trực tiếp server. Distribution gộp các switch access lại, lo cân bằng tải và uplink tốc độ cao. Core là tầng trên cùng, định tuyến dung lượng lớn kết nối tới các dịch vụ lõi. Vấn đề là cấu trúc này cần chạy Spanning Tree Protocol để chặn vòng lặp switch phát sinh từ các liên kết dự phòng - mà STP thì luôn khóa chết một số đường liên kết ở trạng thái chờ, coi như lãng phí băng thông đã đầu tư.
Đó là lý do kiến trúc Spine-Leaf ra đời để thay thế dần mô hình ba lớp trong các data center hiện đại. Leaf là các switch access nối trực tiếp server, không leaf nào nối thẳng với leaf khác. Spine nối tới tất cả các leaf theo kiểu full-mesh. Kết quả là từ bất kỳ server nào đến bất kỳ server nào, số hop luôn bằng nhau, độ trễ luôn có thể dự đoán được, và một switch Spine chết cũng không tạo ra điểm lỗi đơn lẻ vì luôn còn đường khác chạy song song - không còn phải hy sinh băng thông cho STP như trước.
Song song với thay đổi về cấu trúc vật lý, SDN thay đổi cách quản lý mạng. Thay vì để từng switch, router tự quyết định đường đi một cách phân tán, SDN tách hẳn control plane - phần ra quyết định - khỏi data plane - phần chuyển tiếp gói tin vật lý, rồi gom control plane vào một bảng điều khiển trung tâm. Quản trị viên cấu hình toàn bộ chính sách mạng qua phần mềm, dùng SSH, SNMP hoặc gọi API trực tiếp, thay vì đăng nhập thủ công vào từng thiết bị.
Lưu trữ trong data center cũng đi theo một logic tách biệt tương tự. SAN là mạng lưu trữ chuyên dụng, khiến ổ đĩa từ xa hiện diện với server y như một ổ đĩa gắn cục bộ. Fibre Channel cho hiệu năng cao nhất nhưng đắt đỏ và cần hạ tầng cáp quang riêng. FCoE gói khung FC chạy trên hạ tầng Ethernet có sẵn để tiết kiệm chi phí đầu tư song song. iSCSI đơn giản nhất, chạy lệnh SCSI qua IP thông thường, rẻ và đủ dùng cho phần lớn doanh nghiệp vừa và nhỏ. InfiniBand dành riêng cho những khối lượng tính toán cần độ trễ cực thấp, thường thấy trong các cụm HPC hoặc AI training.
Bên dưới tất cả những lớp trên vẫn là bài toán muôn thuở: một ổ đĩa vật lý có thể hỏng bất cứ lúc nào, và RAID là câu trả lời kinh điển nhất cho việc đó. RAID 0 chỉ để tăng tốc, phân mảnh dữ liệu qua nhiều đĩa, không chịu được lỗi - một đĩa hỏng là mất trắng cả mảng. RAID 1 nhân bản dữ liệu, chịu được một đĩa hỏng nhưng tốn 50% dung lượng. RAID 5 dùng tối thiểu 3 đĩa, rải parity đều lên tất cả các đĩa, chịu được một đĩa hỏng mà không tốn dung lượng nhiều như RAID 1 - đây là lựa chọn cân bằng phổ biến nhất. RAID 6 thêm một lớp parity thứ hai, chịu được hai đĩa hỏng cùng lúc, đánh đổi bằng hiệu năng ghi chậm hơn. RAID 10 kết hợp phân mảnh và nhân bản, vừa nhanh vừa chịu lỗi tốt, nhưng đòi hỏi tối thiểu 4 đĩa và vẫn tốn nửa dung lượng như RAID 1. Với hệ thống cực lớn, RAID 50 và RAID 60 xếp chồng thêm một lớp phân mảnh lên trên các tập đĩa RAID 5 hoặc RAID 6 để vừa mở rộng dung lượng vừa giữ khả năng chịu lỗi.
Nhìn xuyên suốt cả chương, một điểm chung xuất hiện lặp đi lặp lại: từ kiến trúc mạng, cách quản lý, đến cách lưu trữ, mọi thiết kế hiện đại đều nhắm tới đúng hai mục tiêu - loại bỏ điểm lỗi đơn lẻ, và không để một thành phần trung tâm nào tự ý quyết định một mình.
Hệ thống chỗ bạn đang chạy theo kiến trúc ba lớp truyền thống hay đã chuyển sang Spine-Leaf rồi? Chia sẻ để mọi người cùng tham khảo nhé.

Lưu lượng trong data center được chia theo hai hướng. North-South là lưu lượng đi xuyên biên ra ngoài, giữa client và server, qua tường lửa perimeter để vào hoặc ra khỏi trung tâm dữ liệu. East-West là lưu lượng nội bộ, server nói chuyện với server, switch nói chuyện với switch, hoàn toàn không rời khỏi ranh giới vật lý. Với sự bùng nổ của ảo hóa và microservices, East-West giờ đây mới là phần chiếm khối lượng áp đảo, chứ không còn là North-South như thời web server truyền thống.
Kiến trúc mạng ba lớp truyền thống - Access, Distribution, Core - vốn được thiết kế cho một thế giới mà North-South là chính. Access layer dùng switch Top-of-Rack nối trực tiếp server. Distribution gộp các switch access lại, lo cân bằng tải và uplink tốc độ cao. Core là tầng trên cùng, định tuyến dung lượng lớn kết nối tới các dịch vụ lõi. Vấn đề là cấu trúc này cần chạy Spanning Tree Protocol để chặn vòng lặp switch phát sinh từ các liên kết dự phòng - mà STP thì luôn khóa chết một số đường liên kết ở trạng thái chờ, coi như lãng phí băng thông đã đầu tư.
Đó là lý do kiến trúc Spine-Leaf ra đời để thay thế dần mô hình ba lớp trong các data center hiện đại. Leaf là các switch access nối trực tiếp server, không leaf nào nối thẳng với leaf khác. Spine nối tới tất cả các leaf theo kiểu full-mesh. Kết quả là từ bất kỳ server nào đến bất kỳ server nào, số hop luôn bằng nhau, độ trễ luôn có thể dự đoán được, và một switch Spine chết cũng không tạo ra điểm lỗi đơn lẻ vì luôn còn đường khác chạy song song - không còn phải hy sinh băng thông cho STP như trước.
Song song với thay đổi về cấu trúc vật lý, SDN thay đổi cách quản lý mạng. Thay vì để từng switch, router tự quyết định đường đi một cách phân tán, SDN tách hẳn control plane - phần ra quyết định - khỏi data plane - phần chuyển tiếp gói tin vật lý, rồi gom control plane vào một bảng điều khiển trung tâm. Quản trị viên cấu hình toàn bộ chính sách mạng qua phần mềm, dùng SSH, SNMP hoặc gọi API trực tiếp, thay vì đăng nhập thủ công vào từng thiết bị.
Lưu trữ trong data center cũng đi theo một logic tách biệt tương tự. SAN là mạng lưu trữ chuyên dụng, khiến ổ đĩa từ xa hiện diện với server y như một ổ đĩa gắn cục bộ. Fibre Channel cho hiệu năng cao nhất nhưng đắt đỏ và cần hạ tầng cáp quang riêng. FCoE gói khung FC chạy trên hạ tầng Ethernet có sẵn để tiết kiệm chi phí đầu tư song song. iSCSI đơn giản nhất, chạy lệnh SCSI qua IP thông thường, rẻ và đủ dùng cho phần lớn doanh nghiệp vừa và nhỏ. InfiniBand dành riêng cho những khối lượng tính toán cần độ trễ cực thấp, thường thấy trong các cụm HPC hoặc AI training.
Bên dưới tất cả những lớp trên vẫn là bài toán muôn thuở: một ổ đĩa vật lý có thể hỏng bất cứ lúc nào, và RAID là câu trả lời kinh điển nhất cho việc đó. RAID 0 chỉ để tăng tốc, phân mảnh dữ liệu qua nhiều đĩa, không chịu được lỗi - một đĩa hỏng là mất trắng cả mảng. RAID 1 nhân bản dữ liệu, chịu được một đĩa hỏng nhưng tốn 50% dung lượng. RAID 5 dùng tối thiểu 3 đĩa, rải parity đều lên tất cả các đĩa, chịu được một đĩa hỏng mà không tốn dung lượng nhiều như RAID 1 - đây là lựa chọn cân bằng phổ biến nhất. RAID 6 thêm một lớp parity thứ hai, chịu được hai đĩa hỏng cùng lúc, đánh đổi bằng hiệu năng ghi chậm hơn. RAID 10 kết hợp phân mảnh và nhân bản, vừa nhanh vừa chịu lỗi tốt, nhưng đòi hỏi tối thiểu 4 đĩa và vẫn tốn nửa dung lượng như RAID 1. Với hệ thống cực lớn, RAID 50 và RAID 60 xếp chồng thêm một lớp phân mảnh lên trên các tập đĩa RAID 5 hoặc RAID 6 để vừa mở rộng dung lượng vừa giữ khả năng chịu lỗi.
Nhìn xuyên suốt cả chương, một điểm chung xuất hiện lặp đi lặp lại: từ kiến trúc mạng, cách quản lý, đến cách lưu trữ, mọi thiết kế hiện đại đều nhắm tới đúng hai mục tiêu - loại bỏ điểm lỗi đơn lẻ, và không để một thành phần trung tâm nào tự ý quyết định một mình.
Hệ thống chỗ bạn đang chạy theo kiến trúc ba lớp truyền thống hay đã chuyển sang Spine-Leaf rồi? Chia sẻ để mọi người cùng tham khảo nhé.