Tiểu luận về XEN Nghệ thuật ảo hóa. So sánh với các công nghệ ảo hóa khác
Tiểu luận môn học Hệ điều hành Mạng - i - GVHD: PGS.TS.Nguyễn Tuấn Anh MỤC LỤC 2.1.1 Quản lý bộ nhớ 2.1.2 CPU .7 2.1.3 Thiết bị I/O 3.1 TRUYỀN ĐIỀU KHIỂN: HYPERCALL VÀ SỰ KIỆN 12 3.3.1 Điều phối CPU 14 3.3.2 Time timers 14 3.3.3 Phiên dịch địa ảo 15 3.3.4 Bộ nhớ vật lý .16 3.3.5 Mạng 17 3.3.6 Đĩa .17 3.4 XÂY DỰNG DOMAIN MỚI 18 4.1 HIỆU SUẤT TƯƠNG ĐỐI 20 4.2 ĐIỂM CHUẨN HỆ ĐIỀU HÀNH 22 4.2.1 Hiệu suất mạng 23 4.3 MÁY ẢO CHẠY ĐỒNG THỜI 23 4.4 KHẢ NĂNG MỞ RỘNG .25 5.1 TƯƠNG LAI 28 5.2 KẾT LUẬN .28 Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh TÓM TẮT Nhiều hệ thống được thiết kế sử dụng ảo hóa để chia máy tính mạnh thành nhiều máy nhỏ Một số thì yêu cầu phần cứng chuyên dụng, hoặc không thể hỗ trợ hệ điều hành tiện nghi Một số khác thì chấp nhận hi sinh tính bảo mật hoặc tốc độ Một số ít bị cô lập tài nguyên Hầu hết chỉ đáp ứng tạm thời, có nguy từ chối dịch vụ Bài báo trình bày Xen, phần mềm cho phép nhiều hệ điều hành chia sẻ phần cứng quản lý tài nguyên cách an toàn, không bị giảm hiệu suất chức Điều thực cách cung cấp máy ảo lý tưởng mà hệ điều hành Linux, BSD Windows XP, “định cư” dễ dàng Mục tiêu thiết kế lưu trữ lên đến 100 máy ảo chạy đồng thời máy chủ đại Cách ảo hóa Xen hiệu quả: cho phép hệ điều hành Linux Windows host đồng thời với tổng hiệu suất tăng không đáng kể - khoảng vài phần trăm so với trường hợp không ảo hóa Có thể cạnh tranh với sản phẩm thương mại Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh PHẦN 1: GIỚI THIỆU Máy tính đại đủ mạnh để chứa nhiều máy ảo nhỏ, máy ảo chạy hệ điều hành riêng biệt Trong báo trình bày Xen, phần mềm quản lý máy ảo hiệu quả cao: quản lý nguồn tài nguyên, hosting đồng thời nhiều máy, phân tán dịch vụ web, bảo mật tính di động ứng dụng (mobility) Việc phân vùng máy tính để hỗ trợ việc hosting đồng thời nhiều hệ điều hành đặt số thách thức Thứ nhất, máy ảo phải cô lập với nhau: việc thực thi của máy này không ảnh hưởng xấu đến máy khác Thứ hai, hỗ trợ hệ điều hành khác thích ứng với ứng dụng phổ biến Thứ ba, performance tăng không đáng kể Xen có thể host các hệ điều hành khác nhau, có số phải sửa đổi mã nguồn Xen cho phép người dùng khởi tạo nhanh chóng hệ điều hành để thực điều họ mong muốn Có nhiều cách xây dựng hệ thống để host nhiều ứng dụng máy chủ máy tính chia sẻ Có lẽ đơn giản triển khai nhiều máy chạy hệ điều hành chuẩn Linux Windows, cho phép người dùng cài đặt chương trình và xử lý tập tin Kinh nghiệm cho thấy quản trị hệ thống trở thành công việc tốn nhiều thời gian tương tác phức tạp ứng dụng phân chung Quan trọng hơn, hệ thống vậy không hỗ trợ đầy đủ việc cô lập performance: độ ưu tiên thực thi, nhu cầu bộ nhớ, lưu lượng mạng truy cập ổ cứng của tiến trình sẽ tác động đến performance máy khác Điều chấp nhận có trích lập dự phòng đầy đủ nhóm sử dụng khép kín (như trường hợp tính toán lưới), vẫn không được nếu tài nguyên đăng ký vượt mức hoặc người sử dụng không hợp tác Một cách để giải vấn đề trang bị thêm phần cứng để tăng performance của hệ điều hành Khó khăn của hướng đảm bảo tất tài nguyên được tính toán vừa đủ, ví dụ, tương tác phức tạp ứng dụng là bộ đệm hoặc thuật toán thay thế trang (page replacement algortithms) Chúng sử dụng cách tiếp cận tương để xây dựng Xen, ghép nhiều nguồn tài nguyên vật lý thành một khối có thể cô lập performance chúng Có giá phải trả cho linh hoạt - chạy hệ điều hành đầy đủ thì nặng chạy chương trình, kể cả về mặt khởi động hoặc tiêu thụ tài nguyên Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh Mục tiêu là host lên đến 100 hệ điều hành, điều sẽ rất đáng giá Nó rất linh hoạt, người sử dụng linh động tạo môi trường thực thi xác cho phần mềm Tránh được sự tương tác cấu hình dịch vụ ứng dụng khác Phần lại báo cấu trúc sau: mục 2, giải thích cách tiếp cận ảo hóa đề phương cách Xen hoạt động Phần mô tả khía cạnh quan trọng thiết kế và thực thi Phần sử dụng tiêu chuẩn để đánh giá hiệu suất XenoLinux chạy Xen so với Linux độc lập, VMware Workstation User-mode Linux (UML) Phần đánh giá công việc liên quan, cuối Phần thảo luận công việc tương lai kết luận Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh PHẦN 2: XEN – TIẾP CẬN VÀ TỔNG QUAN Trong VMM truyền thống, phần cứng ảo có chức giống với máy tính bình thường Mặc dù ảo hóa toàn diện (full virtualization) rất hữu dụng cho phép hệ điều hành được host, có số nhược điểm Điều đặc biệt kiến trúc IA-32, x86 Một số phần mềm cần phải xử lý VMM để ảo hóa đúng, thực việc với đủ đặc quyền có thể gây một số lỗi Hiệu ảo hóa MMU x86 khó khăn Những vấn đề giải quyết, lại tăng độ phức tạp giảm hiệu suất ESX Server VMware tự động ghi nhận mã máy host để can thiệp VMM yêu cầu Việc này áp dụng cho toàn OS kernel tất lỗi cần phải xử lý ESX Server thực thi các phiên cấu trúc hệ thống bảng trang (page table) trì tính quán với trang ảo (virtual page) cách giữ các bản cập nhật - phương pháp có chi phí tạo chương trình ứng dụng Do tính phức tạp x86, nên có tranh luận khác chống lại ảo hóa toàn diện Đặc biệt, có tình mà người ta mong muốn thấy được tài nguyên thực và ảo của hệ điều hành được host: cung cấp thời gian thực ảo cho phép hệ điều hành hỗ trợ tốt nhiệm vụ về xử lý thời gian, để xử lý cách xác thời gian chờ TCP và ước lượng RTT, địa máy tính thực cho phép hệ điều hành cải thiện hiệu suất cách sử dụng superpages trang màu (page coloring) Chúng tránh hạn chế ảo hóa toàn diện cách trình bày máy ảo tương tự không giống với máy thật - cách tiếp cận, có tên gọi ảo hóa song song (paravirtualization) Điều hứa hẹn cải thiện hiệu suất, mà không cần thay đổi hệ điều hành Điều quan trọng cần lưu ý, không yêu cầu thay đổi giao diện ứng dụng (ABI), không thay đổi yêu cầu cho ứng dụng khách Chúng chắt lọc thảo luận vào tập hợp nguyên tắc thiết kế: Hỗ trợ cho ứng dụng nhị phân nguyên bản, người sử dụng không chuyển đổi sang Xen Do phải ảo hóa tất đặc trưng kiến trúc theo yêu cầu tiêu chuẩn hành ABI Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh Hỗ trợ đầy đủ hệ điều hành đa ứng dụng, điều cho phép cấu hình máy chủ phức tạp để ảo hóa trường hợp hệ điều hành khách Ảo hóa song song cần thiết để có hiệu suất cao cô lập tài nguyên mạnh mẽ kiến trúc máy tính x86 Ngay kiến trúc máy tính cộng tác, việc che dấu hoàn toàn ảnh hưởng ảo hóa tài nguyên từ hệ điều hành khách sẽ làm giảm tính xác hiệu suất Lưu ý ảo hóa song song x86 hoàn toàn khác với dự án Denali gần đề xuất Denali thiết kế để hỗ trợ hàng ngàn máy ảo chạy dịch vụ mạng, phần lớn số quy mô nhỏ không phổ biến Ngược lại, Xen thiết kế để mở rộng quy mô cho khoảng 100 máy ảo chạy ứng dụng dịch vụ tiêu chuẩn công nghiệp Thứ nhất, Denali không nhắm đến mục tiêu ABI có, che đặc trưng kiến trúc từ giao diện máy ảo họ Ví dụ, Denali không hỗ trợ đầy đủ phân khúc x86 sử dụng rộng rãi ABIs NetBSD, Linux, Windows XP Thứ hai, việc thực thi của Denali không giải được vấn đề hỗ trợ ghép kênh ứng dụng, nhiều không gian địa chỉ, hệ điều hành khách Thay vào đó, ứng dụng liên kết cách rõ ràng thực thể hệ điều hành khách Ilwaco Do đó, thực chất của mỗi máy ảo là singleuser, single-application Trong Xen thì ngược lại, máy ảo host hệ điều hành thực mà tự ghép hàng ngàn chương trình một cách an toàn Thứ ba, kiến trúc Denali, VMM thực tất phân trang đến từ ổ đĩa Điều có lẽ liên quan đến việc thiếu hỗ trợ quản lý nhớ tầng ảo hóa Phân trang VMM ngược lại với mục tiêu việc cô lập thực thi Trong Xen hy vọng hệ điều hành khách thực phân trang riêng mình, đảm bảo phân bố nhớ đĩa Cuối cùng, Denali ảo hóa “không gian tên” tất tài nguyên máy Ngược lại, tin kiểm soát an toàn truy cập phần mềm máy ảo đủ để đảm bảo Trong phần sau đây, mô tả máy ảo tạo bởi Xen thảo luận cách hệ điều hành khách sửa đổi để phù hợp Lưu ý báo này, Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh dành riêng thuật ngữ hệ điều hành khách (guest operating system) để nói đến hệ điều hành mà Xen host sử dụng thuật ngữ domain để máy ảo có hệ điều hành chạy, khác biệt tương tự giữa chương trình (program) tiến trình (process) hệ thống thông thường Chúng gọi Xen là hypervisor 2.1 GIAO DIỆN MÁY ẢO: Không thể cài đặt toàn bộ phân đoạn mô tả và không thể Quản lý bộ nhớ đè lên phần cùng của không gian địa chỉ Phân đoạn Hệ điều hành khách trực tiếp đọc vào bảng phân trang phần cứng, các bản cập nhật được quản lý bởi phần Phân trang mềm ảo hóa Một domain có thể được phân trang không liên tục CPU Hệ điều hành khách phải chạy tại mức ưu tiên thấp so Bảo vệ với Xen Ngoại lệ Hệ điều hành khách phải đăng ký một bảng mô cho xử lý Cuộc gọi hệ ngoại lệ với Xen Ngoài lỗi phân trang, xử lý vẫn cũ Hệ điều hành khách có thể cài đặt một xử lý “nhanh” cho thống cuộc gọi hệ thống, cho phép cuộc gọi trực tiếp từ một ứng dụng mà không phải gián tiếp qua Xen Ngắt Ngắ c phần cứng được thay thế bằng một hệ thống sự kiện Thời gian bình thường Mỗi hệ điều hành khách có một giao diện hẹn giờ và nhận biết cả thời gian “thực” và “ảo” Thiết bị I/O Mạng, đĩa, Thiết bị ảo truy nhập rất đơn giản Dữ liệu được chuyển thông qua vòng không đồng bộ I/O Một chế sự kiện thay thế ngắt phần cứng bằng các thông báo Bảng 1: Giao diệ n ảo hóa song song x86 Bảng trình bày tổng quan giao diện ảo hóa song song x86, nhân tố ba khía cạnh mở rộng hệ thống: quản lý nhớ, CPU, thiết bị I/O Trong phần đề cập đến máy tính phụ, trình bày kiến trúc ảo hóa song song Lưu ý số phần quản lý nhớ, CPU thiết bị I/O (cụ thể x86) dễ dàng áp dụng cho kiến trúc máy tính khác Hơn nữa, x86 có thể đại diện cho trường hợp xấu 2.1.1 Quản lý bộ nhớ Ảo hóa nhớ chắn phần khó khăn kiến trúc ảo hóa song song Nhiệm vụ này sẽ dễ dàng kiến trúc cung cấp phần mềm quản lý TLB TLB tính hữu ích hỗ trợ hầu hết máy chủ có Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh kiến trúc RISC, bao gồm Alpha, MIPS SPARC Kết hợp thẻ nhận dạng không gian địa với TLB cho phép hypervisor hệ điều hành khách tồn cách hiệu không gian địa riêng biệt mà không cần giải phóng TLB Translation lookaside buffer (TLB) cache mà phần cứng quản lý nhớ sử dụng để tăng tốc độ phiên dịch địa ảo Tuy nhiên, x86 lại phần mềm quản lý TLB; Thay vào đó là phục vụ tự động xử lý cách duyệt cấu trúc bảng trang phần cứng Vì vậy, để đạt hiệu tốt có thể, tất dịch trang không gian địa đều hiện diện bảng trang phần cứng Hơn nữa, TLB không gắn nhãn, không gian địa thường yêu cầu giải phóng TLB Với hạn chế trên, đưa hai định: (i) hệ điều hành khách chịu trách nhiệm bố trí quản lý bảng trang phần cứng, với tham gia tối thiểu từ Xen để đảm bảo an toàn cách ly, (ii) Xen nằm 64MB đầu không gian địa chỉ, đó tránh phải giải phóng TLB vào hypervisor Mỗi lần hệ điều hành khách yêu cầu bảng trang mới, tiến trình tạo ra, nên cấp phát khởi tạo trang từ nhớ riêng đăng ký với Xen Tại thời điểm hệ điều hành không được phép ghi trực tiếp vào nhớ bảng trang: tất cập nhật phải xác nhận Xen Điều hạn chế cập nhật theo số cách, bao gồm cho phép hệ điều hành kết nối đến các trang mà sở hữu, không cho phép ghi ánh xạ các bảng trang Hệ điều hành khách cập nhật hàng loạt yêu cầu để tiết kiệm tài nguyên cho hypervisor Khu vực đầu 64MB không gian địa chỉ, phần dành cho Xen, hệ điều hành khách không truy cập hoặc ánh xạ lại được Vùng địa không sử dụng Abis x86 nào, vậy, hạn chế không ảnh hưởng khả tương thích ứng dụng Phân đoạn (segmentation) ảo hóa theo cách tương tự, cách xác nhận cập nhật đến bảng mô tả phân đoạn phần cứng Các hạn chế mô tả phân đoạn x86 là: (i) phải có đặc quyền thấp Xen, (ii) không cho phép truy cập đến phần dành riêng không gian địa của Xen 2.1.2 CPU Ảo hóa CPU có số tác động hệ điều hành khách Về nguyên tắc, hypervisor cài vào hệ điều hành vi phạm giả định thông thường: hệ Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh điều hành thực thể có đặc quyền cao hệ thống Để bảo vệ hypervisor tránh tác động hệ điều hành (và từ domain khác tới), hệ điều hành khách phải sửa đổi để chạy mức có đặc quyền thấp Nhiều kiến trúc vi xử lý cung cấp hai mức độ đặc quyền Trong trường hợp này, hệ điều hành khách chia sẻ với ứng dụng mức đặc quyền thấp Hệ điều hành khách sau tự bảo vệ cách chạy không gian địa riêng biệt từ ứng dụng Nếu TLB xử lý hỗ trợ nhãn không gian địa tránh làm TLB Mức đặc quyền ảo hóa x86 linh hoạt phần cứng hỗ trợ bốn cấp Các cấp đặc quyền x86 thường mô tả vòng (rings), đánh số từ (đặc quyền cao nhất) đến (đặc quyền thấp nhất) Hệ điều hành thường thực thi ring 0, ring thường sử dụng cho ứng dụng Theo biết, ring không sử dụng hệ điều hành x86 kể từ OS / Lệnh đặc quyền ảo hóa song song cách yêu cầu chúng phải xác nhận thực thi Xen Bất kỳ hệ điều hành khách cố gắng để trực tiếp thực thi lệnh đặc quyền bị lỗi, có Xen thực thi mức đầy đủ đặc quyền Trường hợp ngoại lệ, bao gồm lỗi nhớ phần mềm, ảo hóa x86 trực tiếp Một bảng mô tả xử lý loại ngoại lệ đăng ký với Xen để xác nhận Việc xử lý theo quy định bảng thường đồng với phần cứng x86 thực tế, stack frame ngoại lệ chưa sửa đổi kiến trúc ảo hóa song song Chỉ có thay đổi để xử lý lỗi trang, thông thường đọc địa lỗi từ ghi xử lý xử lý đặc quyền(CR2), điều không thể, nên đươc ghi vào stack frame mở rộng Một ngoại lệ xảy thực bên ring 0, Xen xử lý cách tạo stack frame ngoại lệ stack hệ điều hành khách trả điều khiển để xử lý đăng ký thích hợp Thông thường có hai loại ngoại lệ xảy thường xuyên, đủ để ảnh hưởng đến hiệu suất hệ thống: gọi hệ thống (system call) lỗi trang (page fault) Chúng cải thiện hiệu suất gọi hệ thống cách cho phép hệ điều hành khách đăng ký xử lý ngoại lệ 'nhanh' mà truy cập trực tiếp vi xử lý mà không cần gián tiếp qua ring 0; xử lý xác nhận trước cài đặt bảng ngoại lệ Tiếc áp dụng kỹ thuật Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh tương tự để xử lý lỗi trang mã thực thi ring đọc địa lỗi từ ghi CR2, lỗi trang luôn gửi qua Xen để giá trị ghi lưu cho truy cập ring An toàn đảm bảo cách xác nhận xử lý ngoại lệ chúng đưa tới Xen Yêu cầu kiểm tra đoạn mã xử lý nằm ring Không có hệ điều hành khách tạo đoạn mã Xen phát "lỗi kép" cách kiểm tra giá trị đếm lỗi chương trình: địa nằm mã xử lý ngoại lệ ngắt tiến trình xâm phạm đến hệ điều hành khách Quá trình kiểm tra an toàn xử lý gọi hệ thống trực tiếp: lỗi truy cập xảy CPU cố gắng để “nhảy” trực tiếp đến xử lý hệ điều hành khách Trong trường hợp này, địa lỗi bên Xen (vì Xen không thực thi gọi hệ thống hệ điều hành khách) lỗi ảo hóa theo cách thông thường Nếu gây thêm "lỗi kép", hệ điều hành khách bị ngắt mô tả 2.1.3 Thiết bị I/O Trong môi trường ảo hóa toàn diện, Xen gồm thiết bị đơn giản Điều cho phép thiết kế giao diện hiệu đáp ứng yêu cầu an toàn cô lập Dữ liệu I/O chuyển đến từ domain qua Xen, sử dụng nhớ chia sẻ, đệm bất đồng bộ,tạo chế truyền thông hiệu suất cao, cho phép Xen thực thi kiểm tra hiệu (ví dụ, kiểm tra xem đệm có chứa nhớ domain lưu trước đó) Tương tự ngắt phần cứng, Xen hỗ trợ chế cung cấp kiện đơn giản sử dụng để gửi thông báo không đồng vào domain Các thông báo thực cách gọi xử lý kiện theo quy định hệ điều hành khách Những callback "giữ khoảng cách" theo định hệ điều hành khách - để tránh chi phí phát sinh thêm cách thường xuyên thông báo đánh thức 2.2 CHI PHÍ THÍCH NGHI (PORTING) HỆ ĐIỀU HÀNH VÀO XEN: OS subsection # lines Linux XP Architecture-independent 78 1299 Virtual network driver 484 – Virtual block-device driver 1070 – Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 16 - GVHD: TS.Nguyễn Tuấn Anh khách thường làm sạch TLB trước sử dụng: điều đảm bảo tất cả các bộ đệm bị vô hiệu Tuy nhiên, số hệ điều hành khách khác lại làm sạch chắn trạng thái cũ nào tồn TLB Trong trường hợp này, có thể gây lỗi trang Do đó, hệ điều hành khách xử lý lỗi phải kiểm tra cập nhật đáng chú ý, tìm thấy thì chúng sẽ xóa xem xét lại lỗi 3.3.4 Bộ nhớ vật lý Việc phân bổ nhớ ban đầu, dành riêng, cho vùng quy định thời điểm khởi tạo mình, nhớ phân chia tĩnh, tạo cô lập vùng Bộ nhớ tối đa cho phép dành riêng xác định: áp lực nhớ vùng tăng lên, yêu cầu bổ sung trang nhớ từ Xen, lên đến giới hạn dành riêng Ngược lại, vùng muốn tiết kiệm tài nguyên, để tránh phát sinh chi phí không cần thiết, làm giảm nhớ cách giải phóng trang nhớ trở lại Xen XenoLinux thực thi balloon driver, điều chỉnh việc sử dụng nhớ vùng cách duyệt qua trang nhớ qua lại Xen XenoLinux Mặc dù thay đổi cách quản lý nhớ Linux cách trực tiếp, điều chỉnh cách sử dụng chức hệ điều hành có, đơn giản hóa việc thích nghi Linux Tuy nhiên, ảo hóa song song sử dụng để mở rộng khả balloon driver, ví dụ, chế xử lý tràn nhớ hệ điều hành sửa đổi để tự động làm giảm bớt áp lực nhớ cách yêu cầu nhớ từ Xen Ánh xạ từ địa vật lý đến địa phần cứng thuộc trách nhiệm hệ điều hành khách, đơn giản qua mảng lập mục số khung trang vật lý Xen hỗ trợ phần cứng hiệu để ánh xạ vật lý cách cung cấp mảng dịch chia sẻ để tất vùng đọc – Xen xác nhận việc cập nhật vào bảng để đảm bảo hệ điều hành sở hữu khung trang phần cứng có liên quan Lưu ý hệ điều hành khách lựa chọn để bỏ qua địa phần cứng nhiều trường hợp, phải sử dụng bảng dịch truy cập vào bảng trang (mà thiết phải sử dụng địa phần cứng) Địa phần cứng tiếp xúc phần với hệ thống quản lý nhớ hệ điều hành để tối ưu hóa truy cập nhớ Ví dụ, hệ điều hành khách phân Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 17 - GVHD: TS.Nguyễn Tuấn Anh bổ trang phần cứng cụ thể để tối ưu hóa vị trí cache mục vật lý, liên kết phần tiếp giáp nhớ phần cứng sử dụng siêu trang 3.3.5 Mạng Xen cung cấp định tuyến tường lửa ảo (VFR), domain có nhiều giao diện mạng (VIFs) logic gắn liền với VFR VIF giống card mạng đại: có hai vòng I/O đệm, cho truyền cho nhận Mỗi hướng có danh sách quy tắc liên quan đến hình thức (, ) - mẫu phù hợp hành vi liên quan áp dụng Domain0 chịu trách nhiệm chèn loại bỏ rule Trong trường hợp điển hình, rule cài đặt để ngăn chặn địa IP nguồn giả mạo, để đảm bảo phân giải xác dựa địa IP nguồn đích Các rule liên kết với giao diện phần cứng VFR Đặc biệt, cài đặt rule để thực thi chức firewall truyền thống ngăn chặn việc kết nối đến cổng không an toàn Để truyền tải gói tin, hệ điều hành khách đơn giản xếp lại mô tả đệm vòng truyền Xen chép lại mô tả để đảm bảo an toàn, Xen chép tiêu đề gói tin thực thi rule lọc phù hợp Trọng tải gói liệu không chép sử dụng DMA phân tán, nhiên lưu ý khung trang có liên quan phải gắn truyền tải hoàn tất Để đảm bảo công bằng, Xen thực chế điều phối round-robin Để việc thu nhập gói tin đạt hiệu quả, hệ điều hành khách cần trao đổi khung trang không sử dụng cho gói tin nhận được, điều tránh việc chép gói tin Xen hệ điều hành khách, đòi hỏi trang liên kết nhận đệm xếp hàng giao diện mạng Khi gói tin nhận được, Xen kiểm tra rule nhận để xác định VIF đích, trao đổi đệm cho khung trang vòng có liên quan Nếu khung có sẵn, gói tin bị loại bỏ 3.3.6 Đĩa Chỉ Domain0 có quyền truy cập trực tiếp không qua kiểm soát tới ổ đĩa vật lý (IDE SCSI) Tất domain khác truy cập phải thông qua thiết bị khối ảo (VBDs), tạo cấu hình phần mềm quản lý chạy Domain0 Cho phép Domain0 quản lý VBD Xen đơn giản tránh giải pháp phức tạp UDF sử dụng Exokernel Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 18 - GVHD: TS.Nguyễn Tuấn Anh Một VBD bao gồm danh sách mở rộng quyền sở hữu kiểm soát truy cập thông tin, truy cập thông qua chế vòng I/O Thuật toán điều phối đĩa hệ điều hành khách xếp lại để giảm thời gian đáp ứng áp dụng dịch vụ khác Một bảng dịch trì hypervisor cho VBD, mục bảng cài đặt Domain0 quản lý thông qua giao diện điều khiển đặc quyền Khi nhận yêu cầu đĩa, Xen kiểm tra định danh VBD tạo vùng địa tương ứng với thiết bị vật lý Kiểm tra quyền xảy thời điểm 3.4 XÂY DỰNG DOMAIN MỚI Nhiệm vụ xây dựng cấu trúc hệ điều hành ban đầu cho domain chủ yếu giao cho Domain0, sử dụng giao diện điều khiển (mục 2.3) để truy cập nhớ domain thông báo cho Xen trạng thái đăng ký ban đầu Cách tiếp cận có số ưu điểm so với việc xây dựng domain bên Xen, bao gồm giảm hypervisor phức tạp cải thiện mạnh mẽ (truy cập vào giao diện kiểm tra cho phép bắt nhiều lỗi trình phát triển ban đầu) Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 19 - GVHD: TS.Nguyễn Tuấn Anh PHẦN ĐÁNH GIÁ Trong phần trình bày đánh giá toàn diện hiệu suất Xen Chúng bắt đầu điểm chuẩn Xen so với số kỹ thuật ảo hóa khác, sau so sánh tổng thể hệ thống thực nhiều ứng dụng đồng thời hệ điều hành so với ứng dụng chạy máy ảo riêng Sau đánh giá hiệu suất cô lập hóa máy ảo cấp Xen đánh giá tổng chi phí hoạt động nhiều hệ điều hành phần cứng Đối với phép đo này, sử dụng XenoLinux (dựa Linux 2.4.21) hệ điều hành khách Chúng hy vọng chi phí tương đối cho Windows XP NetBSD tương tự chưa tiến hành đánh giá đầy đủ Chúng trình bày kết từ VMware Workstation 3.2, chạy máy chủ hệ điều hành Linux, sản phẩm VMware gần mà cấm công bố điểm chuẩn Chúng trình bày kết cho User-mode Linux (UML), tảng ngày phổ biến để lưu trữ ảo Giống XenoLinux, thay đổi cần giới hạn sở kiến trúc phụ thuộc mã Tuy nhiên, mã UML có tương đồng với x86 tính chất khác môi trường thực thi Chúng khảo sát kỹ thuật ảo hóa khác chạy phiên Linux máy x86 Virtual PC Connectix tới sản phẩm Virtual Server (nay mua lại Microsoft) tương tự thiết kế VMware, cung cấp ảo hóa toàn cho x86 Vì tất phiên Virtual PC có hạn chế đánh giá điểm chuẩn thỏa thuận giấy phép họ, không phân tích sâu Công việc cải thiện hiệu suất UMLinux thông qua hệ điều hành máy chủ diễn Mặc dù Plex86 ban đầu định hướng VMM x86, sau định hướng để hỗ trợ hệ điều hành khách Linux Hệ điều hành khách phải biên dịch đặc biệt để chạy Plex86 Hiệu suất Plex86 thấp kỹ thuật khác Tất thí nghiệm thực vi xử lý máy chủ Xeon 2650 2.4GHz dual Dell với 2GB RAM, Broadcom Tigon Gigabit Ethernet NIC, Hitachi DK32EJ 146GB 10k RPM đĩa SCSI Linux phiên 2.4.21 sử dụng suốt trình thử nghiệm, biên dịch cho kiến trúc i686 cho thí Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 20 - GVHD: TS.Nguyễn Tuấn Anh nghiệm hệ điều hành khách VMware, cho Xeno-i686 chạy Xen, kiến trúc UM chạy UML Chúng đảm bảo tổng số lượng nhớ có sẵn cho tất hệ điều hành khách cộng với VMM họ tương đương với tổng số nhớ có sẵn cho Linux Bản RedHat 7.2 sử dụng suốt trình thử nghiệm, cài đặt hệ thống tập tin ext3 Các máy ảo cấu hình để sử dụng phân vùng đĩa "chế độ raw”, mà mang lại hiệu suất tốt Bằng cách sử dụng hệ thống tập tin hình ảnh tương tự loại bỏ khác biệt thời gian tìm kiếm đĩa tốc độ truyền tải 4.1 HIỆU SUẤT TƯƠNG ĐỐI Chúng thực thí nghiệm để đánh giá chi phí kỹ thuật ảo hóa khác liên quan đến hoạt động “bare metal” Mức điểm chuẩn ứng dụng phức tạp thực thi toàn hệ thống sử dụng để mô tả hiệu suất theo loạt loại khối lượng công việc máy chủ Vì Xen hay sản phẩm VMware hỗ trợ hệ điều hành đa xử lý (mặc dù chúng SMP), máy tính thử nghiệm cấu hình với CPU cho thí nghiệm này, kiểm tra hiệu suất với hệ điều hành khách đồng thời sau Các kết trình bày trung bình kết thử nghiệm Theo hình 3, tập SPEC CPU, bao gồm chuỗi ứng dụng tính toán chuyên sâu nhằm đo hiệu suất vi xử lý hệ thống, nhớ hệ thống, chất lượng biên dịch Các tập hiển thị tổng số thời gian thực để xây dựng theo cấu hình mặc định nhân Linux 2.4.21 hệ thống tập tin ext3 với gcc 2.96 Bản Linux dành khoảng 7% thời gian CPU hệ điều hành, chủ yếu thực tập tin I/O, lập kế hoạch quản lý nhớ Trong trường hợp VMM, hệ thống thời gian mở rộng đến mức độ nhiều hơn: Xen 3%, trải nghiệm VMM khác thấy suy giảm đáng kể Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 21 - GVHD: TS.Nguyễn Tuấn Anh Hình 3: Hiệu suất tương đối Linux (L), XenoLinux (X), VMware workstation 3.2 (V) and User-Mode Linux (U) Hai thí nghiệm thực sử dụng hệ quản trị sở liệu PostgreSQL 7.1.3 Chúng trình bày kết Information Retrieval (IR) đa người dùng xử lý giao dịch trực tuyến On-Line Transaction Processing (OLTP), đơn vụ đo tup/s PostgreSQL đặt tải đáng kể hệ điều hành, điều phản ánh chi phí quản lý ảo hóa VMware UML Trong đó, điểm chuẩn OLTP yêu cầu nhiều đĩa hoạt động đồng bộ, dẫn đến nhiều chuyển tiếp domain Chương trình dbench tiêu chuẩn hệ thống tập tin bắt nguồn từ chuẩn 'NetBench’ Nó mô tải trọng đặt máy chủ tập tin Windows 95 Ở đây, trải nghiệm máy chứa khoảng 90000 tập tin SPEC WEB99 chuẩn cấp ứng dụng để đánh giá máy chủ web hệ thống lưu trữ chúng Khối lượng công việc kết hợp phức tạp yêu cầu: 30% yêu cầu tạo nội dung động, 16% hoạt động HTTP POST 0,5% thực thi kịch CGI Khi máy chủ chạy tạo truy cập ghi POST, khối lượng công việc đĩa hoàn toàn đọc Do đó, phép đo phản ánh hiệu suất hệ điều hành chung, bao gồm hệ thống tập tin mạng, chức máy chủ web Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 22 - GVHD: TS.Nguyễn Tuấn Anh 4.2 ĐIỂM CHUẨN HỆ ĐIỀU HÀNH Để đo lường xác chức Xen VMMS khác, thực số thí nghiệm nhỏ hệ thống đặc biệt Các thông số đo chương trình lmbench phiên 3.0-a3 McVoy Bảng : lmbench: Processes - times in µs Trong Bảng 3, Xen thực thi chậm thông số Fork, exec sh so với Linux Điều với dự kiến, hoạt động đòi hỏi số lượng lớn cập nhật bảng trang mà tất phải xác nhận qua Xen Tuy nhiên, cách tiếp cận ảo hóa song song cho phép XenoLinux cập nhật yêu cầu hàng loạt Bảng 4: lmbench: Context switching times in µs Bảng thể thời gian chuyển ngữ cảnh tiến trình làm việc với thiết lập kích thước khác Xen phát sinh thêm chi phí 1μs 3μs, thực hypercall để thay đổi bảng trang Tuy nhiên, kết chuyển đổi ngữ cảnh nhỏ so với tác động nhớ cache Kết cho thấy VMware Workstation so với UML, nhiên, điều cải tiến ESX Server Bảng 5: lmbench: File & VM system latencies in µs Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 23 - GVHD: TS.Nguyễn Tuấn Anh Bảng cho thấy kết Độ trễ Mmap độ trễ lỗi trang thú vị chúng yêu cầu hai trình chuyển đổi Xen trang: bắt lỗi phần cứng chuyển tới hệ điều hành khách, hai cài đặt cập nhật bảng trang hệ điều hành khách Mặc dù vậy, kết tương đối khiêm tốn Bảng 6: ttcp: Bandwidth in Mb/s 4.2.1 Hiệu suất mạng Để đánh giá chi phí cho việc ảo hóa mạng, kiểm tra hiệu suất TCP mạng LAN Ethernet Gigabit Trong tất thí nghiệm, sử dụng SMP chạy Linux Điều cho phép để đo hiệu suất nhận truyền tải độc lập Điểm chuẩn ttcp sử dụng để thực phép đo Cả hai ứng dụng gửi nhận cấu hình với kích thước đệm socket 128KB, điều giúp có hiệu suất tốt cho tất hệ thống thử nghiệm Các kết trình bày trung bình thí nghiệm truyền 400MB Bảng trình bày hai kết quả, Ethernet MTU 1500 byte, MTU 500-byte (được lựa chọn thường sử dụng để dial-up PPP) Kết chứng minh kỹ thuật lật trang sử dụng trình điều khiển mạng ảo XenoLinux tránh chi phí chép liệu đạt thấp byte Với MTU 500 byte, chi phí cho gói tin chiếm ưu ESX Server hỗ trợ trình điều khiển 'vmxnet' đặc biệt cho hệ điều hành khách, cải tiến hiệu suất mạng đáng kể 4.3 MÁY ẢO CHẠY ĐỒNG THỜI Trong phần này, so sánh hiệu suất việc chạy nhiều ứng dụng nhiều máy hệ điều hành so với chạy chúng máy Chúng tập trung vào kết sử dụng Xen, nhận xét hiệu suất VMM khác Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 24 - GVHD: TS.Nguyễn Tuấn Anh Hình 4: SPEC WEB99 chạy 1,2,4,8,16 WebServer Apache: giá trị cao tốt Hình cho thấy kết điểm chuẩn SPEC WEB99 chạy đồng thời 1, 2, 4, 16 WebServer Apache máy hai nhân CPU Số cổng TCP khác phép chạy song song Trong trường hợp chạy Apache nhất, việc bổ sung CPU thứ hai cho phép Linux cải thiện số điểm phần 4.1 28%, đến 662 điểm Tuy nhiên, điểm tốt đạt chạy hai Apache, cho thấy Apache 1.3.27 có khả mở rộng SMP Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 25 - GVHD: TS.Nguyễn Tuấn Anh Hình 5: Hiệu suất nhiều PostgreSQL chạy OSDB domain Xen (diff) cột cho thấy thay đổi hiệu suất với trọng số khác Trong hình 5, hiển thị hiệu suất Xen đạt chạy 1, 2, thể OSDB-IR OSDB-OLTP Khi domain thứ hai thêm vào, CPU thứ hai gần tăng gấp đôi tổng lượng Điểm tổng hợp chạy nhiều PostgreSQL hệ điều hành Linux thấp so với điểm số tương đương sử dụng Xen 25-35% Hình cho thấy khác biệt hiệu suất domain Điều phối Xen cấu hình để cung cấp cho domain có trọng lượng nguyên Các điểm kết cho domain phản ánh dải khác 4.4 KHẢ NĂNG MỞ RỘNG Trong phần này, kiểm tra khả Xen với quy mô 100 domain Chúng thảo luận yêu cầu nhớ chạy nhiều tiến trình hệ điều hành khách ứng dụng liên quan, đo hiệu suất CPU thực thi Chúng đánh giá yêu cầu nhớ vật lý tối thiểu domain khởi động với XenoLinux chạy thiết lập mặc định RH7.2, với sshd máy chủ web Apache Các domain đặt 64MB khởi động, giới Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 26 - GVHD: TS.Nguyễn Tuấn Anh hạn kích thước tối đa Hệ điều hành khách thiết lập để hạn chế tối đa nhớ cách trả lại tất trang cho Xen Nếu cấu hình không gian trao đổi domain giảm nhớ xuống 6.2MB, cho phép sử dụng thiết bị trao đổi để giảm nhiều xuống 4.2MB Điều cho thấy việc sử dụng nhớ không giống vấn đề cho chạy 100 domain máy chủ đại Xen tự trì cố định có 20KB cho trạng thái domain, không giống VMM khác phải trì bảng trang,… Cuối cùng, kiểm tra chi phí có chuyển đổi số lượng lớn domain không đơn giản tiến trình Hình thể Hiệu suất tổng hợp tập hợp SPEC CINT2000 chạy đồng thời 1-128 domain Dòng đại diện cho Linux gần phẳng, cho thấy hiệu suất lập kế hoạch nhiều quy trình, thời gian Slice 50ms Ngược lại, dòng thấp ứng với thời gian 5ms Mặc dù hoạt động đồng thời 128 domain máy chủ Xen ứng phó tương đối tốt: 7,5% tổng chi phí so với Linux Hình 6: Hiệu suất tổng hợp tập hợp SPEC CINT2000 chạy đồng thời 1-128 domain Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 27 - GVHD: TS.Nguyễn Tuấn Anh Để xác định nguyên nhân việc giảm hiệu suất 7,5%, thiết lập thời gian 'slice' Xen 50ms (giá trị mặc định sử dụng ESX Server) Kết đường cong, gần xóa bỏ khoảng cách hiệu suất Tuy nhiên, dự kiến, hoạt động tương tác với tải cao ảnh hưởng tiêu cực thiết lập Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 28 - GVHD: TS.Nguyễn Tuấn Anh PHẦN KẾT LUẬN Chúng trình bày Xen với Thiết kế ảo hóa song song, nhấn mạnh đặc biệt hiệu suất khả quản lý tài nguyên Chúng mô tả đánh giá XenoLinux, đầy đủ tính Linux 2.4 chạy Xen 5.1 TƯƠNG LAI Chúng tin Xen XenoLinux đáp ứng nhu cầu nhiều đối tượng Một phiên beta đánh giá bên, giai đoạn hoàn tất, 1.0 công bố dự án Page3 Sau phát hành, ban đầu dự định mở rộng cải tiến Xen Để tăng hiệu thiết bị ảo, dự định thực thi nhớ cache chia sẻ Điều hỗ trợ chia sẻ liệu mà đảm bảo tính cô lập Tính copy-on-write cho phép thiết bị ảo chia sẻ cách an toàn domain Để cung cấp hiệu suất nhớ vật lý tốt hơn, có kế hoạch để thực nhớ last-chance cache (LPC) Các LPC sử dụng nhớ ảo hệ điều hành khách lựa chọn để làm sạch, thêm vào cuối danh sách trống Một vai trò quan trọng Xen dự án XenoServer xây dựng hệ thống điều để hỗ trợ sở hạ tầng máy tính Internet Chìa khóa để thiết kế sử dụng tài nguyên tính xác Điều đòi hỏi I/O điều phối trình xác kịp thời với khả phục hồi lớn Chúng có kế hoạch kết hợp kế toán vào kiến trúc lưu trữ khối cách tạo hợp đồng thuê cho thiết bị ảo Để hỗ trợ tốt cho việc quản lý, điều hành XenoServers, tích hợp chức ghi log giám sát hành vi Cuối cùng, tiếp tục công việc XenoXP, tập trung vào trình điều khiển thiết bị mạng, với mục đích hỗ trợ đầy đủ máy chủ doanh nghiệp IIS 5.2 KẾT LUẬN Xen cung cấp tảng tuyệt vời cho việc triển khai rộng rãi dịch vụ mạng trung tâm, chẳng hạn ánh xạ cục nội dung web động, chuyển mã phân phối media, máy chủ trò chơi ảo, 'proxy thông minh' với thiết bị kết nối Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 29 - GVHD: TS.Nguyễn Tuấn Anh Xen trực tiếp giải rào cản lớn cho việc triển khai dịch vụ như: khả lưu trữ máy chủ tạm thời cho khoảng thời gian ngắn với chi phí thấp Bằng cách cho phép 100 hệ điều hành chạy máy chủ nhất, giảm chi phí liên quan nhiều Như kết thử nghiệm cho thấy phần 4, hiệu suất XenoLinux Xen thực tế tương đương với hiệu suất hệ thống Linux Không có chi phí đáng kể việc có sở quản lý tài nguyên có sẵn Công việc giúp BSD Windows hoạt động Xen hiệu Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - 30 - GVHD: TS.Nguyễn Tuấn Anh NHẬN XÉT CỦA GIÁO VIÊN Đề tài: Xen nghệ thuật ảo hóa ... máy ảo đủ để đảm bảo Trong phần sau đây, mô tả máy ảo tạo bởi Xen thảo luận cách hệ điều hành khách sửa đổi để phù hợp Lưu ý báo này, Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều... việc liên quan, cuối Phần thảo luận công việc tương lai kết luận Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành Mạng - - GVHD: TS.Nguyễn Tuấn Anh PHẦN 2: XEN – TIẾP CẬN VÀ TỔNG QUAN... domain tạo xóa giao diện mạng ảo thiết bị khối ảo Chúng tiếp tục phát triển công cụ cao cấp để tiếp tục tự động hóa áp dụng sách quản lý Đề tài: Xen nghệ thuật ảo hóa Tiểu luận môn học Hệ điều hành