Khóa luận tốt nghiệp công nghệ thông tin: nghiên cứu giải pháp nguồn mở openstack trong việc xây dựng hạ tầng %22điện to...
TRƯỜNG ĐẠI HỌC VÕ TRƯỜNG TOẢN KHOA CƠNG NGHỆ THƠNG TIN KHÓA LUẬN TỐT NGHIỆP NGHIÊN CỨU GIẢI PHÁP NGUỒN MỞ OPENSTACK TRONG XÂY DỰNG HẠ TẦNG “ĐIỆN TOÁN ĐÁM MÂY” Giáo viên hướng dẫn: Sinh viên thực hiện: ThS TRẦN CAO NHÂN DƯƠNG TÙNG LÂM MSSV: 0951190473 Lớp: ĐH CNTT Khóa: Hậu Giang - 2013 LỜI CAM ĐOAN Tôi xin cam đoan : o Những nội dung khóa luận tơi thực hướng dẫn trực tiếp Thầy Trần Cao Nhân o Mọi tham khảo dùng khóa luận trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố o Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Sinh viên thực (Ký ghi rõ họ tên) Dương Tùng Lâm i LỜI CẢM ƠN Để hồn thành khóa luận này, tơi xin tỏ lịng biết ơn sâu sắc đến Thầy Trần Cao Nhân, tận tình hướng dẫn suốt q trình thực khóa luận tốt nghiệp Tôi xin gửi lời cảm ơn quý Thầy, Cô khoa Công nghệ Thông tin, Trường Đại học Võ Trường Toản tận tình truyền đạt kiến thức năm học tập Đồng thời, xin cảm ơn bạn quan tâm, góp ý, giúp đỡ để khóa luận thêm hồn thiện Trong q trình thực hiện, khóa luận khơng thể tránh khỏi hạn chế thiếu sót, mong nhận góp ý nhận xét quý thầy cô bạn Xin chân thành cảm ơn tất cả! Sinh viên thực (Ký ghi rõ họ tên) Dương Tùng Lâm ii BẢN NHẬN XÉT LUẬN VĂN TỐT NGHIỆP Họ tên người hướng dẫn: Học vị:…………………………… Chuyên ngành: Cơ quan công tác: Họ tên Mã số sinh viên Chuyên ngành Tên đề tài : : : : NỘI DUNG NHẬN XÉT Tính phù hợp đề tài với chuyên ngành đào tạo: Về hình thức: Ý nghĩa khoa học, thực tiễn tính cấp thiết đề tài: Độ tin cậy số liệu tính đại luận văn: Nội dung kết đạt được: Các nhận xét khác: Kết luận: Hậu Giang, ngày…… tháng …… năm 2013 Người nhận xét (Ký ghi rõ họ tên) iii NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Hậu Giang, ngày … tháng … năm 2013 Giáo viên phản biện (Ký ghi rõ họ tên) iv MỤC LỤC CHƯƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1.3 PHẠM VI CỦA ĐỀ TÀI 1.4 HƯỚNG GIẢI QUYẾT CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 2.1 ĐIỆN TOÁN ĐÁM MÂY .5 2.1.1 Lịch sử hình thành điện tốn đám mây 2.1.2 Khái niệm điện toán đám mây 2.1.3 Các đặc điểm điện toán đám mây .8 2.1.3.1 Tự sửa chữa 2.1.3.2 Nhiều người sử dụng .9 2.1.3.3 Khả mở rộng tuyến tính linh hoạt 10 2.1.3.4 Hướng dịch vụ .10 2.1.3.5 Điều khiển SLA (Service Level Agreement) .10 2.1.3.6 Khả ảo hóa 10 2.1.4 Các mơ hình dịch vụ điện tốn đám mây 11 2.1.4.1 Dịch vụ Cơ sở hạ tầng (IaaS) 11 2.1.4.2 Dịch vụ Nền tảng (PaaS) .12 2.1.4.3 Dịch vụ Phần mềm (SaaS) 12 2.1.4.4 Dịch vụ Mạng lưới (NaaS) 13 2.1.5 Các mô hình triển khai điện tốn đám mây 13 2.1.5.1 Đám mây “công cộng” (Public Cloud) .14 2.1.5.2 Đám mây “riêng” (Private Cloud) .15 2.1.5.3 Đám mây “cộng đồng” (Community Cloud) 16 2.1.5.4 Đám mây “lai” (Hybird Cloud) 17 2.1.6 2.1.6.1 Đánh giá điện toán đám mây 18 Ưu điểm .18 v 2.1.6.2 Nhược điểm 19 2.1.6.3 Rủi ro 20 2.1.6.4 Vấn đề an ninh điện toán đám mây 21 2.1.6.5 Xu hướng phát triển 22 2.2 TÌM HIỂU VỀ OPENSTACK .26 2.2.1 Giới thiệu Openstack 26 2.2.2 Các thành phần Openstack 28 2.2.3 Các tính OpenStack 30 2.2.4 Cộng đồng Quỹ OpenStack 31 2.2.5 So sánh OpenStack với tảng điện toán đám mây khác .33 2.2.6 Các hướng tiếp cận OpenStack 39 2.3 GIỚI THIỆU VỀ PHẦN MỀM NGUỒN MỞ 40 2.3.1 Khái niệm phần mềm nguồn mở .40 2.3.2 Lợi ích việc triển khai điện toán đám mây mã nguồn mở 40 CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 42 Xây dựng hệ thống điện toán đám mây sử dụng OpenStack .42 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46 4.1 KẾT LUẬN 46 4.2 HƯỚNG PHÁT TRIỂN .46 vi DANH MỤC HÌNH ẢNH - BIỂU BẢNG HÌNH ẢNH: Hình Có thể truy cập “đám mây” từ thiết bị Hình Mơ hình dịch vụ điện toán đám mây 11 Hình Mơ hình đám mây công cộng .14 Hình Mơ hình đám mây riêng 16 Hình Mơ hình đám mây cộng đồng .17 Hình Mơ hình đám mây lai 18 Hình Chỉ số sẵn sàng điện toán đám mây năm 2012 [9] 26 Hình Hệ điều hành đám mây nguồn mở Openstack 28 Hình Các thành phần Openstack 30 Hình 10 Cộng đồng Openstack .32 Hình 11 Các tảng điện toán đám mây so sánh với OpenStack 34 Hình 12 Nền tảng Eucalyptus 35 Hình 13 Nền tảng CloudStack 35 Hình 14 Nền tảng OpenNebula .36 Hình 15 Nguồn liệu so sánh tảng điện toán đám mây nguồn mở 36 Hình 16 Tổng số chủ đề tháng 37 Hình 17 Tổng số thảo luận tháng .37 Hình 18 Tổng số người đăng kí tháng 38 Hình 19 Tốc độ tăng trưởng cộng đồng 38 Hình 20 Hoạt động cộng đồng 39 Hình 21 Mơ hình xây dựng hệ thống Điện toán đám mây OpenStack 42 Hình 22 Mơ hình hệ thống Điện tốn đám mây thử nghiệm 43 Hình 23 Giao diện quản lí Horizon 44 Hình 24 Giao diện thiết lập mạng 44 Hình 25 Giao diện khởi chạy Instance .45 BIỂU BẢNG: Bảng Các tảng điện toán đám mây phổ biến 33 vii TỪ VIẾT TẮT ĐTĐM: Điện toán đám mây CNTT: Công nghệ Thông tin IaaS (Infrastructure as a Service): Dịch vụ hạ tầng PaaS (Platform as a Service): Dịch vụ tảng SaaS (Software as a Service): Dịch vụ phần mềm ITaaS (Information as a Service): Dịch vụ Công nghệ Thơng tin viii TĨM TẮT Trong vài năm trở lại đây, Điện toán đám mây (ĐTĐM) lên xu có tầm ảnh hưởng rộng lớn tới CNTT truyền thống, thu hút quan tâm đặc biệt giới công nghệ Sự phát triển nhanh chóng dịch vụ từ lưu trữ, tính tốn, ứng dụng văn phịng,… với bùng nổ ứng dụng khai thác mạnh ĐTĐM ngày trở nên thơng dụng Điện tốn đám mây dự đốn “cơn sóng thần cơng nghệ” lợi ích mà mang lại chi phí đầu tư giúp linh hoạt công việc Trên giới, có nhiều cơng ty, nhà cung cấp dịch vụ ĐTĐM tiếng Amazon, HP, Microsoft, Oracle, Google, DataSynapse, Salesforce, IBM,… Ở Việt Nam, ĐTĐM phát triển xem mục tiêu ngành CNTT nước hướng tới nhân tố thúc đẩy trình chuyển đổi kinh doanh Đề tài “Nghiên cứu giải pháp nguồn mở OpenStack việc xây dựng hạ tầng Điện toán đám mây” cung cấp giải pháp nguồn mở để xây dựng hạ tầng ĐTĐM chuyên nghiệp cách dễ dàng bảo mật Với chu kì phát hành phiên tháng, bên cạnh phát triển tính nhà lập trình cịn có cộng đồng rộng lớn, tham gia phát triển sửa lỗi Từ khóa: Điện tốn đám mây, Mã nguồn mở, OpenStack, Internet ix Hình 18 Tổng số người đăng kí tháng Hình 19 Tốc độ tăng trưởng cộng đồng 38 Hình 20 Hoạt động cộng đồng 2.2.6 Các hướng tiếp cận OpenStack Có nhiều cách để trải nghiệm OpenStack Website trực tuyến, cài đặt máy ảo sử dụng máy thật để cài đặt Các trang web cho phép trải nghiệm chức OpenStack: - https://trystack.org - http://stacklab.org - https://try.cloud.ubuntu.com Các hướng dẫn cài đặt OpenStack máy ảo máy thật: - http://devstack.org - http://stackops.com - https://github.com - http://youtube.com 39 2.3 GIỚI THIỆU VỀ PHẦN MỀM NGUỒN MỞ 2.3.1 Khái niệm phần mềm nguồn mở Phần mềm nguồn mở phần mềm với mã nguồn công bố sử dụng giấy phép nguồn mở Giấy phép cho phép nghiên cứu, thay đổi cải tiến phần mềm phân phối phần mềm dạng chưa thay đổi thay đổi [11] Năm 1998 nhóm người chủ trương thuật ngữ phần mềm tự nên thay phần mềm nguồn mở thuật ngữ mơ hồ dễ sử dụng cho giới doanh nghiệp [11] Định nghĩa Nguồn mở Tổ chức Sáng kiến Nguồn mở (Openstack Source Initiative - OSI) thể triết lí nguồn mở xác định ranh giới việc sử dụng, thay đổi tái phân phối phần mềm nguồn mở Giấy phép phần mềm cung cấp cho người dùng quyền vốn bị cấm quyền, gồm quyền sử dụng, thay đổi tái phân phối Một vài giấy phép phần mềm nguồn mở thẩm định thuộc giới hạn Định nghĩa Nguồn mở Thí dụ bật Giấy phép Công cộng GNU (GPL) Trong nguồn mở cho phép công chúng truy cập vào nguồn sản phẩm, giấy phép nguồn mở cho phép tác giả điều chỉnh cách truy cập [11] 2.3.2 Lợi ích việc triển khai điện toán đám mây mã nguồn mở Theo Canonical, tập đồn có đóng góp to lớn dự án nguồn mở tiếng Ubuntu platform, OpenStack, Ubuntu One, đặc trưng bật việc triển khai ĐTĐM nguồn mở kể đến sau: - Sự phụ thuộc vào phần mềm nguồn đóng quyền (Avoiding vendor lock-in): giải pháp thương mại thường giải pháp với tiêu chuẩn nhà sản xuất chẳng hạn APIs đặc trưng, kiểu định dạng image lưu trữ riêng,… làm cho đám mây không tương thích, khơng tận dụng sở hạ tầng sẵn có Hoặc “đám mây vendor lock-in” tương lai đối mặt với vấn đề di chuyển (Migration) số dịch vụ sang hệ thống đám mây khác - Sự hỗ trợ cộng đồng: dự án “Open source cloud computing” luôn hỗ trợ giúp đỡ cộng đồng toàn giới với hàng ngàn người tham gia 40 phát triển tính sửa lỗi Lợi nguồn mở khơng thể có cơng ty đơn lẻ - Khả mở rộng khơng hạn chế: chi phí vấn đề trội vấn đề mở rộng mạng “Cloud” với giải pháp phần mềm quyền Các chi phí cho licence tính dựa số lượng máy chủ hay chí máy ảo tùy thuộc vào cách tính khác Tuy nhiên với đám mây sử dụng nguồn mở, ví dụ đám mây sử dụng Ubuntu, hệ điều hành Ubuntu hỗ trợ “Cloud computing” hoàn tồn miễn phí nên việc mở rộng dễ dàng - Phát triển modules: giải pháp thương mại thiếu chức đó, khó để tìm phương thức thay trừ chờ phiên hỗ trợ Nhưng với kĩ thuật nguồn mở thay đổi code để thêm chức phù hợp cho mục đích kinh doanh hệ thống 41 CHƯƠNG NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU Xây dựng hệ thống điện toán đám mây sử dụng OpenStack Ứng dụng sở lí thuyết tìm hiểu để xây dựng hệ thống ĐTĐM dùng máy chủ (Có thể dùng Ubuntu Server 12.04 LTS) để xây dựng đám mây Máy Controller Node cài đặt dịch vụ như: Keystone, Glance, Horizon, Nova, Quantum có trách nhiệm điều khiển tồn hoạt động đám mây; Network Node cài đặt dịch vụ Quantum có trách nhiệm quản lí kết nối mạng toàn đám mây; Compute Node cài đặt dịch vụ Nova, Quantum để cung cấp không gian lưu trữ cho máy ảo, tập tin Controller tạo quản lí Hình 21 Mơ hình xây dựng hệ thống Điện toán đám mây OpenStack Do điều kiện sở vật chất không cho phép cài đặt hệ thống ĐTĐM đầy đủ nên đưa mô hình xây dựng đơn giản cài đặt máy ảo Ubuntu Server 12.04 LTS Virtualbox làm Controller Node cài tất thành phần như: Nova, KeyStone, Glance, Quantum, Horizon Volume Dùng card mạng: eth0 (Host-only) 42 giúp cho máy ảo mạng nội tương tác với nhau; eth1 (Bridged Adapter) để kết nối Internet từ chạy Instance (dùng máy ảo) để tạo dịch vụ sở hạ tầng Các máy ảo tạo từ Image: ubuntu-12.04-server-cloudingamd64-disk1.img cirros-0.3.1-x86_64-disk.img Hệ thống ĐTĐM thử nghiệm chạy máy ảo cài đặt dịch vụ: WebServer (Apache, PHP, MySQL, phpMyAdmin,…); FileServer (Samba) Hình 22 Mơ hình hệ thống Điện tốn đám mây thử nghiệm 43 Hình 23 Giao diện quản lí Horizon Hình 24 Giao diện thiết lập mạng 44 Hình 25 Giao diện khởi chạy Instance 45 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 KẾT LUẬN Qua việc thu thập tìm hiểu đề tài “Nghiên cứu giải pháp nguồn mở OpenStack xây dựng sở hạ tầng Điện toán đám mây”, cố gắng nhiều vấn đề chưa đưa chưa hiểu rõ: - Nêu rõ khái niệm ĐTĐM (Lịch sử hình thành, đặc điểm, mơ hình dịch vụ, mơ hình triển khai) phân tích ưu - nhược điểm, đánh giá rủi ro dự đoán xu hướng phát triển tương lai ĐTĐM dựa tình hình thực tế - Giới thiệu OpenStack (Các thành phần, tính năng, hướng tiếp cận, cộng đồng) so sánh với số tảng ĐTĐM nguồn mở phổ biến khác - Xây dựng hệ thống ĐTĐM thử nghiệm để bước đầu tiếp cận, làm quen với tảng Tạo máy ảo nhằm phục vụ nhu cầu khác (WebServer, FileServer, ) - Tuy nhiên, sở vật chất không đáp ứng đủ yêu cầu, nên cài đặt mô hình rút gọn hệ thống ĐTĐM dùng tảng OpenStack từ chưa tìm hiểu phân tích hết ưu - nhược điểm tảng, chưa tìm hiểu hết tính mà tảng OpenStack mang lại 4.2 HƯỚNG PHÁT TRIỂN - Tiếp tục tìm hiểu cập nhật xu hướng phát triển ĐTĐM, từ để xây dựng, phát triển hệ thống đám mây cách tốt - Xây dựng hệ thống ĐTĐM OpenStack máy chủ thực tế (Gồm Controller Node, NetWork Node Compute Node) để tìm hiểu phân tích đầy đủ tính mà tảng OpenStack mang lại 46 TÀI LIỆU THAM KHẢO http://vi.wikipedia.org/wiki/ARPANET Ramnath Chellapp (1997) Intermediaries in Cloud-Computing: A New Computing Paradigm INFORMS, Dallas http://www.gartner.com/newsroom/id/2304615 http://vi.wikipedia.org/wiki/Điện_toán_đám_mây http://www.nist.gov/itl/csd/cloud-102511.cfm Voorsluys, William; Broberg, James; Buyya, Rajkumar (Tháng 2011) "Introduction toCloud Computing" http://en.wikipedia.org/wiki/Network_as_a_service http://xahoithongtin.com.vn/2011032812249734p0c119/dien-toan-dammay xu-huong-cong-nghe-moi-tai-viet-nam.htm http://www.asiacloud.org/ 10 http://www.cloud-watch.net/?p=30 11 http://vi.wikipedia.org/wiki/Phần_mềm_nguồn_mở 47 PHỤ LỤC PHỤ LỤC 1: Cài đặt Hệ điều hành Ubuntu Server 12.04 LTS - File ISO tải theo địa http://www.ubuntu.com/download/server - Cài đặt: Hình Chọn ngơn ngữ cài đặt 48 Hình Thiết lập Username Hình Thiết lập Mật 49 Hình Chia ổ đĩa cài Hệ điều hành Hình Cài gói hỗ trợ cho Server 50 Hình Đăng nhập thành công Server - Các câu lệnh: Cập nhật Server: sudo apt-get update sudo apt-get upgrade Cấu hình mạng: Sửa file /etc/network/interfaces (Theo cấu hình thử nghiệm) Sau khởi động lại dịch vụ để lấy cấu hình sudo /etc/init.d/networking restart 51 PHỤ LỤC 2: Cài đặt gói nguồn mở OpenStack - Cài đặt MySQL sudo apt-get install –y mysql-server python-mysqldb - Cài đặt RabbitMQ sudo apt-get install –y rabbitmq-server - Cài đặt dịch vụ NTP sudo apt-get install –y ntp - Cài đặt Keystone: sudo apt-get install –y keystone - Cài đặt Glance: sudo apt-get install –y glance - Cài đặt Quantum: sudo apt-get install –y quantum-server quantum-plugin-openvswitch quantum-plugin-openswitch-agent dnsasq - Cài đặt Nova: sudo apt-get install –y nova-api nova-cert novnc nova-consoleauth novascheduler nova-novncproxy nova-doc nova-conductor nova-compute-kvm - Cài đặt Cinder: sudo apt-get install –y cinder-api cinder-scheduler cinder-volume icsitarget openstack-iscsitarget open-iscsi iscsitarget-dkms - Cài đặt Horizon: sudo apt-get install openstack-dashboard memcache 52