Đám mây cộng đồng (community cloud): một đám mây cộng đồng có thể được thiết lập khi có vài tổ chức có cùng một số yêu cầu và họ chia sẻ hạ tầng với nhau nhằm đạt được những lợi ích của điện toán đám mây. Chi phí cho thiết lập một đám mây cộng đồng thường có ít người sử dụng trở nên khá tốn kém với các yêu cầu về quyền riêng tư, về bảo mật và các chính sách an ninh.
CHƢƠNG 3 – CÔNG NGHỆ ẢO HÓA NỀN TẢNG CHO ĐIỆN TOÁN ĐÁM MÂY HẠ TẦNG
Điểm khởi đầu của quá trình triển khai điện toán đám mây trong doanh nghiệp, hay nói đúng hơn là quá trình chuyển đổi mô hình điện toán trong doanh nghiệp luôn bắt đầu từ hạ tầng. Các doanh nghiệp trênthế giới nói chung và ở Việt Nam nói riêng luôn gặp khó khăn khi triển khai các ứng dụng của doanh nghiệp do quá trình mua sắm hệ thống máy chủ luôn kéo rất dài. Sự ra đời của công nghệ ảo hóa đem lại khả năng triển khai ứng dụng nhanh chóng, đâylà điều kiện cần thiết cho triển khai các giải pháp điện toán đám mây cho hạ tầng. Với những người chi ̣u trách nhiê ̣m chuyển ứng du ̣ng lên nền ảo hóa , viê ̣c cho ̣n lựa mô ̣t công nghê ̣ ảo hóa phù hợp cho doanh nghi ệp sẽ bắt đầu bằng việc nghiên cứu và đánh giá các công nghê ̣ ảo hóa.
3.1 Khái niệm ảo hóa
Ảo hóa xuất hiện lần đầu cách đây hơn 40 năm, được thiết kế bởi các chuyên gia của IBM khi họ nhận thấy mỗi một hệ thống máy tính lớn CP-40 chỉ chạy được một tác vụ tại một thời điểm, vì vậy họ đã phát triển nhân ảo hóa, đầu tiên chạy trên hệ IBM CP-67 vào năm 1967 và nhân ảo hóa phiên bản thứ hai vào năm 1968, này cho phép chia sẻ bộ nhớ cho các máy ảo và cung cấp cho mỗi máy ảo một vùng nhớ riêng rẽ. Nhân ảo hóa là một phần mềm cho phép nhiều hệ điều hành chạy trên một máy tính vật lý. Phiên bản này giúp cho việc hợp nhất phần cứng vật lý và triển khai các máy ảo nhanh chóng. Công nghệ ảo hóa của IBM vẫn còn tồn tại và phát triển cho tới ngày nay, nhưng chỉ có trên các hệ máy tính lớn và ít được cộng đồng công nghệ biết đến do chi phí quá cao.
Công nghệ ảo hóa trên nền máy tính lớn sẽ không bị bỏ rơi nếu không có sự ra đời của kiến trúc vi xử lý x86. Giá thành của các máy chủ và máy trạm trở nên rẻ hơn rất nhiều so với máy tính lớn, mô hình tính toán chuyển từ tính toán tập trung trên máy tính lớn chuyển sang tính toán phân tán, các ứng dụng từ thiết kế tính toán tập trung cũng chuyển sang mô hình khách chủ. Những năm 1990, sự phát triển nhanh chóng của Windows và Linux gần như thống thị thị trường
hệ điều hành, nền tảng x86 trở thành chuẩn công nghiệp trên mọi máy tính xuất ra thị trường. Do chi phí rẻ số lượng máy chủ và máy trạm chạy trên kiến trúc x86 mua về rất nhiều, một thời gian sau đó, qua nghiên cứu người ta đã phát hiện ra một số vấn đề lớn:
Hiệu suất tận dụng hạ tầng điện toán thấp: theo nghiên cứu thì
hiệu năng tính toán trên kiến trúc này thực tế chỉ đạt khoảng 10% đến 15% năng lực tính toán của chúng. Các tổ chức thường chỉ chạy một ứng dụng quan trọng trên một máy chủ để tránh các rủi ro về bảo mật cũng như sự ảnh hưởng của tính sẵn sàng đối với các ứng dụng trên cùng máy chủ đó.
Chi phí đầu tƣ và vận hành: chi phí vận hành hệ thống phần cứng
tăng đồng thời với chi phí cho hạ tầng. Hầu hết các hạ tầng đều vận hành liên tục không nghỉ, điện năng tiêu thụ cho các máy chủ, hệ thống làm mát, chi phí cho hệ thống đặt máy chủthực sự không tương xứng với hiệu suất tính toán của toàn hệ thống.
Chi phí cho quản lý tăng: khi hạ tầng, số lượng máy chủ tăng lên
thì môi trường điện toán trở nên phức tạp, đội ngũ quản trị cần được đào tạo để có thêm kinh nghiệm quản lý hạ tầng, cần thuê thêm người để bảo trì hệ thống máy chủ phức tạp đó.
Không hỗ trợ hiệu quả trong chịu lỗi và phục hồi sau thảm họa:
các tổ chức càng có nhiều ứng dụng thì càng bị ảnh hưởng mạnh bởi thời gian hệ thống máy chủ ngừng trệ và các máy trạm không truy cập được. Những nguy cơ về tấn công vào hệ thống an ninh, thảm họa tự nhiên, dịch bệnh, khủng bố ảnh hưởng rất lớn tới hoạt động kinh doanh của họ.
Yêu cầu bảo trì cao của máy trạm: việc quản lý và bảo mật máy
trạm trong tổ chức đối mặt với vô số các thách thức. Việc vận hành các máy trạm trong môi trường phân tán, áp dụng các chính sách bảo mật, chính sách truy cập một cách tự động không cần sự can thiệt thủ công của người dùng rất tốn kém và phức tạp. Rất nhiều các bản vá lỗi, các bản nâng cấp cần thiết triển khai trong thời gian ngắn nhằm loại trừ các nguy cơ về an ninh.
Xuất phát từ những vấn đề đó, người ta đặt vấn đề phải tận dụng tối đa hiệu năng điện toán của phần cứng, cho phép nhiều hệ điều hành chạy trên cùng một máy chủ. Vào những năm cuối của thế kỷ 20, các công nghệ ảo hóa trên nền tảng x86 bắt đầu phát triển, tuy nhiên hiệu quả chưa được thực sự chú ý do các vấn đề về nghẽn cổ chai, tuy nhiên khi các công nghệ vi xử lý đa lõi ra đời vào đầu những năm 2000 đã khiến cho công nghệ ảo hóa chứng minh được những hiệu năng thực sự của chúng và hiện nay ảo hóa đã và đang trở thành một trào lưu của thời đại.
Ảo hóa là việc cho phép chạy chia sẻ tài nguyên bởi nhiều hệ điều hành trên một máy tính vật lý bằng cách sử dụng phần mềm giả lập phần cứng. Mỗi hệ điều hành chạy trên một máy ảo, mỗi máy ảo có đầy đủ các thiết bị điện toán cơ bản giống như máy vật lý như bộ vi xử lý, bộ nhớ, thiết bị mạng, ổ đĩa cứng, ổ đĩa mềm.
Hình 3.1 – So sánh giữa hê ̣ thống ảo hóa và hê ̣ thống vật lý14
3.2 Lợi ích của ảo hóa
Hiện nay, trên thế giới nhiều tổ chức đang nghiên cứu và chuyển dần hệ thống của họ từ môi trường vật lý sang môi trường ảo vì họ nhìn thấy nhiều lợi ích cho doanh nghiệp của họ:
Khả năng quản lý dễ dàng hơn: thông qua ảo hóa, các máy chủ
vật lý được hợp nhất để chạy trên một máy chủ vật lý, người quản trị có thể quản lý và giám sát toàn bộ các hoạt động của máy chủ đó dễ dàng hơn, thuận lợi hơn.
Loại bỏ các vấn đề về tƣơng thích: trong quá khứ, khi chạy các
máy Mac OS, Linux, hay Windows trên cùng một máy tính sẽ phát sinh rất nhiều vấn đề về tính tương thích. Ngày nay, với các máy ảo, rất nhiều hệ điều hành khác nhau và các ứng dụng khác nhau có thể chạy trên một máy vật lý mà không ảnh hưởng tới các máy ảo khác.
Cô lập lỗi: các máy ảo chạy trên nền tảng ảo hóa được thiết lập
hoạt động trong các vùng riêng, bất cứ một lỗi nào xảy ra bên trong một máy ảo sẽ không ảnh hưởng đến các máy ảo khác. Các sự cố được tự động cô lập, được khắc phục bởi người quản trị hệ thống trong khi đó các hệ điều hành và các dịch vụ trên các máy ảo khác vẫn hoạt động bình thường.
Tăng tính bảo mật:Người quản trị hệ thống có thể tách thông tin
và ứng dụng đang chạy trên một máy vật lý thành nhiều máy ảo khác nhau. Cách thiết lập này giúp chặn các nhóm người dùng khác nhau có thể truy cập và xem những dữ liệu của ứng dụng khác nhau. Bên cạnh đó, nếu chúng ta cài nhiều ứng dụng lên cùng máy vật lý, nếu virus xâm nhập được vào máy chủ vật lý đó, có thể toàn bộ hoạt động trên máy chủ bị ảnh hưởng, nhưng trên máy ảo nếu virus xâm nhập vào một máy ảo thì hoạt động phá hoại chỉ xảy ra trên một máy ảo và không ảnh hưởng tới các ứng dụng đang hoạt động trên máy ảo khác.
Sử dụng tài nguyên hiệu quả: nhiều máy ảo chạy trên cùng một
máy chủ vật lý sẽ tận dụng được tài nguyên tính toán hiệu quả hơn nếu nó chạy trên một máy chủ vật lý hoặc chỉ có một ứng dụng quan trọng chạy trên một máy chủ vật lý. Nếu một doanh nghiệp nhỏ, trước đây triển
khai năm máy chủ vật lý cho các ứng dụng khác nhau như: FileServer, Exchange, SharedPoint, Active Directory, Microsoft SQL database; thì nay họ có thể chạy đồng thời năm ứng dụng trên một máy chủ vật lý vừa tiết kiệm chi phí cho phần cứng, vừa tận dụng tối đa hiệu năng của máy chủ đó.
Dễ di chuyển:với các doanh nghiệp, việc triển khai máy chủ nhanh
chóng khi có nhu cầ u luôn là một trong những yêu cầu quan trọng. Mỗi máy ảo được lưu trữ trong một tê ̣p hoặc một vài tê ̣p khi có yêu cầu, chẳng hạn như nâng cấp máy chủ lên một máy chủ mới, việc đơn giản là người quản trị cài đặt phần mềm ảo hóa lên máy chủ mới sau đó sao chép máy ảo sang máy chủ mới và chạy máy ảo. Quá trình chuyển đổi này không làm thay đổi các chức năng của máy ảo, không phải cấu hình lại hệ điều hành như cách cài đặt truyền thống.
Triển khai nhanh chóng:Mỗi một máy ảo có thể triển khai như
một “mẫu” máy ảo, khi cần thiết có thể tạo ra một máy ảo có chức năng giống hệt. Khi người quản trị hệ thống muốn triển khai một loạt các máy ảo nhanh chóng thì chỉ việc triển khai từ “mẫu” đó, thay vì phải cấu hình một loạt máy ảo từ đầu.
Giảm chi phí: với mô hình ảo hóa thì chi phí đầu tư phần cứng ít
hơn, điện năng tiêu thụ ít hơn, yêu cầu ít nhân lực cho quản trị hệ thống máy chủ hơn. Một khi đã chuyển sang ảo hóa, các doanh nghiệp sẽ giảm đi rất nhiều chi phí theo thời gian nhờ kiểu công nghệ này đem lại. Các máy ảo là phần mềm nên việc quản trị đều tập trung và người quản trị có thể ngồi ở bất cứ đâu cũng giám sát được hệ thống của họ. Theo thời gian, khi yêu cầu của tổ chức tăng nhanh, việc đầu tư thêm máy chủ tăng thêm thì ảo hóa sẽ giúp chi phí mua sắm này giảm đi, triển khai nhanh hơn, không tăng thêm chi phí xây dựng các văn phòng, các trung tâm dữ liệu để chứa máy chủ. Chi phí cho hệ thống mạng cũng giảm đi, cần ít thiết bị chuyển mạch hơn, ít thiết bị định tuyến hơn, hạ tầng mạng gọn gàng hơn.
Khả năng cô lập các ứng dụng, giảm lỗi: Các doanh nghiệp chưa
chuyển sang ảo hóa hay gặp phải đau đầu về vấn đề xung đột trong việc triển khai nhiều ứng dụng trên cùng một máy chủ vật lý. Với ảo hóa, các
dịch vụ, ứng dụng tách ra trên mỗi máy chủ ảo nên giảm thiểu rất lớn trong giải quyết xung đột giữa các ứng dụng.
Thuận tiên cho quản trị hạ tầng công nghệ và tăng thời gian
hoạt động liên tục: Ảo hóa đem lại sự thuận lợi cho người quản trị hệ
thống hạ tầng công nghệ của tổ chức. Khi có ít máy chủ vật lý hơn có nghĩa là các vấn đề hỏng hóc vật lý ít xảy ra hơn. Người quản trị có thể tập trung nhiều hơn cho các vấn đề hỗ trợ nghiệp vụ, nghiên cứu chiến lược cho tổ chức nhiều hơn. Nhiều máy ảo được quản trị thông qua một công cụ quản trị tập trung, giúp cho người quản trị không phải chạy đi chạy lại giữa các máy chủ vật lý để cấu hình.
Sao lƣu và phục hồi sau thảm họa nhanh hơn: các máy ảo là các
tệp tin nên việc sao lưu trạng thái dễ dàng hơn máy chủ vật lý. Nếu có vấn đề xảy ra trên một máy chủ vật lý, người quản trị có thể dễ dàng sao chép toàn bộ máy ảo mang sang máy chủ vật lý khác để phục hồi nhanh chóng, thời gian phục hồi một máy ảo chỉ tính bằng phút. Trong môi trường kinh doanh hiện tại, việc hệ thống ngưng trệ một vài phút có thể ảnh hưởng rất lớn tới doanh thu của doanh nghiệp. Việc lập kế hoạch đối phó với trường hợp ngưng trệ hệ thống là rất khó là với môi trường máy chủ vật lý, nhưng trong môi trường ảo với sự hỗ trợ của phần mềm ảo hóa thì khi có lỗi xảy ra trên một hệ thống máy chủ vật lý, các máy ảo được chuyển tự động sang một máy chủ vật lý khác mà không làm hệ thống ngưng trệ.
3.3 Các công nghệ ảo hóa phổ biến đƣợc các doanh nghiệp Việt Nam triển khai
Nhận thức được tầm quan trọng của ảo hóa đối với các hoạt động kinh doanh của doanh nghiệp, trong khoảng hai năm trở lại đây, các doanh nghiệp Việt Nam đã và đang rất quan tâm tới ảo hóa. Trong hầu hết các buổi hội thảo, các buổi chuyên đề được tổ chức bởi nhiều hãng lớn trên thế giới tại Việt Nam nhận được sự quan tâm đặc biệt của các nhà quản trị công nghệ thông tin của các doanh nghiệp, các bộ, ban ngành trong chính phủ tham gia. Hầu hết các hãng đều giới thiệu các công nghệ hỗ trợ cho ảo hóa như: Cisco giới thiệu giải pháp ảo hóa trên thiết bị mạng và máy chủ, EMC, NetApp và Hitachi giới thiệu các công nghệ ảo hóa trên các thiết bị lưu trữ, IBM giới thiệu chuyên đề về điện
toán đám mây cho doanh nghiệp với hạ tầng được ảo hóa, VMware giới thiệu giải pháp điện toán đám mây trên nền hệ điều hành cho điện toán đám mây. Tất cả các công nghệ liên quan tới điện toán đám mây giai đoạn này đều hỗ trợ cho việc ảo hóa hạ tầng. Các giải pháp ảo hóa hạ tầng hiện nay có rất nhiều, nhưng tựu trung lại có 4 sản phẩm ảo hóa đang cạnh tranh trên thị trường: KVM (kernel-based virtual machine) đang được triển khai rộng khắp trên các máy chủ họ Linux như RedHat, Ubuntu; vSphere của VMware, Hyper-V của Microsoft và Xen của Citrix.
Quá trình ảo hóa trên hệ thống máy chủ x 86 là việc xây dựng một lớp phần mềm hay lớp ảo hóa nằm giữa phần cứng và hệ điều hành . Lớp ảo hóa này cho phép nhiều hệ điều hành chạy đồng thời trong những máy ảo khác nhau, phân chia và chia sẻ tài nguyên phần cứng một cách linh hoạt.
Hình 3.2 – kiến trúc ảo hóa trên nền x86 của Vmware15
Thách thức lớp nhất của quá trình ảo hóa đó là phải ảo hóa được vi xử lý trên kiến trúc x 86, do kiến trúc này được thiết kế chạy trực tiếp trên phần cứng vật lý. Như vậy, về mặt nào đó mỗi một hệ điều hành luôn giả định nó có toàn
quyền sử dụng tài nguyên trên máy chủ vật lý đó. Trên mô hình kiến trúc vi xử lý x86, các ứng dụng với quyền của người sử dụng chỉ có quyền truy cập vào Ring 3, hệ điều hành với quyền truy xuất phần cứng như bộ nhớ, vi xử lý phải thực hiện các lệnh đặc quyền ở Ring 0. Ảo hóa trên kiến trúc x86 thiết lập một lớp dưới hệ điều hành (kì vọng có hầu hết đặc quyền của Ring 0) để tạo và quản lý máy ảo, chia sẻ tài nguyên linh hoạt.
Hình 3.3 – Kiến trúc lớp đặc quyền trên nền x86 chưa được ảo hóa16
Trên thị trường x86, có ba xu hướng ảo hóa với kiến trúc chính: ảo hóa toàn bộ thông qua biên dịch nhị phân, ảo hóa thông qua việc thay đổi nhân của hệ điều hành hay paravirtualized và phần cứng hỗ trợ ảo hóa.
Tuy nhiên khi phân chia về mă ̣t kiến trúc ảo hóa , đă ̣c biê ̣t là kiến trúc ảo hóa