BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU VÀ ỨNG DỤNG
GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ
CHO HỆ THỐNG MẠNG DOANH NGHIỆP
Ngành
Niên khoá
Lớp
Sinh viên thực hiện
:
:
:
:
Công nghệ Thông tin
2008 – 2012
DH08DT
Trần Huy Cường
Nguyễn Thái Châu
TP.HỒ CHÍ MINH, tháng 03 năm 2013
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU VÀ ỨNG DỤNG
GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ
CHO HỆ THỐNG MẠNG DOANH NGHIỆP
Giáo viên hướng dẫn
TS. Phạm Văn Tính
Sinh viên thực hiện
Trần Huy Cường
Nguyễn Thái Châu
TP.HỒ CHÍ MINH, tháng 03 năm 2013
CÔNG TRÌNH HOÀN TẤT TẠI
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
Cán bộ hướng dẫn: TS.Phạm Văn Tính
Cán bộ phản biện: ThS.Phan Vĩnh Thuần
Luận văn cử nhân được bảo vệ tại HỘI ĐỒNG CHẤM LUẬN VĂN CỬ NHÂN
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM ngày12 tháng 03 năm 2013
iii
Bộ Giáo Dục và Đào Tạo
Trường ĐH Nông Lâm TP.HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc
NHIỆM VỤ LUẬN VĂN CỬ NHÂN
Họ tên sinh viên: TRẦN HUY CƯỜNG
Ngày tháng năm sinh: 04/11/1990
Chuyên ngành: Công nghệ Thông tin
Phái: Nam
Nơi sinh: Vĩnh Long
Ngành: Công nghệ Thông tin
Họ tên sinh viên: NGUYỄN THÁI CHÂU
Ngày tháng năm sinh: 15/12/1990
Chuyên ngành: Công nghệ Thông tin
Phái: Nam
Nơi sinh: Long An
Ngành: Công nghệ Thông tin
I. TÊN ĐỀ TÀI: Nghiên cứu và ứng dụng giải pháp điện toán đám mây nguồn
mở cho hệ thống mạng của doanh nghiệp
II. NHIỆM VỤ VÀ NỘI DUNG:
1. Nhiệm vụ:
Đánh giá về hiệu suất, khả năng tối ưu hóa tài nguyên máy tính và quá trình
triển khai ứng dụng cloud computing trong hệ thống mạng doanh nghiệp.
2. Nội dung:
Tìm hiểu về điện toán đám mây.
Xây dựng hệ thống điện toán đám mây trên nền tảng mã nguồn mở.
Đánh giá kết quả ứng dụng điện toán đám mây trong hệ thống mạng
doanh nghiệp.
III. NGÀY GIAO NHIỆM VỤ: 10/2012
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 03/2013
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS.Phạm Văn Tính
Ngày / /2013
CÁN BỘ HƯỚNG DẪN
Ngày / /2013
CHỦ NHIỆM CHUYÊN NGÀNH
iv
Ngày / /2013
KHOA CNTT
LỜI CẢM TẠ
Trên hết chúng em xin chân thành cảm ơn thầy
TS.Phạm Văn Tính đã tận tình chỉ bảo, hướng dẫn chúng
em hoàn thành luận văn tốt nghiệp này.
Chúng em xin gửi đến Quý thầy cô khoa Công nghệ
Thông tin lòng biết ơn sâu sắc và ghi nhận sự chỉ dẫn,
giảng dạy, hỗ trợ và giúp đỡ, cung cấp những kiến thức
qúy báu, đã tạo mọi điều kiện thuận lợi và góp ý trong suốt
quá trình học tập cho sinh viên chúng em thực hiện đề tài
luận văn được thuận lợi.
Xin chân thành tỏ lòng biết ơn đến các bạn bè thân hữu đã
động viên giúp đỡ chúng tôi trong suốt thời gian học tập
cũng như làm luận văn.
TP.HCM, ngày 10 tháng 03 năm 2013
Nhóm sinh viên thực hiện
v
DANH SÁCH CHỮ VIẾT TẮT
IT
API
Information Technology
Nhân viên làm việc bên lĩnh vực máy vi tính
Infrastructure as a Service
Dịch vụ về cơ sở hạ tầng của điện toán đám mây
Platform as a Service
Dịch vụ MT phát triển cho người lập trình trên điện toán đám mây
Software as a Service
Dịch vụ cung cấp các phần mềm hoạt động trên điện toán đám mây
Elastic Compute Cloud
Nền tảng cơ sở cho môi trường điện toán đám mây do Amazone cung cấp
Simple Storage Service
Dịch vụ lưu trữ trên mạng Internet do Amazone cung cấp
Application Programming Interface
SC
NC
CC
CLC
KVM
QEMU
PC
IDE
Storage Controller
Node Controller
Cluster Controller
Cloud Controller
Kernel-based Virtual Machine
Quick EMUlator
Personal Computer
Integrated Development Environment
SAN
NAS
VLAN
AWS
VNC
XCP
VDIs
SRs
PDBs
VM
NAT
Storage Area Network
Network Attached Storage
Virtual Local Area Network
Amazon Web Services
Virtual Network Computing
Xen Cloud Platform
Virtual Disk Images
Storage Repositories
Physical Block Devices
Virtual Machine
Network Address Translation
IaaS
PaaS
SaaS
EC2
S3
vi
DANH SÁCH CÁC HÌNH
Hình 1: Mô hình Virtualization .............................................................................................. 3
Hình 2: Phân loại hypervisor .................................................................................................. 4
Hình 3: Các file của 1 virtual machine ................................................................................... 5
Hình 4: Privilege rings CPU ................................................................................................... 5
Hình 5: Privilege rings CPU (không hỗ trợ ảo hóa) ............................................................... 6
Hình 6: Paravirtualization ....................................................................................................... 6
Hình 7: Full Virtualization (CPU không hỗ trợ ảo hóa) ......................................................... 7
Hình 8: Full Virtualization (CPU hỗ trợ ảo hóa) .................................................................... 7
Hình 9: Thống kê doanh thu các phần mềm ảo hóa ............................................................... 9
Hình 10: Mô hình tổng quan Vmware ESX ......................................................................... 10
Hình 11: Các thành phần của Vmware ESX ........................................................................ 11
Hình 12: Mô hình tổng quan của Xen................................................................................... 13
Hình 13: Mô hình tổng quan KVM ...................................................................................... 14
Hình 14: Mô hình tổng quan Cloud Computing và một số nhà cung cấp dịch vụ ............... 15
Hình 15: Mô hình phát triển của Cloud Computing. ............................................................ 16
Hình 16: Mô hình Cloud Computing. ................................................................................... 17
Hình 17: Những dịch vụ SaaS của Google Apps.................................................................. 18
Hình 18: Nhà cung cấp và dịch vụ SaaS............................................................................... 19
Hình 19: Kiến trúc hạ tầng SaaS........................................................................................... 19
Hình 20: Mô hình Paas ......................................................................................................... 21
Hình 21: Kiến trúc Paas ........................................................................................................ 22
Hình 22: Mô hình kiến trúc hạ tầng Infrastructure as a service ............................................ 24
Hình 23: Mô hình hoạt động của Private Cloud. .................................................................. 26
Hình 24: Mô hình Public Cloud............................................................................................ 28
Hình 25: Mô hình hoạt động của Public Cloud. ................................................................... 28
Hình 26: Mô hình tổng quan Hybric cloud. .......................................................................... 30
Hình 27: Mô hình hoạt động của Hybric Cloud. .................................................................. 31
Hình 28: Sự phát triển của Cloud Computing. ..................................................................... 34
Hình 29: Kiến trúc của OpenStack ....................................................................................... 38
Hình 30: Kiến trúc của Eucalyptus ....................................................................................... 40
Hình 31: Kiến trúc Cloud Stack............................................................................................ 43
Hình 32: Kiến trúc Xen Cloud Platform ............................................................................... 46
Hình 33: Biểu đồ so sánh chức năng các phần mềm Cloud Computing .............................. 47
Hình 34: Bảng đánh giá các chức năng ................................................................................ 48
Hình 35: Dẫn đầu bảng xếp hạng open-source về cloud computing .................................... 48
Hình 36: Biểu đồ thống kê kết quả tìm kiếm các phần mềm ................................................ 49
Hình 37: Biểu đồ thống kê lượng bài viết trên các forum ( .. 50
Hình 38: Số lượng thành viên tham gia hàng tháng ( ........... 51
Hình 39: Độ năng động của cộng đồng phát triển ( .............. 52
Hình 40: Quá trình hoạt động của Openstack ....................................................................... 53
Hình 41: Quá trình tạo instance ............................................................................................ 54
vii
Hình 42: Quá trình hoạt động của networking ..................................................................... 56
Hình 43: Mô hình hệ thống mạng thông thường và Openstack ............................................ 57
Hình 44: Giao diện quản lý Openstack ................................................................................. 59
Hình 45: Quá trình resize server ảo ...................................................................................... 60
Hình 46: Quản lý máy ảo qua giao diện web VNC .............................................................. 60
Hình 47: Backup máy ảo ...................................................................................................... 62
Hình 48: Quản lý các dịch vụ được truy cập vào các server ảo........................................... 63
Hình 49: Mở rộng hệ thống thông thường ............................................................................ 63
Hình 50: Mở rông hệ thống trong Openstack ....................................................................... 64
Hình 51: Live-migration server ảo........................................................................................ 65
Hình 52: Khả năng mở rộng của hệ thống Cloud Computing .............................................. 67
Hình 53: Khả năng chịu tải của Cloud Computing............................................................... 68
Hình 54: Bảng giá hosting mạng thông thường .................................................................... 69
Hình 55: Bảng giá hosting bằng Cloud Computing.............................................................. 70
Hình 56: Hệ thống mạng thông thường ................................................................................ 71
Hình 57: Hệ thống cloud computing .................................................................................... 71
viii
TÓM TẮT
Đề tài “Nghiên cứu và ứng dụng giải pháp điện toán đám mây nguồn mở cho
hệ thống mạng doanh nghiệp” nghiên cứu trên lĩnh vực mạng máy tính theo hướng
cơ sở hạ tầng mạng với mục tiêu tìm hiểu về công nghệ "điện toán đám mây", các
phần mềm để xây dựng "điện toán đám mây" và lợi ích của nó mang lại. So sánh &
đánh giá giữa hệ thống mạng thông thường và hệ thống được xây dựng trên nền tảng
"điện toán đám mây" để cho doanh nghiệp có cái nhìn toàn diện hơn về công nghệ
mới này.
ix
MỤC LỤC
Chương 1 ................................................................................................................................ 1
MỞ ĐẦU ................................................................................................................................ 1
1.1. Giới thiệu đề tài ............................................................................................................. 1
1.2. Đặt vấn đề ...................................................................................................................... 1
1.3. Giải quyết vấn đề ........................................................................................................... 1
Chương 2 ................................................................................................................................ 2
TỔNG QUAN ......................................................................................................................... 2
2.1. Tình hình nghiên cứu trong và ngoài nước .................................................................... 2
2.2. Tính cấp thiết của đề tài ................................................................................................. 2
2.3. Nội dung đề tài và phạm vi nghiên cứu ......................................................................... 2
Chương 3 ................................................................................................................................ 3
CÔNG NGHỆ CLOUD COMPUTING ................................................................................. 3
3.1. Công nghệ ảo hóa trong Cloud Computing ................................................................... 3
3.1.1. Giới thiệu về ảo hóa.......................................................................................................3
3.1.1.1. Virtualization là gì? .................................................................................................3
3.1.1.2. Hypervisor là gì? .....................................................................................................3
3.1.1.3. Virtual Machine là gì? ............................................................................................4
3.1.1.4. CPU virtualization ...................................................................................................5
3.1.2. Phân loại ảo hóa .............................................................................................................6
3.1.2.1. Paravirtualization ............................................................................................ 6
3.1.2.2. Full virtualization............................................................................................ 7
3.1.3. Những lợi ích và tầm quan trọng của ảo hóa trong Cloud Computing ...................7
3.1.3.1. Những lợi ích mà ảo hóa mang lại .................................................................. 7
3.1.3.2. Tầm quan trọng của ảo hóa trong Cloud Computing...................................... 8
3.1.4. Các phần mềm ảo hóa chiếm lĩnh thị trường CNTT .................................................9
3.1.4.1. Vmware ESX ................................................................................................ 10
3.1.4.1.1. Giới thiệu .............................................................................................. 10
3.1.4.1.2. Chức năng chính ................................................................................... 11
3.1.4.2. Xen ................................................................................................................ 13
3.1.4.2.1. Giới thiệu .............................................................................................. 13
3.1.4.2.2. Chức năng chính ................................................................................... 13
3.1.4.3. KVM ............................................................................................................. 13
3.1.4.3.1. Giới thiệu .............................................................................................. 13
3.1.4.3.2. Chức năng chính ................................................................................... 14
3.2. Công nghệ Cloud Computing ...................................................................................... 15
3.2.1. Giới thiệu ......................................................................................................................15
3.2.1.1. Tổng quan ..................................................................................................... 15
3.2.1.2. Định nghĩa .................................................................................................... 16
3.2.2. Đặc điểm .......................................................................................................................17
3.2.3. Các loại hình Cloud Computing ................................................................................18
3.2.3.1. Các dịch vụ Cloud Computing ............................................................................18
x
3.2.3.1.1. Software-as-a-service ........................................................................... 18
3.2.3.1.2. Platform-as-a-service ............................................................................ 20
3.2.3.1.3. Infrastructure-as-a-service .................................................................... 23
3.2.3.2. Các mô hình triển khai Cloud Computing .................................................... 25
3.2.3.2.1. Private Cloud ........................................................................................ 25
3.2.3.2.2. Public Cloud ......................................................................................... 27
3.2.3.2.3. Hybric Cloud ........................................................................................ 30
3.2.4. Ưu điểm và nhược điểm ..............................................................................................32
3.2.4.1. Ưu điểm ..................................................................................................................32
3.2.4.1.1. Đối với doanh nghiệp ........................................................................... 32
3.2.4.1.2. Đối với người quản trị .......................................................................... 32
3.2.4.2. Nhược điểm ............................................................................................................33
3.2.4.2.1. Đối với doanh nghiệp ........................................................................... 33
3.2.4.2.2. Đối với người quản trị .......................................................................... 33
3.2.5. Xu hướng phát triển .....................................................................................................33
3.2.6. Khó khăn thách thức ....................................................................................................34
3.2.7. Sự phát triển của Cloud Computing tại Việt Nam như thế nào? ...........................35
3.3. Các phần mềm triển khai dịch vụ IaaS ........................................................................ 35
3.3.1. Open Stack ....................................................................................................................35
3.3.1.1. Giới thiệu ...................................................................................................... 35
3.3.1.2. Các chức năng của OpenStack...................................................................... 35
3.3.1.3. Các thành phần của OpenStack .................................................................... 36
3.3.1.4. Sự kết nối giữa các thành phần trong OpenStack ......................................... 37
3.3.2. Eucalyptus .....................................................................................................................38
3.3.2.1. Giới thiệu ...................................................................................................... 38
3.3.2.2. Chức năng chính ........................................................................................... 39
3.3.2.3. Các thành phần của Eucalyptus .................................................................... 39
3.3.2.4. Sự liên kết các thành phần trong Eucalyptus ................................................ 40
3.3.3. Cloud Stack...................................................................................................................40
3.3.3.1. Giới thiệu ...................................................................................................... 40
3.3.3.2. Các chức năng chính ..................................................................................... 41
3.3.3.3. Các thành phần của Cloud Stack .................................................................. 42
3.3.3.4. Sự liên kết các thành phần trong Cloud Stack .............................................. 43
3.3.4. Xen Cloud Platform .....................................................................................................43
3.3.4.1. Giới thiệu ...................................................................................................... 43
3.3.4.2. Các chức năng chính ..................................................................................... 44
3.3.4.3. Các thành phần của Xen Cloud Platform...................................................... 44
3.3.4.4. Sự liên kết các thành phần trong Xen Cloud Platform ................................. 46
Chương 4 .............................................................................................................................. 47
TRIỂN KHAI GIẢI PHÁP OPENSTACK CHO HỆ THỐNG MẠNG DOANH NGHIỆP 47
4.1. Tại sao chọn OpenStack?............................................................................................. 47
4.1.1. So sánh về chức năng của phần mềm cloud computing .........................................47
4.1.2. Đánh giá khách quan, cộng đồng phát triển và hỗ trợ ............................................48
xi
4.2. Kiến trúc OpenStack .................................................................................................... 52
4.2.1. Cấu trúc hệ thống .........................................................................................................52
4.2.2. Nova-compute ..............................................................................................................53
4.2.2.1. Nova-api .................................................................................................................53
4.2.2.2. Nova-compute........................................................................................................53
4.2.2.3. Nova-volume..........................................................................................................53
4.2.2.4. Nova-network ........................................................................................................53
4.2.2.5. Nova-scheduler ......................................................................................................54
4.2.3. Quá trình tạo một instance của Openstack ...............................................................54
4.2.4. Openstack Keystone Identity Service .......................................................................55
4.2.5. Openstack Image Service............................................................................................55
4.2.5.1. Glance-api ..............................................................................................................55
4.2.5.2. Glance-registry ......................................................................................................55
4.2.6. Networking ...................................................................................................................55
4.2.6.1. Flat networking ......................................................................................................55
4.2.6.2. Flat networking with DHCP ................................................................................55
4.2.6.3. VLAN Manager .....................................................................................................55
4.2.6.4. IP private ................................................................................................................56
4.2.6.5. IP public (floating IP) ...........................................................................................56
4.2.6.6. Quá trình hoạt động của networking...................................................................56
4.3. Triển khai hệ thống mạng doanh nghiệp sử dụng OpenStack ..................................... 57
4.3.1. Bài toán ............................................................................................................... 57
4.3.2. Chọn phần cứng và cài đặt hệ thống ................................................................... 57
4.3.3. Thay đổi cấu hình của server theo nhu cầu sử dụng ........................................... 59
4.3.4. Quản lý hệ thống ................................................................................................. 60
4.3.5. Lưu trữ dữ liệu .................................................................................................... 60
4.3.6. Backup và restore dữ liệu ................................................................................... 61
4.3.7. Bảo mật ............................................................................................................... 62
4.3.8. Mở rộng hệ thống ............................................................................................... 63
4.3.9. Bảo trì hệ thống .................................................................................................. 64
4.4. Đánh giá của Openstack trong việc triển khai hệ thống Cloud Computing ................ 65
4.4.1. Đánh giá khách quan từ Internet. ...............................................................................65
4.4.1.1. Ảo hóa (virtualization)..........................................................................................66
4.4.1.2. Democratization of Computing ...........................................................................66
4.4.1.3. Scalability and fast provisioning .........................................................................67
4.4.1.4. Commoditization of infrastructure ......................................................................68
4.4.2. Đánh giá trong quá trình nghiên cứu .........................................................................69
4.4.2.1. Thuê dịch vụ public cloud ....................................................................................69
4.4.2.2. Doanh nghiệp chuyển đổi sang hệ thống private cloud....................................70
4.4.2.3. Nhược điểm của Openstack .................................................................................72
4.4.3. Đánh giá hiệu suất sử dụng OpenStack ....................................................................73
KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN......................................................... 76
5.1. Kết quả đạt được .......................................................................................................... 76
xii
5.2. Hướng phát triển .......................................................................................................... 76
TÀI LIỆU THAM KHẢO .................................................................................................... 77
PHỤ LỤC ............................................................................................................................... 1
Hướng dẫn xây dựng hệ thống Cloud Computing dùng OpenStack ...................................... 1
1.1. Các bước chuẩn bị ......................................................................................................... 1
1.2. Cài đặt các gói cần thiết và một số cấu hình trước khi cài đặt OpenStack .................... 2
1.3. Cài đặt các gói OpenStack trên máy Controller ............................................................ 4
1.3.1. Keystone (Identity) ........................................................................................................4
1.3.2. Glance (Images) .............................................................................................................8
1.3.3. Nova (Compute) ...........................................................................................................10
1.3.4. Horizon (DashBoard) ..................................................................................................14
1.4. Cài đặt các gói OpenStack trên các máy Node ............................................................ 18
1.5. Hiện thực một số chức năng của OpenStack ............................................................... 19
1.5.1. Các chức năng cho Admin ..........................................................................................19
1.5.1.1. Tạo, phân quyền, quota người dùng ...................................................................19
1.5.1.2. Cấu hình resize instance .......................................................................................23
1.5.1.3. Cấu hình live-migration ........................................................................................25
1.5.1.4. Cấu hình share storage lưu trữ volume của các instance .................................26
1.5.2. Các chức năng cho user thường .................................................................................27
1.5.2.1. Chạy một Instance từ giao diện web quản lý .....................................................27
1.5.2.2. Tạo và gắn ổ đĩa trực tiếp vào máy ảo ................................................................32
1.5.2.3. Tạo các snapshot cho máy ảo ..............................................................................34
1.6. Một số câu lệnh quản lý OpenStack ............................................................................ 35
1.6.1. Hiển thị thông tin .........................................................................................................35
1.6.2. Quản lý các instance ....................................................................................................36
1.6.3. Quản lý network ...........................................................................................................37
1.6.3.1. DHCPManager ......................................................................................................37
1.6.3.2. VLANManager ......................................................................................................37
1.7. Hướng dẫn tạo image tùy ý sử dụng trong openstack ................................................. 38
xiii
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Chương 1
MỞ ĐẦU
1.1. Giới thiệu đề tài
Đề tài “Nghiên cứu và ứng dụng giải pháp điện toán đám mây nguồn mở cho
hệ thống mạng doanh nghiệp”. Đây là tài liệu giúp các doanh nghiệp có cái nhìn
toàn diện về Cloud Computing: cách để xây dựng cũng như bằng các kết quả nghiên
cứu, kiểm thử sẽ đưa ra sự so sánh giữa Cloud Computing và hệ thống mạng truyền
thống, giúp doanh nghiệp hiểu rõ thêm về giải pháp Cloud Computing.
1.2. Đặt vấn đề
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hiệu quả dữ liệu
của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài toán
được ưu tiên hàng đầu. Để có thể quản lý được nguồn dữ liệu đó, các doanh nghiệp
phải đầu tư, tính toán rất nhiều loại chi phí như: chi phí cho phần cứng, phần mềm,
cơ sở hạ tầng mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa, … Ngoài
ra, họ còn phải tính toán khả năng mở rộng, nâng cấp thiết bị, phải kiểm soát việc
bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ liệu.
Từ những bài toán điển hình như vậy, chúng ta thấy rằng nếu có một nơi tin
cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không
còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc
kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn.
1.3. Giải quyết vấn đề
Cũng chính vì những lý nêu trên, công nghệ “Cloud computing” (điện toán
đám mây) được ra đời. Cloud computing cho phép người dùng sử dụng các dịch vụ
khác nhau như software, platform, infrastructure. Đối với IT thì chúng ta cần biết
làm sao đặt một ứng dụng lên cloud, làm sao lập trình trên cloud, làm sao thuê cở sở
hạ tầng của cloud… Đặc biệt khi nghiên cứu về Cloud computing chúng ta phải biết
những nguyên lý hoạt động và quá trình triển khai, công nghệ sử dụng bên trong
Cloud.
Công nghệ Cloud computing ra đời đã giải quyết được bài toán của doanh
nghiệp về công nghệ thông tin. Các doanh nghiệp sẽ không còn quan tâm đến cơ sở
hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ và sẽ
mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn.
GVHD: TS. Phạm Văn Tính
1
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Chương 2
TỔNG QUAN
2.1. Tình hình nghiên cứu trong và ngoài nước
Hiện nay, công nghệ Cloud Computing đang được triển khai rộng rãnh tại
nhiều quốc gia trên thế giới. Việt Nam cũng đang từng bước triển khai các dịch vụ
về Cloud Computing. Song, vẫn chưa có đề tài khoa học nào có khả năng triển khai
1 hệ thống Cloud Computing. Chưa đề tài khoa học nào đưa ra những đánh giá, kết
luận cụ thể về những ưu điểm giữa việc triển khai hệ thống mạng sử dụng Cloud
Computing và hệ thống mạng thông thường.
2.2. Tính cấp thiết của đề tài
Trên lĩnh vực Cloud computing, có rất nhiều phần mềm giúp chúng ta có thể
xây dựng 1 hệ thống Cloud computing. Sẽ rất phân vân nếu chúng ta quyết định xây
dựng cho công ty 1 hệ thống Cloud computing mà không biết nên dùng phần mềm
nào cho phù hợp. Luận văn sẽ so sánh các phần mềm trên và đưa ra các chức năng
cụ thể của từng phần mềm. Dựa vào đó, mỗi doanh nghiệp có thể lựa chọn phần
mềm phù hợp.
Hiện tại, phần lớn các công ty, doanh nghiệp ở nước ta vẫn còn đang sử dụng
hệ thống mạng thông thường. Họ chưa thấy được lợi ích thực tế từ công nghệ mới
này. Do vậy, để 1 doanh nghiệp có thể chuyển từ hệ thống mạng thông thường sang
Cloud computing, chúng ta cần đưa ra được những con số cụ thể, những lợi ích cụ
thể khi sử dụng Cloud computing.
2.3. Nội dung đề tài và phạm vi nghiên cứu
2.3.1. Nội dung chính của đề tài
- Tìm hiểu về Cloud computing.
- So sánh và đưa ra những con số cụ thể, những lợi ích cụ thể khi sử dụng
Cloud computing so với hệ thống mạng thông thường.
- Triển khai cụ thể về 1 hệ thống Cloud computing cung cấp dịch vụ
Infrastructure as a service (IaaS) với quy mô thu nhỏ trong một bài lab.
2.3.2. Phạm vi nghiên cứu
Đề tài nghiên cứu trên nền tảng mã nguồn mở, tìm hiểu về hệ thống "điện toán
đám mây" theo hướng cơ sở hạ tầng (Infrastructure as a Service). Triển khai thực
nghiệm trên server thực tế để đánh giá, so sánh với hệ thống mạng thông thường của
doanh nghiệp hiện nay.
GVHD: TS. Phạm Văn Tính
2
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Chương 3
CÔNG NGHỆ CLOUD COMPUTING
3.1. Công nghệ ảo hóa trong Cloud Computing
3.1.1. Giới thiệu về ảo hóa
Ngày nay xu hướng ảo hóa đã trở thành xu hướng chung của hầu hết các doanh
nghiệp trên toàn thế giới. Những khó khăn trong thời kỳ khủng hoảng khiến cho các
doanh nghiệp phải tìm mọi cách để giảm thiểu chi phí. Ảo hóa được coi là một công
nghệ giúp các doanh nghiệp cắt giảm chi tiêu hiệu quả với khả năng tận dụng tối đa
năng suất của các thiết bị phần cứng. Việc áp dụng công nghệ ảo hóa máy chủ nhằm
tiết kiệm không gian sử dụng, nguồn điện và giải pháp tỏa nhiệt trong trung tâm dữ
liệu. Ngoài ra việc giảm thời gian thiết lập máy chủ, kiểm tra phần mềm trước khi
đưa vào hoạt động cũng là một trong những mục đích chính khi ảo hóa máy chủ.
3.1.1.1. Virtualization là gì?
Ảo hóa (virtualization) là việc giả lập môi trường giao tiếp với phần cứng
máy tính thông qua một phần mềm ảo hóa. Phần mềm ảo hóa này cung cấp một lớp
hypervisor giao tiếp trực tiếp với phần cứng máy tính, nó định nghĩa ra một tập các
giao tiếp với phần cứng, giúp chúng ta có thể dễ dàng cài đặt các hệ điều hành khác
nhau trên chúng.
Hình 1: Mô hình Virtualization
3.1.1.2. Hypervisor là gì?
Hypervisor (Virtual Machine Monitor) là 1 processor ảo đặc biệt mà nó cung
cấp 1 tập hợp các driver giao tiếp với phần cứng. Nó cho phép cài nhiều hệ điều
hành cô lập có thể chia sẽ trên cùng một phần cứng.
Hypervisor cung cấp các chức năng:
- Tạo ra các phân vùng về mặt logic.
- Quản lý công việc lên kế hoạch cho bộ nhớ và bộ xử lý cho các VM.
GVHD: TS. Phạm Văn Tính
3
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
-
Cung cấp các cơ chế sắp xếp các luồng thông tin vào ra và liên lạc giữa các
phân vùng của hệ thống.
Thi hành các quy tắc truy cập bộ nhớ.
Thi hành chính sách sử dụng tài nguyên CPU.
Có 2 loại hypervisor:
- Bare metal: phần mềm ảo hóa cung cấp lớp hypervisor được cài trực tiếp trên
phần cứng vật lý mà không phải cài trên hệ điều hành nào.
Ví dụ: VMware ESX and ESXi, Microsoft Hyper-V, Citrix Systems
XenServer…
-
Hosted: phần mềm ảo hóa cung cấp lớp hypervisor được cài đặt trên 1 hệ điều
hành (host operating system).
Ví dụ: VMware Workstation, KVM, Oracle VM VirtualBox, Microsoft
Virtual PC, Parallels Desktop,…
Hình 2: Phân loại hypervisor
3.1.1.3. Virtual Machine là gì?
Virtual Machine (máy ảo) là 1 tập hợp các phần cứng ảo mà nó cho phép, hỗ
trợ hệ điều hành và các ứng dụng có thể chạy trên nó.
Nó là 1 folder chứa 1 tập hợp các file riêng biệt. Những file này diễn tả cấu
hình của máy ảo bao gồm: phần cứng, CPU, RAM, disk, network interface, CDROM,…
GVHD: TS. Phạm Văn Tính
4
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Hình 3: Các file của 1 virtual machine
3.1.1.4. CPU virtualization
Cung cấp khả năng ảo hóa về phần cứng. Cho phép CPU lập lịch cũng như
cấp phát nguồn tài nguyên một cách hiệu quả hơn. Tăng performance cho các phần
mềm ảo hóa.
Trên thị trường hiện nay có 2 hãng CPU nỗi tiếng đó là: Intel và AMD. Các
dòng CPU hỗ trợ ảo hóa: Intel-VT và AMD-V. Đối với Intel các bạn có thể vào
trang sau để tra cứu CPU đang dùng có hỗ trợ ảo hóa hay không
/>Security Rings trong CPU: đối với các CPU thông thường (không hổ trợ ảo
hóa) ring 0: cấp độ cao nhất, nó cho phép truy xuất trực tiếp đến phần cứng của máy
tính là nơi HĐH được cài đặt; ring 1 và ring 2: cấp độ thấp hơn, là nơi cài đặt các
driver; ring 3: cấp độ thấp nhất của CPU cho phép cài đặt các chương trình ứng
dụng.
Hình 4: Privilege rings CPU
GVHD: TS. Phạm Văn Tính
5
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Hình 5: Privilege rings CPU (không hỗ trợ ảo hóa)
Đối với các CPU hỗ trợ ảo hóa (Intel-VT và AMD-V), khi ảo hóa 1 Guest OS
trên VM nó yêu cầu phải được cài đặt tại “ring 0” trong khi đó HĐH của máy host
đã giành “ring 0” để cài đặt. Do đó, CPU hỗ trợ ảo hóa định nghĩa thêm 1 ring nữa là
“ring -1”. Xem thêm ở phần “Phân loại ảo hóa” để biết rõ thêm.
3.1.2. Phân loại ảo hóa
3.1.2.1. Paravirtualization
- Cung cấp 1 lớp hypervisor sửa đổi 1 số thông số trong hệ điều hành (để
HĐH có thể chạy được ở ring 0 của CPU), quản lý việc kết nối trực tiếp
đến nguồn tài nguyên phần cứng của hệ điều hành. Do đó, nó sẽ không hổ
trợ cho các hệ điều hành mã nguồn đóng như windows.
-
Cải thiện hiệu suất hoạt động hơn full virtualization.
-
Ví dụ: Xen
Hình 6: Paravirtualization
GVHD: TS. Phạm Văn Tính
6
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
3.1.2.2.
-
Full virtualization
Cung cấp 1 lớp hypervisor cho phép ảo hóa tất cả các phần cứng của máy
tính vật lý. Do đó, nó hổ trợ tất cả các hệ điều hành cài đặt trên VM.
-
Không tối ưu về hiệu suất hoạt động nhưng khả năng tương thích rất cao.
Có thể cài đặt được tất cả các loại hệ điều hành guest trên VM.
-
Ví dụ: Vmware, KVM, Virtual PC, Virtual Box.
Hình 7: Full Virtualization (CPU không hỗ trợ ảo hóa)
Hình 8: Full Virtualization (CPU hỗ trợ ảo hóa)
3.1.3. Những lợi ích và tầm quan trọng của ảo hóa trong Cloud Computing
3.1.3.1. Những lợi ích mà ảo hóa mang lại
- Dễ dàng quản lý: thông qua ảo hóa, người quản trị có thể monitor và quản
lý tất cả các máy server chỉ bằng 1 máy tính vật lý. Họ có thể triển khai
các công nghệ như load balacing, clustering,… trên các VM này. Và khi
GVHD: TS. Phạm Văn Tính
7
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
có sự cố xãy ra ở bất kỳ máy nào họ có thể copy máy ảo này ra một máy
khác để khắc phục sự cố mà không làm ảnh hưởng đến hoạt động của hệ
thống.
-
Loại bỏ đi vấn đề tương thích: trên cùng 1 server chúng ta có thể cài được
nhiều hệ điều hành và ứng dụng khác nhau mà không quan tâm đến độ
tương thích giữa chúng. Không cần quan tâm đến việc tìm kiếm driver
cho từng VM nữa vì phần mềm ảo hóa đã định nghĩa sẵn 1 tập các driver
được dùng phổ biến nhất hiện nay.
-
Cô lặp lỗi: một lỗi xảy ra trong 1 máy ảo (lỗi dịch vụ, hay bị nhiểm
virus,…) sẽ không làm ảnh hưởng đến các máy ảo khác.
-
Tăng độ bảo mật: việc quản lý tập trung các máy ảo trong cùng 1 máy vật
lý giúp người quản trị dễ dàng triển khai các cơ chế bảo mật.
-
Sử dụng hiệu quả nguồn tài nguyên: đối với 1 máy vật lý, ở điều kiện bình
thường hiệu suất sử dụng không đáng kể, chưa tận dụng được hết nguồn
tài nguyên đang có. Ảo hóa giúp tận dụng hiệu quả nguồn tài nguyên
(CPU, RAM,…) mà máy đang có.
-
Linh động trong việc di chuyển: các máy ảo chỉ là 1 folder chứa các file
trong máy vật lý. Việc di chuyển chúng từ máy vật lý này sang máy khác
khi gặp sự cố thật dễ dàng. Đơn giản chỉ là hành động copy từ máy này
sang máy khác.
-
Dễ dàng giả lập môi trường test phần mềm: việc tạo lập các VM để giả
lập môi trường test phần mềm rất dễ dàng mà không ảnh hưởng đến các
chức năng hàng ngày của máy vật lý.
-
Triển khai nhanh chóng: các máy ảo chỉ là 1 folder chứa các file. Sau khi
người quản trị đã tạo dựng 1 máy thành công. Để nhanh chóng triển khai
hệ thống gồm nhiều máy. Người quản trị chỉ cần sử dụng 1 máy ảo làm
mẫu và tiến hành clone nó ra sẽ có được nhiều máy ngay lập tức để triển
khai.
-
Giảm chi phí: giảm chi phí mua các thiết bị phần cứng server, giảm điện
năng tiêu thụ và làm mát, giảm không gian đặt máy tính vật lý, giảm nhân
viên bảo trì.
-
Backup và restore dễ dàng: việc backup và restore các máy ảo rất dễ
dàng.
3.1.3.2. Tầm quan trọng của ảo hóa trong Cloud Computing
- Virtualization có vai trò rất quan trọng trong Cloud Computing.
GVHD: TS. Phạm Văn Tính
8
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Nó cung cấp 1 platform tối ưu hóa về nguồn tài nguyên của IT đó là các
server ảo.
Cung cấp sự linh động và khả năng mở rộng cao.
Làm giảm chi phí đáng kể khi triển khai một hệ thống Cloud Computing.
3.1.4. Các phần mềm ảo hóa chiếm lĩnh thị trường CNTT
Theo sự khảo sát gần đây nhất năm 2012 của công ty ITCandor Limited (một
công ty chuyên về việc nghiên cứu, tư vấn và đưa ra những xu hướng về ngành
Công nghệ Thông tin dựa vào những chỉ số thu thập được về doanh thu của các công
ty lớn và nỗi tiếng trên thế giới) thì doanh thu của các sản phẩm phần mềm ảo hóa
như sau:
Hình 9: Thống kê doanh thu các phần mềm ảo hóa
Dựa vào biểu đồ trên chúng ta cũng phần nào đánh giá được mức độ ảnh hưởng
cũng như trên thị trường hiện nay các công ty lớn đã tin cậy và sử dụng phần mềm
ảo hóa nào. Không gì bất ngờ trước biểu đồ trên: Vmware anh cả của ảo hóa đứng vị
trí số 1 về doanh thu với phần mềm Vmware ESX chiếm 66.9% trên tổng số doanh
thu 10 tỉ USD, tiếp theo là Xen với 12.4% và Hyper-V của Microsoft chiếm 10.4%,
cuối cùng là KVM của RedHat chiếm 8.0%.
Như vậy, nếu công ty bạn muốn xây dựng 1 hệ thống mạng ảo hóa thì sẽ có 2
sự lựa chọn:
Mã nguồn đóng: Vmware ESX hay Vmware ESXi và Hyper-V.
Mã nguồn mở: Xen và KVM.
GVHD: TS. Phạm Văn Tính
9
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Phần sau sẽ là giới thiệu các chức năng của từng phần mềm ảo hóa. Dựa vào
các chức năng và biểu đồ thống kê trên, chắc hẵn đã chọn ra được phần mềm phù
hợp với công ty đang muốn triển khai ảo hóa.
3.1.4.1. Vmware ESX
3.1.4.1.1. Giới thiệu
- ESX Server là lõi của bộ phần mềm Vmware Infrastructure. Chúng hoạt
động như hypervisor, hay lớp ảo hóa (virtualization layer).
-
VMware ESX Server được cài đặt trực tiếp trên máy chủ vật lý và phân
vùng nó vào nhiều máy tính ảo có thể chạy đồng thời, chia sẻ nguồn tài
nguyên vật lý của máy chủ. Mỗi máy ảo đại diện cho một hệ thống hoàn
chỉnh, với bộ vi xử lý, bộ nhớ, hoạt động mạng, lưu trữ và BIOS, và có
thể chạy một hệ điều hành và các ứng dụng.
Hình 10: Mô hình tổng quan Vmware ESX
-
ESX Server bao gồm 2 thành phần: Server Console và Vmkernel.
Server Control (SC): Quản lý ESX Server và các máy ảo chạy trên
máy chủ. SC bao gồm các dịch vụ như: tường lửa, SNMP agent và
web.
Vmkerlel là nền tảng thật sự cho quá trình ảo hóa. Vmkernel quản lý
các phiên truy xuất phần cứng của các máy ảo.
GVHD: TS. Phạm Văn Tính
10
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
Hình 11: Các thành phần của Vmware ESX
3.1.4.1.2. Chức năng chính
- Cung cấp hiệu suất cao và các khả năng mở rộng.
VMware ESX và ESXi thiết lập kỷ lục về hiệu suất ảo, cung cấp lên
tới 8.900 giao dịch cơ sở dữ liệu/giây, 200.000 hoạt động I/O mỗi
giây, và lên đến 16.000 hộp thư trên máy chủ Exchange.
Một trong những khả năng quan trọng trong VMware ESX và ESXi là
hiệu suất cao, cụm tập tin hệ thống tối ưu hóa cho các môi trường ảo
được gọi là VMware VMFS vStorage, cho phép truy cập đĩa hiệu quả
và tăng cường hiệu suất I/O.
Cải tiến hiệu suất cho việc lưu trữ iSCSI (iSCSI là chuẩn ổ cứng trong
mạng SAN).
Ra đời để tối ưu hóa hiệu suất lõi nhiều hạt nhân, VMware ESX và
ESXi hỗ trợ công nghệ của bên thứ ba mà nhiều cải thiện hiệu suất ảo
như Intel's Extended Page Tables (EPT) và and AMD's Rapid
Virtualization Indexing (RVI).
VMware ESX. ESXi và cho phép các máy ảo được cấu hình lên đến
tám bộ vi xử lý ảo và 255 GB RAM để hỗ trợ các nguồn tài nguyên
cho hầu hết các ứng dụng chuyên sâu.
-
Có thể chạy với hệ thống phần cứng lên đến 64 lõi CPU vật lý và 1TB
RAM , và chạy lên đến 256 máy ảo trên một máy chủ duy nhất.
GVHD: TS. Phạm Văn Tính
11
SVTH: Nguyễn Thái Châu – Trần Huy Cường
NGHIÊN CỨU VÀ ỨNG DỤNG GIẢI PHÁP ĐIỆN TOÁN ĐÁM MÂY NGUỒN MỞ CHO HỆ
THỐNG MẠNG DOANH NGHIỆP
-
Với VMware ESX và ESXi, bạn có thể ảo hóa (virtualize) bất cứ môi
trường, từ trung tâm dữ liệu của công ty đến văn phòng chi nhánh, với
một danh sách tương thích bao gồm hàng trăm x86, máy chủ và hệ thống
lưu trữ, và phạm vi rộng nhất của các ứng dụng và hỗ trợ hệ điều hành
khách, bao gồm Windows, Linux, Netware, Solaris,…
-
Xây dựng một dữ liệu tập trung động với VMware vSphere.
-
Bằng cách cho phép quản lý tập trung, tự động cân bằng tải, quản lý điện
năng và khả năng di chuyển một máy ảo đang chạy trên máy vật lý sẽ
giảm thiểu sự gián đoạn dịch vụ.
-
Ảo hóa mức phần cứng – không cần đến đăng ký hệ điều hành, ESXi vẫn
có thể cài đặt trên phần cứng của bạn (cài đặt trên phần cứng mới
nguyên).
-
Hỗ trợ SAN – kết nối với iSCSI và kho lưu trữ Fibre Channel (FC) SAN,
gồm các tính năng như khởi động từ SAN.
-
Hỗ trợ lưu trữ SATA nội bộ.
-
Hỗ trợ hệ điều hành khách 64bit.
Mạng ảo – switch ảo, NIC ảo, các chính sách cấu hình cổng QoS và
VLAN.
-
Hiệu suất máy ảo nâng cao – trong một số trường hợp các máy ảo có thể
thực hiện thậm chí còn tốt hơn so với máy chủ vật lý với một số tính năng
như chia sẻ trang nhớ trong suốt và bảng trang xếp chồng.
-
Virtual SMP của VMware (hay VSMP) là một tính năng cho phép
VMware ESX Server có thể tận dụng đến 4 bộ vi xử lý vật lý trên hệ
thống đồng thời. Thêm vào đó, với VSMP, việc xử lý các nhiệm vụ sẽ
được cân bằng giữa các CPU.
-
VMFS của VMware chỉ được tạo dành cho ảo hóa VMware. Vì vậy nó là
hệ thống file hiệu suất cao nhất có sẵn để sử dụng trong việc ảo hóa doanh
nghiệp. Tuy được gộp vào phiên bản nào đó hoặc gói ESX Server hay VI
bạn chọn nhưng VMFS vẫn được đưa ra như một sản phẩm riêng bởi
Vmware. Điều này là vì nó cũng khá độc nhất.
-
Đây là một hệ thống file cluster hiệu suất cao cho phép nhiều hệ thống có
thể truy cập vào hệ thống file tại cùng một thời điểm. VMFS là những gì
mang đến cho bạn một nền tảng vững chắc để thực hiện VMotion và
VMHA. Với nó bạn có thể tăng phân vùng một cách linh hoạt, hỗ trợ việc
ghi nhật ký và bổ sung thêm đĩa ảo cho hệ thống. Thêm hoặc xóa một
GVHD: TS. Phạm Văn Tính
12
SVTH: Nguyễn Thái Châu – Trần Huy Cường