Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

เริ่มต้นใช้งาน Xen virtualization

เซน สะกดด้วย Z คือความรู้สึกที่เป็นแก่นสารที่กระหม่อมขณะฉี่บนหิมะหลังจากกลั้นไว้แปดชั่วโมง Xen สะกดด้วย X เป็นเทคโนโลยีการจำลองเสมือนแบบโอเพ่นซอร์สที่คุณอาจพิจารณาสำหรับการตั้งค่าของคุณ ไม่ว่าจะเป็นที่บ้านหรือที่ทำงาน แม้ว่า KVM จะมุ่งเน้นไปที่ตลาดองค์กรมากกว่า เช่นเดียวกับ KVM

เรามีบทช่วยสอนมากมายเกี่ยวกับ KVM ซึ่งครอบคลุมบทความแนะนำ วิธีการตั้งค่าและกำหนดค่าที่เก็บข้อมูลและเครือข่ายของคุณ รวมถึงการเชื่อมโยงเครือข่าย และวิธีแก้ไขข้อขัดแย้งกับ VirtualBox ตอนนี้ได้เวลาเรียนรู้เพิ่มเติมเกี่ยวกับ Xen แล้ว ในทำนองเดียวกัน ฉันจะแสดงขั้นตอนแรกที่จำเป็นในการติดตั้งและเรียกใช้เครื่องเสมือนของคุณ คำศัพท์เฉพาะ การใช้ GUI และเครื่องมือการจัดการบรรทัดคำสั่ง โหมดการจำลองเสมือน อุปกรณ์ต่างๆ และอื่นๆ

เริ่มต้นใช้งาน Xen virtualization

Xen - บทนำ

ต่อไปนี้เป็นข้อมูลเบื้องต้นเกี่ยวกับ Xen internals มันแตกต่างจากเทคโนโลยีส่วนใหญ่ตรงที่ต้องใช้เคอร์เนลพิเศษในการบู๊ต กล่าวอีกนัยหนึ่ง ระบบ Linux ของคุณต้องการรายการแยกต่างหากในเมนู GRUB เมื่อบูตจากบริบทของเคอร์เนลนี้ Xen สามารถเรียกใช้ได้

ยิ่งไปกว่านั้น Xen ทำงานในเลเยอร์ที่เรียกว่าโดเมน โดเมนที่มีสิทธิพิเศษมากที่สุด เรียกว่า Domain0 (dom0) เป็นไฮเปอร์ไวเซอร์เอง ระบบปฏิบัติการแขกที่สร้างขึ้นบนโดเมนนี้ทำงานใน DomainU (domU)

เพื่อทำให้สิ่งต่าง ๆ ซับซ้อนขึ้นเล็กน้อย Xen ยังมีสองโหมด Paravirtualization ช่วยให้แขกสามารถทำงานได้โดยไม่ต้องเรียกพิเศษไปยังโปรเซสเซอร์ การจำลองเสมือนเต็มรูปแบบหรือที่เรียกว่า Hardware Assisted Virtualization (HVM) ซึ่งขึ้นอยู่กับเทคโนโลยีการจำลองเสมือนของโปรเซสเซอร์ (Intel-VT หรือ AMD-V) ให้ประสิทธิภาพและคุณสมบัติเพิ่มเติมที่ดียิ่งขึ้น

สำหรับรายละเอียดเพิ่มเติม โปรดปรึกษา:

Xen ในวิกิพีเดีย

บทช่วยสอน Xen บน howtoforge.com

ข้อดีข้อเสีย

มีเหตุผลหลายประการที่คุณอาจต้องการ Xen หนึ่งได้ฟรี สอง มันแข็งแกร่งและเติบโตเต็มที่ และมีไวยากรณ์บรรทัดคำสั่งที่ทรงพลังที่สามารถเขียนสคริปต์ได้ง่าย ทำให้การดูแลระบบเป็นเรื่องง่าย สิ่งสำคัญที่สุดคือ หากคุณไม่ได้เปิดใช้งานเทคโนโลยีเวอร์ชวลไลเซชันในโปรเซสเซอร์ของคุณ คุณจะยังคงเพลิดเพลินไปกับประสิทธิภาพที่เหมาะสม ซึ่งแตกต่างจาก KVM ซึ่งเพียงแค่การรวบรวมข้อมูลในสถานการณ์ดังกล่าว อย่างไรก็ตาม คุณจะสูญเสียฟังก์ชันการทำงานบางอย่างเมื่อเรียกใช้ paravirtualized เราจะเห็นตัวอย่างที่เกี่ยวข้องในภายหลัง

