ວິທີການສ້າງ Virtual Machine ໃນ Linux ໂດຍໃຊ້ KVM (Virtual Machine-based Virtual Machine) - ພາກທີ 1


ບົດແນະ ນຳ ນີ້ເວົ້າເຖິງການແນະ ນຳ, ການ ນຳ ໃຊ້ແລະການ ນຳ ໃຊ້ KVM ຂອງ KVM, ການ ນຳ ໃຊ້ເຄື່ອງຈັກ virtual ພາຍໃຕ້ການແຈກຢາຍທີ່ອີງໃສ່ RedHat ເຊັ່ນ RHEL/CentOS7 ແລະ Fedora 21.

KVM ຫຼື (Kernel-based Virtual Machine) ແມ່ນໂຊລູຊັ່ນ virtualization ເຕັມຮູບແບບ ສຳ ລັບ Linux ໃນ Hardware Intel 64 ແລະ AMD 64 ເຊິ່ງລວມຢູ່ໃນແກ່ນ Linux ຕົ້ນຕໍຕັ້ງແຕ່ 2.6.20 ແລະມີຄວາມ ໝັ້ນ ຄົງແລະໄວ ສຳ ລັບວຽກຫຼາຍທີ່ສຸດ.

ມັນມີຄຸນລັກສະນະແລະຂໍ້ດີທີ່ມີປະໂຫຍດຫຼາຍຢ່າງທີ່ທ່ານຈະໄດ້ຮັບເມື່ອທ່ານໃຊ້ KVM ເພື່ອ ນຳ ໃຊ້ເວທີເສມືນຂອງທ່ານ. KVM hypervisor ສະ ໜັບ ສະ ໜູນ ຄຸນລັກສະນະຕ່າງໆດັ່ງຕໍ່ໄປນີ້:

