- 1 හැඳින්වීම
- 2 KVM සහ අනෙකුත් Virtualization තාක්ෂණයන් අතර සංසන්දනය
- 3 වර්චුවල් යන්ත්ර නිර්මාණය සහ මූලික මෙහෙයුම්
- 4 ජාල සැකසුම සහ දිගුව
- 5 ගබඩා කළමනාකරණය සහ තැටි මෙහෙයුම්
- 6 අමුත්තා OS ස්ථාපනය සහ මෙහෙයුම
- 7 ප්රායෝගික භාවිතා නඩු සහ ස්වයංක්රීය උපදෙස්
- 8 ගැටළු විසඳීම සහ පොදු දෝෂ විසඳුම්
- 9 ආරක්ෂාව සහ කාර්ය සාධන අභිලක්ෂණය
- 10 නිගමනය සහ ඉගෙනුම් සම්පත්
- 11 නියමාවන් කඩදාසි සහ සුලබ වින්යාස උදාහරණ
- 12 FAQ
- 12.1 Q1: KVM, VirtualBox, සහ VMware අතර වෙනස කුමක්ද?
- 12.2 Q2: වර්චුවල් මැෂින් බැකප් කිරීම සහ ප්රතිස්ථාපනය කිරීමෙන් මට කළ හැකිද?
- 12.3 Q3: වර්චුවල් මැෂින් තුළ USB උපකරණ භාවිතා කළ හැකිද?
- 12.4 Q4: host boot වන විට වර්චුවල් මැෂින් ස්වයංක්රීයව ආරම්භ කිරීමට මට කළ හැකිද?
- 12.5 Q5: වර්චුවල් මැෂින් එකක් මන්දගාමීව ධාවනය වෙනවා නම් මම මොනවා කළ යුතුද?
- 12.6 Q6: ජාල සැකසුම් නිවැරදිව ක්රියා නොකරන්නේ නම් මම මොනවා පරීක්ෂා කළ යුතුද?
- 12.7 Q7: KVM සමඟ clusters හෝ high-availability (HA) සැකසුම් op්රමාණවත්ද?
හැඳින්වීම
Ubuntu ලෝකයේ වඩාත් පුළුල් ලෙස භාවිතා වන Linux විතරණයන්ගෙන් එකක් වන අතර, තනි පරිශීලකයින්ගෙන් ආරම්භ වී ව්යාපාරික පද්ධති දක්වා වූ විවිධ පරිසරවල විශ්වාස කරනු ලැබේ. එය සර්වර් ඉදිකිරීම් සහ සංවර්ධන පරිසර සඳහා සාමාන්යයෙන් භාවිතා වේ. Ubuntu හි පූර්ණ-පරිමාණයේ virtualization ක්රියාත්මක කිරීමට අවශ්ය වන විට, ලබා ගත හැකි ශක්තිමත් විසඳුම්වලින් එකක් වන්නේ KVM (Kernel-based Virtual Machine) යි.
KVM යනු Linux kernel හි සෘජුවම ගොඩනැගූ hypervisor-අඩංගු virtualization තාක්ෂණයකි. Intel VT සහ AMD-V වැනි hardware-assisted virtualization විශේෂාංග භාවිතා කරමින්, එය ඉහළ කාර්ය සාධනය සහ ස්ථායිතාව ලබා දෙයි. open-source විසඳුමක් ලෙස, KVM ඔබට අඩු පිරිවැයකින් ශක්තිමත් virtualization යටිතල පද්ධතියක් ගොඩනඟා ගැනීමට ඉඩ සලසයි.
Virtualization තාක්ෂණයන් මුලදී සංකීර්ණ බවක් පෙනෙන්නට පුළුවන්. කෙසේ වෙතත්, Ubuntu සහ KVM හි සංයෝජනය තුළින්, ආරම්භකයින්ට පවා සාපේක්ෂව පහසුවෙන් virtual machines නිර්මාණය කිරීම සහ ක්රියාත්මක කිරීමට හැකිය. තිබෙන physical server සම්පත් කාර්යක්ෂමව භාවිතා කිරීමට අපේක්ෂා කරන මධ්යම පරිමාණයේ පරිශීලකයින්ට සහ production systems virtualize කිරීමට අරමුණු කරන ඉංජිනේරුවන්ට ද එය ඉතා උපදෙස් කරනු ලැබේ.
මෙම ලිපිය Ubuntu හි KVM-අඩංගු virtualization පරිසරයක් ගොඩනඟා ගැනීම කෙසේ ද යන්න පිළිබඳ සවිස්තර පැහැදිලි කිරීමක් සපයයි, මූලික භාවිතය, ප්රායෝගික ක්රියාකාරීත්ව තාක්ෂණයන් සහ සාමාන්ය ගැටලුවල විසඳුම් ආවරණය කරමින්. KVM හඳුන්වා දීම සලකා බලන්නේ නම් හෝ Ubuntu හි virtualization හි යහපත් භාවිතයක් කිරීමට අවශ්ය නම්, අවසානය දක්වා කියවීමට වගබලා ගන්න.
KVM සහ අනෙකුත් Virtualization තාක්ෂණයන් අතර සංසන්දනය
බොහෝ virtualization තාක්ෂණයන් ලබා ගත හැකිය. Ubuntu පරිසරවල, සාමාන්යයෙන් භාවිතා වන විකල්පවලට KVM, VirtualBox සහ VMware ඇතුළත් වේ. මෙම කොටසෙහි, එක් එක්කෙනාගේ ලක්ෂණ සහ වෙනස්කම්, KVM තෝරා ගැනීමේ වාසි සහ අවාසි සමග පැහැදිලි කරයි.
Virtualization තාක්ෂණයන්ගේ ප්රධාන වර්ග
- KVM (Kernel-based Virtual Machine) KVM යනු Linux kernel හි ගොඩනැගූ virtualization විශේෂාංගයක් වන අතර, host OS ලෙස Linux අවශ්ය වේ. Intel VT සහ AMD-V වැනි hardware virtualization සහාය භාවිතා කරමින්, එය production භාවිතයට සුදුසු ඉහළ virtual machine කාර්ය සාධනයක් ලබා දෙයි. virsh, virt-install වැනි command-line මෙවලම් සහ virt-manager වැනි කළමනාකරණ උපකරණ භාවිතා කරමින් නම්යශීලී ක්රියාකාරකම් সম්භාව්ය වේ.
- VirtualBox VirtualBox යනු Oracle විසින් සපයන desktop-අඩංගු virtualization මෘදුකාංගයක් වන අතර, Windows, macOS සහ Linux හි ක්රියා කරයි. එහි intuitive අතුරුමුහුණතක් ඇති අතර, බොහෝ විට පුද්ගලික හෝ ඉගෙනීමේ අරමුණු සඳහා භාවිතා වේ. KVM සමග සසඳන විට, එහෙත්, එය ඉහළ-භාර හෝ වාණිජ පරිසරවලට අඩුවෙන් සුදුසු ය.
- VMware (VMware Workstation / ESXi, ආදිය) VMware යනු ව්යාපාරික පරිසරවල පුළුල් ලෙස භාවිතා වන වාණිජ virtualization නිෂ්පාදනයකි. එය පොහොසත් විශේෂාංග සහ ශක්තිමත් සහාය ලබා දෙයි නමුත් paid licenses අවශ්ය වන අතර, විශේෂයෙන් මහා-පරිමාණ deployment වල ක්රියාකාරීත්ව පිරිවැය වැඩි කරයි.
KVM හි වාසි
- ඉහළ කාර්ය සාධනය සහ ස්ථායිතාව KVM Linux kernel හි කොටසක් ලෙස ක්රියා කිරීම නිසා, එය කාර්යක්ෂම සම්පත් භාවිතය සහ CPU සහ මතක ස්ථාන වෙන් කිරීම පිළිබඳ සියුම් පාලනය ලබා දෙයි. එහි ස්ථායිතාව එය සැබෑ-ලෝක production පද්ධති සඳහා සුදුසු කරයි.
- Open Source සහ පිරිවැය-මුදල් KVM සම්පූර්ණයෙන්ම open source වන අතර licensing fees අවශ්ය නොවේ, එය සීමිත අයවැයකින් virtualization platform එකක් ගොඩනඟා ගැනීමට ආදර්ශීය ය.
- පොහොසත් කළමනාකරණ මෙවලම් සහ Automation KVM command-line මෙවලම් (virsh, virt-install) සහ GUI මෙවලම් (virt-manager) දෙකම සපයයි, ක්රියාකාරකම් automate කිරීම සහ DevOps සහ යටිතල පද්ධති කළමනාකරණ workflow වල සම්බන්ධ කිරීම පහසු කරමින්.
KVM හි අවාසි
- Linux-අඩංගු Host OS පමණක් KVM Linux kernel අවශ්ය වන අතර Windows හෝ macOS හි host ලෙස භාවිතා කළ නොහැක.
- සැකසුම් සහ Troubleshooting සඳහා Linux දැනුම අවශ්ය GUI මෙවලම් පවතින බවක් වුවද, උසස් සැකසුම් සහ troubleshooting සඳහා command-line ක්රියාකාරකම් සහ Linux-විශේෂිත දැනුම බොහෝ විට අවශ්ය වේ.
කවදා KVM තෝරා ගත යුත්තේ?
- ඔබට භෞතික සේවාදායක සම්පත් කාර්යක්ෂමව භාවිතා කිරීමට අවශ්ය වන විට
- නිෂ්පාදන-මට්ටමේ පද්ධති හෝ සේවාදායක සඳහා වර්චුවලිසේශන් අවශ්ය වන විට
- අඩු පිරිවැයෙන් සම්පූර්ණ-විශේෂාංග වර්චුවලිසේශන් වේදිකාවක් ගොඩනැගීමට අවශ්ය වන විට
- ලිනක්ස් සේවාදායක මෙහෙයුම් සහ පාරිසරික කළමනාකරණය ස්වයංක්රීය කිරීමට අවශ්ය වන විට
KVM යනු පළපුරුදු ලිනක්ස් පරිශීලකයින් සහ ඉංජිනේරුවන් සඳහා පමණක් නොව, අනාගතයේ ගැඹුරු සේවාදායක මෙහෙයුම් කර ගැනීමට සැලසුම් කරන අය සඳහාද නිර්දේශිත වේ.
වර්චුවල් යන්ත්ර නිර්මාණය සහ මූලික මෙහෙයුම්
KVM පරිසරය සූදානම් වූ පසු, ඔබට වර්චුවල් යන්ත්ර නිර්මාණය සහ මෙහෙයුම් ආරම්භ කළ හැක. KVM ඔබේ භාවිත අවශ්යතාවය අනුව, ග්රැෆික් කළමනාකරණ මෙවලම (virt-manager) හෝ විධාන රේඛා මෙහෙයුම් (virt-install සහ virsh) අතර තේරීමට ඉඩ සලසයි. මෙම කොටස දෙකම පිළිබඳව හැඳින්වයි.
virt-manager (GUI) භාවිතයෙන් වර්චුවල් යන්ත්ර නිර්මාණය
virt-manager යනු අන්තර්ගත ග්රැෆික් අතුරුමුහුණතක් මගින් වර්චුවල් යන්ත්ර නිර්මාණය සහ කළමනාකරණය කිරීමේ මෙවලමකි. ඔබ ලිනක්ස් ඩෙස්ක්ටොප් පරිසරයක් භාවිතා කරනවා නම්, virt-manager විශේෂයෙන් පහසු වේ.
- යෙදුම් මෙනුවෙන් හෝ විධාන රේඛාවෙන්
virt-managerආරම්භ කරන්න. - ඉහළ-වම් කෙළවරේ “New” බොත්තම ක්ලික් කරන්න.
- ස්ථාපන මාධ්ය ස්ථානය (ISO රූපයක් වැනි) තෝරා, අමුත්තා OS වර්ගය (උදා: Ubuntu හෝ Windows) තෝරන්න.
- වර්චුවල් යන්ත්රය සඳහා CPU ගණන, මතක ප්රමාණය, සහ තැටි ධාරිතාව සකසන්න.
- සැකසුම් සමාලෝචනය කර “Finish” ක්ලික් කර වර්චුවල් යන්ත්රය නිර්මාණය කර ස්ථාපන ක්රියාවලිය ආරම්භ කරන්න.
virt-manager සමඟ ඔබට වර්චුවල් යන්ත්ර ආරම්භ, නවත්ව, නැවත ආරම්භ, ස්නැප්ෂොට් ගැනීම, ජාල අතුරුමුහුණත් හෝ ගබඩා උපාංග එකතු කිරීම පහසුවෙන් කළ හැක.
virt-install (CLI) භාවිතයෙන් වර්චුවල් යන්ත්ර නිර්මාණය
සේවාදායක භාවිතය හෝ දුරස්ථ පරිසර සඳහා, විධාන රේඛාවෙන් වර්චුවල් යන්ත්ර නිර්මාණය කිරීම වැඩි ප්රයෝජනවත් වේ.
පහත දැක්වෙන්නේ virt-install විධානයේ මූලික භාවිත උදාහරණයකි.
sudo virt-install \
--name ubuntu-vm \
--memory 2048 \
--vcpus 2 \
--disk size=20 \
--cdrom /path/to/ubuntu.iso \
--os-type linux \
--os-variant ubuntu20.04 \
--network network=default \
--graphics vnc
--name: වර්චුවල් යන්ත්රයේ නාමය--memory: වෙන් කර ඇති මතකය (MB වල)--vcpus: වර්චුවල් CPU මූලිකයන් ගණන--disk size=20: වර්චුවල් තැටි ප්රමාණය (GB වල)--cdrom: ස්ථාපනය සඳහා භාවිතා කරන ISO රූපයේ මාර්ගය--os-type,--os-variant: OS වර්ගය සහ අනුවාදය--network: ජාල සැකසුම--graphics: ග්රැෆික් මාදිලිය (උදා: VNC)
විධානය ක්රියාත්මක කිරීමෙන් පසු, වර්චුවල් යන්ත්රය ස්වයංක්රීයව ආරම්භ වී VNC හෝ වෙනත් ග්රැෆික් අතුරුමුහුණතක් මගින් ස්ථාපන තිරය පෙන්වයි.
වර්චුවල් යන්ත්ර ආරම්භ, නවත්ව, මකාදැමීම සහ ස්නැප්ෂොට් ගැනීම
KVM සරල විධාන මඟින් වර්චුවල් යන්ත්ර කළමනාකරණය පහසු කරයි. සාමාන්ය මෙහෙයුම් පහත පරිදි වේ.
- වර්චුවල් යන්ත්රයක් ආරම්භ කිරීම
virsh start <virtual-machine-name>
- වර්චුවල් යන්ත්රයක් නවත්වීම
virsh shutdown <virtual-machine-name>
- වර්චුවල් යන්ත්රයක් බලපෑමෙන් නවත්වීම
virsh destroy <virtual-machine-name>
- වර්චුවල් යන්ත්රයක් මකාදැමීම (තැටි මකාදැමීමේදී අවධානයෙන්)
virsh undefine <virtual-machine-name>
- ස්නැප්ෂොට් එකක් නිර්මාණය කිරීම
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
මෙම සියලුම ක්රියාමාර්ග virt-manager GUI භාවිතයෙන්ද සිදු කළ හැක.
ජාල සැකසුම සහ දිගුව
KVM සමඟ වර්චුවල් යන්ත්ර මෙහෙයුම් කිරීමේදී ජාල සැකසුම අත්යවශ්ය කොටසකි. පෙරනිමි සැකසුම බොහෝ අවස්ථාවල ප්රමාණවත් වුවත්, නිෂ්පාදන පරිසරයන්ට අභිරුචි සැකසුම් අවශ්ය වේ. මෙම කොටස KVM ජාලකරණයේ මූලික කරුණු සහ සාමාන්යයෙන් භාවිතා වන උසස් සැකසුම් පැහැදිලි කරයි.
පෙරනිමි NAT (virbr0) සහ Bridge ජාලකරණය අතර වෙනස්කම්
KVM ස්ථාපනය කරන විට, virbr0 නමැති වර්චුවල් ජාල පාලකයක් ස්වයංක්රීයව නිර්මාණය වේ. මෙය NAT-ආධාරිත ජාලයක් වන අතර පහත ලක්ෂණයන්ගෙන් සමන්විත වේ.
- virbr0 (NAT ප්රකාරය) හි ලක්ෂණ
- වර්චුවල් යන්ත්රයන්ට බාහිර අන්තර්ජාලයට ප්රවේශය ලැබේ
- හෝස්ට් හෝ වෙනත් ජාලයන්ගෙන් සෘජු ප්රවේශය සඳහා පෝට් ප්රේරණය අවශ්ය වේ
- ගෘහ භාවිතය, සංවර්ධනය සහ පරීක්ෂණ පරිසර සඳහා සුදුසුයි
එයට විරුද්ධව, බ්රිජ් ජාලකරණය වර්චුවල් යන්ත්රයන්ට භෞතික ජාලයට සමාන ප්රවේශයක් ලබා දේ.
- බ්රිජ් ජාලකරණයේ ලක්ෂණ
- වර්චුවල් යන්ත්රයන් හෝස්ට් සමඟ එකම ජාල කොටසේ එක් වේ
- භෞතික පීසී සහ වෙනත් සේවාදායකයන්ගෙන් සෘජු ප්රවේශය සම්භව වේ
- නිෂ්පාදන සේවාදායකයන් සහ පොදු ප්රවේශය ඇති සේවාවන් සඳහා සුදුසුයි
අභිරුචි බ්රිජ් එකක් නිර්මාණය කිරීම සහ වින්යාස කිරීම (LAN ප්රවේශය සඳහා)
ඔබට නිෂ්පාදන සේවාදායකයන් හෝ වෙනත් පීසීන්ගෙන් වර්චුවල් යන්ත්රයන්ට සෘජු ප්රවේශය ලබා දීමට අවශ්ය නම්, බ්රිජ් ජාලයක් වින්යාස කළ යුතුය. පහත දැක්වෙන්නේ හෝස්ට් හි භෞතික NIC එක eth0 වන සාමාන්ය ක්රියා පටිපාටියකි.
- bridge-utils ස්ථාපනය කරන්න (දැනට ස්ථාපනය කර ඇත්නම් මඟහරින්න)
sudo apt install bridge-utils
- ජාල වින්යාස ගොනුව සංස්කරණය කරන්න Ubuntu 18.04 සහ පසුගිය සංස්කරණ Netplan භාවිතා කරයි.
/etc/netplan/01-netcfg.yamlවැනි වින්යාස ගොනුවක් සංස්කරණය කරන්න. උදාහරණයක්:network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no bridges: br0: interfaces: [eth0] dhcp4: yes
- වින්යාසය යොදන්න
sudo netplan apply
- නව බ්රිජ් (br0) වර්චුවල් යන්ත්ර ජාලයට පවරන්න virt-manager හෝ virsh භාවිතා කර ජාල ඇඩැප්ටරය br0 වෙත වෙනස් කරන්න.
ස්ථාවර IP පවරා ගැනීම සහ පෝට් ප්රේරණය
- ස්ථාවර IP පවරා ගැනීම ඔබට අමුත්තා OS තුළ ස්ථාවර IP ලිපිනයක් වින්යාස කළ හැකිය, හෝ MAC ලිපිනය මත පදනම්ව DHCP සේවාදායකය හරහා ස්ථාවර IP එකක් පවරා ගත හැක.
- පෝට් ප්රේරණය (NAT භාවිතා කරන විට) virsh විධානය හෝ libvirt XML වින්යාසය භාවිතා කර, හෝස්ට් වෙතින් වර්චුවල් යන්ත්රයට විශේෂිත පෝට් (උදාහරණයක් ලෙස SSH හෝ වෙබ් සේවා) ප්රේරණය කළ හැකිය. උදාහරණය (SSH පෝට් 22 ප්රේරණය):
virsh nat-forward --network default --add-port tcp:2222:22
සටහන: libvirt වින්යාස ගොනු සංස්කරණය කිරීම හෝ firewalld සමඟ ප්රවේශය පාලනය කිරීමෙන් වැඩි දියුණු වින්යාසයන් සිදු කළ හැක.
ගබඩා කළමනාකරණය සහ තැටි මෙහෙයුම්
KVM සමඟ වර්චුවල් යන්ත්ර ක්රියාත්මක කරන විට, ගබඩා සැලසුම සහ තැටි කළමනාකරණය ඉතා වැදගත් වේ. මෙම කොටස වර්චුවල් තැටි වර්ග, ඒවා නිර්මාණය කිරීම, ගබඩා පොල් කළමනාකරණය, තැටි විස්තාරණය සහ snapshots ප්රයෝජනවත් ලෙස භාවිත කිරීම පිළිබඳ විස්තර කරයි.
වර්චුවල් තැටි වර්ග (qcow2 සහ raw) සහ භාවිතා කිරීමේ අවස්ථා
KVM ප්රධාන වශයෙන් පහත සඳහන් දෙකේ වර්චුවල් තැටි වර්ග සහය දක්වයි.
- qcow2 ආකෘතිය
- KVM සඳහා ප්රමිතිය වර්චුවල් තැටි ආකෘතිය
- snapshots, තැටි සංකෝචනය, සහ ඉඩ කාර්යක්ෂම වෙන් කිරීම සහය දක්වයි
- ලච්චල මෙහෙයුම් සහ පරීක්ෂණ පරිසර සඳහා සුදුසුයි
- raw ආකෘතිය
- සංකෝචනය හෝ පරිවර්තනය නොකළ සරල ආකෘතිය
- උපරිම කාර්යක්ෂමතාව සහ ඉහළ I/O වැඩබර සඳහා හොඳම
බොහෝ අවස්ථාවල, qcow2 නිර්දේශ කරයි, නමුත් ඔබේ විශේෂ අවශ්යතා අනුව ආකෘතිය තෝරා ගත යුතුය.
ගබඩා පොල් නිර්මාණය සහ කළමනාකරණය
KVM වර්චුවල් යන්ත්ර භාවිතා කරන තැටි සම්පත් ‘ගබඩා පොල්’ යන සංකල්පය මගින් කළමනාකරණය කරයි.
- පෙරනිමි ගබඩා පොල් ස්ථාපනයෙන් පසු,
/var/lib/libvirt/images/පෙරනිමි ගබඩා පොල ලෙස භාවිතා වේ. වර්චුවල් තැටි මෙම නාමාවලියේ ඇතුළත නිර්මාණය වේ. - නව ගබඩා පොලක් නිර්මාණය (උදාහරණයක්)
- නාමාවලියක් සාදන්න
sudo mkdir /data/kvm-images sudo chown libvirt-qemu:kvm /data/kvm-images - virt-manager හෝ virsh භාවිතා කර නව පොලක් එක් කරන්න. virsh භාවිතයෙන්:
virsh pool-define-as --name mypool --type dir --target /data/kvm-images virsh pool-autostart mypool virsh pool-start mypool
වර්චුවල් තැටි විස්තාරණය සහ Snapshots භාවිතය
- වර්චුවල් තැටි විස්තාරණය තැටි ධාරිතාව වැඩි කිරීමට,
qemu-imgවිධානය භාවිතා කරන්න (qcow2 සහ raw දෙකම සහය දක්වයි).sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
ප්රමාණය වෙනස් කිරීමෙන් පසු, ඔබට අමුත්තා OS තුළ පාර්ශවය සහ ගොනු පද්ධතියද විස්තාරණය කළ යුතුය.
- Snapshots භාවිත කිරීම qcow2 ඩිස්කයන් සමඟ, ඔබට snapshots සෑදිය හැකිය, ඒවා විශේෂිත කාලයකදී වර්චුවල් මැෂින් එකේ තත්ත්වය සුරකින්න.
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Snapshots වින්යාස වෙනස්කම්, පද්ධති යාවත්කාලීන කිරීම්, හෝ rollback පරීක්ෂණ අවස්ථා වලට පෙර backup සඳහා ඉතා ප්රයෝජනවත් වේ.
අමුත්තා OS ස්ථාපනය සහ මෙහෙයුම
මෙම කොටස KVM වර්චුවල් මැෂින් තුළ මෙහෙයුම් පද්ධති ස්ථාපනය සහ කාර්යක්ෂමව මෙහෙයවීම පිළිබඳ විස්තර කරයි. සාමාන්ය අමුත්තා OS ස්ථාපන ක්රියාවලීන්, ISO රූප හසුරුවීම, සහ කාර්ය සාධන ඔප්ටිමයිසේෂන් උපදෙස් ඇතුළත් වේ.
පොදු අමුත්තා මෙහෙයුම් පද්ධති ස්ථාපනය
KVM Ubuntu, CentOS, Windows වැනි විවිධ අමුත්තා මෙහෙයුම් පද්ධති සහය දක්වයි. පහත Ubuntu සහ Windows සඳහා උදාහරණ ස්ථාපන ක්රියාවලීන් ඇත.
- Ubuntu ස්ථාපනය
- නිල Ubuntu වෙබ් අඩවියෙන් නවතම ISO රූපය බාගත කරන්න.
- virt-manager තුළ, නව වර්චුවල් මැෂින් එකක් සෑදීමේදී “Local install media” තෝරා, බාගත කළ ISO ගොනුව සඳහන් කරන්න.
- වර්චුවල් මැෂින් එක සඳහා CPU, මතකය, සහ ඩිස්ක් ධාරිතාව සකසන්න.
- තිරයේ පෙන්වන උපදෙස් අනුගමනය කර සාමාන්ය Ubuntu ස්ථාපනය සම්පූර්ණ කරන්න.
- Windows ස්ථාපනය
- නිල Microsoft වෙබ් අඩවියෙන් Windows ඇගයුම් ISO රූපය බාගත කරන්න.
- virt-manager හෝ virt-install භාවිතයෙන් නව වර්චුවල් මැෂින් එකක් සෑදීම සහ ISO ගොනුව සඳහන් කරන්න.
- Windows අමුත්තා සඳහා, virtio ධාවක ස්ථාපනය කිරීම ඩිස්ක් සහ ජාල කාර්ය සාධනය විශාල ලෙස වැඩි කරයි. virtio ISO එක වර්චුවල් CD ධාරකයක් ලෙස මවුන්ට් කර, ස්ථාපන කාලයේ එය යොදන්න.
ISO රූප ලබා ගැනීම සහ මවුන්ට් කිරීම
- අමුත්තා OS ස්ථාපනය සඳහා නිල මූලාශ්ර වලින් බාගත කළ ISO රූප අවශ්ය වේ.
- VM සෑදීමේදී ISO ගොනුවේ මාර්ගය සඳහන් කිරීමෙන්, එය වර්චුවල් CD/DVD ලෙස මවුන්ට් වේ.
- අවශ්ය නම්, බහු ISO රූප (OS සහ ධාවක) එකවරම මවුන්ට් කළ හැක.
අමුත්තා OS මෙහෙයුම සහ කාර්ය සාධන ඔප්ටිමයිසේෂන් සඳහා උපදෙස්
- සම්පත් වෙන් කිරීම ඔප්ටිමයිස් කරන්න CPU සහ මතකය සුදුසු ලෙස වෙන් කරන්න. සම්පත් අධික වෙන් කිරීම හෝස්ට් OS සහ අනෙකුත් වර්චුවල් මැෂින් වලට නරක බලපෑම් ඇති කරයි.
- virtio ධාවක ස්ථාපනය කරන්න Windows හෝ පැරණි Linux අමුත්තා වල virtio ධාවක ස්ථාපනය කිරීම ඩිස්ක් සහ ජාල කාර්ය සාධනය විශාල ලෙස වැඩි කරයි.
- අවශ්ය නොවන සේවාවන් අක්රිය කරන්න අමුත්තා OS තුළ භාවිත නොවන සේවාවන් සහ පසුබැසි ක්රියාවලීන් අක්රිය කිරීමෙන් සම්පත් සුරැකීමට උපකාරී වේ.
- KVM අමුත්තා මෙවලම් භාවිත කරන්න QEMU Guest Agent ස්ථාපනය කිරීමෙන් VM තොරතුරු නිවැරදිව ලබා ගැනීමට සහ පාලිත shutdown මෙහෙයුම් සිදු කිරීමට හැකියාව ලැබේ.
ප්රායෝගික භාවිතා නඩු සහ ස්වයංක්රීය උපදෙස්
KVM සරල වර්චුවල් මැෂින් නිර්මාණය සහ මෙහෙයුමට පමණක් සීමා නොවේ. එය ව්යාපාරික සහ සංවර්ධන අවස්ථා විවිධාකාරයෙන් භාවිතා වේ, සහ ස්ක්රිප්ට් සහ ස්වයංක්රීය මෙවලම් සමඟ එකතු කිරීමෙන් කළමනාකරණ කාර්යක්ෂමතාවය විශාල ලෙස වැඩි කළ හැක. මෙම කොටස ප්රායෝගික භාවිතා නඩු සහ ස්වයංක්රීය අදහස් හඳුන්වා දෙයි.
සේවාදායක භාවිතා නඩු උදාහරණ
- ඉදිරිපත් කිරීම සහ පරීක්ෂණ පරිසර වෙන් කිරීම සෑම ව්යාපෘතියක් සඳහාම වෙන වෙනම වර්චුවල් මැෂින් සකස් කිරීමෙන්, මෘදුකාංග අනුවාද සහ සැකසුම් නිදහස්ව මාරු කළ හැක. මෙය නිෂ්පාදන පද්ධතිවලට බලපා නොමැතිව නව OS අනුවාද හෝ යෙදුම් පරීක්ෂා කිරීමට ඉඩ සලසයි.
- අභ්යන්තර සේවා ගොඩනැගීම ගොනු සේවාදායක, වෙබ් සේවාදායක, සහ දත්ත ගබඩා සේවාදායක වෙන වෙනම වර්චුවල් මැෂින් තුළ ධාවනය කිරීමෙන්, දෝෂ වල බලපෑම සීමා කරයි. බැක්අප් සහ snapshots එක් එක් VM මත පදනම්ව පහසුවෙන් කළ හැක.
CLI සහ Ansible භාවිතයෙන් ස්වයංක්රීය සැපයුම්
- CLI සමඟ ස්වයංක්රීය VM නිර්මාණය
virt-installසහvirshවිධාන ස්ක්රිප්ට් කිරීමෙන්, බහු වර්චුවල් මැෂින් ස්වයංක්රීයව නිර්මාණය සහ කළමනාකරණය කළ හැක. උදාහරණයක්: බැච් VM නිර්මාණය සඳහා Shell ස්ක්රිප්ට්.for i in {1..5} do virt-install --name test-vm-$i --memory 1024 --vcpus 1 \ --disk size=10 --cdrom /path/to/ubuntu.iso \ --os-type linux --os-variant ubuntu20.04 \ --graphics none --network network=default --noautoconsole done
- Ansible සමඟ පාරිසරික ස්වයංක්රියකරණය Ansible භාවිතා කර, ඔබට වර්චුවල් යන්ත්ර නිර්මාණය, මුලික වින්යාසය, සහ යෙදුම් නිකුත් කිරීම playbooks පමණක් භාවිතා කර ස්වයංක්රිය කළ හැක. බොහෝ සේවාදායකයන් ඇති පරිසර හෝ වින්යාස සමගිත්වය අත්යවශ්ය වන අවස්ථා සඳහා මෙය විශේෂයෙන් ප්රයෝජනවත් වේ.
වලාකුළු-සම ව්යාපාර සඳහා උපදෙස්
- VM ආකෘති නිර්මාණය නිතර භාවිතා කරන මූලික වර්චුවල් යන්ත්ර ආකෘති ලෙස සුරකින්නේ නම්, නව සේවාදායකයන් ඉතා ඉක්මනින් නිකුත් කළ හැක.
- API ඒකාබද්ධ කිරීම සහ වෙබ්-අධාරිත කළමනාකරණ මෙවලම් libvirt API ලබා දේ, ඒවා අභිරුචි මෙවලම් හෝ වෙනත් කළමනාකරණ පද්ධති සමඟ ඒකාබද්ධ කළ හැක. විශාල පරිමාණ පරිසරවල, Cockpit වැනි වෙබ්-අධාරිත කළමනාකරණ මෙවලම් දෘශ්යමය සහ මධ්යස්ථ පාලනය සලසයි.
ගැටළු විසඳීම සහ පොදු දෝෂ විසඳුම්
KVM පරිසරයක් ක්රියාත්මක කරන විට, වර්චුවල් යන්ත්ර ආරම්භ වීම අසාර්ථක වීම හෝ ජාල සම්බන්ධතා ගැටළු වැනි ගැටළු මුහුණට එන්න පුළුවන්. මෙම කොටස පොදු ගැටළු, ගැටළු විසඳුම් පියවර, සහ ලොග් සහ සහාය සම්පත් කාර්යක්ෂමව භාවිතා කිරීම පිළිබඳව කවර කරයි.

KVM හි පොදු ගැටළු
- වර්චුවල් යන්ත්රය ආරම්භ වීමට අසමත් හෝ නිර්මාණය කළ නොහැක
- හාර්ඩ්වෙයා වර්චුවලිසන් (Intel VT හෝ AMD‑V) අක්රිය කර ඇත
- වෙන් කර ඇති මතකය හෝ තැටි ඉඩ ප්රමාණය අඩුයි
- වැරදි ගබඩා පූල් හෝ ISO රූප මාර්ගය
- ජාල සම්බන්ධතා ගැටළු
- වැරදි වර්චුවල් ජාල ඇඩැප්ටරය වින්යාසය
- වැරදිව සැකසූ බ්රිජ් හෝ NAT, හෝ DHCP පවරා ගැනීම අසාර්ථක වීම
- ගිනිගුල හෝ ආරක්ෂක සීමා
- බරපතළ කාර්ය සාධන අඩු වීම
- සම්පත් අධික වෙන් කිරීම හෝ අඩු වෙන් කිරීම
- virtio ධාවක අස්ථානගත (විශේෂයෙන් Windows අමුත්තන් සඳහා)
- තැටි I/O bottleneck
ලොග් පරීක්ෂණය සහ මූලික ගැටළු විසඳුම් ප්රවාහය
ගැටළු සිදුවන විට, ලොග් පරීක්ෂා කිරීම ඔබේ පළමු පියවර විය යුතුය.
- පද්ධති ලොග් පරීක්ෂා කරන්න
sudo journalctl -xe
KVM හෝ libvirt සම්බන්ධ දෝෂ පණිවුඩ සොයන්න.
- libvirt ලොග් පරීක්ෂා කරන්න
/var/log/libvirt/යටතේ ඇති ලොග් ගොනු (උදාහරණයක් ලෙසlibvirtd.log) වටිනා තොරතුරු සපයයි. - VM‑විශේෂ ලොග් පරීක්ෂා කරන්න virt‑manager හෝ virsh භාවිතා කර VM තත්ත්වය පරීක්ෂා කර ලොග් හෝ විස්තර දර්ශනයේ දෝෂ විස්තර සමාලෝචනය කරන්න.
- ජාල තත්ත්වය පරීක්ෂා කරන්න
ip a brctl show virsh net-list --all
මෙම විධාන ජාල සම්බන්ධතා සහ බ්රිජ් වින්යාස පරීක්ෂා කිරීමට උපකාරී වේ.
මූලික ගැටළු විසඳුම් වැඩපිළිවෙළ
- ගැටළුව කවදා ආරම්භ වුණා සහ කුමක් වෙනස් වුණාදැයි හඳුනා ගන්න
- ලොග් සහ වින්යාස පරීක්ෂා කරන්න
- අවශ්ය නම් සැකසුම් වෙනස් කර සේවාවන් නැවත ආරම්භ කරන්න හෝ වර්චුවල් යන්ත්රය නැවත නිර්මාණය කරන්න
නිල ලේඛන සහ ප්රජා සම්පත් භාවිතා කිරීම
ගැටළු විසඳුම් කිරීමේදී පහත සම්පත් ඉතා ප්රයෝජනවත් වේ.
- නිල ලේඛන Ubuntu නිල KVM ලේඛන libvirt නිල ලේඛන
- ප්රජා සංවාද මණ්ඩල සහ ප්රශ්න‑පිළිතුරු වෙබ් අඩවි
- Ubuntu සංවාද මණ්ඩලය
- Ask Ubuntu
- Stack Overflow
- දෝෂ පණිවුඩ භාවිතා කර සෙවීම ඉංග්රීසි සහ ඔබේ ස්ථානීය භාෂාවෙන් නිශ්චිත දෝෂ පණිවුඩ සෙවීම සම්බන්ධිත විසඳුම් හඳුනා ගත හැක.
ආරක්ෂාව සහ කාර්ය සාධන අභිලක්ෂණය
KVM පරිසරයක් ආරක්ෂිතව සහ කාර්යක්ෂමව ක්රියාත්මක කිරීමට, ආරක්ෂක පියවර සහ කාර්ය සාධන අභිලක්ෂණය අත්යවශ්ය වේ. මෙම කොටස ඔබේ වර්චුවලිසන් වේදිකාව ආරක්ෂා කිරීම සහ සම්පත් කාර්යක්ෂමතාව වැඩිම කිරීම සඳහා ප්රායෝගික තාක්ෂණ හඳුන්වා දෙයි.
වර්චුවලිසන් ආරක්ෂාව ශක්තිමත් කිරීම
- අනවශ්ය සේවා අක්රිය කිරීම සහ වින්යාසය අවම කිරීම සත්යායක සහ ප්රධාන පද්ධති දෙකෙහිම භාවිත නොකරන සේවා අක්රිය කරමින් ප්රහාර පෘෂ්ඨය අඩු කරන්න.
- අග්නි බිඳුව සහ ප්රවේශ පාලනය ප්රධාන සහ සත්යායක පද්ධති දෙකෙහිම ufw හෝ firewalld වැනි අග්නි බිඳුව නිවැරදිව වින්යාස කරන්න. SSH ප්රවේශය ආරක්ෂා කිරීම සඳහා අසාමාන්ය බාගත, යතුර-පාදක සත්යාපනය සහ fail2ban වැනි මෙවලම් භාවිතා කරන්න.
- වර්චුවල් මැෂින් අතර වෙන්කිරීම තුලනාත්මක සේවාදායක වෙන් කිරීම සඳහා විවිධ වර්චුවල් ජාල හෝ භෞතික ජාල කොටස්කිරීම භාවිතා කරන්න, එවිට බලපෑම් සීමා කරන්න.
- නිතිපතා යාවත්කාලීන කිරීම් ප්රධාන සහ සත්යායක පද්ධති දෙකම ආරක්ෂක සංශෝධන සහ මෘදුකාංග යාවත්කාලීන කිරීම් සමඟ යාවත්කාලීනව තබා ගන්න.
සම්පත් වෙන්කිරීම උපරිම කිරීම (CPU, මතකය, ඩිස්ක් I/O)
- මූලික සම්පත් කළමනාකරණය සත්යායක පද්ධතිය සඳහා ප්රමාණවත් සම්පත් ඉතිරි කරමින් එක් එක් වර්චුවල් මැෂින් සඳහා CPU සහ මතකය සැලකිල්ලෙන් වෙන් කරන්න.
- ඩිස්ක් I/O උපරිම කිරීම තුලනාත්මක වර්චුවල් මැෂින් සඳහා ඉහළ වේගයේ SSD ගබඩාව භාවිතා කරන්න. qcow2 ආකෘතියේ අධික ස්නැප්ෂොට් භාවිතය සමඟ ප්රවේශම් වන්න, මන්ද එය කාර්ය සාධනයට බලපෑම් කළ හැක.
- virtio ඩ්රයිවර් භාවිතා කිරීම සත්යායක මෙහෙයුම් පද්ධතිවල ඩිස්ක් සහ ජාල කාර්ය සාධනය බෙහෙවින් වැඩි දියුණු කිරීම සඳහා virtio ඩ්රයිවර් ස්ථාපනය කරන්න.
බැකප් සහ ස්නැප්ෂොට් ස්වයංක්රීයකරණය
- නිතිපතා ස්නැප්ෂොට් නිර්මාණය පද්ධති දෝෂයකදී ඉක්මනින් පුනර්ප්රවේශනය සඳහා වශපත් ස්නැප්ෂොට් ඉඩ සලසයි.
- ඩිස්ක් රූප සහ වින්යාස ගොනු බැකප් කිරීම වර්චුවල් ඩිස්ක් රූප (qcow2 හෝ raw) සහ libvirt XML වින්යාස ගොනු නිතිපතා බාහිර ගබඩාවට බැකප් කරන්න.
- ස්වයංක්රීයකරණ මෙවලම් සමඟ ඒකාබද්ධ කිරීම බැකප් සහ ස්නැප්ෂොට් කාර්යයන් ස්වයංක්රීය කිරීම සඳහා cron හෝ Ansible භාවිතා කරන්න.
නිගමනය සහ ඉගෙනුම් සම්පත්
මෙම ලිපිය Ubuntu හි KVM වර්චුවල්කරණ පරිසරය ගොඩනැගීමේ සිට දෛනික මෙහෙයුම්, ප්රායෝගික භාවිතයන්, ගැටලු විසඳීම, ආරක්ෂාව සහ කාර්ය සාධනය උපරිම කිරීම දක්වා සියල්ල ආවරණය කර ඇත. පහත දැක්වෙන්නේ සාරාංශයක් සහ තවදුරටත් ඉගෙනීම සඳහා නිර්දේශිත සම්පත් ය.
සාරාංශය
- KVM හි දළ විෂය පරිච්ඡේදය සහ වාසි KVM යනු Ubuntu සේවාදායක පරිසරවල පුළුල් භාවිතා වන ඕපන්-සෝර්ස්, ඉහළ කාර්ය සාධනයේ වර්චුවල්කරණ තාක්ෂණයකි.
- ස්ථාපනය සිට මෙහෙයුම දක්වා අපි CPU වර්චුවල්කරණ පරීක්ෂණ, පැකේජ ස්ථාපනය, අවසර සැකසුම්, VM නිර්මාණය සහ මූලික මෙහෙයුම් හරහා ගියෙමු.
- ජාලකරණය, ගබඩාව සහ මෙහෙයුම් හොඳම පිළිවෙත් ඔබ NAT සහ පාලම් ජාලකරණය වින්යාස කිරීම, ගබඩා පිඟුවන් කළමනාකරණය, ඩිස්ක් ව්යාප්ත කිරීම සහ ස්නැප්ෂොට් ඵලදායී භාවිතා කිරීම ඉගෙන ගත්හ.
- ගැටලු විසඳීම සහ ආරක්ෂාව සුලබ දෝෂ විසඳුම්, ලොග පරීක්ෂා කිරීම් ක්රම සහ ආරක්ෂිත සහ කාර්යක්ෂම මෙහෙයුම් සඳහා හොඳම පිළිවෙත් හඳුන්වා දුන්නා.
මීළඟ පියවර සහ නිර්දේශිත සම්පත්
- ලියකියවිලි නිල ලේඛන
- Ubuntu Official KVM Guide
- libvirt Official Documentation
- Ask Ubuntu
- Qiita KVM Tag
- Stack Overflow (English)
KVM යනු පුද්ගලික සහ ව්යාපාරික භාවිතය සඳහා සුදුසු බලවත් වර්චුවල්කරණ මෙහෙයුම් පදනමකි. මෙම මාර්ගෝපදේශය මූලිකයක් ලෙස භාවිතා කරමින් ඔබේ නිශ්චිත අවශ්යතාවලට KVM සකස් කිරීම සඳහා ඔබගේ අවබෝධය තවදුරටත් ගැඹුරු කරන්න.
නියමාවන් කඩදාසි සහ සුලබ වින්යාස උදාහරණ
නිතිපතා භාවිතා වන නියමාවන් සහ වින්යාස උදාහරණ ලබා ගැනීමෙන් දෛනික VM කළමනාකරණ කාර්යක්ෂමතාව බෙහෙවින් වැඩි දියුණු විය හැක. මෙම කොටස සංක්ෂිප්ත යොමුකිරීමක් සපයයි.
සුලබ KVM / virsh / virt-manager නියමාවන්
- වර්චුවල් මැෂින් ලැයිස්තුගත කිරීම
virsh list --all
- වර්චුවල් මැෂින් ආරම්භ කිරීම
virsh start <virtual-machine-name>
- වර්චුවල් මැෂින් වියදම් කිරීම
virsh shutdown <virtual-machine-name>
- වර්චුවල් මැෂින් බලහත්කාරයෙන් නවතින ලෙස
virsh destroy <virtual-machine-name>
- වර්චුවල් මැෂින් නිර්මාණය කිරීම (virt-install)
virt-install --name <name> --memory <MB> --vcpus <cores> \ --disk size=<GB> --cdrom <ISO-path> \ --os-type linux --os-variant ubuntu20.04
- වර්චුවල් මැෂින් ඉවත් කිරීම (විස්තරය පමණයි)
virsh undefine <virtual-machine-name>
ජාලය සහ පාලම් සැකසුම් උදාහරණ
- ජාල ලැයිස්තුව
virsh net-list --all
නිර්මාණ භාරකළම්වාරණය සහ ඩිස්ක් මෙහෙයුම්
- නිර්මාණ භාරකළම්වාරණ පුල් ලැයිස්තුව
virsh pool-list --all
- අභිරුචි ඩිස්ක් ප්රමාණය වෙනස් කිරීම
sudo qemu-img resize /path/to/disk.qcow2 +10G
- ස්නැප්ෂොට් එකක් සාදන්න
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
අනෙකුත් උපකාරී ඉඟි
- VM ස්වයංක්රීය ආරම්භකරණය සක්රිය කිරීම
virsh autostart <virtual-machine-name>
- විස්තරාත්මක VM තොරතුරු පෙන්වන්න
virsh dominfo <virtual-machine-name>
- virt-manager (GUI) ආරම්භ කිරීම
virt-manager
FAQ
Q1: KVM, VirtualBox, සහ VMware අතර වෙනස කුමක්ද?
A1: KVM යනු Linux kernel හි ඒකාබද්ධ කර ඇති ඉහළ කාර්ය සාධනයකින් යුත් අභිරුචිකරණ වේදිකාවකි සහ නිෂ්පාදන සේවාදායකයින් සඳහා ඉතා සුදුසුය. VirtualBox ප්රධාන වශයෙන් desktop භාවිතය සඳහා නිර්මාණය කර ඇති අතර, VMware වාණිජ සහාය සමඟ ව්යාපාරික විශේෂාංග බෙහෙවින් ලබා දෙයි. KVM ඉහළ කාර්ය සාධනය අඩු පිරිවැයකින් ලබා ගැනීමට අදහස් කරන්නේ නම් ආදර්ශයකි.
Q2: වර්චුවල් මැෂින් බැකප් කිරීම සහ ප්රතිස්ථාපනය කිරීමෙන් මට කළ හැකිද?
A2: ඩිස්ක් රූප ගොනු (qcow2 හෝ raw) පිටපත් කිරීමෙන් වර්චුවල් මැෂින් බැකප් කළ හැකිය. libvirt XML සැකසුම් ගොනු සහ ස්නැප්ෂොට් බැකප් කිරීමත් පහසු ප්රතිස්ථාපනය සඳහා යෝජනා කෙරේ.
Q3: වර්චුවල් මැෂින් තුළ USB උපකරණ භාවිතා කළ හැකිද?
A3: ඔව්. virt-manager හි hardware සැකසුම් භාවිතයෙන් හෝ virsh හරහා USB passthrough සැකසිය හැකි අතර, USB storage උපකරණ, බාහිර ඩ්රයිව්, සහ ප්රින්ටර් වර්චුවල් මැෂින් තුළ භාවිතා කළ හැකිය.
Q4: host boot වන විට වර්චුවල් මැෂින් ස්වයංක්රීයව ආරම්භ කිරීමට මට කළ හැකිද?
A4: host system boot වන විට ස්වයංක්රීය ආරම්භකරණය සක්රිය කිරීමට virsh autostart <virtual-machine-name> command ධාවනය කරන්න.
Q5: වර්චුවල් මැෂින් එකක් මන්දගාමීව ධාවනය වෙනවා නම් මම මොනවා කළ යුතුද?
A5: CPU සහ මතක ස්ථාන බෙදාහැරීම සමාලෝචනය කරන්න, ඩිස්ක් I/O අංග්රීම් කරන්න (වේගවත් storage භාවිතා කරන්න හෝ සුදුසු නම් qcow2 සිට raw ට මාරු වන්න), සහ guest OS හි virtio drivers ස්ථාපනය කරන්න.
Q6: ජාල සැකසුම් නිවැරදිව ක්රියා නොකරන්නේ නම් මම මොනවා පරීක්ෂා කළ යුතුද?
A6: virsh සහ brctl commands භාවිතයෙන් ජාල තත්ත්වය තහවුරු කරන්න. bridge සහ Netplan හෝ NetworkManager සැකසුම් ගොනු සමාලෝචනය කරන්න සහ අවශ්ය නම් වර්චුවල් ජාල නැවත සාදන්න.
Q7: KVM සමඟ clusters හෝ high-availability (HA) සැකසුම් op්රමාණවත්ද?
A7: ඔව්. KVM සමඟ Pacemaker, Corosync, සහ shared storage (NFS හෝ iSCSI) ඒකාබද්ධ කිරීමෙන් HA සැකසුම් සහ live migration ක්රියාත්මක කළ හැකිය. උසස් දැනුම අවශ්යයි.