ในทางกลับกัน Xen นั้นยุ่งยากกว่า VirtualBox หรือ VMware Server เป็นต้น ในขณะที่การจัดการกราฟิกแบบเดียวกันสามารถใช้ได้กับทั้ง KVM และ Xen การสร้างและติดตั้งเครื่องเสมือนใหม่นั้นยากกว่าเล็กน้อยด้วย Xen การรวม SUSE ทำให้โปรเซสเซอร์นี้ทั้งง่ายขึ้นและยากขึ้นในเวลาเดียวกัน อีกครั้งเราจะเห็นตัวอย่างในภายหลัง

Xen มีช่วงการเรียนรู้ที่ค่อนข้างชันและสามารถข่มขู่ผู้ใช้ที่มีความรู้น้อยได้ การผสมผสานระหว่างสถาปัตยกรรมที่ซับซ้อน การจัดการแบบเลเยอร์ และภาษาที่ไม่เรียบง่ายสามารถขัดขวางผู้มีโอกาสเป็นลูกค้า ซึ่งอาจชอบความเรียบง่ายเชิงเส้นของโซลูชันอื่นๆ ซึ่งเสนอกรอบการทำงานทั้งหมดในแพ็คเกจเดียว

ข้อเสียที่ใหญ่ที่สุดคือต้องใช้เคอร์เนลของตัวเองในการบู๊ต ซึ่งแตกต่างจาก KVM ซึ่งเพียงแค่แทรกโมดูลลงในเคอร์เนล Xen จะต้องมีรายการเมนู GRUB ของตัวเอง เมื่อบูตเข้าสู่เคอร์เนล Xen คุณจะสังเกตเห็นเคอร์เนลเวอร์ชันอื่นเมื่อรันคำสั่ง uname

แท่นทดสอบ

Xen มาพร้อมกับการติดตั้งล่วงหน้าใน SUSE หลายรสชาติ รวมถึง openSUSE และ SLES ตั้งแต่เวอร์ชัน 10.3 ซึ่งหมายความว่าการใช้งานและการตั้งค่าบน distro นี้ควรจะค่อนข้างง่าย ไม่ได้หมายความว่าคุณไม่สามารถใช้ Xen บนระบบอื่นได้ แต่คุณอาจพบปัญหา ตัวอย่างเช่น เครื่องมือ Xen ในที่เก็บ Ubuntu ใช้งานไม่ได้และต้องรวบรวมจากแหล่งที่มา distros ที่ใช้ RedHat ไม่มีปัญหาดังกล่าว แต่เทคโนโลยีการจำลองเสมือนที่พวกเขาต้องการคือ KVM

กล่าวอีกนัยหนึ่ง หากคุณใช้ Xen คุณอาจต้องการเริ่มต้นด้วย SUSE และอาจเป็น RedHat อูบุนตูอาจใช้งานได้ง่าย แต่การติดตั้งอาจสร้างปัญหาได้ แม้ว่าจะไม่ใช่เรื่องที่นึกไม่ถึงก็ตาม

ในบทความนี้ ฉันจะแสดงการตั้งค่าบน SUSE 10.3 และ 11.2 ในบทความต่อๆ ไป เราจะใช้ distros ที่ใช้ RedHat เช่น CentOS และ Scientific Linux เป็นฐานทดสอบ การทดสอบแสดงให้เห็น Xen 3.X. เราจะมีการตรวจสอบ Xen 4.0 เร็วๆ นี้ ซึ่งรวมอยู่ใน openSUSE 11.4 ดังนั้นจึงมีความดีมากขึ้นมาที่โต๊ะ

การติดตั้ง Xen

การกำหนดค่า Xen บน SUSE นั้นง่ายมาก เปิด Yast> Virtualization> ติดตั้ง Hypervisor และ Tools การตั้งค่ามีสองขั้นตอน - การติดตั้งแพ็คเกจที่จำเป็นและการเปลี่ยนเมนูการบู๊ตและการบู๊ตที่ตามมาในเคอร์เนล Xen

เริ่มต้นใช้งาน Xen virtualization

Xen จะกำหนดค่าการเชื่อมต่อเครือข่ายแบบบริดจ์โดยอัตโนมัติ ซึ่งถือว่าเรียบร้อยมาก เนื่องจากคุณไม่ได้รับค่านี้ในการติดตั้ง KVM เริ่มต้น ปล่อยให้มันเสร็จสิ้นและรีบูต

โดยพื้นฐานแล้ว เราพร้อมที่จะใช้ Xen แล้ว

Xen บูตจาก GRUB2

โปรดทราบว่าหากคุณโหลด SUSE ร่วมกับ GRUB2 คุณจะต้องสร้างรายการพิเศษสำหรับเคอร์เนล Xen ซึ่งอาจไม่ถูกเพิ่มโดยอัตโนมัติโดยสคริปต์โพรบของ OS รายการมีลักษณะแตกต่างจาก stanzas บูตมาตรฐาน

โดยไม่ต้องเจาะจงถึงวิธีการทำงานของ GRUB2 เนื่องจากคุณสามารถอ่านบทช่วยสอนทั้งหมดที่อธิบายเรื่องนี้ได้ นี่คือส่วนที่คุณต้องให้ความสนใจ แทนที่จะใช้ลินุกซ์มาตรฐาน รายการเริ่มต้น คุณต้อง:

มัลติบูต /boot/xen.gz
โมดูล /boot/vmlinuz-xen <ตัวเลือก>
โมดูล /boot/initrd-xen

แน่นอน ปรับเส้นทางให้ตรงกับการติดตั้ง อุปกรณ์ ฯลฯ ของคุณ นี่คือภาพหน้าจอของลักษณะที่ปรากฏบนเครื่องทดสอบของฉัน:

การใช้ Xen

ตอนนี้ เราจะเริ่ม Virtual Machine Manager (VMM) ซึ่งเราคุ้นเคยจากบทเรียน KVM ของเรา และเราจะสร้างเครื่องเสมือนเครื่องแรกของเราเอง ในการวอร์มอัพ เราจะใช้เครื่องมือ GUI และเรียนรู้วิธีการบรรลุผลเช่นเดียวกันโดยใช้บรรทัดคำสั่ง Xen ในภายหลัง

ฉันจะแสดงการตั้งค่าสองแบบ - หนึ่งบนเครื่องที่มี SUSE 10, รัน KDE และใช้ virtualization เต็มรูปแบบ, อีกอันบนเครื่องที่มี SUSE 11, รัน Gnome และใช้ paravirtualization ดังนั้นคาดว่าจะมีภาพ GUI ผสมกัน

เริ่มต้นใช้งาน Xen virtualization

VMM กำลังทำงาน

คล้ายกับที่เรารู้มาก:

สร้างเครื่องเสมือน

คุณสามารถสร้างเครื่องเสมือนโดยใช้ GUI โดยเปิดใช้ยูทิลิตี้จาก YaST หรือเรียกใช้ vm-create จากบรรทัดคำสั่ง โปรดทราบว่านี่ค่อนข้างแตกต่างจาก VMM + KVM บน Ubuntu ซึ่งเราเห็นเมื่อไม่นานมานี้ ซึ่งเรามีความสามารถในการสร้างเครื่องเสมือนจากภายในการจัดการเอง

การปรับแต่ง

เมื่อคุณไปถึงส่วนสรุปแล้ว คุณสามารถปรับแต่งสิ่งที่คุณต้องการได้ เพียงคลิกที่ชื่อสีน้ำเงินและทำการเปลี่ยนแปลง ตัวอย่างเช่น ปกติแล้วส่วนดิสก์จะชี้ไปที่อิมเมจเครื่องเสมือนภายใต้ /var คุณสามารถสร้างของคุณเองด้วย dd และวางไว้ที่ใดก็ได้ที่คุณต้องการ รวมทั้งใช้ซีดีรอมหรืออิมเมจ ISO ที่คุณต้องการสำหรับการติดตั้งครั้งแรก นี่คือภาพหน้าจอบางส่วนที่แสดงตัวเลือกต่างๆ:

เราพร้อมที่จะวิ่ง

เรียกใช้เครื่องเสมือน

Virt Viewer (virt-viewer) ควรเริ่มต้นและแสดงความคืบหน้าของเครื่องเสมือน ทั้งนี้ขึ้นอยู่กับว่าคุณกำหนดค่าเครื่องเสมือนอย่างไร ในกรณีของเรา เรากำลังเริ่มเข้าสู่เซสชันสดของ Fedora 14

นี่คือสถานะใน VMM:

ไม่เลวสำหรับผู้เริ่มต้นใช่มั้ย ตอนนี้ คุณยังมีการกำหนดค่าเครื่องเสมือนที่สร้างขึ้นบนดิสก์ และสามารถใช้ทั้งเพื่อทำความเข้าใจไวยากรณ์ Xen และใช้เป็นเทมเพลตสำหรับเครื่องอื่น

