ຊຸດ RHCSA: ສິ່ງ ສຳ ຄັນຂອງການບໍລິຫານ Virtualization ແລະການບໍລິຫານແຂກກັບ KVM - ພາກ 15


ຖ້າທ່ານຄົ້ນຫາ ຄຳ ສັບ virtualize ໃນວັດຈະນານຸກົມ, ທ່ານຈະເຫັນວ່າມັນມີຄວາມ ໝາຍ ວ່າ“ ສ້າງແບບ ໃໝ່ (ແທນທີ່ຈະເປັນຕົວຈິງ)”. ໃນຄອມພິວເຕີ້, ຄຳ ວ່າ virtualization ແມ່ນ ໝາຍ ເຖິງຄວາມເປັນໄປໄດ້ຂອງການ ນຳ ໃຊ້ຫລາຍລະບົບປະຕິບັດການພ້ອມໆກັນແລະແຍກອອກຈາກກັນ, ຢູ່ເທິງສຸດຂອງລະບົບທາງດ້ານຮ່າງກາຍ (ຮາດແວ) ດຽວກັນ, ເຊິ່ງຮູ້ກັນໃນລະບົບ virtualization ທີ່ເປັນເຈົ້າພາບ.

ຜ່ານການ ນຳ ໃຊ້ເຄື່ອງຕິດຕັ້ງເຄື່ອງຈັກ virtual (ເຊິ່ງເອີ້ນວ່າ hypervisor), ເຄື່ອງຈັກ virtual (ໝາຍ ເຖິງແຂກ) ໄດ້ຖືກສະ ໜອງ ຊັບພະຍາກອນເສມືນ (ເຊັ່ນ: CPU, RAM, ການເກັບຮັກສາ, ອິນເຕີເນັດເຄືອຂ່າຍ, ເພື່ອຕັ້ງຊື່ບາງສ່ວນ) ຈາກຮາດແວທີ່ຢູ່ເບື້ອງຕົ້ນ.

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

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

ກະລຸນາຈື່ໄວ້ວ່າບົດຄວາມໃນປະຈຸບັນມີຈຸດປະສົງເພື່ອເປັນຈຸດເລີ່ມຕົ້ນທີ່ຈະຮຽນຮູ້ພື້ນຖານຂອງການເຮັດວຽກ virtualization ໃນ RHEL 7 ໂດຍໃຊ້ KVM (Kernel-based Virtual Machine) ພ້ອມດ້ວຍລະບົບການ ນຳ ໃຊ້ ຄຳ ສັ່ງ, ແລະບໍ່ແມ່ນການສົນທະນາຢ່າງເລິກເຊິ່ງຂອງຫົວຂໍ້.

ການກວດສອບຄວາມຕ້ອງການຮາດແວແລະຕິດຕັ້ງແພັກເກດ

ໃນການຕັ້ງຄ່າເສີຍເມີຍ, CPU ຂອງທ່ານຕ້ອງສະ ໜັບ ສະ ໜູນ ມັນ. ທ່ານສາມາດພິສູດໄດ້ວ່າລະບົບຂອງທ່ານຕອບສະ ໜອງ ຄວາມຕ້ອງການກັບ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້:

# grep -E 'svm|vmx' /proc/cpuinfo

ໃນພາບ ໜ້າ ຈໍຕໍ່ໄປນີ້ພວກເຮົາສາມາດເຫັນໄດ້ວ່າລະບົບປັດຈຸບັນ (ທີ່ມີ microprocessor AMD) ຮອງຮັບ virtualization, ຕາມທີ່ໄດ້ລະບຸໄວ້ໂດຍ svm ຖ້າພວກເຮົາມີໂປເຊດເຊີ Intel, ພວກເຮົາຈະເຫັນ vmx ແທນໃນຜົນຂອງ ຄຳ ສັ່ງຂ້າງເທິງ.

ນອກຈາກນັ້ນ, ທ່ານຈະຕ້ອງມີຄວາມສາມາດໃນການເຮັດ virtualization ໃນ firmware ຂອງເຈົ້າພາບ (BIOS ຫຼື UEFI).

ຕອນນີ້ຕິດຕັ້ງຊຸດທີ່ ຈຳ ເປັນ:

<

  • qemu-kvm ແມ່ນ open source virtualizer ທີ່ໃຫ້ການ ຈຳ ລອງຮາດແວ ສຳ ລັບ hypervisor KVM ໃນຂະນະທີ່ qemu-img ສະ ໜອງ ເຄື່ອງມືເສັ້ນ ຄຳ ສັ່ງ ສຳ ລັບການຈັດຮູບພາບແຜ່ນ.
  • libvirt ປະກອບມີເຄື່ອງມືໃນການພົວພັນກັບຄວາມສາມາດຂອງການເຮັດວຽກຂອງລະບົບປະຕິບັດການ.
  • libvirt-python ມີໂມດູນທີ່ອະນຸຍາດໃຫ້ແອັບພລິເຄຊັນທີ່ຂຽນໃນ Python ໃຊ້ອິນເຕີເຟດທີ່ libvirt ສະ ໜອງ ໃຫ້.
  • libguestfs-tools: ເຄື່ອງມືບັນທັດລະບົບຜູ້ເບິ່ງແຍງລະບົບຜິດປົກກະຕິ ສຳ ລັບເຄື່ອງ virtual.
  • ການຕິດຕັ້ງທີ່ມີຄຸນນະພາບ: ເຄື່ອງໃຊ້ອື່ນໆ ສຳ ລັບໃຊ້ໃນການບໍລິຫານເຄື່ອງຈັກ.
  • # yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install
    

    ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ໃຫ້ແນ່ໃຈວ່າທ່ານເລີ່ມຕົ້ນແລະເປີດໃຊ້ບໍລິການ libvirtd:

    # systemctl start libvirtd.service
    # systemctl enable libvirtd.service
    

    ໂດຍຄ່າເລີ່ມຕົ້ນ, ແຕ່ລະເຄື່ອງ virtual ຈະສາມາດສື່ສານກັບສ່ວນທີ່ເຫຼືອໃນເຊີຟເວີທາງດ້ານຮ່າງກາຍແລະກັບເຈົ້າພາບເອງເທົ່ານັ້ນ. ເພື່ອໃຫ້ແຂກສາມາດເຂົ້າເຖິງເຄື່ອງອື່ນພາຍໃນ LAN ຂອງພວກເຮົາແລະອິນເຕີເນັດ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງຕັ້ງຄ່າໂຕ້ຕອບຂົວໃນໂຮດຂອງພວກເຮົາ (ເວົ້າວ່າ br0, ຕົວຢ່າງ) ໂດຍ,

    1. ເພີ່ມສາຍຕໍ່ໄປນີ້ໃນການຕັ້ງຄ່າ NIC ຕົ້ນຕໍຂອງພວກເຮົາ (ສ່ວນຫຼາຍອາດຈະເປັນ /etc/sysconfig/network-scripts/ifcfg-enp0s3 ):

    BRIDGE=br0
    

    2. ການສ້າງເອກະສານການຕັ້ງຄ່າ ສຳ ລັບ br0 (/etc/sysconfig/ເຄືອຂ່າຍສະຄິບ/ifcfg-br0 ) ດ້ວຍເນື້ອໃນເຫຼົ່ານີ້ (ໃຫ້ສັງເກດວ່າທ່ານອາດຈະຕ້ອງປ່ຽນທີ່ຢູ່ IP, ທີ່ຢູ່ທາງເຂົ້າປະຕູແລະຂໍ້ມູນ DNS ):

    DEVICE=br0
    TYPE=Bridge
    BOOTPROTO=static
    IPADDR=192.168.0.18
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.1
    NM_CONTROLLED=no
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=br0
    ONBOOT=yes
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    

    3. ສຸດທ້າຍ, ເຮັດໃຫ້ການສົ່ງຕໍ່ຕໍ່ໄປໂດຍການເຮັດໃນ /etc/sysctl.conf ,

    net.ipv4.ip_forward = 1
    

    ແລະການໂຫຼດການປ່ຽນແປງໃນການຕັ້ງຄ່າແກ່ນປະຈຸບັນ:

    # sysctl -p
    

    ໃຫ້ສັງເກດວ່າທ່ານຍັງອາດຈະຕ້ອງໄດ້ບອກກັບ firewalld ວ່າການຈະລາຈອນແບບນີ້ຄວນຖືກອະນຸຍາດ. ຈົ່ງຈື່ໄວ້ວ່າທ່ານສາມາດອ້າງອີງເຖິງບົດຂຽນໃນຫົວຂໍ້ນັ້ນໃນຊຸດດຽວກັນນີ້ (ພາກທີ 11: ການຄວບຄຸມການຈະລາຈອນທາງເຄືອຂ່າຍໂດຍໃຊ້ FirewallD ແລະ Iptables) ຖ້າທ່ານຕ້ອງການຄວາມຊ່ວຍເຫຼືອໃນການເຮັດສິ່ງນັ້ນ.