ആർuഎച്ച്uസിuഎസ്uഎ സീരീസ്: കെവിഎമ്മിനൊപ്പം വിർച്ച്വലൈസേഷന്റെയും ഗസ്റ്റ് അഡ്മിനിസ്ട്രേഷന്റെയും അവശ്യകാര്യങ്ങൾ - ഭാഗം 15
നിങ്ങൾ ഒരു നിഘണ്ടുവിൽ വെർച്വലൈസ് എന്ന വാക്ക് നോക്കിയാൽ, അതിന്റെ അർത്ഥം \എന്തെങ്കിലും ഒരു വെർച്വൽ (യഥാർത്ഥമായതിനേക്കാൾ) പതിപ്പ് സൃഷ്ടിക്കുക എന്ന് നിങ്ങൾ കണ്ടെത്തും. കമ്പ്യൂട്ടിംഗിൽ, വെർച്വലൈസേഷൻ എന്ന പദം ഒരേസമയം ഒന്നിലധികം ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള സാധ്യതയെ സൂചിപ്പിക്കുന്നു. വിർച്ച്വലൈസേഷൻ സ്കീമയിൽ ഹോസ്റ്റ് എന്ന് അറിയപ്പെടുന്ന അതേ ഫിസിക്കൽ (ഹാർഡ്uവെയർ) സിസ്റ്റത്തിന്റെ മുകളിൽ, മറ്റൊന്നിൽ നിന്ന് ഒറ്റപ്പെട്ടതാണ്.
വെർച്വൽ മെഷീൻ മോണിറ്ററിന്റെ (ഹൈപ്പർവൈസർ എന്നും അറിയപ്പെടുന്നു) വിർച്ച്വൽ മെഷീനുകൾ (അതിഥികൾ എന്നും അറിയപ്പെടുന്നു) ഉപയോഗത്തിലൂടെ അടിസ്ഥാന ഹാർഡ്uവെയറിൽ നിന്ന് വെർച്വൽ ഉറവിടങ്ങൾ (അതായത് സിപിയു, റാം, സ്റ്റോറേജ്, നെറ്റ്uവർക്ക് ഇന്റർഫേസുകൾ, ചിലത്) നൽകുന്നു.
അത് മനസ്സിൽ വെച്ചുകൊണ്ട്, വെർച്വലൈസേഷന്റെ പ്രധാന നേട്ടങ്ങളിലൊന്ന് ചെലവ് ലാഭിക്കലും (ഉപകരണങ്ങളിലും നെറ്റ്uവർക്ക് അടിസ്ഥാന സൗകര്യങ്ങളിലും അറ്റകുറ്റപ്പണികളുടെ കാര്യത്തിലും) ആവശ്യമായ എല്ലാ ഹാർഡ്uവെയറുകളും ഉൾക്കൊള്ളാൻ ആവശ്യമായ ഭൗതിക ഇടത്തിൽ ഗണ്യമായ കുറവുമാണ്.
ഈ സംക്ഷിപ്തമായ വിധം എല്ലാ വെർച്വലൈസേഷൻ രീതികളും ഉൾക്കൊള്ളാൻ കഴിയാത്തതിനാൽ, വിഷയത്തെക്കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾക്കായി സംഗ്രഹത്തിൽ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന ഡോക്യുമെന്റേഷൻ റഫർ ചെയ്യാൻ ഞാൻ നിങ്ങളെ പ്രോത്സാഹിപ്പിക്കുന്നു.
കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റികളുള്ള കെവിഎം (കേർണൽ അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ മെഷീൻ) ഉപയോഗിച്ച് RHEL 7-ലെ വിർച്ച്വലൈസേഷന്റെ അടിസ്ഥാനകാര്യങ്ങൾ പഠിക്കുന്നതിനുള്ള ഒരു തുടക്കമാണ് ഈ ലേഖനം ഉദ്ദേശിക്കുന്നത്, വിഷയത്തെക്കുറിച്ചുള്ള ആഴത്തിലുള്ള ചർച്ചയല്ല.
ഹാർഡ്uവെയർ ആവശ്യകതകൾ പരിശോധിച്ച് പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു
വെർച്വലൈസേഷൻ സജ്ജീകരിക്കുന്നതിന്, നിങ്ങളുടെ സിപിയു അതിനെ പിന്തുണയ്ക്കണം. ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങളുടെ സിസ്റ്റം ആവശ്യകതകൾ നിറവേറ്റുന്നുണ്ടോയെന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാൻ കഴിയും:
# grep -E 'svm|vmx' /proc/cpuinfo
ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ, svm സൂചിപ്പിക്കുന്നത് പോലെ, നിലവിലെ സിസ്റ്റം (ഒരു എഎംഡി മൈക്രോപ്രൊസസ്സർ ഉള്ളത്) വിർച്ച്വലൈസേഷനെ പിന്തുണയ്ക്കുന്നതായി നമുക്ക് കാണാൻ കഴിയും. നമുക്ക് ഒരു ഇന്റൽ അധിഷ്ഠിത പ്രോസസർ ഉണ്ടെങ്കിൽ, മുകളിലുള്ള കമാൻഡിന്റെ ഫലങ്ങളിൽ പകരം vmx കാണും.
കൂടാതെ, നിങ്ങളുടെ ഹോസ്റ്റിന്റെ (BIOS അല്ലെങ്കിൽ UEFI) ഫേംവെയറിൽ നിങ്ങൾക്ക് വിർച്ച്വലൈസേഷൻ കഴിവുകൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്.
ഇപ്പോൾ ആവശ്യമായ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക:
- കെവിഎം ഹൈപ്പർവൈസറിനായി ഹാർഡ്uവെയർ എമുലേഷൻ നൽകുന്ന ഒരു ഓപ്പൺ സോഴ്uസ് വെർച്വലൈസറാണ് qemu-kvm, അതേസമയം qemu-img ഡിസ്ക് ഇമേജുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു കമാൻഡ് ലൈൻ ടൂൾ നൽകുന്നു.
- ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ വിർച്ച്വലൈസേഷൻ കഴിവുകളുമായി ഇടപഴകുന്നതിനുള്ള ടൂളുകൾ libvirt-ൽ ഉൾപ്പെടുന്നു.
- libvirt-python-ൽ libvirt നൽകുന്ന ഇന്റർഫേസ് ഉപയോഗിക്കാൻ പൈത്തണിൽ എഴുതിയിരിക്കുന്ന ആപ്ലിക്കേഷനുകളെ അനുവദിക്കുന്ന ഒരു മൊഡ്യൂൾ അടങ്ങിയിരിക്കുന്നു.
- libguestfs-tools: വെർച്വൽ മെഷീനുകൾക്കുള്ള വിവിധ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർ കമാൻഡ് ലൈൻ ടൂളുകൾ.
- virt-install: വെർച്വൽ മെഷീൻ അഡ്മിനിസ്ട്രേഷനുള്ള മറ്റ് കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റികൾ.
# yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install
ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായിക്കഴിഞ്ഞാൽ, നിങ്ങൾ libvirtd സേവനം ആരംഭിച്ച് പ്രവർത്തനക്ഷമമാക്കുന്നുവെന്ന് ഉറപ്പാക്കുക:
# systemctl start libvirtd.service # systemctl enable libvirtd.service
ഡിഫോൾട്ടായി, ഓരോ വെർച്വൽ മെഷീനും ഒരേ ഫിസിക്കൽ സെർവറിലുള്ള ബാക്കിയുള്ളവരുമായും ഹോസ്റ്റുമായും മാത്രമേ ആശയവിനിമയം നടത്താൻ കഴിയൂ. ഞങ്ങളുടെ LAN-ലും ഇന്റർനെറ്റിലും മറ്റ് മെഷീനുകളിൽ എത്തിച്ചേരാൻ അതിഥികളെ അനുവദിക്കുന്നതിന്, ഞങ്ങളുടെ ഹോസ്റ്റിൽ (ഉദാഹരണത്തിന് br0 എന്ന് പറയുക) ഒരു ബ്രിഡ്ജ് ഇന്റർഫേസ് സജ്ജീകരിക്കേണ്ടതുണ്ട്,
1. ഞങ്ങളുടെ പ്രധാന NIC കോൺഫിഗറേഷനിലേക്ക് ഇനിപ്പറയുന്ന വരി ചേർക്കുന്നു (മിക്കവാറും /etc/sysconfig/network-scripts/ifcfg-enp0s3
):
BRIDGE=br0
2. ഈ ഉള്ളടക്കങ്ങൾ ഉപയോഗിച്ച് br0 (/etc/sysconfig/network-scripts/ifcfg-br0
) എന്നതിനായുള്ള കോൺഫിഗറേഷൻ ഫയൽ സൃഷ്ടിക്കുന്നു (നിങ്ങൾക്ക് IP വിലാസം, ഗേറ്റ്uവേ വിലാസം, 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
ഇത്തരത്തിലുള്ള ട്രാഫിക് അനുവദിക്കണമെന്ന് നിങ്ങൾ ഫയർവാൾഡിനോട് പറയേണ്ടി വന്നേക്കാം എന്നത് ശ്രദ്ധിക്കുക. നിങ്ങൾക്ക് അത് ചെയ്യാൻ സഹായം ആവശ്യമുണ്ടെങ്കിൽ, ഇതേ സീരീസിൽ (ഭാഗം 11: FirewallD, Iptables ഉപയോഗിച്ചുള്ള നെറ്റ്uവർക്ക് ട്രാഫിക് നിയന്ത്രണം) ആ വിഷയത്തെക്കുറിച്ചുള്ള ലേഖനം നിങ്ങൾക്ക് റഫർ ചെയ്യാമെന്ന് ഓർക്കുക.