บรรทัดคำสั่ง

ทีนี้มาตรวจสอบ Xen กันอีกครั้ง คราวนี้ในฐานะผู้ใช้ CLI ที่เหมาะสม ไม่มีอะไรพิเศษสำหรับมัน และถ้าคุณใช้ KVM คุณจะพบว่าไวยากรณ์นั้นง่ายต่อการติดตาม หน้าคู่มือมีรายละเอียดค่อนข้างมากและมีตัวอย่างที่ดีจำนวนหนึ่ง

อันที่จริง คุณสามารถค้นหาเทมเพลตเครื่องเสมือนได้ภายใต้ /etc/xen/examples ไฟล์เครื่องเสมือนอยู่ภายใต้ /etc/xen/vm เพียงคัดลอกและสร้างเครื่องของคุณโดยใช้ xm create

นี่คือการกำหนดค่า Fedora 14 ของเรา:

คำสั่งสำคัญที่ต้องให้ความสนใจ:

builder="hvm" - หากโปรเซสเซอร์ของคุณไม่รองรับการจำลองเสมือน คุณจะไม่สามารถใช้คุณสมบัตินี้ได้ คุณจะต้องตั้งค่าคำสั่งนี้เป็น linux แต่คุณจะสูญเสียฟังก์ชันบางอย่างไป

boot="d" - ตอบโต้โดยสัญชาตญาณ d คือ CD-ROM ก่อน c คือดิสก์ ไปคิด

disk=- ระบุชนิดของการจัดเก็บใด ๆ ลำดับของอุปกรณ์จะเป็นตัวกำหนดวิธีการมองเห็นและใช้งานโดยเครื่องเสมือน ตัวอักษร r และ w หมายถึงโหมดอ่านอย่างเดียวและโหมดอ่าน/เขียน

สำหรับข้อมูลเพิ่มเติม โปรดอ่านหน้า xm man จากนั้น หากคุณพร้อมที่จะใช้การกำหนดค่าของคุณ ให้ดำเนินการ:

xm สร้าง <ชื่อ vm>

และสิ่งนี้จะถูกลงทะเบียนเป็นโดเมนใหม่ใน VMM ของคุณ หากคุณไม่ต้องการใช้ไฟล์การกำหนดค่า ให้พูดในระหว่างการทดสอบ จากนั้นคุณสามารถสร้างเครื่องเสมือนได้ทันที ตัวอย่างเช่น:

xm สร้าง /dev/null \
ชื่อ=เดเบียน \
เคอร์เนล=/boot/vmlinuz-2.6-xen \
ดิสก์=ไฟล์:/tmp/debian.img,sda1,w \
รูท=/dev/sda1 หน่วยความจำ=256 vcpus=1

เราสร้างการกำหนดค่าใหม่ที่จะไม่เขียนที่ใดก็ได้ ดังนั้น /dev/null เราจะใช้เคอร์เนล Xen ที่มีสิทธิพิเศษภายใต้ /boot/ ซึ่งมีไดรเวอร์ทั้งหมดสำหรับฮาร์ดแวร์และอะไรก็ตาม อีกทางเลือกหนึ่ง หากคุณมี xenU kernel ที่เล็กกว่า คุณก็สามารถใช้มันได้ โดยเฉพาะถ้าคุณใช้ paravirtualization ต่อไป เราจะจัดสรรหน่วยความจำ จำนวนของ CPU เสมือน และพื้นที่เก็บข้อมูล สุดท้าย เราตั้งค่าอุปกรณ์รูทสำหรับเครื่องเสมือนของเรา

คุณยังสามารถติดตั้งและใช้ virt-install เพื่อสร้างเครื่องเสมือน virt-install สามารถทำงานในโหมดโต้ตอบ ถามคำถาม ซึ่งจะค่อนข้างสะดวกสำหรับคุณ นอกจากนี้ หากคุณใช้ KVM คุณจะคุ้นเคยกับไวยากรณ์

สิ่งอื่นๆ

รายละเอียดเพิ่มเติมที่ควรกล่าวถึง ...

พาราเวอร์ชวลไลเซชั่น

