ค้นหาเว็บไซต์

วิธีสร้างเครื่องเสมือนใน Linux โดยใช้ KVM (เครื่องเสมือนที่ใช้เคอร์เนล) - ตอนที่ 1


บทช่วยสอนนี้กล่าวถึงการแนะนำ KVM การปรับใช้ และวิธีใช้เพื่อสร้างเครื่องเสมือนภายใต้การกระจายแบบอิง RedHat เช่น RHEL/CentOS7 และ Fedora 21 .

KVM คืออะไร?

KVM หรือ (เครื่องเสมือนที่ใช้เคอร์เนล) เป็นโซลูชันการจำลองเสมือนเต็มรูปแบบสำหรับ Linux บนฮาร์ดแวร์ Intel 64 และ AMD 64 ที่รวมอยู่ในเคอร์เนล mainline Linux ตั้งแต่ 2.6.20 และมีเสถียรภาพและรวดเร็วสำหรับปริมาณงานส่วนใหญ่

คุณสมบัติ KVM

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

  1. การคอมมิตมากเกินไป : ซึ่งหมายถึงการจัดสรร CPU หรือหน่วยความจำเสมือนจริงมากกว่าทรัพยากรที่มีอยู่ในระบบ
  2. Thin Provisioning : ซึ่งช่วยให้สามารถจัดสรรพื้นที่จัดเก็บข้อมูลที่ยืดหยุ่นและปรับพื้นที่ว่างให้เหมาะสมสำหรับเครื่องเสมือนของแขกทุกเครื่อง
  3. การควบคุมปริมาณดิสก์ I/O : ให้ความสามารถในการตั้งค่าขีดจำกัดคำขอ I/O ดิสก์ที่ส่งจากเครื่องเสมือนไปยังเครื่องโฮสต์
  4. การปรับสมดุล NUMA อัตโนมัติ : ปรับปรุงประสิทธิภาพของแอปพลิเคชันที่ทำงานบนระบบฮาร์ดแวร์ NUMA
  5. ความสามารถเพิ่ม CPU เสมือนแบบ hot add : ให้ความสามารถในการเพิ่มพลังการประมวลผลตามความจำเป็นบนเครื่องเสมือนที่ทำงานอยู่ โดยไม่ต้องหยุดทำงาน

นี่คือซีรีส์ KVM (เครื่องเสมือนที่ใช้เคอร์เนล) ที่กำลังดำเนินการชุดแรกของเรา ในที่นี้เราจะกล่าวถึงบทความต่อไปนี้แบบทีละส่วน

ข้อกำหนดเบื้องต้น

ตรวจสอบให้แน่ใจว่าระบบของคุณมีส่วนขยายการจำลองเสมือนสำหรับฮาร์ดแวร์: สำหรับโฮสต์ที่ใช้ Intel ให้ตรวจสอบว่าส่วนขยายการจำลองเสมือนของ CPU [vmx] พร้อมใช้งานโดยใช้คำสั่งต่อไปนี้

[root@server ~]# grep -e 'vmx' /proc/cpuinfo

สำหรับโฮสต์ที่ใช้ AMD ให้ตรวจสอบว่าส่วนขยายการจำลองเสมือนของ CPU [svm] พร้อมใช้งาน

[root@server ~]# grep -e 'svm' /proc/cpuinfo

หากไม่มีเอาต์พุต ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานส่วนขยายการจำลองเสมือนใน BIOS แล้ว ตรวจสอบว่าโมดูล KVM ถูกโหลดในเคอร์เนล “ควรโหลดโดยค่าเริ่มต้น”

[root@server ~]# lsmod | grep kvm

ผลลัพธ์ควรมี kvm_intel สำหรับโฮสต์ที่ใช้ Intel หรือ kvm_amd สำหรับโฮสต์ที่ใช้ AMD

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

[root@server ~]# yum update

ตรวจสอบให้แน่ใจว่า Selinux อยู่ในโหมดอนุญาต

[root@server ~]# setenforce 0

ขั้นตอนที่ 1: การติดตั้งและการปรับใช้ KVM

1. เราจะติดตั้งแพ็คเกจ qemu-kvm และ qemu-img ในตอนแรก แพ็คเกจเหล่านี้จัดเตรียม KVM ระดับผู้ใช้และตัวจัดการดิสก์อิมเมจ

[root@server ~]# yum install qemu-kvm qemu-img

2. ตอนนี้ คุณมีข้อกำหนดขั้นต่ำในการปรับใช้แพลตฟอร์มเสมือนบนโฮสต์ของคุณ แต่เรายังมีเครื่องมือที่มีประโยชน์ในการดูแลระบบแพลตฟอร์มของเรา เช่น:

  1. virt-manager มีเครื่องมือ GUI เพื่อจัดการเครื่องเสมือนของคุณ
  2. libvirt-client มีเครื่องมือ CL เพื่อจัดการสภาพแวดล้อมเสมือนของคุณ เครื่องมือนี้เรียกว่า virsh
  3. virt-install มีคำสั่ง “virt-install ” เพื่อสร้างเครื่องเสมือนของคุณจาก CLI
  4. libvirt จัดเตรียมเซิร์ฟเวอร์และไลบรารีฝั่งโฮสต์สำหรับการโต้ตอบกับไฮเปอร์ไวเซอร์และระบบโฮสต์

มาติดตั้งเครื่องมือด้านบนเหล่านี้โดยใช้คำสั่งต่อไปนี้

[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client 

3. สำหรับผู้ใช้ RHEL/CentOS7 ยังคงมีกลุ่มแพ็คเกจเพิ่มเติม เช่น Virtualization Client, Virtualization Platform และ Virtualization Tools ที่จะติดตั้ง

[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools	

4. ภูตการจำลองเสมือนที่จัดการแพลตฟอร์มทั้งหมดคือ “libvirtd ” มารีสตาร์ทกันเถอะ

[root@server ~]#systemctl restart libvirtd

5. หลังจากรีสตาร์ท daemon แล้ว ให้ตรวจสอบสถานะโดยรันคำสั่งต่อไปนี้

[root@server ~]#systemctl status libvirtd  
ผลลัพธ์ตัวอย่าง
libvirtd.service - Virtualization daemon 
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) 
   Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago 
 Main PID: 25701 (libvirtd) 

ตอนนี้ สลับไปยังส่วนถัดไปเพื่อสร้างเครื่องเสมือนของเรา

ขั้นตอนที่ 2: สร้าง VM โดยใช้ KVM

ดังที่เราได้กล่าวไว้ข้างต้น เรามีเครื่องมือที่มีประโยชน์ในการจัดการแพลตฟอร์มเสมือนของเราและการสร้างเครื่องเสมือน หนึ่งในเครื่องมือที่เรียกว่า [virt-manager] ซึ่งเราใช้ในส่วนถัดไป

6. แม้ว่า virt-manager จะเป็นเครื่องมือที่ใช้ GUI แต่เราก็สามารถเปิด/เริ่มต้นจากเทอร์มินัลและจาก GUI ได้เช่นกัน

[root@server ~]#virt-manager
การใช้ GNOME

การใช้ GNOME คลาสสิก

7. หลังจากเริ่มใช้เครื่องมือ หน้าต่างนี้จะปรากฏขึ้น

8. ตามค่าเริ่มต้น คุณจะพบว่าผู้จัดการเชื่อมต่อโดยตรงกับ localhost โชคดีที่คุณสามารถใช้เครื่องมือเดียวกันนี้เพื่อจัดการโฮสต์อื่นจากระยะไกลได้ จากแท็บ “ไฟล์ ” เพียงเลือก “เพิ่มการเชื่อมต่อ ” และหน้าต่างนี้จะปรากฏขึ้น

ทำเครื่องหมายที่ตัวเลือก “เชื่อมต่อกับโฮสต์ระยะไกล ” จากนั้นระบุ ชื่อโฮสต์/IP ของเซิร์ฟเวอร์ระยะไกล หากคุณต้องการสร้างการเชื่อมต่อกับโฮสต์ระยะไกลทุกครั้งที่ผู้จัดการเริ่มต้น เพียงทำเครื่องหมายที่ตัวเลือก “เชื่อมต่ออัตโนมัติ

9. กลับมาที่โลคัลโฮสต์ของเราก่อนสร้างเครื่องเสมือนใหม่ คุณควรตัดสินใจว่าจะเก็บไฟล์ไว้ที่ใด! กล่าวอีกนัยหนึ่ง คุณควรสร้าง Volume Disk (ดิสก์เสมือน/อิมเมจของดิสก์ ) สำหรับเครื่องเสมือนของคุณ

โดยคลิกขวาที่ localhost แล้วเลือก “รายละเอียด ” จากนั้นเลือกแท็บ “ที่เก็บข้อมูล

10. ถัดไป กดปุ่ม “ไดรฟ์ข้อมูลใหม่ ” จากนั้นป้อนชื่อของดิสก์เสมือนใหม่ของคุณ (ดิสก์ไดรฟ์ข้อมูล) และป้อนขนาดที่ คุณต้องการ/จำเป็นในส่วน “ความจุสูงสุด

ขนาดการจัดสรรคือขนาดจริงสำหรับดิสก์ของคุณซึ่งจะถูกจัดสรรจากฟิสิคัลดิสก์ของคุณทันทีหลังจากเสร็จสิ้นขั้นตอน

หมายเหตุ: นี่เป็นเทคโนโลยีที่สำคัญในด้านการดูแลระบบจัดเก็บข้อมูลซึ่งเรียกว่า “thin allowance ” ใช้เพื่อจัดสรรขนาดพื้นที่เก็บข้อมูลที่ใช้เท่านั้น ไม่ใช่ขนาดที่มีอยู่ทั้งหมด

ตัวอย่างเช่น คุณสร้างดิสก์เสมือนที่มีขนาด 60G แต่คุณใช้งานจริงเพียง 20G โดยใช้เทคโนโลยีนี้ ขนาดที่จัดสรรจากฮาร์ดดิสก์จริงของคุณจะเป็น 20G ไม่ใช่ 60G

กล่าวอีกนัยหนึ่งขนาดทางกายภาพที่จัดสรรจะถูกจัดสรรแบบไดนามิกขึ้นอยู่กับขนาดที่ใช้จริง คุณสามารถค้นหาข้อมูลเพิ่มเติมโดยละเอียดได้ที่ VMWare vStorage Thin Provisioning

11. คุณจะสังเกตว่าป้ายกำกับของ Volume Disk ใหม่ปรากฏอยู่ในรายการ

คุณควรสังเกตเส้นทางของดิสก์อิมเมจใหม่ (Volume Disk) โดยค่าเริ่มต้นจะอยู่ภายใต้ /var/lib/libvirt/images คุณสามารถตรวจสอบได้โดยใช้คำสั่งต่อไปนี้

[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan  3 16:47 vm1Storage.img

12. ตอนนี้เราพร้อมที่จะสร้างเครื่องเสมือนของเราแล้ว กดปุ่ม “VM” ในหน้าต่างหลัก หน้าต่างตัวช่วยสร้างนี้จะปรากฏขึ้น

เลือกวิธีการติดตั้งที่คุณจะใช้เพื่อสร้างเครื่องเสมือน ตอนนี้เราจะใช้สื่อการติดตั้งในเครื่อง หลังจากนั้นเราจะหารือเกี่ยวกับวิธีการที่เหลือ

13. ตอนนี้ถึงเวลาระบุสื่อการติดตั้งในเครื่องที่จะใช้ เรามีสองตัวเลือก:

  1. จากทางกายภาพ [ซีดีรอม/ดีวีดี]
  2. จากอิมเมจ ISO

สำหรับบทช่วยสอนของเรา ให้ใช้วิธีอิมเมจ ISO ดังนั้นคุณควรระบุเส้นทางของอิมเมจ ISO ของคุณ

ข้อสำคัญ: น่าเสียดายที่มีข้อผิดพลาดที่ไร้สาระมากสำหรับผู้ที่ใช้ RHEL/CentOS7 จุดบกพร่องนี้ป้องกันไม่ให้คุณติดตั้งโดยใช้ [CDROM/DVD] จริง คุณจะพบว่าตัวเลือกเป็นสีเทาเช่นนี้

และถ้าคุณกดเคอร์เซอร์ค้างไว้ ข้อความแสดงข้อผิดพลาดนี้จะปรากฏขึ้น

จนถึงขณะนี้ ยังไม่มีวิธีแก้ปัญหาอย่างเป็นทางการ/โดยตรงสำหรับข้อบกพร่องนี้ คุณสามารถดูข้อมูลเพิ่มเติมได้ที่ https://bugzilla.redhat.com

14. พื้นที่เก็บข้อมูลกลับมาแล้ว เราจะใช้ดิสก์เสมือนที่เราสร้างขึ้นตั้งแต่เนิ่นๆ เพื่อติดตั้งเครื่องเสมือนบนนั้น มันจะเป็นไปตามที่แสดง

15. ขั้นตอนสุดท้ายที่ถามคุณเกี่ยวกับชื่อเครื่องเสมือนของคุณและตัวเลือกขั้นสูงอื่นๆ เรามาพูดคุยกันในภายหลัง

หากคุณต้องการเปลี่ยนการกำหนดค่าหรือปรับแต่งบางอย่าง เพียงเลือกตัวเลือก “ปรับแต่งการกำหนดค่าก่อนติดตั้ง ” จากนั้นคลิกเสร็จสิ้นและรอสักครู่ คอนโซลควบคุมจะปรากฏขึ้นเพื่อให้ Guest OS ของคุณจัดการ

บทสรุป

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

แม้ว่าบทความนี้จะยังไม่จบ แต่ในบทความต่อๆ ไป เราจะพูดถึงหัวข้อสำคัญอื่นๆ ที่เกี่ยวข้องกับ KVM ทำให้มือสกปรกโดยใช้ความรู้เดิมและเตรียมพร้อมสำหรับส่วนต่อไป…..