MỤC LỤC
LỜI NÓI ĐẦU
Ngày nay đối với các công ty, doanh nghiệp, việc quản lý hiệu quả dữ liệu riêng của công
ty cũng như dữ liệu khách hàng và đối tác là một trong những bài toán được ưu tiên hàng
đâu và đang không ngừng gây khó khăn cho họ. Đề quản lý được nguồn dữ liệu đó, ban
đầu các doanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phía như chi phí cho phần
cứng, phần mềm, mạng, chi phí cho quản trị viên… Ngoài ra họ còn phải tính toán khả
1
năng mở rộng, nâng cấp thiết bị, kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng
của dữ liệu.
Từ một bài toán điển hình như vậy, chúng ta thấy được 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.
Thuật ngữ “điện toán đám mây” ra đời bắt nguồn từ một trong nhu cầu thiết yếu của còn
người. Điện toán đám mây còn được bắt nguồn từ ý tưởng đưa tất cả mọi thứ như dữ liệu,
phần mềm… lên trên mạng Internet. Chúng ta sẽ không còn trông thấy các máy PC, máy
chủ riêng của các doanh nghiệp để lưu trữ dữ liệu nữa mà chỉ còn là các “máy chủ ảo” tập
trung ở trên mạng. Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có
thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ,
mà không cần phải đầu tư nhiều vào cơ sở hạ tầng cũng như quan tâm nhiều đến công
nghệ. Xu hướng này sẽ giúp cho các công ty, doanh nghiệp vừa và nhỏ mà không có cơ
sở hạ tầng mạng, máy chủ để lưu trữ, quản lý dữ liệu tốt. Hơn thế nữa, vượt ngoài phạm
vi “quản lý dữ liệu”, nếu như toàn bộ chương trình ứng dụng của doanh nghiệp được cài
đặt trên hệ thống máy tính chủ đó để mọi người có thể dễ dàng truy cập sẽ tạo thuận lợi
lớn cho doanh nghiệp để họ có thể tập trung vào nghiệp vụ của mình.
Rõ ràng để có thể cung cấp được một hệ thống điện toán đám mây đáp ứng những nhu
cầu như vậy thì nhà cung cấp cần một cơ sở vật chất và kỹ thuật cực kỳ tối tân, và trên
thực tế chỉ có những hãng công nghệ lớn mới có thể đảm nhận nhiệm vụ này. Amazone
và Google là một trong những hãng tiên phong phát triển điện toán đám mây và đã thu
được một số thành quả nhất định. Gần đây, hãng phần mềm lớn nhất thế giới Microsoft
cũng đã chính thức đưa ra sản phẩm điện toán đám mây của mình: Windows Azure
Platform. Dù chỉ mới xuất hiện nhưng Windows Azure đã gây chú ý lớn đặc biệt là ở khả
năng xây dựng các ứng dụng với khả năng mở rộng rất mạnh mẽ và linh hoạt.
Trong tiểu luận này nhằm tìm hiểu về cloud computing, từ đó đi vào việc triển khai một
mô hình cung cấp dịch vụ Cloud Computing trên nền tảng Microsoft. Nắm được nền tảng
2
công nghệ và đưa ra định hướng phát triển đó chính là mục tiêu của đề tài “Xây dựng
Cloud Computing trên nền tảng Microsoft”.
3
Triển khai Cloud Computing trên nền tảng Microsoft
CHƯƠNG I. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
Lịch sử phát triển hơn 30 năm của ngành công nghệ phần mềm tuy chưa phải là dài,
nhưng đã chứng kiến những cuộc cách mạng mang tính nhảy vọt. Một trong những thay
đổi mang tính quyết định và có ý nghĩa nhiều nhất là sự thay đổi của kiến trúc phần mềm.
Có thể kể đến việc chuyển từ cấu trúc Mainframe sang kiến trúc Client-server những năm
cuối thập kỉ 80 của thế kỉ 20.
Và đến những năm đầu của thập niên 2010 này, chúng ta lại chứng kiến một cuộc cách
mạng nữa khi ngành công nghiệp phần mềm đang từng bước chuyển mình sang một kiến
trúc mới: Cloud computing – điện toán đám mây.
1.1 Khái niệm
Đứng ở góc nhìn khoa học kỹ thuật cũng có nhiều định nghĩa khác nhau, trong đó có
hai định nghĩa của Ian Foster và Rajkumar Buyya được dùng khá phổ biến và có nhiều
điểm tương đồng.
Theo Ian Foster: “Cloud Computing là một mô hình điện toán phân tán có tính co giãn
lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu
trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được
phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet.”
Theo Rajkumar Buyya: “Cloud là một loại hệ thống phân bố và xử lý song gồm các
máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều
tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử
dụng.”
4
Triển khai Cloud Computing trên nền tảng Microsoft
Hình 1.1 Mô hình điện toán đấm mây đối với người sử dụng
Cả hai định nghĩa trên đều định nghĩa Cloud Computing là một hệ phân bố, cung cấp
các dạng tài nguyên ảo dưới dạng dịch vụ một cách linh động theo nhu cầu của người
dùng trên môi trường internet.
Theo Viện tiêu chuẩn và công nghệ quốc gia Bộ Thương mại Mỹ (NIST): “Điện toán
đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến một kho
tài nguyên điện toán dùng chung, có thể định cấu hình (ví dụ như mạng, máy chủ, lưu
trữ, ứng dụng) có thể được cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối
thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ”.
Một trong những ý tưởng quan trọng nhất của điện toán đám mây là khả năng mở rộng và
công nghệ chủ chốt là công nghệ ảo hóa. Ảo hóa cho phép sử dụng tốt hơn một server
bằng cách kết hợp các hệ điều hành và các ứng dụng trên một máy tính chia sẽ đơn lẻ. Ảo
hóa cũng cho phép di trú trực tuyến (online migration) để khi một server quá tải một, một
instace của hệ điều hành (và các ứng dụng trên đó) có thể di trú đến một server mới, ít tải
hơn.
5
Triển khai Cloud Computing trên nền tảng Microsoft
1.2 Các đặc điểm của điện toán đám mây
1.2.1 Tự phục vụ theo nhu cầu (On-demand self-service)
Khách hàng có thể tự tăng cường năng lực tính toán, ví dụ như thời gian server hay
không gian lưu trữ trên network, một cách hoàn toàn tự động dựa theo nhu cầu mà không
cần phải thương lượng với nhà cung cấp dịch vụ. Đặc tính này thường được biết đến với
tên gọi Pay-as-you-go.
1.2.2 Truy xuất diện rộng (Broad network access)
Khả năng tính toán được cung cấp thông qua network và được truy cập thông qua một
cơ cấu chuẩn, mà có thể dung bằng nhiều nền tảng client khác nhau (như mobile phones,
laptops, và PDA)
1.2.3 Dùng chung tài nguyên (Resource pooling)
Tài nguyên điện toán của nhà cung cấp được dùng chung để phục vụ cho nhiều khách
hàng sử dụng một mô hình multi-tenant, với các tài nguyên thực và ảo hóa khác nhau
được cấp phát và tái cấp phát một cách động (dynamically) tùy thuộc vào yêu cầu của
khác hàng. Không phụ thuộc vị trí … khách hàng về tổng quát không có quyền hay thậm
chí là không có hiểu biết về vị trí chính xác của các tài nguyên được cung cấp nhưng có
thể xác định vị trí của các tài nguyên cấp cao hơn (ví dụ như nước, bang, datacenter). Các
tài nguyên bao gồm không gian lưu trữ, tính toán, bộ nhớ, băng thông mạng và các máy
ảo.
1.2.4 Khả năng co giãn (Rapid elasticity)
Khả năng co giãn có thể được cung cấp một cách nhanh chóng và co giãn, trong một số
trường hơp là tự động, để có thể giãn ra hoặc co vào phụ thuộc vào nhu cầu người dùng.
Đối với khách hàng, tài nguyên hiện có được coi như như vô hạn và có thể mua với bất kì
số lượng nào vào bất kì thời gian nào.
1.2.5 Điều tiết dịch vụ (Measured Service)
Các hệ thống cloud tự động điều khiển và tối ưu hóa tài nguyên sử dụng bằng cách trừu
tượng hóa tương ứng với kiểu dịch vụ (lưu trữ, khả năng xử lý, băng thông, và số người
6
Triển khai Cloud Computing trên nền tảng Microsoft
dùng active). Tài nguyên sử dụng có thể được giám sát, điều khiển và báo cáo một cách
trong suốt cho cả nhà cung cấp và khách hàng của dịch vụ đã dùng.
1.3 Mô hình dịch vụ
Có 3 mô hình hình dịch vụ cơ bản mà cloud computing đang được triển khai là
Infrastucture as a Service (IssA), Platform as a Service (PaaS) và Software as a Service
(SaaS).
Hình 1.2 Mô hình dịch vụ
1.3.1 Infrastructure as a Service – IaaS
Trong loại dịch vụ này, khách hàng được cung cấp những tài nguyên máy tính cơ bản
(như bộ xử lý, dung lượng lưu trữ, các kết nối mạng…). Khách hàng sẽ cài hệ điều hành,
triển khai ứng dụng và có thể nối các thành phần như tường lửa và bộ cân bằng tải. Nhà
cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng cơ bản bên dưới, khách hàng sẽ phải quản lý hệ
điều hành, lưu trữ, các ứng dụng triển khai trên hệ thống, các kết nối giữa các thành phần.
1.3.2 Platform as a Service – PAAS
Nhà cung cấp dịch vụ sẽ cung cấp một nền tảng (platform) cho khách hàng. Khách
7
Triển khai Cloud Computing trên nền tảng Microsoft
hàng sẽ tự phát triển ứng dụng của mình nhờ các công cụ và môi trường phát triển được
cung cấp hoặc cài đặt các ứng dụng sẵn có trên nền platform đó. Khách hàng không cần
phải quản lý hoặc kiểm soát các cơ sở hạ tầng bên dưới bao gồm cả mạng, máy chủ, hệ
điều hành, lưu trữ, các công cụ, môi trường phát triển ứng dụng nhưng quản lý các ứng
dụng mình cài đặt hoặc phát triển.
1.3.3 Software as a Service - SAAS
Dịch vụ SaaS cung cấp các ưng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều
khách hàng với chỉ một phiên bản cài đặt. Khách hàng lựa chọn ứng dụng phù hợp với
nhu cầu và sử dụng mà không quan tâm tói hay bỏ công sức quản lý tài nguyên tính toán
bên dưới.
Dịch vụ SaaS nổi tiếng nhất phải kể đến Salesforce.com với các ứng dụng cho doanh
nghiệp mà nổi bật nhất là CRM. Các ứng dụng SaaS cho người dùng cuối phổ biến là các
ứng dụng Office365 của Microsoft hay Google Docs của Google.
1.4 Mô hình triển khai điện toán đám mây
1.4.1 Public Cloud
Mô hình đầu tiên được nói đến khi đề cập tới Cloud Computing chính là mô hình Public
Cloud. Đây là mô hình mà hạ tầng Cloud Computing được một tổ chức sỡ hữu và cung
cấp dịch vụ rộng rãi cho tất cả các khách hàng thông qua hạ tầng mạng Internet hoặc các
mạng công cộng diện rộng. Các ứng dụng khác nhau chia sẻ chung tài nguyên tính toán,
mạng và lưu trữ. Do vậy, hạ tầng CC được thiết kế để đảm bảo cô lập về dữ liệu giữa các
khách hàng và tách biệt về truy cập.
8
Triển khai Cloud Computing trên nền tảng Microsoft
Hình 1.3Mô hình triển khai Public Cloud
Các dịch vụ Public Cloud hướng tới số lượng khách hàng lớn nên thường có năng lực về
hạ tầng cao, đáp ứng nhu cầu tính toán linh hoạt, đem lại chi phí thấp cho khách hàng. Do
đó khách hàng của dịch vụ trên Public Cloud sẽ bao gồm tất cả các tầng lớp mà khách
hàng cá nhân và doanh nghiệp nhỏ sẽ được lợi thế trong việc dễ dàng tiếp cận các ứng
dụng công nghệ cao, chất lượng mà không phải đầu tư ban đầu, chi phí sử dụng thấp, linh
hoạt.
1.4.2 Private Cloud
Đám mây doanh nghiệp (Private Cloud) là mô hình trong đó hạ tầng đám mây được sở
hữu bởi một tổ chức và phục vụ cho người dùng của tổ chức đó. Private Cloud có thể
được vận hành bởi một bên thứ ba và hạ tầng đám mây có thể được đặt bên trong hoặc
bên ngoài tổ chức sở hữu (tại bên thứ ba kiêm vận hành hoặc thậm chí là một bên thứ tư).
9
Triển khai Cloud Computing trên nền tảng Microsoft
Hình 4 Mô hình triển khai private cloud
Private Cloud được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằm khai thác ưu
điểm được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằm khai thác ưu điểm về
công nghệ và khả năng quản trị của Cloud Computing. Với Private Cloud, các doanh
nghiệp tối ưu được hạ tầng IT của mình, nâng cao hiệu quả sử dụng, quản lý trong cấp
phát và thu hồi tài nguyên, qua đó giảm thời gian đưa sản phẩm sản xuất, kinh doanh ra
thị trường.
1.4.3 Community Cloud
Đám mây chung (Community Cloud) là mô hình trong đó hạ tầng đám mây được chia sẻ
bởi một số tổ chức cho cộng đồng người dùng trong các tổ chức đó. Các tổ chức này do
đặc thù không tiếp cận với các dịch vụ Public Cloud và chia sẻ chung một hạ tầng Cloud
Computing để nâng cao hiệu quả đầu tư và sử dụng.
10
Triển khai Cloud Computing trên nền tảng Microsoft
1.4.4 Hybrid Cloud
Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud. Trong đó doanh nghiệp sẽ
“out-source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ
Public Cloud để giải quyết và xử lý các dữ liệu này. Đồng thời, doanh nghiệp sẽ giữ lại
các chức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud).
Một khó khăn khi áp dụng mô hình Hybrid Cloud là làm sao triển khai cùng một ứng
dụng trên cả hai phía Public và Private Cloud sao cho ứng dụng đó có thể kết nối, trao đổi
dữ liệu để hoạt động một cách hiệu quả.
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 Cloud Computing 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.
11
Triển khai Cloud Computing trên nền tảng Microsoft
1.5 Kiến trúc điện toán đám mây
Hình 1.5Kiến trúc điện toán đám mây
Hạ tầng: Cơ sở hạ tầng (Infrastructure) của ĐTĐM là phần cứng được cung cấp như là
các dịch vụ, nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng. Các tài nguyên phần
cứng được cung cấp theo thời gian cụ thể theo yêu cầu. Dịch vụ kiểu này giúp cho khách
hàng giảm chi phí bảo hành, chi phí sử dụng…
Lƣu trữ (Storage): Lưu trữ đám mây là khái niệm tách dữ liệu khỏi quá trình xử lý và
chúng được lưu trữ ở những vị trí từ xa. Lưu trữ đám mây cũng bao gồm cả các dịch vụ
CSDL, ví dụ như BigTable của Google, SimpleDB của Amazon…
12
Triển khai Cloud Computing trên nền tảng Microsoft
Cloud Runtime: Là dịch vụ phát triển phần mềm ứng dụng và quản lý các yêu cầu phần
cứng, nhu cầu phần mềm. Ví dụ nền dịch vụ như khung ứng dụng Web, web hosting…
Dịch vụ: Dịch vụ đám mây là một phần độc lập có thể kết hợp với các dịch vụ khác để
thực hiện tương tác, kết hợp giữa các máy tính với nhau để thực thi chương trình ứng
dụng theo yêu cầu trên mạng. ví dụ các dịch vụ hiện nay như: Simple Queue Service,
Google Maps, các dịch vụ thanh toán linh hoạt trên mạng của Amazon,…
Ứng dụng: Ứng dụng đám mây (Cloud application) là một đề xuất về kiến trúc phần
mềm sẵn sàng phục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm, cài đặt, vận hành
và duy trì ứng dụng tại máy bàn/thiết bị của người sử dụng. Ứng dụng đám mây loại bỏ
được các chi phí để bảo trì và vận hành các chương trình ứng dụng.
Hạ tầng khách hàng: (Client Infrastructure) là những yêu cầu phần mềm hoặc phần
cứng để sử dụng các dịch vụ ĐTĐM trên mạng. Thiết bị cung cấp cho khách hàng có thể
là trình duyệt, máy tính để bàn, máy xách tay, điện thoại di động…
1.6 Ưu nhược điểm của điện toán đám mây
1.6.1 Ưu điểm
Điện toán đám mây cho phép truy cập dữ liệu toàn cầu. Một ưu điểm nữa của điện toán
đám mây là độc lập thiết bị. Người dùng có thể truy cập đám mây từ bất kỳ máy tính nào
hoặc từ bất kỳ thiết bị nào, miễn là thiết bị đó được kết nối với mạng Internet.
1.6.2 Nhược điểm
Để truy cập được vào đám mây và sử dụng các tiện ích mà đám mây cung cấp đòi hỏi
thiết bị phải được kết nối vào mạng Internet. Nghĩa là nếu không kết nối với mạng, người
dùng sẽ không thể truy cập được bất cứ thứ gì bất cứ thứ gì kể cả tài liệu của họ.
Bảo mật cũng là một trong những vấn đề thách thức của điện toán đám mây.
1.7 Tổng kết chương
Chương này đã trình bày những khái niệm cơ bản về điện toán đám mây, kiến trúc, thành
phần, ưu nhược điểm của điện toán đám mây. Chương sau sẽ đi vào công nghệ ảo hóa,
nền tảng để xây dựng điện toán đám mây
13
Công nghệ ảo hóa
CHƯƠNG 2 CÔNG NGHỆ ẢO HÓA
2.1 Ảo hóa là gì?
Ảo hóa là một thiết kế nền tảng kỷ thuật cho tất cả các kiến trúc điện toán đám mây. Điện
toán đám mây đề cập chủ yếu đến nền tảng ảo hóa. Ảo hóa là công nghệ được thiết kế để
tạo ra 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ó. Ảo
hóa cho người dùng thấy các máy chủ, thiết bị lưu trữ, và phần cứng khác được coi là
một khối tổng thể các nguồn lực hơn là các hệ thống rời rạc, do đó những nguồn tài
nguyên này có thể được phân bố theo yêu cầu. Trong điện toán đám mây, công nghệ ảo
hóa máy chủ được quan tâm hàng đầu, ở đó một máy vật lý đơn lẻ có thể tạo thành nhiều
máy ảo độc lập. Mỗi một máy ảo đều có một thiết lập nguồn hệ thống riêng rẽ, hệ điều
hành riêng và các ứng dụng riêng.
2.2 Lợi ích của ảo hóa
Thông thường việc đầu tư cho một trung tâm công nghệ thông tin là rất tốn kém. Chi phí
đầu tư mua các máy chủ cấu hình mạnh và các phần mềm bản quyền là rất đắt đỏ. Trong
thời buổi kinh tế khó khăn hiện nay doanh nghiệp nào cũng muốn cắt giảm và hạn chế tối
đa các chi phí không cần thiết mà vẫn đáp ứng được năng suất và tính ổn định của hệ
thống, thế nên việc ứng dụng ảo hóa trở thành nhu cầu cần thiết của bất kỳ doanh nghiệp
lớn hay nhỏ. Vì thay vì mua mười máy chủ cho mười ứng dụng thì chỉ cần mua một hoặc
hai máy chủ có hỗ trợ ảo hóa thì vẫn có thể chạy tốt mười ứng dụng trên. Điều này cho ta
thấy sự khác biệt giữa hệ thống ảo hóa và không ảo hóa. Bên cạnh đó việc ứng dụng ảo
hóa còn đêm lại những lợi ích sau đây
- Quản lý đơn giản: khi triển khai hệ thống ảo hóa thì số lượng máy chủ vật lý giảm
đi đáng kể và khi đó việc theo dõi và giám sát hệ thống rất dễ dàng bằng công cụ
phần mềm quản trị tập trung từ xa do nhà cung cấp phần mềm ảo hóa hỗ trợ. Nhà
quản trị dễ dàng theo dõi tình trạng của các máy ảo và của cả hệ thống. Nếu máy
chủ bị trục trặc thì có thể chuyển máy ảo từ máy chủ này sang máy chủ khác, có
thể nâng cấp phần cứng bằng cách gắn thêm RAM, ổ cứng một cách nhanh chóng
và đơn giản.
14
Công nghệ ảo hóa
- Triển khai nhanh: khi triển khai hệ thống thì không cần nhất thiết phải cài đặt toàn
bộ máy ảo trên hệ thống. Vì một máy ảo chỉ là một tập tin được cài đặt trên một
phần vùng trên ổ cứng nên chúng ta có thể tận dụng điều này để giảm thiểu thời
gian cài đặt bằng cách sao chép các tập tin này và cấu hình lại cho đúng với yêu
cầu của máy ảo đang sử dụng. Với cách làm này sẽ giảm thời gian cài đặt từng
máy ảo và tận dụng tối đa tài nguyên nhàn rỗi của tất cả các máy chủ vật lý.
- Phục hồi và lưu trữ hệ thống nhanh: Vì máy ảo chỉ là một tập tin trên ổ đĩa nên
việc sao lưu rất đơn giản là sao chép lại các tập tin này.
- Cân bằng tải và phân phối tài nguyên linh hoạt: Với các công cụ quản lý từ xa các
máy chủ và máy ảo ta sẽ thấy được tình trạng của toàn bộ hệ thống từ đó có chính
sách nâng cấp CPU, RAM, ổ cứng cho máy chủ hoặc máy ảo đó hoặc di chuyển
máy ảo đang quá tải đó sang máy chủ vật lý có cấu hình mạnh hơn, có nhiều tài
nguyên còn trống hơn để hoạt động.
- Tiết kiệm: công nghệ ảo hóa giúp các doanh nghiệp có thể tiết kiếm được một chi
phí lớn đó là điện năng chiếu sang và hệ thống làm mát. Ảo hóa cho phép gom
nhiều máy chủ vào một máy chủ vật lý nên chỉ tốn kem chi phí điện tiêu thụ, làm
mát cho một vài máy chủ.
2.3 Các loại ảo hóa
Ảo hóa được xây dựng dựa trên giải pháp chia một máy vật lý thành nhiều máy con. Giải
pháp này được biết đến với cái tên là Virtual Machine Monitor (VMM) sau này được biết
gọi là hypervisor. VMM cho phép tạo tách rời các máy ảo và điều phối truy cập của các
máy ảo này đến tài nguyên phần cứng. Mặc dù cho phép sử dụng các hệ điều hành bất kỳ
trên các máy ảo trong thực tế để đạt một kết quả và hiệu suất cao nhất thì các nhà sản
xuất vẫn giới hạn và khuyến cáo rang nên sử dụng một số hệ điều hành nào đó. Dựa vào
đặc điểm cấu trúc thì có thể phân loại ảo hóa thành những dạng sau.
2.3.1 VMM – Hypervisor
Công nghệ VMM-Hypervisor là một dạng ảo hóa cơ bản. Nó hoạt động như là một lớp
phần mềm nằm ngay trên phần cứng hoặc bên dưới một hoặc nhiều hệ điều hành khách.
Mục đích chính của nó là cung cấp môi trường làm việc cho các máy ảo. Cho phép các
máy ảo hoạt động trên một phần của phần cứng được gọi là phân vùng (partition). Các hệ
15
Công nghệ ảo hóa
điều hành của máy ảo được cài đặt trên phân vùng này. Mỗi phân vùng sẽ được cung cấp
tập hợp các tài nguyên phần cứng riêng của nó chẳng hạn như bộ nhớ, các chu kỳ CPU và
thiết bị. Hypervisor có trách nhiệm điều khiển và phân phối các luồng truy cập đến các tài
nguyên phần cứng.
Khi một hệ điều hành thực hiện truy xuất hoặc tương tác tài nguyên phần cứng trên hệ
điều hành chủ thì công việc của một Hypervisor sẽ là:
- Hypervisor mô phỏng phần cứng. Nó làm cho các hệ điều hành tưởng rang mình
đang sử dụng tài nguyên vật lý của hệ thống thật.
- Hypervisor liên lạc với các trình điều khiển thiết bị.
- Các trình điều khiển thiết bị phần cứng liên lạc trực tiếp đến phần cứng vật lý.
Hình 2.1 Cấu truc của kiểu ảo hóa VMM Hypervisor
Trong mô hình này trình điều khiển phần cứng liên lạc trực tiếp với các thiết bị phần
cứng mà không phải qua bất kỳ trung gian nào nên nó mang lại một hiệu suất cao nhất về
sử dụng tài nguyên phần cứng. Một vài sản phẩm đang được sử dụng dạng này là
Microsoft Hyper-V, Citrix Xenserver, Vmware ESX server.
16
Công nghệ ảo hóa
2.3.2 Virtual Machine Monitor (VMM)
VMM là một loại ảo hóa hoạt động như một phần mềm chạy trên một hệ điều hành chủ
khác. Nghĩa là để tương tác với tài nguyên phần cứng nó phải liên lạc thông qua hệ điều
hành chủ các sản phẩm điển hình cho kiểu ảo hóa này là VMware Server, Microsoft
Virtual PC…
Môi liên lạc giữa phần cứng và trình điều khiển thiết bị trên hệ điều hành trong kiểu ảo
hóa VMM được mô tả như sau:
- Bước đầu tiên mô phỏng phần cứng. Lớp ảo hóa Hypervisor sẽ tạo ra một phân
vùng trên ổ đĩa cho các máy ảo. Phân vùng này bao gồm các phần cứng ảo như ổ
đĩa, bộ nhớ…
- Hypervisor xây dựng mối liên lạc giữa lớp ảo hóa vơi hệ điều hành. Khi một máy
ảo truy xuất tài nguyên thì lớp Hypervisor sẽ thay thế máy ảo đó gởi các yêu cầu
tới hệ điều hành máy chủ để yêu cầu thực hiện.
- Khi hệ điều hành nhận được các yêu cầu này. Nó liên lạc với trình điều khiển thiết
bị phần cứng.
- Các trình điều khiển thiết bị phần cứng liên lạc đến các phần cứng trên máy thực.
- Quá trình này sẽ xảy ra ngược lại khi có các trả lời từ các phần cứng đến hệ điều
hành chủ.
17
Công nghệ ảo hóa
Hình 2.2 Cấu trúc kiểu ảo hóa VMM
2.3.3 Hybrid
Hybrid là một kiểu ảo hóa mới hơn và có nhiều ưu điểm. Trong đó lớp ảo hóa hypervisor
chạy xong song với hệ điều hành máy chủ. Tuy nhiên trong kiến trúc ảo hóa này các máy
chủ ảo vẫn phải đi qua hệ điều hành máy chủ để truy cập phần cứng những khác biệt ở
chỗ cả hệ điều hành máy chủ và các máy chủ ảo đều chạy trong chế độ hạt nhân. Khi một
trong hệ điều hành máy chủ hoặc một máy chủ ảo cần xử lý tác vụ thì CPU sẽ phục vụ
nhu cầu cho hệ điều hành máy chủ hoặc máy chủ ảo tương ứng. Lý do khiến Hybrid
nhanh hơn là lớp ảo hóa chạy trong chế độ hạt nhân (chạy song song với hệ điều hành)
trái lại Virtual Machine Monitor với lớp ảo hóa chạy trong chế độ người dùng (chạy như
một ứng dụng cài trên hệ điều hành).
18
Công nghệ ảo hóa
Phương pháp ảo hóa Hybrid được sửu dụng trong sản phẩm ảo hóa phổ biển của
Microsoft là Virtual PC 2007 và Virtual Server 2005R2.
Hình 2.3 Kiến trúc ảo hóa Hybrid
2.2.4 Monolithic Hypervisor
Monolithic Hypervisor là một hệ điều hành máy chủ. Nó chưa những trình điều khiển
hoạt động phần cứng trong lớp Hypervisor để truy cập tài nguyên phần cứng bên dưới.
Khi các hệ điều hành này chạy trên các máy ảo truy cập phần cứng thì sẽ thông qua lớp
trình điều khiển thiết bị của lớp Hypervisor.
Mô hình này mang lại hiệu năng cao, nhưng cũng giống như bất kỳ các giải pháp khác
bên mặt ưu điểm thì nó cũng còn có nhiều điểm yếu. Vì nếu lớp trình điều khiển thiết bị
phần cứng của no bị hư hỏng hay xuất hiện lỗi thì các máy ảo cài trên nó đều bị ảnh
hưởng và nguy hại. Thêm vào đó là thị trường phần cứng ngày nay rất đa dạng, nhiều loại
19
Công nghệ ảo hóa
và do nhiều nhà cung cấp khác nhau nên trình điều khiển của Hypervisor trong loại ảo
hóa này có thể sẽ không thể hỗ trợ điều khienr hoạt động của phần cứng này một cách
đúng đắn và hiệu suất chắc chắn cũng sẽ không được như mong đợi. Một trình điều khiển
không thể nào có thể điều khiển tốt hoạt động của tất cả các thiết bị nên nó cũng có
những thiết bị phần cứng không hỗ trợ. Những điều này cho thấy rang việc phụ thuộc quá
nhiều và các loại thiết bị dẫn tới sự hạn chế việc phát triển công nghệ này.
Figure 6Kiến trúc Monolithic Hypervisor
2.3.5 Microkernelized Hypervisor
Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic hypervisor. Điểm
khác biệt giữa hai loại này là trong Microkernelized trình điều khiển thiết bị phần cứng
bên dưới được cài trên một máy ảo và được gọi là trình điều khiển chính, trình điểu khiển
chính này tạo và quản lý các trình điều khiển con cho các máy ảo. Khi máy ảo có nhu cầu
liên lạc với phần cứng thì trình điều khiển con sẽ liên lạc với trình điều khiển chính và
trình điều khiển chính này sẽ chuyển yêu cầu xuống lớp Hypervisor để liên lạc với phần
cứng. Tiêu biểu cho ứng dụng loại ảo hóa này là Windows Server 2012 Hyper-V.
2.4 Ảo hóa máy chủ với Hyper-V
Hyper-V tên mã trước đây là viridian, là một công nghệ dựa trên Hypervisor và một đặc
tính then chốt của Windows Server 2008. Công nghệ này đem tới một nền tảng ảo hóa có
khả năng mở rộng, tinh cậy và tính sẵn sàng cao.
20
Công nghệ ảo hóa
Với Hyper-V, Microsoft cung cấp một nền tảng ảo hóa mạnh và linh hoạt, có thể đáp ứng
nhu cầu ảo hóa mọi cấp độ cho môi trường doanh nghiệp. Với kiến trúc hoạt động mới
của Hyper-V giúp xây dựng hệ thống Server bảo mật và khai thác tối ưu hiệu suất của
Server trong hệ thống mạng. Trong cấu trúc của Hyper-V gồm 3 phần chính: phân vùng
cha(parent) là phân vùng chứa hệ điều hành máy chủ vật lý, các phân vùng con(child) là
phân vùng của các hệ điều hành máy ảo, cuối cùng là lớp hypervisor. Windows
Hypervisor là một bộ giao tiếp bằng phần mềm, nó nằm giữa lớp phần cứng vật lý và một
hay nhiều hệ điều hành. Hypervisor điều khiển việc truy cập đến phần nhân của phần
cứng và định nghĩa ra các môi trường hoạt động độc lập tách rời gọi là partition. Nhiệm
vụ chính của lớp Windows Hypervisor là đảm bảo sự tách rời giữa các phân vùng và
giám sát việc sử dụng tài nguyên phần cứng giữa các phân vùng, bảo đảm cô lập để bảo
mật giữa các phân vùng hệ điều hành máy ảo. Windows Hypervisor điều khiển phần
cứng vật lý giống như advanced programmable interrupt controllers (APICs) trong việc
ngắt quãng định tuyến, bộ xử lý vật lý để lên kế hoạch xử lý một cách logic việc truy cập
của máy ảo, hàng chờ, không gian bộ nhớ vật lý để điều khiển các truy xuất đến Ram và
bộ nhớ thiết bị và các phần cứng khác.Phân vùng cha quản lý việc phân phối Ram, bộ xử
lý và quản lý nguồn, Pci bus, các thiết bi truy xuất thông qua các trình điều khiển thiết
bị…
2.5 Tổng kết chương
Công nghệ ảo hóa thực ra là việc chia nhỏ mỗi công việc cụ thể trên một Server thành các
server khác nhau từ đó làm tăng khả năng vận nhành một hệ thống máy tính đảm bảo tính
thống nhất và lưu trữ, truy cập của hệ thống. Tìm hiểu về công nghệ ảo hóa chúng ta có
thể nhận thấy ưu nhược điểm của công nghệ này từ đó đưa ra cách tiếp cận công nghệ
một cách phù hợp với nhu cầu của mình. Việc áp dụng công nghệ ảo hóa tại Việt Nam
hiện nay còn khá dè dặt. Theo đánh giá ban đầu, nguyên nhân chủ yếu là do các nhà quản
lý tại Việt Nam chưa nhận thức được sự cần thiết của việc tiết kiệm không gian, điện
năng và nhân công trong việc ứng dụng công nghệ ảo hóa. Thêm vào đó, một nguyên
nhân nữa khiến các nhà quản lý công nghệ thông tin tại Việt Nam còn e ngại chính là tính
bảo mật của những hệ thống ảo này. Tuy nhiên nếu không ảo hóa, Việt Nam sẽ tốn chi
phí không nhỏ cho việc bảo dưỡng và sửa chữa những hệ thống cồng kềnh. Do đó, cần
quản bá cho các doanh nghiệp biết được những ưu thế và lợi ích mà ảo hóa đem lại để áp
dụng rộng rãi công nghệ này tại Việt Nam, bắt nhịp với xu thế phát triển của thế giới.
21
Mô hình triển khai
CHƯƠNG 3 MÔ HÌNH TRIỂN KHAI
3.1 Mô hình triển khai hệ thống cloud computing trên nền tảng Microsoft
Hình 3.1 Mô hình hệ thống
Mô hình trên gồm 2 Server vật lý HOST1 và HOST2. Trên HOST1 ta tạo các máy ảo
DC, SCVMM, SCOrch, WAP, SFP, SCOM, DPM.
Vì đây là báo cáo môn học nên tôi không đi qua chi tiết từng bước triển khai, mà chỉ đi
vào các bước chính triển khai một hệ thống cloud trên nền tảng của Microsoft và kết quả
đạt được.
3.1.1 Quy hoạch địa chỉ IP
Trên HOST 1 và HOST 2 tạo 2 switch External để cho các máy ảo kết nối vào. Switch
External LAN để các máy ảo kết nối với nhau ở trong mạng. Switch External Switch để
22
Mô hình triển khai
cho các máy ảo có nhu cầu ra Internet. Switch External LAN sử dụng Subnet
10.10.10.0/24. Switch External Internet sử dụng Subnet 192.168.15.24.
Hình 3.2 Virtual Switch trên Hyper-V
Tên máy Card mạng IP Address Gateway DNS Server
HOST1 Switch External LAN 10.10.10.112/24 10.10.10.1
Switch External Internet 192.168.15.230/2
4
192.168.15.2 10.10.10.1
HOST2 Switch External LAN 10.10.10.113/24
192.168.15.231/2
4
192.168.15.2 10.10.10.1
DC NIC kết nối với Switch External LAN 10.10.10.1/24 127.0.0.1
SCVMM NIC kết nối với Switch External LAN 10.10.10.2/24 10.10.10.1
SCOrch NIC kết nối với Switch External LAN 10.10.10.3/24 10.10.10.1
WAP NIC kết nối với Switch External LAN 10.10.10.4/24 10.10.10.1
SFP NIC kết nối với Switch External LAN 10.10.10.5/24 10.10.10.1
SCOM NIC kết nối với Switch External LAN 10.10.10.6/24 10.10.10.112 10.10.10.1
SCDPM NIC kết nối với Switch External LAN 10.10.10.7/24 10.10.10.112 10.10.10.1
SQL NIC kết nối với Switch External LAN 10.10.10.8/24 10.10.10.112 10.10.10.1
23
Mô hình triển khai
3.2 Vai trò của các máy trong hệ thông Cloud
3.2.1 Máy vật lý HOST 1.
Máy vật lý HOST 1 là máy chưa các máy ảo triển khai quản lý hệ thống cloud cũng như
là nơi chưa tài nguyên khi tạo Cloud.
Máy vật lý HOST 1 có 2 card mạng NIC 1 và NIC 2. Trong đó NIC 1 là card để HOST 1
ra Internet. Trên máy HOST 1 tạo 2 switch External
- Switch External Lan kết nối với NIC 2: khi các máy ảo sử dụng switch này thì có
thể liên lạc với các máy ảo cũng như máy vật lý. Tuy nhiên không thể đi ra
Internet.
- Switch External Internet kết nối NIC 1: Switch này giúp các máy ảo có thể đi ra
Internet.
Hyper-V của Microsoft 2012 hỗ trợ 3 loại switch khác nhau để xây dựng hệ thống mạng
cho các máy ảo:
- Private Virtual Network: là một switch ảo mà chỉ có các máy ảo mới có thể kết nối
đến nó. Các hệ điều hành khách được kết nối với cùng một Private Virtual
Network có thể truyền thông với nhau, tuy nhiên chúng không thể truyền thông
với hệ điều hành Host và hệ điều hành Host cũng không thể kết nối với các VM
trên Private Virtual Network. Private Virtual Network là một giải pháp tuyệt vời
nếu bạn cần có sự tách biệt hoàn toàn giữa tất cả các mạng ảo với nhau.
- Internal Virual Switch: cũng giống như Private Virtual Network ở chỗ nó không
có kết nối đến NIC vật lý nào. Internal Virtual Network là một switch ảo được
tách biệt giống như Private Virtual Network, nhưng trong trường hợp Internal
Virtual Network, hệ điều hành Host có thể truy cập vào các máy ảo khách thông
qua Internal Virtual Network virtual switch. Mặc dù vậy, không có chức năng
giống như DHCP cho switch ảo này.
- External Switch: Khác với các mạng ảo khá vì kiểu mạng ảo này được kết nối với
các adapter mạng vật lý. Chúng ta sẽ có một External Virtual Network với mỗi
một NIC vật lý được cài đặt trên máy chủ Hyper-V. Switch External Virtual
Network sẽ xuất hiện ở vị trí của NIC vật lý trên máy chủ Hyper-V – vì vậy nếu
24
Mô hình triển khai
chúng ta quan sát cấu hình của NIC trước, nó chắc chắn sẽ không có địa chỉ IP
được gán. Thay vào đó, các NIC ảo được bổ sung vào cửa sổ Network
Connections và được kết nối với External Virtual Network switch, NIC ảo có địa
chỉ IP được gán cho sẽ có thể truyền thông với mạng vật lý.
3.2.2 Máy vật lý HOST 2
Máy vật lý HOST 2 ta sẽ không tạo bật cứ một máy ảo gì, vì máy HOST 2 là để triển
khai Failover Clustering. Khi HOST 1 chết, thì máy HOST 2 sẽ chạy thay thế HOST 1.
Đảm bảo tính sẵn sàng của dịch vụ. Thông tin các máy ảo sẽ được lưu trữ ở trên Storage.
3.2.3 Máy ảo DC
Máy ảo DC đóng vai trò là Domain Controller trong hệ thống. Giúp cho môi trường
mạng được quản lý và chức thực tập trung. Dễ dàng thi hành các chính sách trong hệ
thống mạng. Ngoài ra máy ảo DC còn làm chức năng DNS Server, phân giải các domain
ở trong mạng LAN.
3.2.4 Máy ảo SCOM
Máy ảo SCOM là một máy ảo có cài System Center Operation Manager. Đây là một
trong những phần mềm giúp cho việc giám sát các thiết bị trong hệ thống mạng. Phần
mềm này giúp chúng ta đưa ra một cái nhìn tổng quát về tình trang hoạt động của các
dịch vụ trong hệ thống, ngoài ra tăng cường hiệu quả giám sát và dễ dàng tương thích với
những phần mềm non-windows.
System Center Operations Manager cung cấp khả năng quản năm quản lý lý vụ đầu cuối,
dễ dàng mở rộng và tùy biến trong việc nâng cao chất lượng dịch vụ trong môi trường
mạng. System Center Operation Manager có 2 chế độ cho người dùng khi triển khai giám
sát một thiết bị: agent và agentless. Đối với Agentless thì System Center Operation sẽ
không cài đặt phần mềm lên hệ thống giám sát. Tuy nhiên sẽ bị hạn chế vì không phải tất
cả các management pack đều hỗ trợ quản lý agentless ví như như Acitve Directory
Management Pack, Microsoft Exchange 2003 management pack.
25