SỬ DỤNG SALTSTACK TRIỂN KHAI HỆ THỐNG PRIVATE CLOUD OPENSTACK

95 2.5K 8
SỬ DỤNG SALTSTACK TRIỂN KHAI HỆ THỐNG PRIVATE CLOUD OPENSTACK

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỒ ÁN TỐT NGHIỆP Đề tài: SỬ DỤNG SALTSTACK TRIỂN KHAI HỆ THỐNG PRIVATE CLOUD OPENSTACK Giảng viên hướng dẫn: Th.S Nguyễn Tuấn Dũng Sinh viên: Nguyễn Việt Hưng MSSV: 20081297 Lớp: Toán tin 2 - K53 Ngày 22 tháng 5 năm 2013 Mục lục Lời nói đầu 1 Lời cảm ơn 5 1 Điện toán đám mây 6 1.1 Khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Các đặc tính cần có của mô hình cloud . . . . . . . . . 6 1.3 Phân loại . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1 Phân loại theo mô hình dịch vụ cung cấp . . . . 9 1.3.2 Phân loại theo mô hình triển khai . . . . . . . . 15 1.4 Openstack . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4.1 Khái niệm . . . . . . . . . . . . . . . . . . . . . 16 1.4.2 Cấu tạo . . . . . . . . . . . . . . . . . . . . . . 17 1.4.3 OpenStack Compute . . . . . . . . . . . . . . . 20 1.4.4 OpenStack Storage . . . . . . . . . . . . . . . . 20 1.4.5 OpenStack Networking . . . . . . . . . . . . . . 22 1.4.6 OpenStack Dashboard . . . . . . . . . . . . . . 23 i 1.4.7 Identity Service . . . . . . . . . . . . . . . . . . 23 1.4.8 Image Service . . . . . . . . . . . . . . . . . . . 24 1.4.9 Tính năng . . . . . . . . . . . . . . . . . . . . . 25 1.4.10 Cài đặt và hoạt động . . . . . . . . . . . . . . . 26 2 Quản lý cấu hình 28 2.1 Sơ lược về quản lý cấu hình . . . . . . . . . . . . . . . 28 2.2 Các tiêu chí đánh giá một hệ thống quản lý cấu hình . 29 2.3 Một số chương trình tiêu biểu . . . . . . . . . . . . . . 30 2.3.1 CFEngine . . . . . . . . . . . . . . . . . . . . . 30 2.3.2 Puppet . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.3 Chef . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.4 Salt . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 Những khó khăn trong triển khai thủ công hệ thống cloud OpenStack . . . . . . . . . . . . . . . . . . . . . 32 2.5 Lợi ích khi sử dụng trình quản lý cấu hình để triển khai hệ thống cloud OpenStack . . . . . . . . . . . . . . . . 33 2.6 Salt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.6.1 Khái niệm . . . . . . . . . . . . . . . . . . . . . 35 2.6.2 Mô hình và thiết kế . . . . . . . . . . . . . . . . 36 2.6.3 Master và Minion . . . . . . . . . . . . . . . . . 37 2.6.4 State . . . . . . . . . . . . . . . . . . . . . . . . 38 2.6.5 SLS . . . . . . . . . . . . . . . . . . . . . . . . 40 2.6.6 Renderers . . . . . . . . . . . . . . . . . . . . . 44 ii 2.6.7 Pillar . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6.8 Grains . . . . . . . . . . . . . . . . . . . . . . . 45 2.6.9 Quá trình chạy một SLS . . . . . . . . . . . . . 46 2.6.10 Returner . . . . . . . . . . . . . . . . . . . . . . 46 3 Cài đặt hệ thống private cloud OpenStack sử dụng trình quản lý cấu hình Salt 48 3.1 Các công việc cần thực hiện khi cài đặt OpenStack . . 48 3.2 Trên một node . . . . . . . . . . . . . . . . . . . . . . 51 3.2.1 Thiết kế state cho mysql . . . . . . . . . . . . . 51 3.2.2 Thiết kế state cho rabbitmq . . . . . . . . . . . 55 3.2.3 Thiết kế state cho keystone . . . . . . . . . . . 55 3.2.4 Thiết kế state cho glance . . . . . . . . . . . . . 58 3.2.5 Thiết kế state cho nova . . . . . . . . . . . . . . 62 3.2.6 Thiết kế state cho horizon . . . . . . . . . . . . 63 3.3 Trên nhiều node . . . . . . . . . . . . . . . . . . . . . . 64 4 Kết quả và đánh giá 66 4.1 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.1.1 Cloud OpenStack . . . . . . . . . . . . . . . . . 66 4.1.2 Salt . . . . . . . . . . . . . . . . . . . . . . . . 74 4.2 Đánh giá hiệu quả . . . . . . . . . . . . . . . . . . . . 75 Kết luận 76 iii Tài liệu tham khảo 79 Danh sách hình vẽ 79 Phụ lục 81 Thiết kế state cho DNSimple . . . . . . . . . . . . . . . . . 81 Cài đặt và sử dụng DNSimple . . . . . . . . . . . . . . . . . 82 iv Lời nói đầu Trong môi trường doanh nghiệp, khi nhu cầu sử dụng máy chủ tăng lên theo quy mô của doanh nghiệp cũng là lúc nảy sinh nhiều vấn đề. Trước hết là bài toán tối ưu để sử dụng tối đa công suất của các máy chủ, tránh tình trạng lãng phí tài nguyên, đồng thời đòi hỏi hệ thống có khả năng co giãn linh hoạt, chịu lỗi tốt để đảm bảo dịch vụ vẫn vận hành khi lượng tài nguyên trên một máy tăng cao hay có sự cố xảy ra. Tiếp đó là bài toán quản lý một lượng lớn máy chủ sao cho nhanh, hiệu quả, tốn ít nhân lực và thời gian nhất. Giải quyết hai vấn đề trên, trong đồ án này giới thiệu hai giải pháp cho lần lượt từng vấn đề là xây dựng đám mây OpenStack và sử dụng công cụ quản lý cấu hình Salt. Hai công nghệ này đều là các sản phẩm mã nguồn mở, miễn phí, có lượng người dùng đông đảo và đặc biệt là đã đạt được những thành công nhất định. OpenStack là một tập hợp các chương trình mã nguồn mở chạy trên môi trường Linux, sử dụng các công nghệ hàng đầu để xây dựng nên một hệ thống cung cấp máy ảo theo nhu cầu của người dùng. Open- 1 Stack cho phép xây dựng hệ thống cloud trên môi trường phần cứng tiêu chuẩn, không đòi hỏi bất cứ phần cứng hay phần mềm chuyên biệt nào. Với thiết kế chia thành nhiều module và tuân theo các tiêu chuẩn có sẵn khiến cho chất lượng của các bộ phận cấu thành OpenStack nhanh chóng được phát triển và hoàn thiện, thiết kế này còn cho phép quản trị viên tùy ý lựa chọn chương trình có cùng chức năng để thay thế các thành phần mà họ không thích. Cũng bởi thiết kế module này mà việc cài đặt OpenStack đòi hỏi nhà quản trị hệ thống phải có am hiểu về các công nghệ được sử dụng và bỏ công sức cấu hình các thành phần để vận hành được một hệ thống cloud. Mô hình cloud cho phép hệ thống có thể sử dụng sức mạnh của hàng nghìn máy tính, nhưng khi lượng máy tăng lên, việc quản lý các máy tính này bắt đầu gặp những khó khăn, đặc biệt là vấn đề quản lý cấu hình các dịch vụ chạy trên các máy chủ. Các vấn đề có thể gặp phải: • Cấu hình các máy chủ không có sự nhất quán: do một người quản lý nhiều máy chủ hoặc do nhiều người cùng quản lý một máy chủ. • Công việc lặp đi lặp lại gây nhàm chán, tốn thời gian, công sức, dễ nhầm lẫn. • Các file cấu hình nằm phân tán khiến việc kiểm tra, thay đổi tốn nhiều thời gian. 2 • Tốn nhiều thời gian và công sức nếu lượng máy tăng lên đến 100 hay thậm chí 1000 máy. • Khó đảm bảo trạng thái của dịch vụ ở từng máy. Chương trình quản lý cấu hình đã ra đời để giải quyết các vấn đề nói trên. Xuất hiện từ lâu (như CFEngine - năm 1993), các chương trình quản lý cấu hình luôn được phát triển và thay đổi theo sự đổi mới của hệ thống, có khả năng mở rộng và tự động tốt hóa hơn. Chef, Puppet, CFEngine là ba chương trình phổ biến nhất trong lĩnh vực này vào thời điểm hiện tại. Các chương trình đều đã đạt được những thành công nhất định. Bên cạnh những thành công đó, chúng vẫn còn nhiều nhược điểm đặc biệt là vấn đề về tính phức tạp của file cấu hình và khả năng mở rộng. Salt là một dự án mã nguồn mở mới được bắt đầu từ năm 2011 nhưng có sự phát triển rất nhanh, luôn nhắm tới sự đơn giản, tính module của các bộ phận cấu thành, khả năng mở rộng của hệ thống quản lý cấu hình. Đồ án này thực hiện tìm hiểu các khái niệm về điện toán đám mây, đi sâu vào tìm hiểu hệ thống OpenStack. Từ đó sử dụng Salt để cài đặt một hệ thống IaaS cloud sử dụng OpenStack - một hệ thống tương đối phức tạp để chứng minh sự đơn giản mà linh hoạt của trình quản lý cấu hình này. Kết quả thu được là một tập hợp các file cấu hình giúp tiết kiệm về thời gian, công sức trong việc triển khai một hệ thống cloud, đồng thời giúp nhanh chóng và dễ dàng mang lại trải nghiệm 3 về điện toán đám mây cho người dùng. 4 Lời cảm ơn Em xin chân thành cảm ơn thầy Th.S Nguyễn Tuấn Dũng đã dành thời gian để hướng dẫn em hoàn thành đồ án này. Em xin chân thành cảm ơn các thầy cô đã dạy dỗ, chỉ bảo tận tình cho em suốt 5 năm học, giúp em có kiến thức thực hiện đồ án này, và sẵn sàng để trở thành một kỹ sữ, đóng góp cho sự phát triển của đất nước. 5 [...]... mô hình triển khai Public cloud Public cloud là loại cloud cung cấp các tài nguyên (ứng dụng, lưu trữ, v.v) bởi một nhà cung cấp Các dịch vụ này có thể miễn phí hoặc trả tiền theo mức sử dụng Các nhà cung cấp public cloud như Amazon AWS, Microsoft, Google, Heroku, Private cloud Private cloud là cloud được vận hành bởi một tổ chức Tổ chức này sẽ tự làm nhiệm vụ xây dựng, vận hành và quản lý cloud So... cũng như với các hệ thống bên ngoài để cung cấp một trải nghiệm thống nhất cho người dùng khi họ sử dụng các tài nguyên cloud khác nhau 1.4.3 OpenStack Compute OpenStack compute cung cấp và quản lý các máy ảo Nó cung cấp tài nguyên tính toán qua các API cho lập trình viên xây dựng ứng dụng cloud và qua giao diện web cho người dùng cũng như người quản lý Compute sử dụng các công nghệ hypervisor phổ... giá một hệ thống quản lý cấu hình • Tính đơn giản: Đối tượng sử dụng các hệ thống quản lý cấu hình chủ yếu là các nhà quản trị và vận hành hệ thống Bởi vậy tính đơn giản là một trong những tiêu chuẩn hàng đầu khi đánh giá Những chương trình sử dụng ngôn ngữ phức tạp để viết file cấu hình có thể gây khó khăn cho việc sử dụng của người dùng • Tính linh hoạt: Một mẫu cấu hình cần có khả năng áp dụng cho... 1.4.1 Khái niệm Openstack là một bộ công cụ để tạo ra môi trường điện toán đám mây sử dụng các công nghệ có sẵn trên nền tảng Linux OpenStack không đòi hỏi các thiết bị phần cứng, phần mềm chuyên dụng, nó có khả năng tương thích với các hệ thống đã tồn tại và các công nghệ từ bên thứ ba OpenStack được thiết kế để tự động quản lý nguồn tài nguyên tính toán, nó có thể làm việc với các công nghệ ảo hóa phổ... là cần thiết Giúp các nhà phát triển dễ dàng thêm các thành phần của họ, đồng thời giúp chương trình có thể sử dụng ở một môi trường chuyên biệt mà không đòi hỏi thay đổi mã nguồn chương trình • Khả năng mở rộng hệ thống (scaling): với những hệ thống lớn, mô hình của chương trình quản lý cấu hình sử dụng ảnh 29 hưởng lớn tới khả năng mở rộng của nó Một chương trình sử dụng mô hình máy chủ - máy khách... cùng với các cơ sở dữ liệu như PostgreSQL, MongoDB, Redis, trên nền tảng hệ điều hành Debian và Ubuntu Các nhà phát triển phần mềm đưa mã nguồn vào hệ thống của Heroku, cấu hình cách chương trình sẽ chạy Việc chạy phần mềm do hệ thống của heroku tự động thực hiện Lượng tài nguyên ứng dụng sử dụng được đo và ghi lại, nhà phát triển sẽ trả tiền cho lượng tài nguyên đó Hình 1.2: Giao diện dashboard của... vụ: cung cấp một danh sách các dịch vụ đã triển khai trong cloud OpenStack Người dùng và các công cụ của bên thứ ba có thể xem xét nguồn tài nguyên nào họ được phép truy cập thông qua lập trình 23 Với quyền người quản trị, OpenStack Identity cho phép: • Cấu hình tập trung các chính sách xuyên suốt hệ thống • Tạo người dùng và bên thuê, định nghĩa quyền hạn sử dụng các tài nguyên tính toán, lưu trữ và... public cloud và private cloud Tiểu chuẩn Public cloud Private cloud Chi phí khởi đầu Không có / thấp Cao Chi phí vận hành Có thể dự trù Không thể dự trù Tùy biến Không thể Có thể Sự riêng tư Không Có Đăng nhập một lần Không thể Có thể Mở rộng Dễ dàng nhưng trong giới hạn không giới hạn 15 Ngoài ra còn có một số mô hình khác kết hợp bởi hai mô hình trên như Community cloud, Hybrid cloud 1.4 Openstack. .. • OpenStack Storage cung cấp giải pháp lưu trữ object sử dụng các cụm máy chủ đã được chuẩn hóa có khả năng lưu trữ nhiều petabyte dữ liệu • Object Storage không phải là một hệ thống file truyền thống mà là hệ thống lưu trữ phân tán các dữ liệu tĩnh như file ảnh của máy ảo, hình ảnh, email, backup • Các đối tượng và file được ghi vào nhiều đĩa trải khắp suốt các máy chủ trong trung tâm dữ liệu, OpenStack. .. khôi phục hoặc tạo một thiết bị lưu trữ khối mới 1.4.5 OpenStack Networking Giải quyết các vấn đề liên quan đến kết nối mạng giữa các máy ảo với nhau và ra bên ngoài mạng internet Sử dụng các công nghệ như 22 Open vSwitch, Cisco UCS/Nexus, Linux Bridge, VLAN giúp dễ mở rộng hệ thống mạng, việc quản lý IP và điều khiển mạng dựa trên API 1.4.6 OpenStack Dashboard Cung cấp giao diện đồ họa cho người . 17 1.4.3 OpenStack Compute . . . . . . . . . . . . . . . 20 1.4.4 OpenStack Storage . . . . . . . . . . . . . . . . 20 1.4.5 OpenStack Networking . . . . . . . . . . . . . . 22 1.4.6 OpenStack Dashboard. ĐỒ ÁN TỐT NGHIỆP Đề tài: SỬ DỤNG SALTSTACK TRIỂN KHAI HỆ THỐNG PRIVATE CLOUD OPENSTACK Giảng viên hướng dẫn: Th.S Nguyễn Tuấn Dũng Sinh viên: Nguyễn Việt. . . . . . 46 3 Cài đặt hệ thống private cloud OpenStack sử dụng trình quản lý cấu hình Salt 48 3.1 Các công việc cần thực hiện khi cài đặt OpenStack . . 48 3.2 Trên một node . . . . . . . . .

Ngày đăng: 13/11/2014, 09:11

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan