CHƯƠNG 3: TRIỂN KHAI GIẢI PHÁP TỰ PHÁT TRIỂN 3.1. Mục tiêu triển khai
3.3. Tổ chức triển khai
Quá trình triển khai được phân thành 4 giai đoạn:
- Khảo sát, quy hoạch đấu nối và lắp đặt bổ sung thiết bị.
- Cài đặt tích hợp SDN Controller.
- Đồng bộ tài nguyên.
- Cắt chuyển VM từ OpenStack sang hạ tầng SDN.
Ứng với mỗi giai đoạn sẽ có các yêu cầu đảm bảo cũng như các bước thực hiện sẽ
được tác giả trình bày chi tiết trong từng phần sau:
3.3.1. Quy hoạch đấu nối và triển khai lắp đặt thiết bị
Sơ đồ lắp đặt thực hiện trên cụm Cloud có sẵn có quy mô triển khai như đã nêu tại mục trên (mục 3.2), để cung cấp tính năng VxLAN cho cụm Cloud, nhóm triển khai quay hoạch đấu nối và lắp đặt, tích hợp bổ sung 1 cặp Switch Leaf HP 5940 (Hình 3.1).
Hình 3.1 - Sơ đồ lắp đặt
Quy hoạch đấu nối chi tiết: Cụm Cloud, thiết bị hiện tại và thiết bị lắp đặt bổ sung (1 cặp Switch Leaf HP 5940) được quy hoạch vị trí lắp đặt và đấu nối chi tiết tại Bảng 3.2. Cụ thể như sau:
STT Switch Port Switch Port Location
1 HLC9205CLO UD.CR01
XGigabitE thernet1/1/
0/30
HLC9105IT.CLO UD.LEAF.01
Ten
1/0/48 SPHL07_RACK19 2 HLC9205CLO
UD.CR02
XGigabitE thernet2/1/
0/30
HLC9105IT.CLO UD.LEAF.01
Ten
2/0/48 SPHL07_RACK19 3 HLC9205CLO
UD.CR01
XGigabitE thernet1/3/
0/8
HLC9105IT.CLO UD.LEAF.02
Ten
1/0/47 SPHL07_RACK19 4 HLC9205CLO
UD.CR02
XGigabitE thernet2/3/
0/8
HLC9105IT.CLO UD.LEAF.02
Ten
2/0/47 SPHL07_RACK19 5 HLC9105IT.CL
OUD.LEAF.01
M- GigabitEth
ernet0/0/0
HLC102DCN.N3
K.AC05 Eth1/39 Bảng 3.1 - Quy hoạch đấu nối
3.3.2. Cài đặt, tích hợp SDN controller 3.3.2.1. Cài đặt, tích hợp SDN controller
Đối với các hạ tầng mới, việc cài đặt và tích hợp hệ thống SDN controller diễn ra song song trong quá trình cài đặt NFVI (Openstack, VMware...) Nhưng đối với Viettel, hệ thống Cloud đã tồn tại và đang vận hành. Để tích hợp SDN controller cần phải cắt chuyển các VM từ hạ tầng Cloud đơn thuần sang hạ tầng Cloud có cài đặt SDN controller (Hình 3.1).
Cụ thể như sau:
- Dồn dịch tài nguyên tạo ra các compute trống.
- Cài đặt SDN controller trên 1 compute trống riêng.
- Các compute trống còn lại cài đặt thành phần vRouter.
- Cắt chuyển VM từ hạ tầng cũ sang hạ tầng được quản lý bởi SDN controller.
3.3.2.2. Công cụ Skydive
Skydive là công cụ giám sát topology mã nguồn mở, công cụ này được nhóm dự án phát triển do nhu cầu giám sát hạ tầng Cloud Underlay và Overlay trên 1 giao diện duy nhất, với các tính năng chính như sau:
- Phát hiện và mô phỏng topo mạng chứa các thiết bị vật lý bao gồm các switch, máy chủ và các cổng mạng vật lý, cũng như các thiết bị ảo như các máy ảo, containers, các cổng mạng ảo và các liên kết vật lý cũng như các liên kết ảo giữa chúng.
- Giám sát trạng thái hoạt động của từng nút mạng, giám sát thông số lưu lượng thời gian thực đi qua từng liên kết mạng.
- Nhanh chóng phát hiện vị trí của các nút mạng dựa trên địa chỉ IP và đường đi (nếu có) giữa hai địa chỉ IP bất kỳ.
Công cụ Skydive được phát triển dựa trên sử dụng các ngôn ngữ Golang (phát triển thành phần Agents và Analyzers), ngôn ngữ TyperScript triển khai dưới dạng NGINX
Hình 3.2 - Mô hình cắt chuyển
web server (phát triển giao diện người dùng) và sử dụng cơ sở dữ liệu Elasticsearch (phát triển cơ sở dữ liệu đồ thị). Tất cả các dịch vụ nói trên đều được đóng gói trong các Docker containers và triển khai trên các máy chủ một cách tự động thông qua Ansible.
Skydive được thiết kế bao gồm bốn thành phần chính:
- Agents: Được triển khai trên các máy chủ vật lý, đảm nhiệm vai trò phát hiện và giám sát trạng thái của các thực thể hoạt động trên máy chủ, bao gồm các cổng mạng, các máy ảo và containers.
- Analyzers: Tổng hợp các thông tin phát hiện được bởi agent thành một đồ thị thống nhất thể hiện một cách tổng thể topo mạng. Analyzer còn thực hiện truy vấn thông tin từ những thực thể bên ngoài (các switch vật lý, các API giám sát v.v.) để làm giàu thông tin cho đồ thị.
- Cơ sở dữ liệu: Lưu trữ đồ thị dưới dạng các nút và liên kết cũng như metadata tương ứng cho từng nút và liên kết.
- Giao diện người dùng web: Trực quan hóa topo mạng trên một giao diện người dùng thống nhất.
Việc sử dụng Skydive khá đơn giản, người sử dụng chỉ cần mở giao diện web đăng nhập tài khoản, mật khẩu (truy nhập OpenStack trước đó), sau đó có thể xem các thông số trạng thái hoặc vào các nút mạng để mở rộng để quan sát các thành phần con.
3.3.3. Đồng bộ tài nguyên
Giai đoạn đồng bộ tài nguyên được thực hiện với m
ục đích
đảm bảo các tài nguyên mạng bên OpenStack được đồng bộ sang Tungsten Fabric và thực hiện chạy dữliệu một lần.
Khi chuyển dịch từ hạ tầng Cloud cũ sang hạ tầng Cloud sử dụng SDN controller, do trong thông tin của SDN controller là Tungsten Fabric chưa có các thông tin về network của hạ tầng Cloud cũ nên những tài nguyên liên quan đến server như network, subnet, port, security group cần được đồng bộ sang SDN controller. Quá trình đồng bộ phải đảm bảo triển khai được cho tất cả các server đang chạy trên cụm hạ tầng cloud thực nghiệm, bao gồm server Ubuntu, CentOS và Windows.
Để đảm bảo cắt chuyển một server thành công, cần đảm bảo những điều kiện các tài nguyên liên quan đến server như network, subnet, port, security group phải được đồng bộ sang Tungsten Fabric SDN controller.
Có 5 bước thực hiện đồng bộ tài nguyên được thực hiện lần lượt như sau:
Bước 1: Login vào server và vào quyền root.
Bước 2: Run container convert-script để convert các tài nguyên network.
Bước 3: Chuyển đến thư mục tf-script và cập nhật code mới nhất
Bước 4: Chỉnh sửa thông tin authentication
Bước 5: Thực hiện convert các tài nguyên mạng từ OpenStack sang TF.
3.3.4. Triển khai cắt chuyển VM sang hạ tầng SDN
Quá trình cắt chuyển VM sang hạ tầng SDN được thực hiện qua 5 bước (Hình 3.2). Cụ
thể như sau:
Bước 1: Kiểm tra tình trạng hoạt động của VM, đơn vị quản lý vận hành VM.
Bước 2: Chạy tool đồng bộ, trích suất thông tin từ OpenStack sang SDN controller.
Bước 3: Thực hiện cắt chuyển VM sang hạ tầng SDN, sau khi cắt chuyển kiểm tra theo các Checklist.
Bước 4: Liên hệ đơn vị đang quản lý VM, phối hợp kiểm tra hoạt động của VM sau khi cắt chuyển.
Bước 5: Nếu các dịch vụ chạy trên VM hoạt động bình thường thì hoàn thành.
Trong trường hợp xảy ra bất cứ lỗi hay hiệu năng không đạt sẽ thực hiện Roll Back lại hạ tầng cũ.
3.4. Kết quả triển khai 3.4.1. Triển khai hệ thống
- Lắp đặt, cấu hình và tích hợp cặp Switch Leaf HP 5940 vào hạ tầng cụm vCloud hiện hữu, hệ thống phần cứng tương thích, hoạt động ổn định.
- Dồn dịch tài nguyên và cài đặt SDN controller trong cụm vCloud thành công, cài đặt Plugin trên OpenStack controller kết nối được 2 hệ thống OpenStack và SDN.
- Nhóm dự án đã phát triển được công cụ Skydive cho phép giám sát hạ tầng Cloud Underlay và Overlay trên 1 giao diện duy nhất.
Hình 3.3 – Các bước cắt chuyển
3.4.2. Kiểm tra tính năng, test dịch vụ và đảm bảo điều kiện đổ tải - Thực hiện được các testcase đánh giá tính năng của hệ thống SDN.
- Test khả năng Live migrate các máy ảo sang hạ tầng quản lý bởi SDN. Các VM hoạt động bình thường sau khi cắt chuyển.
- Phát triển công cụ Network Resource Synchronization Tool cho phép tự động đồng bộ tài nguyên sang SDN trước khi cắt chuyển máy ảo, công cụ cho phép migrate tài nguyên của 1 Network trong khoảng 5 phút thay vì 1 ngày theo cách làm thủ công.
- Xây dựng kịch bản cắt chuyển và Rollback khi có sự cố.
3.4.3. Tích hợp, đổ tải và đánh giá
- Tích hợp SDN controller vào Cloud của Viettel thành công.
- Cắt chuyển 80/80 máy ảo mang tải thật để đánh giá hoạt động của hệ thống và các máy ảo sau khi cắt chuyển.
- Sau khi triển khai, công cụ Skydive cho phép giám sát các kết nối của thiết bị Switch, Server, máy ảo trong cụm Cloud, giúp việc giám sát trở nên thuận tiện hơn (Hình 3.3).
Việc triển khai, tích hợp giải pháp SDN do đội dự án tự phát triển vào hạ tầng Cloud của Viettel không gây ảnh hưởng đến công tác vận hành và hoạt động của các VM đang chạy.