Trước khi đọc blog post, mời các bạn đọc các bài post có liên quan trước đó:

Bài viết này sẽ giới thiệu tổng quan về Xen Server - một distro sử dụng Xen Hypervisor và các thành phần bên trong module Storage cùng một chút overview về Virtualization Driver của Xen. Các module khác như Network, Resource Compute & Monitor của Xen sẽ được nhắc đến trong các post sau.

Dưới đây là video demo nói về một trong những tính năng khá đặc biệt của Xen Server, thay đổi cấu hình máy ảo trong khi máy vẫn đang ở trạng thái running. Video chỉ mang tính chất gợi mở về các tính năng khá hay của Xen Server.

[embed]https://xen-orchestra.com/pictures/videos/adjust.mp4[/embed]

1. Giới thiệu:

Xen Server là distro sử dụng Xen hypervisor, trong đó Xen hypervisor là hypervisor kiểu I dạng microkernel (xem lại bài về virtualization), hỗ trợ hai chế độ ảo hoá full virtualization và para-virtualization. Toàn bộ thao tác điều khiển của Xen Server thông qua một máy ảo chính được gọi là Domain 0. Bản thân máy ảo Domain 0 có chứa toàn bộ driver tương tác với hạ tầng vật lý bên dưới và các service, thư viện hỗ trợ quản lý, tương tác với máy ảo (VM). Các máy ảo tạo ra trên nền tảng của Xen hypervisor có tên chung là domain U (dom U).

Kiến trúc của Xen Server như sau:

1

Hình 1. Kiến trúc Xen Server (nguồn: xenserver.org)

2. Chức năng chính:

Bảng dưới liệt kê các tính năng chính của Xen Server, bạn có thể so sánh với khả năng support của OpenStack trong link này.

Tính năng

Mô tả

XenServer hypervisor

Sử dụng Xen hypervisor (phiên bản mới nhất 4.4)

IntelliCache

Tính năng kết hợp giữa shared storage và local storage, cho phép cache master image từ shared storage trên local storage.

Resilient distributed management architecture

Tính năng cho phép phân tán dữ liệu quản trị server trong một pool.

VM disk snapshot and revert
XenCenter management

Tool trên Windows hỗ trợ quản lý máy ảo.

Conversion tools

Cung cấp nhiều tools để chuyển đổi giữa các định dạng máy ảo, chuyển đổi máy vật lý thành máy ảo.

XenMotion® live Migration

Live migration với down time thấp.

Heterogeneous pools

Pool với cấu hình các host là đồng bộ.

Dynamic Memory Control

Tăng giảm RAM tự động khi máy ảo đang chạy.

Performance alerting and reporting

Tính năng monitor.

Distributed virtual switching management tool

Open vSwitch support

High availability
Automated VM protection and recovery

Đặt lịch snapshot. (retired trên bản 6.2)

Host power management

Quản lý mức độ tiêu thụ điện và hiệu năng làm việc của CPU. (CPU P-State – performance, CPU C-State – Idle).

Live memory snapshot and revert
Role-based administration

Phân quyền xác thực khi sử dụng dịch vụ Xen.

Dynamic workload balancing

Tự động chuyển máy ảo giữa các host để cân bằng tải cho host.(retired trên bản 6.2)

Provisioning services (virtual)

Utility cung cấp máy ảo.

StorageLink

Support Citrix StorageLink.

Web self-service with delegated admin

Giao diện quản trị Xen qua web tích hợp với AD và hỗ trợ phân quyền. (retired trên bản 6.2)

Site recovery
Lab manager with self-service portal

Giao diện quản trị Xen qua web.(retired trên bản 6.2)

Provisioning services (physical)

Utility cài đặt và triển khai Xen Server host

3. Khái niệm

Dưới đây là một số khái niệm khi làm việc với Xen Server

4. Các thành phần bên trong Storage module Xen Server:

Được cài đặt ở dom 0, nhận các thao tác đọc ghi từ dom U và chuyển xuống hạ tầng storage phần cứng bên dưới thông qua giao thức xen blkif. Sau đó, blkback sẽ thực hiện các thao tác đọc ghi trên các device driver.

2

Hình 2: Flow BlkBack (nguồn: Citrix Xen Project - Felipe Franciosi)

3

 

Hình 3: Flow với BlkTap Hình 2: Flow BlkBack (nguồn: Citrix Xen Project - Felipe Franciosi)

BlkTap3 là phiên bản nâng cấp từ blktap2, hiện chưa được implement trong Xen. BlkTap3 đưa tapdisk process lên hoàn toàn nằm trong user space và connect trực tiếp vào blkfront của DomU.

Tham khảo http://wiki.xenproject.org/wiki/Blktap3

4

Hình 4. Flow với BlkTap3 Hình 2: Flow BlkBack (nguồn: Citrix Xen Project - Felipe Franciosi)

3. Virtualization mode và performance - PV Driver trong Xen:

10

Hình 5: Các chế độ virtualization của Xen. (nguồn: xen.org)

5

 

Hình 6. Xen PV Driver trên Windows (nguồn: xen.org)

PV driver trên Xen 6.1

6

Hình 7. Kiến trúc PV Driver trên Xen Server 6.1 (nguồn: xen.org)

7

 

Hình 8. Event Channel trong Xen (nguồn: xen.org)

8

 

Hình 9. Xend trong Xen hypervisor (nguồn: xen.org)

Daemon (viết bằng python) nắm nhiệm vụ quản lý chung cho toàn hệ thống Xen, giao tiếp trực tiếp với Xen Hypervisor thông qua thư viện C libxenctrl. Toàn bộ các giao tiếp giữa Xend thông qua giao thức XML RPC và sử dụng các CLI như xm hoặc xe.

9

 

Hình 10. Thư viện libxenctrl (nguồn: xen.org)

Trên đây là các vấn đề cơ bản nhất về Xen Server cùng các thành phần bên trong module Storage của Xen. Thời gian tới, nhóm sẽ tiếp tục viết và cung cấp thêm các kiến thức về module Network và Resource Monitoring của Xen.

 

VietStack Team.