CHƯƠNG 4: TOOLKIT OPENNEBULA CHO ĐIỆN TOÁN ĐÁM MÂY

Một phần của tài liệu Tiểu luận môn ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY TÌM HIỂU CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY VÀ OPENNEBULA TOOLKIT (Trang 26)

ĐÁM MÂY

4.1 Giới thiệu OpenNebula

OpenNebula là một bộ công cụ điện toán đám mây dùng để quản lý cơ sở hạ tầng trung tâm dữ liệu được phân phối không đồng nhất. OpenNebula quản lý cơ sở hạ tầng ảo của một trung tâm dữ liệu để xây dựng mô hình các loại điện toán đám mây private, public and hybrid như là IaaS. OpenNebula phần mềm nguồn mở và miễn phí, theo các yêu cầu của Giấy phép phiên bản Apache 2.

OpenNebula hổ trợ các công nghệ phân tán lưu trữ, mạng, ảo hóa, giám sát để triển khai các dịch vụ đa cấp (ví dụ như . compute clusters) như các máy ảo trên cơ sở hạ tầng phân tán, kết hợp cả hai nguồn tài nguyên trung tâm dữ liệu và các tài nguyên điện toán đám mây từ xa, theo chính sách phân bổ. Theo báo cáo của Ủy ban châu Âu 2010 "... dự án nghiên cứu dành riêng điện toán đám mây theo nghĩa rộng nhất đã được khởi xướng - nổi bật nhất trong số đó có thể là OpenNebula ...

Hình 4.1: Quá trình phát triển OpenNebula

OpenNebula được sử dụng bởi các nhà cung cấp lưu trữ, khai thác viễn thông, các nhà cung cấp dịch vụ CNTT, các trung tâm siêu máy tính, phòng thí nghiệm nghiên cứu, và các dự án nghiên cứu quốc tế. Một số giải pháp điện toán đám mây khác sử dụng OpenNebula như các công cụ điện toán đám mây, dịch vụ kernel. OpenNebula cung cấp một nền tảng mạnh mẽ, mở rộng và bảo mật:

4.2 Các nền tảng OpenNebula

Hình 4.2 Nền tảng OpenNebula

• Kho lưu trữ hình ảnh(Repository Images): cho phép nhà quản trị OpenNebula và người dùng thiết lập hình ảnh , được sử dụng trong máy ảo dễ dàng. Những hình ảnh này có thể được sử dụng bởi nhiều máy ảo cùng một lúc, và cũng có thể chia sẻ với người dùng khác.

• Hệ thống kho lưu trữ mẫu(Template Repository): cho phép đăng kí các định nghĩa máy ảo trong hệ thống.

• Mẫu(Template) được khởi tạo cho máy ảo, chu kỳ của máy ảo được điều khiển gồm di chuyển, dừng , tiếp tục, hủy bỏ, … Các quá trình này được thực hiện từ giao diện dòng lệnh - CLI hoặc giao diện Sunstone.

4.3 Các thành phần công nghệ điện toán đám mây mã nguồn mở

Gồm 6 thành phần chính:

Hình 4.3: Các thành phần chính của điện toán đám mây mã nguồn mở.

Phần cứng và hệ điều hành: có trong các máy ảo khác nhau và được thiết lập một cách

phù hợp với hệ thống phần mềm. Các vấn đề quan trọng của phần cứng và hệ điều hảnh gồm:

Nếu các bộ vi xử lý của các nút vật lý không có các phần mở rộng phần cứng cần thiết để ảo hóa sẽ giới hạn hệ thống chỉ ảo hóa từng đoạn. Trong khi một hệ thống đám mây có thể được thiết lập, nó rất hạn chế tốc độ của các máy ảo và tính linh hoạt trong việc lựa chọn các thành phần phần mềm cho hệ thống.

