Đăng ký Đăng nhập
Trang chủ Xây dựng chuỗi chức năng mạng ảo hóa (sfc) sử dụng container trên nền tảng opens...

Tài liệu Xây dựng chuỗi chức năng mạng ảo hóa (sfc) sử dụng container trên nền tảng openstack

.PDF
69
1
54

Mô tả:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ Khoa Kỹ thuật truyền thông LUẬN VĂN THẠC SĨ Đề tài: Xây dựng chuỗi chức năng mạng ảo hóa (SFC) sử dụng container trên nền tảng OpenStack. Giáo viên hướng dẫn: TS. Nguyễn Xuân Dũng Học viên: Nguyễn Minh Ngọc CB190170 Lớp: 19BKTVT Hà Nội, tháng 09/2022 LỜI NÓI ĐẦU Hệ thống mạng viễn thông hiện tại được vận hành sử dụng các thiết bị phần cứng độc quyền của nhiều nhà cung cấp khác nhau. Việc vận hành dịch vụ mạng (network service) mới đồng nghĩa với việc sử dụng thêm nhiều thiết bị hơn, đòi hỏi phải mở rộng không gian để triển khai, đặt ra vấn đề về việc chi phí năng lượng ngày càng tăng, thách thức về vốn đầu tư, yêu cầu các kỹ năng cần thiết để thiết kế, tích hợp và vận hành các thiết bị mạng vật lý càng ngày càng phức tạp. Ngoài ra vòng đời các thiết bị phần cứng cũng không dài, yêu cầu có kế hoạch về chu kì thiết kế - tích hợp - triển khai phù hợp. Tệ hơn, vòng đời của phần cứng đang ngày một ngắn dần do sự phát triển nhanh chóng của các dịch vụ và công nghệ, gây khó khăn cho việc triển khai các dịch vụ mạng mới để thu về lợi nhuận, hạn chế sự đổi mới bởi vì xu hướng hiện tại là hướng về các giải pháp mạng lưới tập trung. Network Functions Virtualization (NFV) mang đến cách thức mới để thiết kế, triển khai và quản lý các dịch vụ mạng, sử dụng các công nghệ ảo hóa tiêu chuẩn hiện tại để hợp nhất nhiều loại thiết bị mạng. NFV tách biệt các chức năng mạng (NAT, firewalling, intrusion detection, DNS, caching) khỏi các thiết bị vật lý và triển khai dưới hình thức phần mềm và có thể chạy trên các server vật lý truyền thống, đồng thời có thể di chuyển hoặc được khởi tạo trên nhiều vị trí trong hệ thống mạng theo yêu cầu mà không cần phải triển khai thiết bị mới như trước đây. Ngày nay, việc triển khai các chức năng mạng bảo vệ các ứng dụng bên trong của trung tâm dữ liệu là mối quan tâm hàng đầu của các nhà cung cấp dịch vụ. Tùy thuộc vào từng ứng dụng và nhu cầu truy cập ứng dụng của khách hàng, mà mỗi ứng dụng dịch vụ bên trong lại cần có các cơ chế bảo mật khác nhau. Ở các trung tâm dữ liệu ngày nay, các máy chủ web server phải đối mặt với nhiều hiểm họa từ Internet. Đó là các cuộc tấn công mạng diễn ra ngày càng tinh vi, mức độ lớn hơn và khó đối phó hơn. Do đó, để giải quyết những vấn đề trên, luận văn đã trình bày nghiên cứu, thử nghiệm triển khai chuỗi chức năng mạng ảo hóa gồm các chức năng Tường lửa và Hệ thống phát hiện xâm nhập dựa trên công nghệ NFV để bảo vệ máy chủ web server bên trong trung tâm dữ liệu. Trong đó, một số công nghệ được áp dụng đó là: Công nghệ ảo hóa, điện toán đám mây, mã nguồn mở OpenStack, công nghệ ảo hóa chức năng mạng và chuỗi dịch vụ mạng. 1 MỤC LỤC LỜI NÓI ĐẦU................................................................................................................ 1 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT ........................................................... 4 DANH MỤC HÌNH VẼ ................................................................................................ 5 DANH MỤC BẢNG BIỂU ........................................................................................... 7 TÓM TẮT ...................................................................................................................... 8 CHƯƠNG 1. MỞ ĐẦU ................................................................................................. 9 1.1. Đặt vấn đề.......................................................................................................... 9 1.2. Đề xuất hướng giải quyết ................................................................................. 9 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT CHUNG ........................................................... 10 2.1. Tổng quan về điện toán đám mây .................................................................. 10 2.1.1. Giới thiệu về điện toán đám mây ............................................................. 10 2.1.2. Các đặc trưng của điện toán đám mây .................................................... 11 2.1.3. Lợi ích và hướng tiếp cận của điện toán đám mây ................................. 16 2.2. Tổng quan về công nghệ ảo hóa ..................................................................... 17 2.2.1. Giới thiệu về công nghệ ảo hóa ............................................................... 17 2.2.2. So sánh ảo hóa máy chủ và ảo hóa Container ........................................ 21 2.2.3. Công nghệ ảo hóa container sử dụng Docker......................................... 24 2.3. Giới thiệu OpenStack ...................................................................................... 25 2.3.1. Khái niệm và đặc điểm của OpenStack ................................................... 25 2.3.2. Kiến trúc của OpenStack .......................................................................... 27 2.3.3. Containerlization trong OpenStack ......................................................... 29 2.3.4. Tích hợp ảo hóa máy chủ và ảo hóa Container vào OpenStack ............ 31 2.3.5. Kết luận và đưa ra định hướng xây dựng đề tài nghiên cứu ...................... 34 2.4. Tổng quan về công nghệ ảo hóa chức năng mạng – Network Function Virtualization (NFV) .............................................................................................. 35 2.4.1. Giới thiệu về công nghệ ảo hóa chức năng mạng .................................. 35 2.4.2. Lợi ích của công nghệ ảo hóa chức năng mạng ..................................... 35 2.4.3. Các trường hợp sử dụng của NFV .......................................................... 36 2.5. Tổng quan về chuỗi chức năng mạng – Service Function Chaning (SFC) 42 2.5.1. Giới thiệu về chuỗi chức năng mạng....................................................... 42 2.5.2. Ứng dụng của SFC trong một số trường hợp cụ thể .............................. 43 2.6. Kết luận và đưa ra định hướng nghiên cứu .................................................. 46 CHƯƠNG 3. XÂY DỰNG CHUỖI CHỨC NĂNG MẠNG .................................... 47 2 3.1. Xây dựng nền tảng cloud quản lý các chức năng mạng ảo hóa .................. 47 3.1.1. Dựng OpenStack để triển khai NFV ....................................................... 47 3.1.2. Triển khai Container trên OpenStack ..................................................... 49 3.1.3. Một số thao tác quản lý Container cơ bản của OpenStack Zun ............ 51 3.2. Xây dựng luồng đi chuỗi chức năng mạng SFC ........................................... 52 3.2.1. SFC trong trung tâm dữ liệu .................................................................... 52 3.2.2. Công nghệ xây dựng chuỗi chức năng mạng trên OpenStack .............. 53 3.3. Xác định các công nghệ sử dụng làm các chức năng mạng ......................... 54 3.3.1. Chức năng mạng Firewall - Iptables ....................................................... 54 3.3.2. Chức năng mạng phát hiện xâm nhập (IDS) – Suricata........................ 56 3.3.2. Chức năng mạng giám sát – Grafana ..................................................... 57 3.4. Triển khai mô hình .......................................................................................... 58 3.4.1. Đồ hình vật lý ............................................................................................ 58 3.4.2. Kịch bản kiểm thử .................................................................................... 59 3.4.3. Kết quả dựng mô hình .............................................................................. 60 3.4.4. Kết quả dựng networking-SFC trên OpenStack ..................................... 61 3.5. Kết luận ............................................................................................................ 62 CHƯƠNG 4. KẾT QUẢ ĐO ĐẠC VÀ ĐÁNH GIÁ................................................. 63 4.1. Kiểm chứng nguồn lưu lượng đi đúng theo mô hình SFC đã dựng ........... 63 4.2. Đo lượng sử dụng tài nguyên trên Suricata .................................................. 65 4.3. Đánh giá kết quả .............................................................................................. 66 4.4. Hạn chế ............................................................................................................. 66 KẾT LUẬN .................................................................................................................. 67 TÀI LIỆU THAM KHẢO .......................................................................................... 68 3 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT Từ viết tắt Tiếng Anh NFV Network Function Virtualization SFC Service Function Chain CSP Cloud Service Provider ASP Application Service Provider ISP CNTT CPU RAM OS NAT IDS VPN DPI WAN VNF Internet Service Provider Công nghệ thông tin Central Processing Unit Random Access Memory Operating System Network Address Translation Intrusion Detection System Virtual Private Network Deep Packet Inspection Wide Area Network Virtual Network Function CPE Customer Premises Equipment CDN Content Delivery Network FTTH Firber to the Home DC NIDS HIDS VM IP DMZ QoS Data Center Network-based IDS Host-based IDS Virtual Machine Internet Protocol Demilitarized Zone Quality of Service DHCP Dynamic Host Configuration Protocol Tiếng Việt Ảo hóa chức năng mạng Chuỗi dịch vụ Nhà cung cấp dịch vụ đám mây Nhà cung cấp dịch vụ ứng dụng Nhà cung cấp dịch vụ Internet Bộ xử lý trung tâm Bộ nhớ truy cập ngẫu nhiên Hệ điều hành Chuyển đổi địa chỉ mạng Hệ thống phát hiện xâm nhập Mạng riêng ảo Phân tích gói sâu Mạng diện rộng Chức năng mạng ảo Thiết bị mạng đặt phía khách hàng Mạng phân phối nội dung Mạng viễn thông băng rộng dùng cáp quang Trung tâm dữ liệu Máy ảo Vùng mạng riêng máy chủ Chất lượng dịch vụ Giao thức cấp phát động địa chỉ IP 4 DANH MỤC HÌNH VẼ Hình 2. 1. Mô hình triển khai Cloud Computing ..................................................................... 11 Hình 2. 2. Hình ảnh định nghĩa mô hình điện toán đám mây ................................................... 11 Hình 2. 3. Mô hình Public Cloud ............................................................................................. 14 Hình 2. 4. Mô hình Private Cloud ............................................................................................ 14 Hình 2. 5. Mô hình Hybrid Cloud ............................................................................................ 15 Hình 2. 6. Kiến trúc x86 virtualization ..................................................................................... 18 Hình 2. 7. Ảo hóa loại 1 – Bare-Metal Hypervisor .................................................................. 20 Hình 2. 8. Ảo hóa loại 2 – Hosted-Metal Hypervisor .............................................................. 20 Hình 2. 9. Mô hình máy chủ truyền thống ............................................................................... 21 Hình 2. 10. Mô hình máy ảo Virtual Machine ......................................................................... 22 Hình 2. 11. Mô hình ảo hóa Container ..................................................................................... 23 Hình 2. 12. Hệ thống file cắt lớp của container ........................................................................ 23 Hình 2. 13. So sánh sự khác biệt giữa VM và container .......................................................... 24 Hình 2. 14. Vị trí của OpenStack trong thực tế ........................................................................ 26 Hình 2. 15. Kiến trúc mức khái niệm của Openstack ............................................................... 27 Hình 2. 16. Các thành phần của OpenStack ............................................................................. 28 Hình 2. 17. Thành phần môi trường OpenStack để tạo Instance .............................................. 31 Hình 2. 18. Tạo Instance trong OpenStack............................................................................... 32 Hình 2. 19. Ba mô hình tích hợp Container vào OpenStack .................................................... 33 Hình 2. 20. Mô hình Ảo hóa chức năng mạng NFVIaas .......................................................... 37 Hình 2. 21. Mô hình triển khai CPE truyền thống và vCPE .................................................... 37 Hình 2. 22. Các doanh nghiệp sử dụng chung nền tảng để thực hiện phát triển các dịch vụ mạng của chính mình ..................................................................................................... 38 Hình 2. 23. VNF Forwarding Graph ........................................................................................ 39 Hình 2. 24. Ứng dụng của NFV trong môi trường mạng gia đình ........................................... 40 Hình 2. 25. Các nút CDN ảo hóa được triển khai trong một môi trường ảo hóa ..................... 41 Hình 2. 26. Một chuỗi SFC đơn giản ....................................................................................... 42 Hình 2. 27. Ứng dụng của SFC trong mạng Fixed Boradband Network ................................. 43 Hình 2. 28. Triển khai SFC trong mạng di động ...................................................................... 44 Hình 2. 29. Các mạng dùng chung chuỗi dịch vụ mạng........................................................... 45 Hình 2. 30. SFC trong trung tâm dữ liệu .................................................................................. 45 Hình 2. 31. SFC trong các thiết bị Cloud CPE ......................................................................... 46 Hình 3. 1. Mô hình testbed mức logic ...........................................................................47 Hình 3. 2. Mô hình triển khai vật lý ..............................................................................47 Hình 3. 3. Mô hình triển khai testbed dựa trên OpenStack ...........................................48 Hình 3. 4. Kiến trúc project Zun....................................................................................50 Hình 3. 5. Kiến trúc Kuryr.............................................................................................51 Hình 3. 6. Chuỗi các chức năng mạng trong trung tâm dữ liệu ....................................53 Hình 3. 7. Cấu trúc networking – SFC trong OpenStack ..............................................54 Hình 3. 8. Quá trình xử lý gói tin của Iptables ..............................................................55 Hình 3. 9. Hai loại hệ thống IDS ...................................................................................56 5 Hình 3. 10. Giám sát số liệu hệ thống với Grafana .......................................................57 Hình 3. 11. Đồ hình vật lý triển khai của testbed ..........................................................59 Hình 3. 12. Đồ hình triển khai các máy ảo trong OpenStack ........................................60 Hình 3. 13. Chuỗi chức năng mạng ...............................................................................61 Hình 3. 14. Kết quả tạo port pair trên các cổng nối container.......................................61 Hình 3. 15. Kết quả tạo port-pair-group ........................................................................61 Hình 3. 16. Kết quả tạo Flow Classifier ........................................................................62 Hình 4. 1.Thực hiện ping từ máy bên ngoài vào máy chủ Web ....................................63 Hình 4. 2. Luồng lưu lượng đi qua Iptables ..................................................................64 Hình 4. 3. Luồng lưu lượng gửi qua Suricata ................................................................64 Hình 4. 4.Lưu lượng được gửi tới máy Webserver .......................................................65 Hình 4. 5. Kết quả sử dụng CPU trên Suricata khi tải tăng dần ....................................65 Hình 4. 6. Lượng bộ nhớ sử dụng để xử lý gói tin trên Suricata khi tải tăng dần .........66 6 DANH MỤC BẢNG BIỂU Bảng 2. 1. Bảng so sánh mô hình mạng truyền thống và mô hình mạng ứng dụng NFV .............................................................................................................................36 Bảng 3. 1. Thông số vật lý 2 node .................................................................................48 Bảng 3. 3 Thông số phần cứng và cấu hình hai nút server ............................................59 Bảng 3. 4 Thông số máy ảo triển khai trong OpenStack ...............................................60 7 TÓM TẮT Chuỗi chức năng dịch vụ (Service Function Chaining - SFC) là công nghệ quy định các chính sách chuyển tiếp lưu lượng tách biệt trong vùng chuỗi dịch vụ. Chuỗi các chức năng dịch vụ mạng SFC định nghĩa và tạo ra một chuỗi các dịch vụ mạng theo thứ tự mong muốn và điều khiển lưu lượng truy cập thông qua chúng. Hiện nay, kiến trúc mạng của các nhà khai thác mạng được phân bổ nhiều thiết bị phần cứng độc quyền. Ứng với mỗi loại dịch vụ, mỗi chức năng mạng lại có các thiết bị phần cứng chuyên trách đảm nhận. Các thiết bị này còn đang có một số hạn chế như: chi phí thiết bị cao, khó quản lý tập trung, độ tương thích thấp với hệ thống của nhiều hãng khác dẫn tới doanh nghiệp phải phụ thuộc vào một số hãng phần cứng nhất định. Do đó, để cung cấp các dịch vụ mạng khác nhau một cách linh hoạt cho khách hàng vẫn còn là một vấn đề gây đau đầu cho các nhà cung cấp mạng. Trong luận văn, tôi xin trình bày về công nghệ ảo hóa chức năng mạng (NFV) và các lợi ích của chuỗi dịch vụ mạng (SFC), các trường hợp sử dụng hai công nghệ đó đem lại lợi ích như thế nào cho các nhà cung cấp dịch vụ mạng và khách hàng. Đây là cơ sở tiền đề để phục vụ cho bước nghiên cứu tiếp theo đó là xây dựng hệ thống chuỗi chức năng mạng sử dụng các chức năng mạng ảo hóa trên nền tảng OpenStack với quy mô nhỏ để kiểm thử các tính năng và đánh giá hiệu năng hoạt động của chuỗi chức năng. Mô hình hệ thống triển khai với chức năng mạng ảo Tường lửa và Hệ thống phát hiện xâm nhập để bảo vệ máy chủ web trong trung tâm dữ liệu. Giám sát số liệu thống kê từ các chức năng mạng ảo để tính toán được lượng tài nguyên phù hợp sử dụng trong triển khai thực tế, cũng như đo đạc, đánh giá chất lượng dịch vụ của chuỗi. Qua đó, tạo bước đệm để nghiên cứu sâu hơn về lĩnh vực này. 8 CHƯƠNG 1. MỞ ĐẦU 1.1. Đặt vấn đề Ngày nay, triển khai các chức năng mạng bảo vệ các ứng dụng bên trong của trung tâm dữ liệu là mối quan tâm hàng đầu của các nhà cung cấp dịch vụ. Tùy thuộc vào từng ứng dụng và nhu cầu truy cập ứng dụng của khách hàng, mà mỗi ứng dụng dịch vụ bên trong lại cần có các cơ chế bảo mật khác nhau, luồng lưu lượng từ bên ngoài vào từng ứng dụng dịch vụ bên trong lại cần đi qua các chuỗi dịch vụ mạng bảo vệ khác nhau. Tuy nhiên, hiện tại, việc triển khai chuỗi các dịch vụ chức năng còn một số hạn chế sau: Phụ thuộc vào cấu trúc vật lý: bởi hầu hết các chức năng dịch vụ mạng được đặt tại các thiết bị phần cứng: như tường lửa, cân bằng tải, ... những dịch vụ này được kết hợp bằng cấu trúc liên kết vật lý cơ bản. Các chức năng mạng được thêm vào chuỗi cần phải theo một thứ tự nghiêm ngặt. Do đó, việc xóa hoặc bổ sung các chức năng này trở nên cực kì phức tạp vì nó yêu cầu thay đổi trong cấu trúc mạng vật lý. Điều này làm ngăn cản các nhà khai thác mạng sử dụng tối ưu các tài nguyên mạng. Sự phụ thuộc vào cấu trúc vật lý cũng dẫn đến hạn chế tính linh hoạt trong việc phân phối dịch vụ vì nó có thể yêu cầu những thay đổi đáng kể trong cấu hình mạng hiện tại. Các nhà khai thác mạng không có cách nhất quán để áp đặt và xác minh vị trí và thứ tự của các chức năng dịch vụ mạng. Từ đó dẫn tới việc cung cấp dịch vụ chậm, không linh hoạt. 1.2. Đề xuất hướng giải quyết Triển khai SFC bằng cách kết hợp NFV với điều khiển luồng lưu lượng giữa các VNF là một giải pháp tuyệt với để xử lý những hạn chế còn tồn tại nêu trên. Với mục đích cuối cùng là bảo vệ máy chủ web server khỏi các hiểm họa từ bên ngoài, giải pháp đưa ra là triển khai các chuỗi chức năng mạng có tính năng tường lửa và hệ thống phát hiện xâm nhập để lọc luồng lưu lượng trước khi đưa vào máy chủ web. Chuyên đề nghiên cứu này gồm các phần sau: • Tìm hiểu về công nghệ ảo hóa và điện toán đám mây • Tổng quan về mã nguồn mở OpenStack trong triển khai điện toán đám mây • Tìm hiểu SFC và các trường hợp triển khai SFC Nội dung được chia thành các phần như sau: Chương 1: Nêu vấn đề, phân tích từ đó trình bày lý do chọn đề tài và đề xuất hướng giải quyết, khắc phục. Chương 2: Trình bày tóm tắt về cơ sở lý thuyết chung, các thành phần liên quan tới việc chuyên đề nghiên cứu. Từ đó đưa ra kết luận và định hướng xây dựng mô hình kiểm thử cho nghiên cứu sau này. Chương 3: Thực hiện xây dựng mô hình kiểm thử chuỗi chức năng mạng ảo hóa. Trình bày các thành phần trong mô hình kiểm thử. 9 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT CHUNG Chương 2 sẽ trình bày tổng quan về điện toán đám mây, những hiểu biết căn bản về công nghệ ảo hóa, đặc biệt là 2 công nghệ ảo hóa dẫn đầu xu hướng hiện nay là ảo hóa Docker và Containerlization. Từ đó áp dụng xây dựng và quản lý container trên nền tảng OpenStack, đưa ra kết luận và định hướng xây dựng mô hình kiểm thử. 2.1. Tổng quan về điện toán đám mây 2.1.1. Giới thiệu về điện toán đám mây Cloud computing (Điện toán đám mây – Điện toán máy chủ ảo) giúp cho các tài nguyên của hệ thống máy tính, đặc biệt là khả năng lưu trữ và tính toán, có sẵn theo yêu cầu mà không cần người dùng quản lý trực tiếp. Định nghĩa điện toán đám mây được dịch từ NIST – Viện tiêu chuẩn và công nghệ quốc qua của Mỹ: Điện toán đám mây là mô hình cho phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên có thể được tính toán (ví dụ như: mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ) theo nhu cầu một cách thuận tiện và nhanh chóng; đồng thời cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyên dễ dàng, giảm thiểu các giao tiếp với nhà cung cấp [1]. Điện toán đám mây giúp cho việc thao tác, cấu hình truy cập tài nguyên phần cứng và phần mềm có thể diễn ra từ xa. Nó cung cấp các nền tảng độc lập, do phần mềm không bắt buộc phải được cài đặt trên máy tính cục bộ. Người dùng sử dụng dịch vụ như cơ sở dữ liệu, website, lưu trữ, … trong mô hình điện toán đám mây không cần quan tâm đến vị trí địa lý cũng như các thông tin khác của hệ thống mạng đám mây - “Điện toán đám mây trong suốt đối với người dùng”. Người dùng cuối truy cập và sử dụng các ứng dụng đám mây thông qua các ứng dụng như trình duyệt web, các ứng dụng mobile, hoặc máy tính cá nhân thông thường. Hiệu năng sử dụng phía người dùng cuối được cải thiện khi các phần mềm chuyên dụng, các cơ sở dữ liệu được lưu trữ và cài đặt trên hệ thống máy chủ ảo trong môi trường điện toán đám mây trên nền của “Data Center”. “Data center” là thuật ngữ chỉ khu vực chứa server và các thiết bị lưu trữ, bao gồm nguồn điện và các thiết bị khác như rack, cable, … có khả năng sẵn sàng và độ ổn định cao. Ngoài ra còn bao gồm các tiêu chí khác như: tính module hóa cao, khả năng mở rộng dễ dàng, nguồn và làm mát, hỗ trợ hợp nhất server và lưu trữ mật độ cao [2]. Điện toán đám mây được hình thành bằng cách kết hợp công nghệ ảo hóa trên các nút máy chủ vật lý lại với nhau trên mạng vật lý, kết hợp lưu trữ có chia sẻ và phối hợp quản lý trên toàn bộ cơ sở hạ tầng, rồi cung cấp cân bằng tải. Mô hình cơ sở hạ tầng của điện toán đám mây được mô tả trong hình sau: 10 Hình 2. 1. Mô hình triển khai Cloud Computing Hình 2.1 cho thấy người sử dụng (user) có thể được truy cập cơ sở hạ tầng điện toán đám mây từ bất kỳ thiết bị nào và từ bất kỳ đâu trên thế giới. Đám mây là một điểm truy cập duy nhất cho tất cả các máy tính có nhu cầu của khách hàng. Các dịch vụ cần đáp ứng yêu cầu chất lượng dịch vụ từ phía khách hàng và thông thường đều đưa ra các mức thỏa thuận dịch vụ. Các tiêu chuẩn mở và phần mềm mã nguồn mở cũng góp phần phát triển điện toán máy chủ ảo. 2.1.2. Các đặc trưng của điện toán đám mây Công nghệ Cloud Computing – Điện toán đám mây bao gồm năm tính năng chính với 4 mô hình triển khai và 3 mô hình dịch vụ. Hình 2. 2. Hình ảnh định nghĩa mô hình điện toán đám mây 11 Hình 2.2 đưa ra các đặc trưng của điện toán đám mây bao gồm năm tính năng chính, bốn mô hình triển khai và ba mô hình dịch vụ. Đặc điểm của các phần này được nêu chi tiết dưới đây. Năm tính năng chính: • Rapid elasticity (Tính đàn hồi cao): các khả năng tính toán tài nguyên có thể được cung cấp và giải phóng một cách đàn hồi để mở rộng nhanh chóng ra bên ngoài đồng thời bên trong tương ứng với nhu cầu sử dụng. Đối với khách hàng, các khả năng có sẵn thường xuất hiện không bị giới hạn và thích hợp với mọi số lượng ở bất kỳ thời điểm nào. • Broad network (Khả năng truy cập qua các mạng chuẩn): khả năng truy cập nhiều kiểu hạ tầng mạng khác nhau, hỗ trợ nhiều nền tảng thiết bị, nhiều hạ tầng vật lý (điện thoại di động, máy tính, máy trạm, …). • Measured service (Tính toán dịch vụ): hệ thống cloud có thể tự động điều khiển và tối ưu hóa tài nguyên ở một số level của tài nguyên dịch vụ như: lưu trữ xử lý, băng thông và kích hoạt tài khoản. Lưu lượng sử dụng tài nguyên có thể được quản lý, điều khiển, báo cáo cho cả nhà cung cấp và khách hàng sử dụng dịch vụ. Từ đó có thể tính toán được chi phí của người sử dụng. • On–demand selft service (Tự phục vụ theo nhu cầu): người dùng có thể đơn phương cung cấp các khả năng tính toán, ví dụ như thời gian máy chủ, lưu trữ mạng, một cách tự động mà không cần tới tương tác giữa họ với nhà cung cấp dịch vụ. • Resource pooling (Dùng chung tài nguyên mạng): tài nguyên tính toán được của nhà cung cấp được dùng chung cho nhiều khách hàng sử dụng dịch vụ đa thuê bao, với những nguồn tài nguyên vật lý và ảo khác nhau được phân công và bố trí theo nhu cầu của người sử dụng. Khách hàng không thể xác định và biết được vị trí chính xác của nguồn tài nguyên nhưng mà có thể dễ dàng xác định được vị trí cung cấp nguồn tài nguyên một cách tương đối (quốc gia, liên bang, trung tâm dữ liệu). Gộp chung nguồn tài nguyên của nhiều máy chủ với nhau thành một khối thống nhất, rồi sau đó sẽ san sẻ tài nguyên cho người dùng với mục đích dễ quản lý, cấp phát tài nguyên dễ dàng, nhanh chóng. Ba mô hình cung cấp dịch vụ: Đặc trưng tiêu biểu của các dịch vụ điện toán đám mây (Cloud Computing) là cung cấp cơ sở hạ tầng, nền tảng và phần mềm như là dich vụ máy chủ ảo; đồng thời có thể được cung ứng như là một dich vụ cho thuê trong cách dùng bao nhiêu trả bấy nhiêu đối với người dùng. Mô hình dịch vụ của điện toán đám mây bao gồm: • Software as a Service (Saas): khách hàng sử dụng những ứng dụng chạy trên nền tảng cloud của nhà cung cấp. Các ứng dụng có thể truy cập được từ các thiết bị thông 12 qua giao diện với người dùng, khách hàng không có quyền quản lý và điểu khiển kiến trúc hạ tầng của cloud như mạng, server, lưu trữ, hệ thống vận hành và thậm chí cả một vài ứng dụng cá nhân … do đó hạn chế người dùng về việc cấu hình đặc biệt cho các ứng dụng (người dùng không cần quan tâm xem cloud triển khai như thé nào, chỉ cần thuê và sử dụng dịch vụ thông qua các phần mềm client (Web Browser …). • Platform as a Service (PaaS): nền tảng như một dịch vụ. Cung cấp các dịch vụ về nền tảng, môi trường lập trình, database, … để khách hàng phát triển các ứng dụng của mình (thông thường nền tảng này cung cấp cho các developer). Ví dụ: Azue, Bluemix, OpenShift, … Nhưng khách hàng không được quản lý các kiến trúc hạ tầng của cloud mà chỉ được phép điều khiển các ứng dụng triển khai và có thể đồng bộ cài đặt cho môi trường quản lý ứng dụng. • Infrastructure as a Service (IaaS): cung cấp các dịch vụ về hạ tầng, các máy chủ, tài nguyên tính toán (RAM, CPU), lưu trữ. Trên đó người dùng sẽ tạo các máy ảo với hệ điều hành, triển khai ứng dụng theo nhu cầu của mình (người dùng không được điều khiển hạ tầng cloud nhưng có thể điều khiển được hệ thống OS, khả năng lưu trữ, các ứng dụng được triển khai, và có thể có một số quyền kiểm soát chọn mạng). 4 mô hình triển khai: • Public cloud: hạ tầng Cloud được cung cấp cho tất cả mọi người dùng thông thường. Được xây dựng nhằm phục vụ cho mục đích sử dụng công cộng. Khách hàng sẽ đăng kí với nhà cung cấp và trả phí sử dụng dựa theo chính sách của nhà cung cấp. Public cloud là mô hình triển khai được sử dụng phổ biến nhất hiện nay của cloud computing. - Đối tượng sử dụng: bao gồm người dùng bên ngoài Internet. Đối tượng quản lý là nhà cung cấp dịch vụ. - Ưu điểm: phục vụ được nhiều người dùng hơn, không bị giới hạn bởi không gian và thời gian. tiết kiệm hệ thống máy chủ, điện năng và nhân công cho doanh nghiệp. - Nhược điểm: các doanh nghiệp phụ thuộc vào nhà cung cấp không có toàn quyền quản lý. Gặp khó khăn trong việc lưu trữ các văn bản, thông tin nội bộ. Tuy nhiên Public Cloud có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu và vấn đề an toàn dữ liệu. Trong mô hình này mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch vụ Cloud đó bảo vệ và quản lý. Chính điều này khiến cho khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối với những dữ liệu quan trọng của mình khi sử dụng dịch vụ Public Cloud. 13 Hình 2. 3. Mô hình Public Cloud Hình 2.3 chỉ ra đặc điểm của mô hình Public Cloud. Các khách hàng (user) sẽ đăng kí dịch vụ mình cần sử dụng với nhà cung cấp đám mây. Người quản trị (administrator) của nhà cung cấp có nhiệm vụ quản lý các dịch vụ và khách hàng này. • Private Cloud: nền tảng cloud được cung cấp độc quyền cho 1 tổ chức bao gồm nhiều đối tượng (như công ty kinh doanh ...). Nó có thể được làm chủ, điều khiển và vận hành bởi một tổ chức – một thành viên thứ ba, hoặc là có sự kết hợp giữa hai bên, có thể tồn tại hoặc không … Đây là xu hướng tất yếu cho các doanh nghiệp nhằm tối ưu hóa hạ tầng công nghệ thông tin. Hình 2. 4. Mô hình Private Cloud - Đối tượng sử dụng: nội bộ doanh nghiệp sử dụng và quản lý. Ưu điểm: chủ động sử dụng, nâng cấp, quản lý, giảm chi phí, bảo mật tốt, … 14 - Nhược điểm: khó khăn về công nghệ khi triển khai và chi phí xây dựng, duy trì hệ thống. hạn chế sử dụng trong nội bộ doanh nghiệp, người dùng ở ngoài không thể sử dụng. • Hybrid cloud: là sự kết hợp của private cloud và public cloud. Cho phép ta khai thác điểm mạnh của từng mô hình cũng như đưa ra phương thức sử dụng tối ưu cho người sử dụng. Những “đám mây” này thường do doanh nghiệp tạo ra và việc quản lý sẽ được phân chia giữa doanh nghiệp và nhà cung cấp điện toán đám mây công cộng. Hình 2. 5. Mô hình Hybrid Cloud Hình 2.5 đưa ra mô hình Hybrid Cloud là sự kết hợp của hai mô hình Public Cloud và Private Cloud. - Đối tượng sử dụng: doanh nghiệp và nhà cung cấp quản lý theo sự thỏa thuận. Người sử dụng có thể sử dụng các dịch vụ của nhà cung cấp và dịch vụ riêng của doanh nghiệp. - Ưu điểm: doanh nghiệp 1 lúc có thể sử dụng được nhiều dịch vụ mà không bị giới hạn. - Nhược điểm: khó khăn trong việc triển khai và quản lý. Tốn nhiều chi phí. Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay Hybrid Cloud tùy theo nhu cầu cụ thể. Mỗi mô hình đều có điểm mạnh và yếu của nó. Các doanh nghiệp phải cân nhắc đối với các mô hình điện toán đám mây mà họ chọn. Và họ có thể sử dụng nhiều mô hình để giải quyết các vấn đề khác nhau. Nhu cầu về một ứng dụng có tính tạm thời có thể triển khai trên Public Cloud bởi vì nó giúp tránh việc phải mua thêm thiết bị để giải quyết một nhu cầu tạm thời. Tương tự, nhu cầu về một ứng dụng thường trú hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí của dữ liệu thì nên triển khai trên Private hoặc Hybrid Cloud. • Community cloud: nền tảng cloud được cung cấp độc quyền cho một tổ chức người sử dùng đến từ các tổ chức có chung một mối quan tâm về mục đích, nhiệm vụ, 15 chính sách. Nó có thể được quản lý, vận hành bởi một hoặc nhiều tổ chức trong cộng đồng kết hợp quản lý với nhau. 2.1.3. Lợi ích và hướng tiếp cận của điện toán đám mây Lợi ích của điện toán đám mây: - Tăng sự linh hoạt của hệ thống (Increased Flexibility): khi cần thêm hay bớt một hay vài thiết bị (storaged devices, servers, computers, …) chỉ cần mất vài giây. - Sử dụng tài nguyên theo yêu cầu (IT Resources on demand): tùy thuộc vào nhu cầu của khách hàng mà người quản trị thiết lập cấu hình hệ thống cung cấp cho khách hàng. - Tăng khả năng sẵn sàng của hệ thống (Increased availability): các ứng dụng và dịch vụ được cân bằng động để đảm bảo tính khả dụng. Khi một trong các phần cứng bị hư hỏng không làm ảnh hưởng đến hệ thống, chỉ suy giảm tài nguyên hệ thống. - Tiết kiệm phần cứng (Hardware saving): mô hình truyền thống trong nhiều trường hợp cần một hệ thống riêng biệt cho mỗi tác vụ, dịch vụ. Điều này gây ra lãng phí, trong mô hình “Điện toán đám mây”, các tài nguyên IT được quản lý để đảm bảo sự không lãng phí này. - Cung cấp các dịch vụ với độ sẵn sàng gần như 100% (taking down services in real time). - Trả theo nhu cầu sử dụng thực tế (Paying-as-you-go IT): mô hình điện toán đám mây tích hợp với hệ thống billing để thực hiện việc tính cước dựa theo dung lượng người dùng đối với các tài nguyên như tốc độ CPU, dung lượng RAM, dung lượng HDD, … Tóm lại, mô hình điện toán đám mây đã khắc phục được 2 yếu điểm quan trọng của mô hình truyền thống về khả năng mở rộng (scalability) và độ linh hoạt (flexibility). Các tổ chức cũng như công ty có thể triển khai ứng dụng và dịch vụ nhanh chóng, chi phí giảm và ít rủi ro. Với những lợi ích đã nêu của mô hình điện toán đám mây trong phần trước, đặc biệt là về “flexibility” và “cost benefits”, đây sẽ là một xu hướng tiếp cận trong tương lai. Tuy nhiên, có rất nhiều công nghệ cho điện toán đám mây với những chi phí và giải pháp khác nhau tùy vào mục đích sử dụng và ưu điểm của mỗi công nghệ như dễ dàng triển khai, khả năng mở rộng cao, giá rẻ, … Sử dụng công cụ mã nguồn mở để triển khai điện toán đám mây đạt được những ưu điểm sau: − Sự phụ thuộc vào các phần mềm có bản quyền: các giải pháp thương mại thường là 1 bộ các giải pháp với các tiêu chuẩn của nhà sản xuất chẳng hạn các API đặc trưng, các kiểu định dạng image và lưu trữ riêng, … sẽ làm cho Cloud không tương thích, hoặc không tận dụng được những cơ sở hạ tầng sẵn có. − Các dự án về “Open Source Cloud Computing” luôn luôn được hỗ trợ và giúp đỡ bởi cộng đồng toàn thế giới với hàng ngàn người tham gia phát triển các function mới 16 và sửa lỗi. Lợi thế này của Open Source sẽ không thể có được ở bất kỳ một công ty đơn lẻ nào. − Khả năng mở rộng không hạn chế: chi phí là vấn đề nổi trội trong vấn đề mở rộng mạng Cloud với giải pháp phần mềm bản quyền. Tuy nhiên với Open Source Cloud, ví dụ mạng Cloud sử dụng Ubuntu, hệ điều hành Ubuntu hỗ trợ điện toán đám mây hoàn toàn miễn phí nên việc mở rộng rất dễ dàng. − Khi giải pháp thương mại thiếu một chức năng gì đó, sẽ rất khó để tìm ra phương thức thay thế trừ khi chờ một phiên bản mới hơn hỗ trợ. Nhưng với kỹ thuật Open Source có thể thay đổi code để thêm các chức năng phù hợp cho mục đích kinh doanh của hệ thống. OpenStack là phần mềm mã nguồn mở sử dụng để triển khai điện toán đám mây (public và private cloud). Nó mở cho cộng đồng cho việc phát triển điện toán đám mây phù hợp với các nhà cung cấp (Cloud Providers) cũng như người dùng (Cloud Customers). Ban đầu do Rackspace và Nasa khởi xướng, giới thiệu lần đầu vào năm 2010. OpenStack bao gồm 3 dự án chính: OpenStack Compute (để triển khai việc quản lý và chỉ định tài nguyên cho các instances ảo), OpenStack Object Storage (thực thi việc lưu trữ, backup), và OpenStack Image Service (đảm nhận việc phát hiện, đăng ký, truyền tải dịch vụ cho các images disk ảo). Hiện nay OpenStack đang được đánh giá là phần mềm nguồn mở xây dựng điện toán đám mây mạnh nhất hiện nay với sự hỗ trợ của các hãng mãy tính lớn trên thế giới như HP, Canonical, IBM, Cisco, Microsoft, … Đây cũng là bộ công cụ quan trọng đang được triển khai và sẽ được trình bày chi tiết trong các phần tiếp theo. 2.2. Tổng quan về công nghệ ảo hóa 2.2.1. Giới thiệu về công nghệ ảo hóa Ảo hóa là một công nghệ trong đó ảo hóa phần cứng máy, thiết bị lưu trữ và thiết bị mạng được tạo bằng cách sử dụng một số trình giả lập có tên là Hypervisors. Công nghệ ảo hóa được thực hiện trên máy tính, bao gồm các kỹ thuật và quy trình thực hiện ảo hóa để tạo ra một tầng trung gian giữa hệ thống phần cứng máy tính và phần mềm chạy trên nó. Ý tưởng ban đầu của công nghệ ảo hóa là từ một máy vật lý đơn lẻ có thể tạo thành nhiều máy ảo độc lập. Nó cho phép tạo nhiều máy ảo trên một máy chủ vật lý, mỗi một máy ảo cũng được cấp phát tài nguyên phần cứng như máy thật gồm có RAM, CPU, card mạng, ổ cứng, các tài nguyên khác và hệ điều hành riêng. Khi chạy ứng dụng, người sử dụng không nhận biết được ứng dụng đó chạy trên lớp phần cứng ảo. Người sử dụng chỉ chú ý tới khái niệm logic về tài nguyên máy tính hơn là khái niệm vật lý về tài nguyên máy tính. Máy chủ trong các hệ thống công nghệ thông tin ngày nay thường được thiết kế để chạy một hệ điều hành và một ứng dụng. Điều này không khai thác triệt để hiệu năng 17 của hầu hết các máy chủ rất lớn. Ảo hóa cho phép ta vận hành nhiều máy chủ ảo trên cùng một máy chủ vật lý, dùng chung các tài nguyên của một máy chủ vật lý qua nhiều môi trường khác nhau. Các máy chủ ảo khác nhau có thể vận hành nhiều hệ điều hành và ứng dụng khác nhau trên cùng một máy chủ vật lý. Hình 2. 6. Kiến trúc x86 virtualization Hình 2.6 cho thấy mỗi máy ảo (Vmware) là một hệ thống hoàn chỉnh, gồm các thành phần phần cứng (ví dụ như: CPU, RAM, NIC, Disk, …), hệ điều hành (OS) và các ứng dụng (application) như máy tính theo kiến trúc x86/ x64. Kỹ thuật ảo hóa được biết đến khi Vmware giới thiệu sản phẩm Vmware Workstation đầu tiên vào năm 1999. Sản phẩm này ban đầu được thiết kế để hỗ trợ việc phát triển và kiểm tra phần mềm. Nó đã trở nên phố biến nhờ khả năng tạo ra những máy tính “ảo” chạy đồng thời nhiều hệ điều hành khác nhau trên cùng một máy tính “thực” (khác với chế độ “khởi động kép” - máy tính được cài nhiều hệ điều hành và có thể chọn lúc khởi động nhưng mỗi lúc chỉ làm việc được với một hệ diều hành). Tháng 12 năm 2003, Vmware đã được EMC – hãng chuyên về lĩnh vực thiết bị lưu trữ mua lại. EMC đã mở rộng tầm hoạt động lĩnh vực ảo hóa từ máy tính để bàn đến máy chủ và hiện hãng vẫn giữ vai trò thống lĩnh thị trường ảo hóa, tuy nhiên Vmware không giữ vị trí “độc tôn” mà phải cạnh tranh với rất nhiều sản phẩm ảo hóa các hãng khách như Virtualization Engine của IBM, Hyper V – Microsoft, … và ảo hóa cũng không còn bó hẹp trong một lĩnh vực mà đã mở rộng cho toàn bộ hạ tầng công nghệ thông tin, từ phần cứng như chip xử lý cho đến hệ thống máy chủ và cả hệ thống mạng. Và sau quá trình phát triển, các trung tâm dữ liệu ngày nay sử dụng công nghệ ảo hóa để tạo ra phiên bản ảo của phần cứng vật lý, tạo ra các nhóm tài nguyên logic tổng hợp bao gồm CPU, bộ nhớ, đĩa, lưu trữ file, ứng dụng, kết nối mạng và cung cấp các tài nguyên đó cho người dùng hoặc khách hàng các máy ảo. Mặc dù công nghệ đã phát triển mạnh mẽ, ý nghĩa của ảo hóa vẫn được giữ nguyên: cho phép môi trường điện toán chạy nhiều hệ thống độc lập cùng một lúc. 18 • Ảo hóa máy chủ: Máy chủ ảo hoá là một phương pháp phân vùng một máy chủ vật lý thành nhiều máy chủ ảo, mỗi máy chủ có khả năng của riêng của mình chạy trên máy tính dành riêng. Mỗi máy chủ ảo riêng của nó có thể chạy hệ điều hành khác nhau, và mỗi máy chủ ảo có thể được khởi động lại độc lập. Ảo hóa mang lại nhiều lợi ích, trong đó bao gồm hai nhóm lợi ích chính: − Giảm chi phí về hạ tầng IT và quản trị hệ thống: giúp tạo nhiều máy chủ ảo, khai thác triệt để tài nguyên vật lý của máy chủ, từ đó giúp giảm chi phí đầu tư của doanh nghiệp, đồng thời giúp thiết lập hệ thống nhanh hơn, thuận tiện cho quản trị và giám sát, giảm chi phí nhân công vận hành. − Tăng hiệu suất và tính linh hoạt của hệ thống: việc quản trị và khai thác triệt để tài nguyên vật lý giúp nâng cao hiệu suất của từng máy chủ vật lý và toàn hệ thống, đồng thời linh hoạt trong vấn đề mở rông máy ảo, sao lưu, dự phòng và di chuyển máy ảo. Ảo hóa có các tính năng sau: − Partitioning (Phân chia máy chủ vật lý): chạy nhiều máy ảo trên một máy chủ vật lý. Có cơ chế phân chia và phân phối tài nguyên tương ứng, chính xác cho các máy ảo được khai báo và khởi tạo. − Isolation (Cách ly máy ảo): cách ly các máy ảo với nhau, đây là tính năng rất hiệu quả khi xảy ra các sự cố, đặc biệt về an toàn thông tin, việc lây nhiễm từ một máy ảo sẽ hạn chế bị ảnh hưởng đến các máy ảo khác cũng như các hệ thống khác. Kiểm soát tối ưu tài nguyên hợp lý giữa các máy ảo, tránh hiện tượng không kiểm soát tài nguyên và gây quá tải hoặc dư thừa tài nguyên trên các máy ảo. − Encapsulation (Đóng gói máy ảo): đóng gói các máy ảo thành file riêng biệt. Dễ dàng sao chép và di chuyển các máy ảo sang các hệ thống khác hoặc phục vụ sao lưu, dự phòng. − Hardware Independence (Không phụ thuộc vào thiết bị phần cứng): ảo hóa được thiết kế phù hợp với tất cả các phần cứng có hỗ trợ công nghệ ảo hóa. Có hai loại ảo hóa: − Loại 1: đây là loại ảo hóa “Bare-Metal Hypervisor”, trong đó Hypervisor tương tác trực tiếp với phần cứng của máy chủ để quản lý, phân phối và cấp phát tài nguyên (hình 1.7). Loại ảo hóa này bao gồm các giải pháp như Vmware ESXi, Microsoft HyperV, Xen Server, KVM. 19
- Xem thêm -

Tài liệu liên quan