Zen, đánh vần bằng chữ Z, là cảm giác tinh túy trên đỉnh đầu của bạn khi đi tiểu trong tuyết sau khi nín trong tám giờ. Xen, viết tắt là X, là một công nghệ ảo hóa mã nguồn mở mà bạn có thể xem xét để thiết lập, cho dù ở nhà hay doanh nghiệp, mặc dù, giống như KVM, nó được định hướng nhiều hơn cho thị trường doanh nghiệp.
Chúng tôi đã có một số hướng dẫn về KVM, bao gồm bài viết giới thiệu, cách thiết lập và định cấu hình bộ lưu trữ và mạng của bạn, bao gồm kết nối mạng cầu nối và cách giải quyết xung đột với VirtualBox. Bây giờ, đã đến lúc tìm hiểu thêm một chút về Xen. Tương tự như vậy, tôi sẽ chỉ cho bạn các bước đầu tiên cần thiết để cài đặt và chạy các máy ảo của bạn, các thuật ngữ phức tạp, cách sử dụng GUI và các công cụ quản lý dòng lệnh, các chế độ ảo hóa, các thiết bị khác nhau, v.v.
Xen - Giới thiệu
Dưới đây là phần giới thiệu ngắn về nội bộ Xen. Nó khác với hầu hết các công nghệ ở chỗ nó yêu cầu một hạt nhân đặc biệt để khởi động. Nói cách khác, hệ thống Linux của bạn yêu cầu một mục riêng trong menu GRUB. Khi được khởi động từ ngữ cảnh của hạt nhân này, Xen có thể chạy.
Hơn nữa, Xen hoạt động theo lớp - được gọi là miền. Miền đặc quyền nhất, được gọi là Miền0 (dom0) chính là trình ảo hóa. Các hệ điều hành khách được xây dựng trên miền này chạy trong DomainU (domU).
Để làm cho mọi thứ phức tạp hơn một chút, Xen cũng có hai chế độ. Ảo hóa song song cho phép khách chạy mà không cần lệnh gọi đặc biệt tới bộ xử lý. Ảo hóa hoàn toàn, còn được gọi là Ảo hóa hỗ trợ phần cứng (HVM), phụ thuộc vào công nghệ ảo hóa bộ xử lý (Intel-VT hoặc AMD-V) mang lại hiệu suất thậm chí còn tốt hơn và các tính năng mở rộng.
Để biết thêm chi tiết, vui lòng tham khảo:
Xen trên Wikipedia
Hướng dẫn Xen trên howtoforge.com
Ưu và nhược điểm
Có một số lý do tại sao bạn có thể muốn Xen. Một, nó miễn phí. Thứ hai, nó mạnh mẽ và trưởng thành, đồng thời có cú pháp dòng lệnh mạnh mẽ, có thể dễ dàng viết kịch bản, giúp công việc quản trị trở nên dễ dàng. Quan trọng nhất, nếu bạn không bật công nghệ ảo hóa trong bộ xử lý của mình, thì bạn vẫn sẽ có được hiệu suất hợp lý, không giống như KVM, vốn chỉ đơn giản là thu thập dữ liệu trong những trường hợp như vậy. Tuy nhiên, bạn sẽ mất một số chức năng khi chạy ảo hóa. Chúng ta sẽ xem các ví dụ liên quan sau này.
Mặt khác, chẳng hạn, Xen cồng kềnh hơn VirtualBox hoặc VMware Server. Mặc dù có thể sử dụng cùng một trình quản lý đồ họa cho cả KVM và Xen, nhưng việc tạo và cài đặt các máy ảo mới khó khăn hơn một chút với Xen. Tích hợp SUSE làm cho bộ xử lý này đồng thời dễ dàng hơn và khó khăn hơn. Một lần nữa, chúng ta sẽ xem các ví dụ sau.
Xen có đường cong học tập khá dốc và có thể đe dọa những người dùng ít hiểu biết hơn. Sự kết hợp của một kiến trúc phức tạp, quản lý theo lớp và ngôn ngữ không quá đơn giản có thể ngăn cản những khách hàng tiềm năng, những người có thể thích sự đơn giản tuyến tính của các giải pháp khác, vốn cung cấp toàn bộ khung trong một gói duy nhất.
Nhược điểm lớn nhất là nó yêu cầu kernel riêng để khởi động. Không giống như KVM, chỉ cần chèn một mô-đun vào nhân, Xen phải có mục trình đơn GRUB của riêng nó. Khi khởi động vào nhân Xen, bạn sẽ thấy một phiên bản nhân khác khi chạy lệnh uname.
Nền tảng thử nghiệm
Xen được cài đặt sẵn các phiên bản SUSE, bao gồm openSUSE và SLES, kể từ phiên bản 10.3. Điều này có nghĩa là việc sử dụng và thiết lập trên bản phân phối này sẽ khá đơn giản. Điều đó không có nghĩa là bạn không thể sử dụng Xen trên các hệ thống khác, nhưng bạn có thể gặp sự cố. Ví dụ:các công cụ Xen trong kho Ubuntu bị hỏng và phải được biên dịch từ nguồn. Các bản phân phối dựa trên RedHat không gặp vấn đề như vậy, nhưng công nghệ ảo hóa ưa thích của chúng là KVM.
Nói cách khác, nếu bạn đang sử dụng Xen, bạn có thể muốn bắt đầu với SUSE và có thể là RedHat. Ubuntu có thể thân thiện để làm việc, nhưng việc thiết lập có thể gây khó khăn, mặc dù điều đó không phải là không thể tưởng tượng được.
Trong bài viết này, tôi sẽ chỉ cho bạn các thiết lập trên SUSE 10.3 và 11.2. Trong các bài viết trong tương lai, chúng tôi cũng sẽ sử dụng các bản phân phối dựa trên RedHat như CentOS và Khoa học Linux làm bản thử nghiệm. Thử nghiệm cho thấy Xen 3.X. Chúng tôi cũng sẽ sớm xem xét Xen 4.0, được bao gồm trong openSUSE 11.4. Vì vậy, có nhiều điều tốt đẹp hơn đến với bàn.
Cài đặt Xen
Cấu hình Xen trên SUSE rất dễ dàng. Mở Yast> Ảo hóa> Cài đặt Hypervisor và Công cụ. Quá trình thiết lập có hai giai đoạn - cài đặt các gói cần thiết và thay đổi menu khởi động và khởi động tiếp theo vào nhân Xen.
Xen cũng sẽ tự động định cấu hình mạng bắc cầu, rất gọn gàng vì bạn không nhận được điều này trong cài đặt KVM mặc định. Hãy để nó hoàn thành và khởi động lại.
Về cơ bản, đó là nó. Chúng tôi đã sẵn sàng để sử dụng Xen.
Xen khởi động từ GRUB2
Xin lưu ý rằng nếu bạn đang tải chuỗi SUSE bằng GRUB2, thì bạn sẽ cần tạo một mục đặc biệt cho nhân Xen, mục này có thể không được tập lệnh thăm dò hệ điều hành tự động thêm vào. Mục nhập trông khác với khổ thơ khởi động tiêu chuẩn.
Không đi vào chi tiết cụ thể về cách GRUB2 hoạt động, vì bạn có thể đọc toàn bộ hướng dẫn giải thích điều này, đây là phần bạn cần chú ý. Thay vì sử dụng các mục initrd tiêu chuẩn của linux, bạn cần:
đa khởi động /boot/xen.gz
mô-đun /boot/vmlinuz-xen
mô-đun /boot/initrd-xen
Tất nhiên, hãy điều chỉnh các đường dẫn chính xác để phù hợp với cài đặt, thiết bị của bạn, v.v. Đây là ảnh chụp màn hình về giao diện trên máy thử nghiệm của tôi:
Sử dụng Xen
Bây giờ, chúng ta sẽ bắt đầu Trình quản lý máy ảo (VMM), mà chúng ta đã quen thuộc từ các hướng dẫn về KVM và chúng ta sẽ tạo máy ảo đầu tiên của riêng mình. Khi khởi động, chúng ta sẽ sử dụng các công cụ GUI và sau đó tìm hiểu cách đạt được điều tương tự bằng cách sử dụng dòng lệnh Xen.
Tôi sẽ chỉ cho bạn hai thiết lập - một trên máy có SUSE 10, chạy KDE và sử dụng ảo hóa hoàn toàn, thiết lập còn lại trên máy có SUSE 11, chạy Gnome và sử dụng ảo hóa song song. Vì vậy, hãy mong đợi sự kết hợp của các hình ảnh GUI.
VMM đang chạy
Rất giống với những gì chúng ta đã biết:
Tạo máy ảo
Bạn có thể tạo các máy ảo bằng GUI bằng cách khởi chạy tiện ích từ YaST hoặc chạy vm-create từ dòng lệnh. Xin lưu ý rằng điều này hơi khác so với VMM + KVM trên Ubuntu, mà chúng tôi đã thấy cách đây không lâu, nơi chúng tôi có khả năng tạo các máy ảo từ chính bộ quản lý.
Tùy chỉnh
Khi bạn đến phần tóm tắt, bạn có thể tùy chỉnh bất cứ điều gì bạn cần. Chỉ cần nhấp vào bất kỳ tiêu đề màu xanh nào và thực hiện thay đổi. Chẳng hạn, phần Đĩa thường sẽ trỏ đến một hình ảnh máy ảo trong /var. Thay vào đó, bạn có thể tạo của riêng mình bằng dd và đặt chúng ở bất cứ đâu bạn muốn, cũng như sử dụng ảnh đĩa CD-ROM hoặc ISO mà bạn cần cho lần cài đặt đầu tiên. Dưới đây là một số ảnh chụp màn hình hiển thị các tùy chọn khác nhau:
Chúng tôi đã sẵn sàng để chạy.
Chạy máy ảo
Tùy thuộc vào cách bạn đã định cấu hình máy ảo, Virt Viewer (trình xem ảo) sẽ khởi động và hiển thị tiến trình của máy ảo. Trong trường hợp của chúng tôi, chúng tôi đang khởi động vào phiên trực tiếp Fedora 14.
Đây là trạng thái trong VMM:
Không tệ cho người mới bắt đầu, phải không? Bây giờ, bạn cũng có cấu hình máy ảo được tạo trên đĩa và có thể sử dụng nó để hiểu cú pháp Xen và sử dụng nó làm mẫu cho các máy khác.
Dòng lệnh
Bây giờ, hãy kiểm tra Xen một lần nữa, lần này với tư cách là người dùng CLI thích hợp. Không có gì đặc biệt với nó và nếu bạn đã sử dụng KVM, bạn sẽ thấy cú pháp khá dễ thực hiện. Các trang hướng dẫn cũng khá chi tiết và bao gồm một số ví dụ hay.
Trên thực tế, bạn có thể tìm thấy các mẫu máy ảo trong /etc/xen/examples. Các tệp máy ảo nằm trong /etc/xen/vm. Chỉ cần sao chép chúng và tạo máy của bạn bằng cách sử dụng xm tạo.
Đây là cấu hình Fedora 14 của chúng tôi:
Các chỉ thị quan trọng cần chú ý:
builder="hvm" - Nếu bộ xử lý của bạn không hỗ trợ ảo hóa, bạn sẽ không thể sử dụng tính năng này, bạn sẽ phải đặt lệnh này cho linux. Nhưng sau đó, bạn sẽ mất một số chức năng.
boot="d" - Rất phản trực giác, d là CD-ROM đầu tiên, c là đĩa, hãy xem hình.
disk=- Chỉ định bất kỳ loại lưu trữ nào. Thứ tự của các thiết bị sẽ xác định cách máy ảo nhìn thấy và sử dụng chúng. Chữ cái r và w biểu thị chế độ chỉ đọc và đọc/ghi.
Để biết thêm thông tin, vui lòng đọc trang xm man. Sau đó, nếu bạn đã sẵn sàng sử dụng cấu hình của mình, thì chỉ cần thực hiện:
tạo xm
Và điều này sẽ được đăng ký như một tên miền mới trong VMM của bạn. Nếu bạn không muốn sử dụng các tệp cấu hình, chẳng hạn như trong quá trình thử nghiệm, thì bạn có thể tạo các máy ảo một cách nhanh chóng. Ví dụ:
xm tạo /dev/null \
tên=Debian \
kernel=/boot/vmlinuz-2.6-xen \
đĩa=tệp:/tmp/debian.img,sda1,w \
root=/dev/sda1 memory=256 vcpus=1
Chúng tôi tạo một cấu hình mới sẽ không được viết ở bất cứ đâu, do đó /dev/null. Chúng tôi sẽ sử dụng nhân Xen đặc quyền trong /boot/, nhân này có tất cả các trình điều khiển cho phần cứng và những thứ khác. Ngoài ra, nếu bạn có nhân xenU nhỏ hơn xung quanh, bạn có thể sử dụng nó, đặc biệt nếu bạn đang sử dụng ảo hóa song song. Tiếp theo, chúng tôi phân bổ bộ nhớ, số lượng CPU ảo và bộ nhớ. Cuối cùng, chúng tôi đã đặt thiết bị gốc cho máy ảo của mình.
Bạn cũng có thể cài đặt và sử dụng virt-install để tạo máy ảo. virt-install có thể chạy ở chế độ tương tác, đặt câu hỏi, điều này có thể khá thuận tiện cho bạn. Hơn nữa, nếu bạn đang sử dụng KVM, bạn sẽ quen thuộc với cú pháp.
Những thứ khác
Một vài chi tiết đáng nói nữa ...
Ảo hóa song song
Cái này hoạt động, nhưng không phải không có một số vấn đề lớn, tôi phải nói. Nếu bộ xử lý của bạn không hỗ trợ ảo hóa, bạn có thể thấy Xen không hợp tác với một số chức năng và tùy chọn của nó. Chẳng hạn, tôi không thể khởi động từ CD ở chế độ ảo hóa hầu hết thời gian. Hay đúng hơn, tôi đã có thể làm như vậy, sau rất nhiều lần chỉnh sửa, loay hoay và thay đổi, mất đi một số chức năng trong quy trình và những thứ khác.
Đây là một điểm trừ rất lớn. Web đang vang dội với những câu hỏi và câu trả lời liên quan đến vấn đề này, bao gồm cả những vụ hack điên rồ như xây dựng máy chủ HTTP của riêng bạn, gắn hình ảnh ISO qua thiết bị loopback, cầu nguyện các vị thần của người Maya, v.v., rất ít phương pháp trong số này thành công hoặc thậm chí dễ thực hiện. Chúng tôi sẽ thảo luận về điều này một cách riêng biệt hơn. Tôi sẽ chỉ cho bạn cách bạn có thể bắt đầu với ảo hóa song song, bất chấp những khó khăn và giải thích lý do tại sao bạn không muốn làm điều đó.
Đọc thêm
Nếu bạn dũng cảm và muốn chạy Xen trên Ubuntu của mình, hãy thử Tài liệu Cộng đồng.
Bạn cũng có thể thích Xen wiki rất chi tiết này tại virtuatopia.com.
Các công cụ quản lý Xen - Chúng tôi sẽ thảo luận nhiều trong số này trong các bài viết riêng.trang openSUSE Xen và cách cài đặt Xen VM Server.
Cuối cùng, một blog xứng đáng về Ảo hóa:blog.bodhizazen.net, không chỉ Xen.
Kết luận
Như bạn có thể thấy, Xen không phải là một con quái vật, mặc dù nó có thể gây khó khăn cho những người dùng mới. Cơ sở hạ tầng hơi phức tạp có thể cản trở việc sử dụng Xen. Nhưng nếu bạn tập trung, bạn sẽ nhận ra nó không quá kịch tính. Nhận các hạt nhân bổ sung, thêm chúng vào bộ tải khởi động của bạn, khởi động vào Xen, sử dụng các công cụ dòng lệnh và đồ họa để quản lý các máy ảo của bạn. Trên SUSE, Xen được bao gồm trong hệ điều hành, giúp mọi việc trở nên dễ dàng hơn.
So với KVM, Xen phức tạp hơn một chút để sử dụng, nhưng bạn có được kết nối mạng ngay từ đầu và không có xung đột với các công nghệ khác. Chế độ ảo hóa song song, các phần của nó hoạt động, tức là mang lại hiệu suất tốt hơn so với chế độ mô phỏng với KVM. Ở chế độ ảo hóa hoàn toàn, cả hai giải pháp đều khá tiện dụng và hữu ích. Quan trọng nhất, tôi hy vọng hướng dẫn này đã giải tỏa được phần nào sương mù.
Trong các bài viết tiếp theo, chúng ta sẽ tìm hiểu về các công cụ quản lý bổ sung dành cho Xen, xem xét Nền tảng đám mây Xen độc lập và thậm chí giới thiệu phiên bản trực tiếp. Có, Xen có thể chạy từ live CD, w00t. Tôi hy vọng bạn thích điều này. Hẹn gặp lại bạn.
Chúc mừng.