อันนี้ใช้งานได้ แต่ไม่ใช่โดยไม่มีปัญหาใหญ่ฉันต้องพูด หากโปรเซสเซอร์ของคุณไม่รองรับการจำลองเสมือน คุณอาจพบว่า Xen ไม่ให้ความร่วมมือกับฟังก์ชันและตัวเลือกบางอย่าง ตัวอย่างเช่น ฉันไม่สามารถบูตจากซีดีในโหมดพาราเสมือนได้เกือบตลอดเวลา หรือมากกว่านั้น ฉันสามารถทำเช่นนั้นได้หลังจากการปรับแต่ง เล่นซอ และเปลี่ยนแปลงหลายครั้ง สูญเสียฟังก์ชันบางอย่างในกระบวนการและอะไรก็ตาม

นี่คือลบมาก เว็บกำลังคร่ำครวญกับคำถามและคำตอบเกี่ยวกับเรื่องนี้ รวมถึงการแฮ็กบ้าๆ เช่น การสร้างเซิร์ฟเวอร์ HTTP ของคุณเอง การเมานต์อิมเมจ ISO ผ่านอุปกรณ์ย้อนกลับ การสวดอ้อนวอนต่อเทพเจ้าของชาวมายา และอื่นๆ วิธีเหล่านี้มีเพียงไม่กี่วิธีเท่านั้นที่ประสบความสำเร็จหรือแม้แต่นำไปใช้ได้ง่าย เราจะหารือเรื่องนี้แยกต่างหาก ฉันจะแสดงให้คุณเห็นว่าคุณจะไปกับการจำลองเสมือนได้อย่างไรแม้ว่าจะมีโอกาสเป็นไปได้ก็ตาม และอธิบายว่าทำไมคุณถึงไม่ต้องการทำอย่างนั้น


อ่านเพิ่มเติม

หากคุณกล้าและต้องการเรียกใช้ Xen บน Ubuntu ให้ลองใช้เอกสารประกอบชุมชน

คุณอาจชอบวิกิ Xen ที่มีรายละเอียดมากนี้ที่ virtuatopia.com

เครื่องมือการจัดการ Xen - เราจะพูดถึงสิ่งเหล่านี้ในบทความแยกต่างหาก

หน้า openSUSE Xen และวิธีการติดตั้ง Xen VM Server

สุดท้าย บล็อกที่คู่ควรกับ Virtualization:blog.bodhizazen.net ไม่ใช่แค่ Xen

สรุป

อย่างที่คุณเห็น Xen ไม่ใช่สัตว์ประหลาด แม้ว่ามันอาจจะดูน่ากลัวสำหรับผู้ใช้ใหม่ก็ตาม โครงสร้างพื้นฐานที่ค่อนข้างซับซ้อนอาจเป็นอุปสรรคต่อการใช้ Xen แต่ถ้าคุณโฟกัส คุณจะรู้ว่ามันไม่ได้น่าทึ่งขนาดนั้น รับเคอร์เนลพิเศษ เพิ่มลงใน bootloader บูตเข้า Xen ใช้เครื่องมือกราฟิกและบรรทัดคำสั่งเพื่อจัดการเครื่องเสมือนของคุณ ใน SUSE Xen จะรวมอยู่ในระบบปฏิบัติการ ทำให้สิ่งต่างๆ ง่ายขึ้น

เมื่อเทียบกับ KVM Xen นั้นซับซ้อนกว่าเล็กน้อยในการใช้งาน แต่คุณจะได้รับการเชื่อมโยงเครือข่ายตั้งแต่เริ่มต้น และไม่มีความขัดแย้งกับเทคโนโลยีอื่นๆ โหมดพาราเวอร์ชวลไลเซชัน บางส่วนที่ใช้งานได้ กล่าวคือ ให้ประสิทธิภาพที่ดีกว่าเมื่อเทียบกับโหมดจำลองด้วย KVM ในโหมดเวอร์ชวลไลเซชันเต็มรูปแบบ โซลูชันทั้งสองค่อนข้างสะดวกและมีประโยชน์ สิ่งสำคัญที่สุดคือ ฉันหวังว่าบทช่วยสอนนี้จะขจัดหมอกบางส่วนออกไป

ในบทความภาคต่อ เราจะเรียนรู้เกี่ยวกับเครื่องมือการจัดการเพิ่มเติมสำหรับ Xen ดูที่ Xen Cloud Platform แบบสแตนด์อโลน และแม้แต่แนะนำเวอร์ชันที่ใช้งานจริง ใช่ Xen สามารถเรียกใช้จากซีดีสด w00t ฉันหวังว่าคุณจะสนุกกับมัน เจอกันรอบหน้า

ไชโย