<

  • ການກະ ທຳ ເກີນ : ໝາຍ ເຖິງການຈັດສັນ CPU ຫຼື ໜ່ວຍ ຄວາມ ຈຳ ແບບ virtualized ຫຼາຍກ່ວາຊັບພະຍາກອນທີ່ມີຢູ່ໃນລະບົບ.
  • ການສະ ໜອງ ບາງ : ເຊິ່ງຊ່ວຍໃຫ້ການຈັດສັນບ່ອນເກັບມ້ຽນທີ່ມີຄວາມຍືດຫຍຸ່ນແລະເພີ່ມປະສິດທິພາບໃນພື້ນທີ່ທີ່ ເໝາະ ສົມ ສຳ ລັບທຸກໆເຄື່ອງ virtual ຂອງແຂກ.
  • ຖີ້ມ I/O ປິດສຽງ : ສະ ໜອງ ຄວາມສາມາດໃນການ ກຳ ນົດຂີດ ຈຳ ກັດໃນ ຄຳ ຮ້ອງຂໍ disk/I ທີ່ຖືກສົ່ງຈາກເຄື່ອງ virtual ໄປຍັງເຄື່ອງໂຮດ.
  • ຄວາມສົມດຸນຂອງ NUMA ອັດຕະໂນມັດ : ປັບປຸງການເຮັດວຽກຂອງໂປແກຼມທີ່ໃຊ້ໃນລະບົບຮາດແວຂອງ NUMA.
  • ຄວາມສາມາດເພີ່ມຄວາມຮ້ອນຂອງ CPU ຂອງ Virtual Virtual : ສະ ໜອງ ຄວາມສາມາດໃນການເພີ່ມພະລັງງານໃນການປຸງແຕ່ງຕາມຄວາມຕ້ອງການຂອງເຄື່ອງຈັກທີ່ ກຳ ລັງເຮັດວຽກ, ໂດຍບໍ່ຕ້ອງເສຍເວລາ.
  • ນີ້ແມ່ນຊຸດ ທຳ ອິດຂອງພວກເຮົາທີ່ ກຳ ລັງ ດຳ ເນີນ KVM (Kernel-based Virtual Machine), ໃນທີ່ນີ້ພວກເຮົາຈະມາເວົ້າເຖິງບົດຄວາມຕໍ່ໄປນີ້ໃນແບບທີ່ສະຫລາດ.

    ໃຫ້ແນ່ໃຈວ່າລະບົບຂອງທ່ານມີສ່ວນຂະຫຍາຍ virtualization ຂອງຮາດແວ: ສຳ ລັບເຈົ້າຂອງທີ່ຢູ່ໃນ Intel, ກວດສອບການຂະຫຍາຍ virtualization ຂອງ CPU [vmx] ແມ່ນສາມາດໃຊ້ໄດ້ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     grep -e 'vmx' /proc/cpuinfo
    

    ສຳ ລັບເຈົ້າຂອງທີ່ຕັ້ງຢູ່ AMD, ກວດສອບການຂະຫຍາຍ virtualization ຂອງ CPU [svm].

     grep -e 'svm' /proc/cpuinfo
    

    ຖ້າບໍ່ມີຜົນໄດ້ຮັບໃຫ້ແນ່ໃຈວ່າການຂະຫຍາຍ virtualization ຖືກເປີດໃຊ້ໃນ BIOS. ກວດສອບວ່າໂມດູນ KVM ແມ່ນຖືກໂຫລດຢູ່ໃນ kernel“ ມັນຄວນຈະຖືກໂຫລດໂດຍຄ່າເລີ່ມຕົ້ນ”.

     lsmod | grep kvm
    

    ຜົນຜະລິດຄວນຈະມີ kvm_intel ສຳ ລັບເຈົ້າພາບທີ່ໃຊ້ໂດຍບໍ່ຕ້ອງອີງໃສ່ຫຼື kvm_amd ສຳ ລັບເຈົ້າພາບທີ່ອີງໃສ່ amd.

    ກ່ອນທີ່ຈະເລີ່ມຕົ້ນ, ທ່ານຈະຕ້ອງການບັນຊີ root ຫຼືຜູ້ໃຊ້ທີ່ບໍ່ແມ່ນຮາກທີ່ມີສິດທິພິເສດ sudo ທີ່ຕັ້ງໄວ້ໃນລະບົບຂອງທ່ານແລະຍັງໃຫ້ແນ່ໃຈວ່າລະບົບຂອງທ່ານທັນສະ ໄໝ.

     yum update
    

    ໃຫ້ແນ່ໃຈວ່າ Selinux ຢູ່ໃນ ໂໝດ Permissive.

     setenforce 0
    

    ຂັ້ນຕອນທີ 1: ການຕິດຕັ້ງແລະການຕິດຕັ້ງ KVM

    1. ພວກເຮົາຈະຕິດຕັ້ງ qemu-kvm ແລະ qemu-img ທຳ ອິດ. ແພັກເກດເຫລົ່ານີ້ໃຫ້ KVM ລະດັບຜູ້ໃຊ້ແລະຜູ້ຈັດການຮູບພາບດິດ.

     yum install qemu-kvm qemu-img
    

    2. ດຽວນີ້, ທ່ານມີຄວາມຕ້ອງການຕ່ ຳ ສຸດທີ່ຈະ ນຳ ໃຊ້ເວທີເສມືນໃນເຈົ້າຂອງເຈົ້າ, ແຕ່ພວກເຮົາຍັງມີເຄື່ອງມືທີ່ມີປະໂຫຍດໃນການຄຸ້ມຄອງເວທີຂອງພວກເຮົາເຊັ່ນ:

    <

  • ຜູ້ຈັດການທີ່ມີຄຸນນະພາບ ສະ ໜອງ ເຄື່ອງມື GUI ເພື່ອຄຸ້ມຄອງເຄື່ອງຈັກຂອງທ່ານ.
  • libvirt-client ສະ ໜອງ ເຄື່ອງມື CL ເພື່ອຄຸ້ມຄອງສະພາບແວດລ້ອມເສມືນຂອງທ່ານເຄື່ອງມືນີ້ເອີ້ນວ່າ virsh.
  • ການຕິດຕັ້ງຄຸນນະພາບ ໃຫ້ ຄຳ ສັ່ງວ່າ“ ການຕິດຕັ້ງທີ່ມີຄຸນນະພາບ” ເພື່ອສ້າງເຄື່ອງຈັກຂອງທ່ານຈາກ CLI.
  • libvirt ສະ ໜອງ ເຄື່ອງແມ່ຂ່າຍແລະຫໍສະ ໝຸດ ດ້ານຂ້າງ ສຳ ລັບຕິດຕໍ່ພົວພັນກັບ hypervisors ແລະລະບົບໂຮດ.
  • ໃຫ້ຕິດຕັ້ງເຄື່ອງມືຂ້າງເທິງນີ້ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     yum install virt-manager libvirt libvirt-python libvirt-client 
    

    3. ສຳ ລັບຜູ້ ນຳ ໃຊ້ RHEL/CentOS7, ຍັງມີກຸ່ມແພັກເກັດເພີ່ມເຕີມອີກເຊັ່ນ: Virtualization Client, Virtualization Platform ແລະ Virtualization Tools ເພື່ອຕິດຕັ້ງ.

    yum groupinstall virtualization-client virtualization-platform virtualization-tools	
    

    ແຜນຜັງເວັບໄຊທ໌ virtualization ທີ່ຄຸ້ມຄອງທຸກແພລະຕະຟອມແມ່ນ“ libvirtd ”. ສາມາດເຮັດໃຫ້ມັນເລີ່ມຕົ້ນໃຫມ່.

    systemctl restart libvirtd
    

    5. ຫຼັງຈາກເລີ່ມຕົ້ນ daemon, ຫຼັງຈາກນັ້ນກວດເບິ່ງສະຖານະຂອງມັນໂດຍການເຮັດວຽກຕາມ ຄຳ ສັ່ງຕໍ່ໄປ.

    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) 
    

    ຕອນນີ້, ໃຫ້ສາມາດປ່ຽນໄປຫາພາກຕໍ່ໄປເພື່ອສ້າງເຄື່ອງ virtual ຂອງພວກເຮົາ.

    ຂັ້ນຕອນທີ 2: ສ້າງ VM ໂດຍໃຊ້ KVM

    ດັ່ງທີ່ພວກເຮົາໄດ້ກ່າວມາໃນຕອນຕົ້ນ, ພວກເຮົາມີເຄື່ອງມືທີ່ມີປະໂຫຍດບາງຢ່າງໃນການຄຸ້ມຄອງເວທີເສມືນຂອງພວກເຮົາແລະສ້າງເຄື່ອງຈັກເສມືນ. ໜຶ່ງ ໃນເຄື່ອງມືນີ້ເອີ້ນວ່າ [ ຜູ້ຈັດການຄຸນງາມຄວາມດີ ] ທີ່ພວກເຮົາ ນຳ ໃຊ້ໃນພາກຕໍ່ໄປ.

    6. ເຖິງວ່າ ຜູ້ຈັດການທີ່ມີຄຸນນະພາບ ແມ່ນເຄື່ອງມືທີ່ອີງໃສ່ GUI, ພວກເຮົາຍັງສາມາດເປີດ/ເລີ່ມຕົ້ນໄດ້ຈາກປາຍທາງແລະຈາກ GUI.

    virt-manager
    

    7. ຫຼັງຈາກເລີ່ມຕົ້ນເຄື່ອງມື, ປ່ອງຢ້ຽມນີ້ຈະປາກົດຂຶ້ນ.

    ໂດຍໃນຕອນຕົ້ນທ່ານຈະເຫັນວ່າຜູ້ຈັດການຖືກເຊື່ອມຕໍ່ໂດຍກົງກັບ localhost , ໂຊກດີທີ່ທ່ານສາມາດໃຊ້ເຄື່ອງມືດຽວກັນນີ້ເພື່ອຍຶດເອົາໂຮດອື່ນ. ຈາກ " ເອກະສານ " ແຖບ, ພຽງແຕ່ເລືອກເອົາ " ເພີ່ມການເຊື່ອມຕໍ່ " ແລະປ່ອງຢ້ຽມນີ້ຈະປາກົດຂຶ້ນ.

    ກວດເບິ່ງ " ເຊື່ອມຕໍ່ກັບໂຮດຫ່າງໄກສອກຫຼີກ " ທາງເລືອກຫຼັງຈາກນັ້ນໃຫ້ ຊື່ໂຮດ / IP ຂອງເຊີຟເວີຫ່າງໄກສອກຫຼີກ. ຖ້າທ່ານຕ້ອງການສ້າງການເຊື່ອມຕໍ່ກັບໂຮດຫ່າງໄກສອກຫຼີກໃນທຸກໆຄັ້ງທີ່ຜູ້ຈັດການເລີ່ມຕົ້ນ, ພຽງແຕ່ກວດເບິ່ງຕົວເລືອກ“ ການເຊື່ອມຕໍ່ອັດຕະໂນມັດ ”.

    9. ໃຫ້ກັບຄືນສູ່ localhost ຂອງພວກເຮົາ, ກ່ອນທີ່ຈະສ້າງເຄື່ອງ virtual ໃໝ່ ທ່ານຄວນຕັດສິນໃຈວ່າຈະເກັບໄຟລ໌ຢູ່ໃສ?! ເວົ້າອີກຢ່າງ ໜຶ່ງ, ທ່ານຄວນສ້າງ Volume Disk (ພາບດິດ/ແຜ່ນດິດ) ສຳ ລັບເຄື່ອງ virtual ຂອງທ່ານ.

    ໂດຍການກົດຂວາໃສ່ localhost ແລະເລືອກ“ ລາຍລະອຽດ ” ແລະຈາກນັ້ນເລືອກແຖບ“ ບ່ອນເກັບມ້ຽນ ”.

    10. ຕໍ່ໄປກົດປຸ່ມ“ ປະລິມານ ໃໝ່ ”, ຈາກນັ້ນໃສ່ຊື່ຂອງແຜ່ນດິດ ໃໝ່ ຂອງທ່ານ ( Volume Disk ) ແລະໃສ່ຂະ ໜາດ ທີ່ທ່ານຕ້ອງການ/ຕ້ອງການໃນ“ ສ່ວນ ຄວາມສາມາດສູງສຸດ ”.

    ຂະ ໜາດ ການຈັດສັນແມ່ນຂະ ໜາດ ຕົວຈິງ ສຳ ລັບແຜ່ນຂອງທ່ານເຊິ່ງຈະໄດ້ຮັບການຈັດສັນຈາກແຜ່ນດິດຂອງທ່ານທັນທີຫຼັງຈາກ ສຳ ເລັດຂັ້ນຕອນ.

    ໝາຍ ເຫດ: ນີ້ແມ່ນເທັກໂນໂລຢີທີ່ ສຳ ຄັນໃນການບໍລິຫານຈັດການເກັບຮັກສາເຊິ່ງເອີ້ນວ່າ“ ການສະ ໜອງ ບາງ ”. ມັນໃຊ້ເພື່ອຈັດສັນຂະ ໜາດ ການເກັບຮັກສາທີ່ໃຊ້ແລ້ວ, ບໍ່ແມ່ນທັງ ໝົດ ຂອງຂະ ໜາດ ທີ່ມີຢູ່.

    ຕົວຢ່າງເຊັ່ນ, ທ່ານໄດ້ສ້າງ disk ເສີຍໆທີ່ມີຂະ ໜາດ 60G , ແຕ່ວ່າທ່ານໄດ້ໃຊ້ພຽງແຕ່ 20G ເທົ່ານັ້ນ, ໂດຍ ນຳ ໃຊ້ເຕັກໂນໂລຢີນີ້ຂະ ໜາດ ທີ່ຈັດສັນຈາກແຜ່ນແຂງທາງຮ່າງກາຍຂອງທ່ານຈະເປັນ 20G ບໍ່ 60G .

    ເວົ້າອີກຢ່າງ ໜຶ່ງ ວ່າຂະ ໜາດ ຂອງຮ່າງກາຍທີ່ຈັດສັນໃຫ້ໂດຍການຈັດສັນແບບເຄື່ອນໄຫວຂຶ້ນກັບຂະ ໜາດ ຂອງການ ນຳ ໃຊ້ຕົວຈິງ. ທ່ານສາມາດຊອກຫາຂໍ້ມູນເພີ່ມເຕີມໃນລາຍລະອຽດໄດ້ທີ່ VMWare vStorage Thin Provisioning.

    11. ທ່ານຈະສັງເກດໄດ້ວ່າປ້າຍຂອງແຜ່ນດິດບໍລິມາດ ໃໝ່ ໄດ້ປະກົດຢູ່ໃນບັນຊີແລ້ວ.

    ທ່ານຍັງຄວນສັງເກດເຫັນເສັ້ນທາງຂອງຮູບພາບດິດ ໃໝ່ (Volume Disk), ໂດຍຄ່າເລີ່ມຕົ້ນມັນຈະຢູ່ພາຍໃຕ້ /var/lib/libvirt/ຮູບພາບ , ທ່ານສາມາດກວດພິສູດມັນໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     ls -l /var/lib/libvirt/images
    -rw-------. 1 root root 10737418240 Jan  3 16:47 vm1Storage.img
    

    12. ດຽວນີ້, ພວກເຮົາພ້ອມແລ້ວທີ່ຈະສ້າງເຄື່ອງ virtual ຂອງພວກເຮົາ. ໃຫ້ກົດປຸ່ມ "VM" ຢູ່ໃນປ່ອງຢ້ຽມຕົ້ນຕໍ, ປ່ອງຢ້ຽມຂອງຄວາມຍາວປານີ້ຈະປາກົດຂຶ້ນ.

    ເລືອກວິທີການຕິດຕັ້ງທີ່ທ່ານຈະໃຊ້ເພື່ອສ້າງເຄື່ອງ virtual. ສຳ ລັບດຽວນີ້ພວກເຮົາຈະ ນຳ ໃຊ້ສື່ຕິດຕັ້ງທ້ອງຖິ່ນ, ຕໍ່ມາພວກເຮົາຈະປຶກສາຫາລືກ່ຽວກັບວິທີການທີ່ຍັງເຫຼືອ.

    13. ບັດນີ້ເຖິງເວລາທີ່ຈະຕ້ອງ ກຳ ນົດວ່າສື່ຕິດຕັ້ງທ້ອງຖິ່ນໃດທີ່ຈະໃຊ້, ພວກເຮົາມີສອງທາງເລືອກ:

    <

  • ຈາກທາງກາຍ [CDROM/DVD].
  • ຈາກຮູບພາບ ISO.
  • ສຳ ລັບການສອນຂອງພວກເຮົາ, ສາມາດ ນຳ ໃຊ້ວິທີການໃຊ້ຮູບພາບ ISO, ສະນັ້ນທ່ານຄວນສະ ໜອງ ເສັ້ນທາງຂອງຮູບພາບ ISO ຂອງທ່ານ.

    ສິ່ງ ສຳ ຄັນ: ແຕ່ໂຊກບໍ່ດີ, ມີຂໍ້ບົກພ່ອງທີ່ໂງ່ແທ້ໆ ສຳ ລັບຜູ້ທີ່ໃຊ້ RHEL/CentOS7. ຂໍ້ບົກພ່ອງນີ້ຊ່ວຍປ້ອງກັນທ່ານບໍ່ໃຫ້ຕິດຕັ້ງໂດຍໃຊ້ CDROM/DVD] ທາງຮ່າງກາຍ, ທ່ານຈະເຫັນວ່າຕົວເລືອກມີສີຂີ້ເຖົ່າຄືແນວນີ້.

    ແລະຖ້າທ່ານຖືຕົວກະພິບຂອງທ່ານໃສ່ມັນ, ຂໍ້ຄວາມຜິດພາດນີ້ຈະປາກົດຂຶ້ນ.

    ຈົນກ່ວາໃນປັດຈຸບັນບໍ່ມີການແກ້ໄຂຢ່າງເປັນທາງການ/ໂດຍກົງສໍາລັບຂໍ້ບົກພ່ອງນີ້, ທ່ານສາມາດຊອກຫາຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບເລື່ອງນີ້ແຕ່ຢູ່ທີ່ນີ້.

    14. ບ່ອນເກັບຮັກສາໄດ້ກັບຄືນມາ, ພວກເຮົາຈະໃຊ້ແຜ່ນດິດທີ່ພວກເຮົາໄດ້ສ້າງຕັ້ງຂື້ນມາໃນຕອນຕົ້ນເພື່ອຕິດຕັ້ງເຄື່ອງ virtual ຢູ່ເທິງມັນ. ມັນຈະເປັນຄືກັບທີ່ສະແດງ.

    ຂັ້ນຕອນສຸດທ້າຍທີ່ຖາມທ່ານກ່ຽວກັບຊື່ຂອງເຄື່ອງ virtual ຂອງທ່ານແລະຕົວເລືອກຂັ້ນສູງອື່ນສາມາດເວົ້າກ່ຽວກັບມັນຕໍ່ມາ.

    ຖ້າທ່ານຕ້ອງການປ່ຽນແປງການຕັ້ງຄ່າບາງຢ່າງຫຼືເຮັດການປັບແຕ່ງບາງຢ່າງພຽງແຕ່ກວດເບິ່ງ " ການປັບຄ່າການຕັ້ງຄ່າກ່ອນການຕິດຕັ້ງ " ທາງເລືອກ. ຈາກນັ້ນກົດທີ່ ສຳ ເລັດ ແລະລໍຖ້າວິນາທີ, ຄອນເທນຄວບຄຸມຈະປາກົດໃຫ້ ສຳ ລັບ OS ຂອງທ່ານໃນການຈັດການມັນ

    ສະຫຼຸບ

    ຕອນນີ້ທ່ານໄດ້ຮຽນຮູ້ວ່າ KVM ແມ່ນຫຍັງ, ວິທີການຈັດການເວທີເສມືນຂອງທ່ານໂດຍໃຊ້ເຄື່ອງມື GUI, ວິທີການ ນຳ ໃຊ້ເຄື່ອງ virtual ໂດຍໃຊ້ມັນແລະສິ່ງທີ່ ໜ້າ ຫວາດສຽວອີກ.

    ເຖິງແມ່ນວ່າບົດຂຽນນີ້ບໍ່ໄດ້ສິ້ນສຸດລົງ, ໃນບົດຄວາມທີ່ຈະມາເຖິງຂອງພວກເຮົາ, ພວກເຮົາຈະປຶກສາຫາລືກ່ຽວກັບຫົວຂໍ້ ສຳ ຄັນອື່ນທີ່ກ່ຽວຂ້ອງກັບ KVM. ເຮັດໃຫ້ມືຂອງທ່ານເປື້ອນໂດຍໃຊ້ຄວາມຮູ້ທີ່ຜ່ານມາແລະກຽມພ້ອມ ສຳ ລັບພາກສ່ວນຕໍ່ໄປ… ..