Các framework mã nguồn mở, không giống như các framework thương mại, phải đủ linh hoạt để làm việc với các hệ thống cơ bản. (Trong khi đó, những đám mây thương

Mạng: bao gồm DNS, DHCP và tổ chức mạng con của các máy vật lý. Nó cũng bao gồm

bộ phận chuyển tiếp ảo để cung cấp cho mỗi máy ảo một địa chỉ MAC ảo là duy nhất. Việc chuyển tiếp này được thực hiện bằng cách sử dụng các chương trình như bridge- utils, iptables hoặc etables. Ngoài ra, DHCP và DNS phải được cấu hình với framework điện toán đám mây để điều khiển địa chỉ MAC và IP của các nút ảo trong mô hình.

VMM – Giám sát VM: Các VMM phổ biến bao gồm Xen và KVM, là mã nguồn mở;

VirtualBox, có một version mã nguồn mở; và VMware, là phần mềm thương mại. Các chương trình này cung cấp một framework cho phép các VM chạy được. Ngoài ra các trong VMM thực tế, một trong các framework đám mây này dựa trên một thư viện được gọi là libvirt, được thiết kế để cung cấp một khả năng điều khiển việc bật tắt các VM. • Lưu trữ các hình ảnh đĩa VM: là nơi lưu trữ các hình ảnh đĩa VM. Để chạy các VM

một cách hữu ích, phải có sẵn một ổ cứng ảo. Trong trường hợp chỉ đơn giản tạo một VM đơn trên máy vật lý đơn, một ảnh đĩa trống được tạo và VM cài đặt một hệ điều hành và phần mềm khác. Tuy nhiên trong các bộ framework điện toán đám mây sẽ có rất nhiều VM sẽ được tạo và thiết lập. Do đó sẽ là không thực tế để làm một hệ điều hành đầy đủ /cài đặt trên mỗi VM. Vì lí do này, mỗi hệ thống đám mây có một kho lưu trữ của các hình ảnh đĩa để có thể được sao chép và sử dụng làm cơ sở cho các đĩa ảo mới. Trong bất kì hệ thống điện toán đám mây sẽ có các đĩa ảnh mẫu và các đĩa ảnh thời gian chạy. Các ảnh đĩa mẫu được chứa trong một kho ảnh đĩa để sử dụng cho nhiều VM.

Front-end: là giao diện người dùng để yêu cầu các VM, xác định các thông số của các

VM, và chứa các xác nhận cần thiết và các thông tin để đăng nhập vào các VM đã được tạo. Đây cũng là một trong những phần tùy biến nhất của toàn bộ hệ thống.

Framework của đám mây: Framework xử lý đầu vào của front-end, lấy hình ảnh đĩa

tương ứng từ kho lưu trữ và thông báo VMM để thiết lập một VM. Sau đó DHCP và IP chuyển tiếp các chương trình để thiết lập các địa chỉ IP và MAC cho VM.

4.4 Các thành phần chính của OpenNebula

Hình 4.4: Các thành phần chính của OpenNebula

• Giao diện và API (Interfaces và API): OpenNebula cung cấp nhiều giao diện khác nhau được sử dụng để tương tác, quản lý nguồn tài nguyên vật lý ảo. Có hai giao diện OpenNebula chính là giao diện dòng lệnh và giao diện Sunstone. OpenNebula có hổ trợ tích hợp API để dễ dàng phát triển các thành phần mới.

• Người dùng và nhóm người dùng (Users và Groups): OpenNebula định nghĩa các tài khoản người dùng và nhóm người dùng và các cơ chế xác thực, ủy quyền. Tính năng ACL (Access Control List) dùng để quản lý các quyền trong hệ thống.

• Mạng (Networking): Một hệ thống mạng lưới con có thể tùy chỉnh trong OpenNebula để tích hợp với các yêu cầu mạng cụ thể của nguồn trung tâm dữ liệu hiện có. VLAN và Open vSwitch hay được sử dụng.

• Các host và ảo hóa (Hosts và Virtualization): các hypervisor khác nhau được hỗ trợ trong quản lý ảo hóa, với khả năng kiểm soát chu ký tồn tại của máy ảo. Việc giám sát này

• Lưu trữ và hình ảnh (Storage và Images): OpenNebula hỗ trợ các cấu hình lưu trữ nhiều hình ảnh khác nhau. Các hệ thống con Storage có thể được cấu hình để hỗ trợ các hệ thống tập tin chia sẻ và không chia sẻ.

4.5 Các bước để tạo một VM với OpenNebula

Hình 4.5: Cấu trúc đám mây nguồn mở OpenNebula • Đăng nhập vào “Head Node”

• Sử dụng lệnh onevm để yêu cầu một VM.

• Các ảnh mẫu VM được sao chép và một một bản sao với kích thước và cấu hình chính xác trong thư mục NFS ở nút đầu.

• Quá trình oned trên nút đầu dùng SSH kết nối vào một “Compute Node”.

• “Compute Node” thiết lập mạng lưới bridge để cung cấp một NIC ảo và MAC ảo.

• Các tập tin dữ liệu cần thiết cho VMM trên “Compute Node” được đưa vào “Compute Node” thông qua NFS.

Một phần của tài liệu Tiểu luận môn ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY TÌM HIỂU CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY VÀ OPENNEBULA TOOLKIT (Trang 26)