HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TRẦN VĂN ĐOÀN
NGHIÊN CỨU VỀ CÔNG NGHỆ ẢO HOÁ
VÀ ỨNG DỤNG
LUẬN VĂN THẠC SỸ KỸ THUẬT
HÀ NỘI – NĂM 2013
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TRẦN VĂN ĐOÀN
NGHIÊN CỨU VỀ CÔNG NGHỆ ẢO HOÁ
VÀ ỨNG DỤNG
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS ĐOÀN VĂN BAN
HÀ NỘI – NĂM 2013
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Tác giả luận văn
Trần Văn Đoàn
LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các thầy, cô giáo Học viện
Công nghệ Bưu chính Viễn thông đã tận tình chỉ bảo em trong suốt thời gian học
tập tại nhà trường.
Em xin gửi lời cảm ơn sâu sắc đến PGS.TS. Đoàn Văn Ban, người đã trực
tiếp hướng dẫn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho em trong suốt
thời gian làm luận văn tốt nghiệp.
Bên cạnh đó, để hoàn thành đồ án này, em cũng đã nhận được rất nhiều sự
cứng một cách nhanh chóng và đơn giản.
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ỗi máy ảo chỉ là một tập tin được cài 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ý. Vì
thực tế hiện nay tại trung tâm dữ liệu có nhiều máy chủ không khai thác thác hết tài
nguyên phần cứng của hệ thống.
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.Và Khi một máy ảo
gặp sự cố và hỏng hóc do lỗi hệ điều hành nào đó thì việc phục hồi đơn giản là chép
7
8
đè tập tin đã được sao chép lên tập tin cũ và hệ thống có thể hoạt động bình thường
lại ngay như lúc chưa bị lỗi. Thời gian để phục hồi hệ thống là rất ít. Nếu được đầu
tư thêm một số máy chủ khác thì ta có thể cấu hình tính năng High Availibility cho
các máy chủ ảo hóa này. Khi đó một máy ảo hay một máy chủ bị sự cố thì tất cả các
máy ảo sẽ được di chuyển nóng đến máy chủ khác và có thể hoạt động lại ngay tức
thì.
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 sáng 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 kém chi phí điện tiêu
thụ,làm mát và chiếu sáng cho một vài máy chủ thôi, bên cạnh đó thì diện tích sử
dụng để đặt máy chủ cũng được thu hẹp lại.Và hệ thống dây cáp nối cũng ít đi.
DN, tổ chức. Trong nhiều trường hợp, quyết định có áp dụng ảo hóa trong hệ thống
IT của DN hay không bao hàm thách thức mang tính tổ chức và chính sách nhiều
hơn là thách thức về mặt công nghệ. Lợi ích của ảo hóa chỉ thực sự được phát huy
khi ảo hóa được áp dụng trong các hoàn cảnh phù hợp.
Để hiểu rõ hơn về Công nghệ ảo hóa và lợi ích của ảo hóa mang lại, em đã
chọn đề tài “Nghiên cứu về công nghệ ảo hóa và ứng dụng” để làm luận văn tốt
nghiệp.
2. Mục đích nghiên cứu.
Nắm vững các vấn đề liên quan đến mô hình, các phương pháp, kỹ thuật ảo
hóa, các kiến trúc nền tảng máy chủ chia sẻ.Công nghệ ảo hóa, Ảo hóa dựa trên
Vmware Vsphere và thử nghiệm
3. Đối tượng và phạm vi nghiên cứu.
Tổng quan về công nghệ ảo hóa.
Mô hình kiến trúc chung của ảo hóa.
Giới thiệu VMware Vsphere
9
10
4. Phương pháp nghiên cứu.
Phương pháp tài liệu: nghiên cứu các tài liệu liên quan đến công nghệ ảo
hóa, cung cấp tài nguyên trong nền tảng máy chủ chia sẻ,các công nghệ nền tẳng
của ảo hóa, Ảo hóa dựa trên Vmware vsphere
Phương pháp thực nghiệm: cài đặt thử nghiệm các chương trình liên quan
đến kỹ thuật cung cấp tài nguyên cho dịch vụ ảo hóa dựa trên nền tảng máy chủ
chia sẻ.
5. Nội dung luận văn
Bố cục của luận văn gồm có 4 chương:
Chương 1: Tổng quan về công nghệ ảo hóa: tập trung trình bày giới thiệu về
công nghệ ảo hóa, lợi ích của việc ảo hóa, tìm hiểu một số hệ thống ảo hóa điển
hình, ứng dụng của ảo hóa.
Chương 2: Các công nghệ nền tảng của ảo hóa: trình bày các thành phần của
năng này. Ngày nay hai nhà sản xuất bộ xử lý lớn trên thế giới là Intel và AMD đều
tích cố gằn tích hợp công nghệ ảo hóa vào trong các sản phẩm của họ. Các bộ xử lý
có ứng dụng ảo hóa thường là Intel VT(Virtual Technology) hoặc AMD Pacifica.
Sử dụng công nghệ ảo đã hóa đem đến cho người dùng nhiều tiện ích. Việc
có thể chạy nhiều hệ điều hành đồng thời trên cùng một máy tính thuận tiện cho
việc học tập ngiên cứu và đánh giá một sản phẩm hệ điều hành hay một phần mềm
tiện ích nào đó. Nhưng không ngừng lại ở đó, những khả năng và lợi ích của ảo
hoá còn hơn thế và nơi gặt hái được nhiều thành công và tạo nên thương hiệu của
công nghệ ảo hóa đó chính là trong môi trường hệ thống máy chủ ứng dụng và hệ
thống mạng.
1.2. Các lợi ích của công nghệ Ảo hóa
Việc sử dụng công nghệ ảo hóa làm giảm số lượng máy chủ vật lý, giảm
lượng điện tiêu thụ, tiết kiệm được chi phí cho việc bảo trì phần cứng, nâng cao
hiệu quả công việc. Ngoài ra ta còn có thể dễ dàng mở rộng hệ thống khi có nhu
11
12
cầu, triển khai máy chủ mới nhanh, tận dụng tài nguyên hiện có:vì mỗi máy ảo đơn
giản chỉ là một tập tin hoặc thư mục, ta có thể tạo ra máy chủ mới bằng cách sao
chép từ một file máy chủ ảo hiện tại và cấu hình lại, chọn máy chủ vật lý còn dư
tài nguyên để đưa máy ảo mới lên. Ta cũng có thể chuyển các máy ảo sang một
môi trường cách ly một cách dễ dàng nên ta có thể thử nghiệm chương trình, nâng
cấp hệ thống ứng dụng mà không sợ ảnh hưởng đến tính ổn định của hệ thống hiện
tại, đồng thời cho phép quản trị viên có thể sử dụng cùng lúc nhiều hệ điều hành
khác nhau.
Với công cụ quản lý tập trung vCenter Server, ta sẽ theo dõi được máy chủ
nào đang quá tải, từ đó sẽ áp dụng chính sách là tăng tài nguyên về CPU, RAM,
HDD cho máy chủ ả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 nhàn rỗi hơn để chạy. Toàn bộ quá
trình trên có thể được thực hiện mà không cần phải tắt máy ảo đó.
Khi có sự cố xảy ra đối với máy ảo do bị virus, lỗi hệ điều hành thì việc khắc
là phân vùng (partition). Các hệ đ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ồn truy cập đến các tài nguyên phần cứng [2].
Trong máy tính, một máy tính ảo hoặc màn hình máy ảo (a hypervisor or
virtual machine monitor-VMM), là một phần của phần mềm máy tính, phần mềm
hoặc phần cứng tạo ra và chạy các máy ảo .
Một máy tính mà một máy tính ảo đang chạy một hoặc nhiều máy ảo được
định nghĩa là một máy chủ. Mỗi máy ảo được gọi là một máy khách. Hypervisor
trình bày các hệ điều hành khách với một nền tảng điều hành ảo và quản lý việc
thực hiện các hệ thống điều hành khách . Nhiều trường hợp của một loạt các hệ điều
hành có thể chia sẻ các tài nguyên phần cứng ảo hóa.
13
14
Hình 1.1 Hai loại ảo hóa hypervisor [2].
Loại 1(type 1): Hypervisor chạy trực tiếp trên phần cứng của máy chủ để
kiểm soát phần cứng và quản lý các hệ điều hành khách(OS). Một OS do đó chạy
trên một cấp độ trên hypervisor.
Mô hình này đại diện cho việc thực thi cổ điển của kiến trúc máy ảo, IBM đã
phát triển siêu giám sát ban đầu như công cụ loại 1 trong những năm 1960 : công cụ
kiểm tra, Simmon , và CP / CMS . CP / CMS là tổ tiên của IBM z / VM. Model hiện
đại gồm có Oracle VM Server cho SPARC , Oracle VM Server cho x86 , Citrix
XenServer , VMware ESX / ESXi và Microsoft Hyper-V 2008/2012 [2].
Loại 2(Type 2): hypervisor chạy trong một môi trường hệ điều hành thông
thường. Với các lớp hypervisor như một cấp phần mềm thứ hai riêng biệt, OS khách
chạy ở cấp độ thứ ba trên phần cứng. VMware Workstation và VirtualBox tiêu biểu
cho loại 2 hypervisor .
1.4.2.Kiểu ảo hóaHybrid
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 song song với hệ điều hành máy chủ. Tuy nhiên trong cấu trúc
1.4.4.Kiểu ảo hóa Microkernelized Hypervisor
Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic
Hyperviso. Đ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ốn lớp Hypervisor để liên lạc với phần cứng.
Hình 1.4 Kiểu ảo hóa Microkernelized Hypervisor
1.5. Ứng dụng của Ảo hóa
Công nghệ máy ảo phục vụ cho nhiều mục đích phong phú. Công nghệ này
cho phép hợp nhất phần cứng bởi vì nhiều hệ điều hành có thể cùng chạy trên một
máy tính. Những ứng dụng then chốt của công nghệ máy ảo bao gồm khả năng tích
hợp chéo giữa các nền tảng và các khả năng dưới đây:
Hợp nhất máy chủ. Nếu nhiều máy chủ vận hành ứng dụng mà chỉ tiêu thụ
một phần nhỏ tài nguyên sẵn có, thì công nghệ máy ảo có thể được sử dụng để cho
phép nhiều ứng dụng chạy song song trên một máy chủ duy nhất, ngay cả khi các
ứng dụng này cần tới những phiên bản hệ điều hành hay middleware khác nhau.
Hợp nhất cho các môi trường triển khai và thử nghiệm. Mỗi máy ảo đóng vai
trò như một môi trường riêng, điều này sẽ giảm bớt rủi ro và tạo điều kiện để các
chuyên gia phát triển nhanh chóng tái xây dựng các cấu hình hệ điều hành khác
16
17
nhau hoặc so sánh các phiên bản ứng dụng được thiết kế cho các hệ điều hành khác
nhau. Ngoài ra, chuyên gia phát triển cũng có thể kiểm tra các phiên bản phát triển
sớm của một ứng dụng trong một máy ảo mà không sợ làm mất đi tính ổn định của
hệ thống đối với những người dùng khác.
Re-hosting ứng dụng riêng. Các hệ điều hành và ứng dụng riêng có thể
chạy trên phần cứng mới cùng với những hệ điều hành và ứng dụng được đưa ra
gần đây hơn.
Các tài nguyên vật lý trong môi trường ảo hóa cung cấp tài nguyên mà các
máy ảo sẻ sử dụng tới. Môi trường tài nguyên lớn có thể cung cấp được cho nhiều
máy ảo chạy trên nó và hiệu quả làm việc của các máy ảo cao hơn.
2.1.2. Phần mềm ảo hóa
Lớp phần mềm ảo hóa này cung cấp sự truy cập cho mỗi máy ảo đến tài
nguyên hệ thống. Nó cũng chịu trách nhiệm lập kế hoạch và phân chia tài nguyên
vật lý cho các máy ảo. Phần mềm ảo hóa là nền tản của một môi trường ảo hóa. Nó
18
19
cho phép tạo ra các máy ảo cho người sử dụng, quản lý các tài nguyên và cung cấp
các tài nguyên này đến các máy ảo.Kế hoạch quản lý sử dụng tài nguyên khi có sự
tranh chấp một tài nguyên đặc biệt của các máy ảo, điều này dẫn tới sự hiệu quả làm
việc của các máy ảo. Ngoài ra phần mềm ảo hóa còn cung cấp giao diện quản lý và
cấu hình cho các máy ảo.
2.1.3. Máy Ảo
Thuật ngữ máy ảo được dùng chung khi miêu tả cả máy ảo (lớp 3) và hệ điều
hành ảo (lớp 4). Máy ảo thực chất là một phần cứng ảo một môi trường hay một
phân vùng trên ổ đĩa. Trong môi trường này có đầy đũ thiết bị phần cứng như một
máy thật. Đây là một kiểu phần mềm ảo hóa dựa trên phần cứng vật lý. Các hệ điều
hành khách mà chúng ta cài trên các máy ảo này không biết phần cứng mà nó nhìn
thấy là phần cứng ảo.
2.1.4. Hệ điều hành khách(Guest operating system)
Hệ điều hành khách được xem như một phần mềm (lớp 4) được cài đặt trên
một máy ảo (lớp 3) giúp ta có thể sử dụng dễ dàng và xử lý các sự cố trong môi
trường ảo hóa. Nó giúp người dùng có những thao tác giống như là đang thao tác
trên một lớp phần cứng vật lý thực sự.
Khi có đủ các thành phần trên thì bạn có thể xây dựng cho mình một hệ
thống ứng dụng ảo hóa. Ngoài việc lựa chọn phần cứng cho thích hợp bạn còn phải
cân nhắc xem phải sử dụng phần mềm ảo hóa gì hoặc loại ảo hóa nào. Điều này rất
quan trọng trong việc tối ưu hóa hiệu suất làm việc cho hệ thống của bạn.
Storage-device based: Trong dạng này, phần mềm ảo hóa giao tiếp trực tiếp
với ổ cứng. Ta có thể xem như đây là một dạng firmware đặc biệt, được cài trực tiếp
vào ổ cứng. Dạng này cho phép truy xuất nhanh nhất tới ổ cứng, nhưng cách thiết
lập thường khó khăn và phức tạp hơn các mô hình khác. Dịch vụ ảo hóa được cung
cấp cho các Server thông qua một thiết bị điều khiển gọi là Primary Storage
Controller.
Network-based: Trong mô hình này, việc ảo hóa sẽ được thực thi trên một
thiết bị mạng, ở đây có thể là một thiết bị switch hay một máy chủ. Các switch hay
20
21
máy chủ này kết nối với các trung tâm lưu trữ (SAN). Từ các switch hay Server này,
các ứng dụng kết nối vào được giao tiếp với trung tâm dữ liệu bằng các “ổ cứng”
mô phỏng do switch hay Server tạo ra dựa trên trung tâm dữ liệu thật. Đây cũng là
mô hình hay gặp nhất trên thực tế.
2.2.3. Ảo hóa ứng dụng
Ảo hóa ứng dụng là một dạng công nghệ ảo hóa khác cho phép chúng ta tách
rời mối liên kết giữa ứng dụng và hệ điều hành và cho phép phân phối lại ứng dụng
phù hợp với nhu cầu user. Môt ứng dụng được ảo hóa sẽ không được cài đặt lên
máy tính một cách thông thường, mặc dù ở góc độ người sử dụng, ứng dụng vẫn
hoạt động một cách bình thường. Việc quản lý việc cập nhật phần mềm trở nên dễ
dàng hơn, giải quyết sự đụng độ giữa các ứng dụng và việc thử nghiệm sự tương
thích của chúng cũng trở nên dễ dàng hơn. Hiện nay đã có khá nhiều chương trình
ảo hóa ứng dụng như Citrix XenApp, Microsoft Application Virtualization, Vmware
ThinApp…với hai loại công nghệ chủ yếu sau:
Application Streaming: ứng dụng được chia thành nhiều đoạn mã và được
truyền sang máy người sử dụng khi cần đến đoạn mã đó. Các đoạn mã này thường
được đóng gói và truyền đi dưới giao thức HTTP, CIFS hoặc RTSP.
Desktop Virtualization/Virtual Desktop Infrastructure(VDI): ứng dụng sẽ
được cài đặt và chạy trên một máy ảo. Một hạ tầng quản lý sẽ tự động tạo ra các
desktop ảo và cung cấp các desktop ảo này đến các đối tượng sử dụng.
khiển đặc biệt RAID có thể sử dụng như là một phần cứng lẫn phần mềm [3].
Hệ thống RAID được dùng trong việc đảm bảo an toàn dữ liệu khi có ổ đĩa
bị lỗi và phục hồi lại các dữ liệu , có thể thay nóng ổ đĩa đối với một số loại RAID
và cũng còn tùy thuộc vào máy chủ. RAID ngày càng trở nên cần thiết cho các hệ
thống máy tính.
Vì RAID mang tính toàn vẹn dữ liệu cao, phục hồi nhanh chóng nên RAID
chủ yếu được ứng dụng vào các máy máy chủ, không phải là các máy bàn không thể
dùng RAID được mà là do chi phí đầu tư khá tốn kém nên chỉ ở các hệ thống lớn
đòi hỏi độ an toàn cho dữ liệu phải cao mới sử dụng.
22
23
2.3.1.2Các chuẩn RAID
Các chuẩn RAID là các công nghệ lưu trữ, phân tách dữ liệu được sử dụng
trong RAID. Các loại RAID hay còn gọi là cấp độ RAID là những chế độ RAID
được ứng dụng dựa trên các công nghệ của những chuẩn RAID.
23
24
Các chuẩn RAID đang nghiên cứu và phát triển hiện nay:
a : Striping (còn gọi là Song Hành):là một trong những chuẩn RAID mang
lại hiệu năng cao nhất , nó giúp ta tăng tốc độ truy cập lên tối đa bằng cách ghi song
song dữ liệu lên các ổ đĩa này. Kỹ thuật này sẽ chia các tập tin dữ liệu ra và ghi
đồng thời lên ổ đĩa cứng trong cùng một thời gian. Và khi đọc thì cũng đọc cùng lúc
trên tất cả các ổ đĩa làm cho tốc độ đọc cao, mang lại hiệu suất cao.
Hình 2.2 Sơ đồ hoạt động của chuẩn Striping [3].
b :Duplexing
Còn gọi là chuẩn Ghép Đôi. Đây là chuẩn mở rộng của ánh xạ. Dữ liệu cũng
được ghi trên hai ổ cứng nhưng phải có hai bộ điều khiển RAID kết nối với hai đĩa
cứng. Chi phí cho kĩ thuật này tốn kém hơn vì phải sử dụng hai bộ điều khiển và
dung lượng lưu trữ thật sự chỉ bằng một nửa dung lượng của các ổ đĩa.
Hình 2.3 Sơ đồ hoạt động của chuẩn Duplexing