OS टेम्प्लेट और ISO
एडमिन में कहाँ: Services › Virtual Machines › Template (
/vm/templates)। Proxmox टेम्पलेट्स Infrastructure › Cloud provider › Providers › (cluster) › Clusters पर प्रति क्लस्टर सूचीबद्ध हैं।
यह क्या करता है
टेम्प्लेट वह ऑपरेटिंग-सिस्टम इमेज है जिससे एक नया VM शुरू होता है। NexCMP खुद इमेज स्टोर नहीं करता है: यह CloudStack की रिपोर्ट (तैयार, चुनिंदा टेम्प्लेट) या Proxmox क्लस्टर के लिए आपकी सूची को पढ़ता है, और आपको यह चुनने देता है कि ग्राहक-सामने के नाम, आइकन और लॉगिन उपयोगकर्ता के साथ कौन से बेचे जाते हैं। यह पृष्ठ दिखाता है कि NexCMP के साथ अच्छी तरह से काम करने वाली इमेज कैसे तैयार करें: पासवर्ड लॉगिन, लाइव CPU और RAM स्केलिंग, स्वैप फ़ाइल, और एक रूट डिस्क जो योजना के आकार तक बढ़ती है।
आवश्यकताएं
| आइटम | आवश्यकता |
|---|---|
| CloudStack टेम्प्लेट बिल्डर | libguestfs-tools (virt-customize, virt-sparsify, guestfish), qemu-utils, curl और लगभग 5 GB खाली डिस्क वाली एक Linux मशीन। KVM और root की कोई आवश्यकता नहीं है। पैकेज इंस्टॉल के लिए इंटरनेट एक्सेस (या --offline के साथ बनाएं)। |
| बिल्डर कहाँ है | यह पैनल सर्वर पर प्रत्येक रिलीज़ के साथ /opt/nexcmp/releases/<version>/share/templates/ में आता है। आपको इसे वहाँ चलाने की आवश्यकता नहीं है: फ़ोल्डर को किसी भी Linux मशीन पर कॉपी करें। |
| वेब सर्वर | तैयार .qcow2 फ़ाइल को प्रकाशित करने के लिए कोई भी HTTP(S) सर्वर जिसे CloudStack का सेकेंडरी स्टोरेज VM एक्सेस कर सके। इसे इंटरनेट से एक्सेस करने योग्य होना जरूरी नहीं है। |
| CloudStack | एक खाता जो टेम्प्लेट रजिस्टर कर सकता है, और आपके ज़ोन और एक मेल खाते OS प्रकार की ID। CloudStack देखें। |
| Proxmox VE | QEMU गेस्ट एजेंट के साथ Cloud-init टेम्प्लेट VM, प्रति OS और प्रति नोड एक। Proxmox VE देखें। |
| इस पर निर्भर करता है | पहले CloudStack या Proxmox VE कनेक्ट किया गया। |
बुनियादी ढांचा तैयार करें
CloudStack: टेम्प्लेट बनाएं
समर्थित बेस इमेज (कुछ भी बदलने से पहले वेंडर इमेज डाउनलोड की जाती है और उसके चेकसम का सत्यापन किया जाता है):
| इमेज | --distro | लॉगिन उपयोगकर्ता |
|---|---|---|
| Ubuntu 22.04 | ubuntu-22.04 | ubuntu |
| Ubuntu 24.04 | ubuntu-24.04 | ubuntu |
| Debian 12 | debian-12 | debian |
| Rocky Linux 9 | rocky-9 | rocky |
अधिक वितरण: distros.conf में एक लाइन जोड़ें (इमेज URL, चेकसम फ़ाइल, फ़ैमिली deb या rpm)।
बिल्डर को एक बिल्ड मशीन पर कॉपी करें और चलाएं:
bashcp -r /opt/nexcmp/releases/<version>/share/templates ~/templates && cd ~/templates ./build-template.sh --distro ubuntu-24.04 --version v7 --work ./outएक वैकल्पिक फ़र्स्ट-बूट मॉनिटरिंग एजेंट को शामिल करने के लिए
--panel-url https://cloud.example.comजोड़ें जो आपके पैनल में नामांकित होता है (केवल HTTPS)। इसके बिना, कोई एजेंट नहीं जोड़ा जाता है। अन्य विकल्प: आपके द्वारा डाउनलोड की गई इमेज का उपयोग करने के लिए--base <file>, पैकेज इंस्टॉल छोड़ने के लिए--offline।परिणाम
out/ubuntu-24.04-v7.qcow2और इसका.sha256है। बिल्डverify-image.shचलाकर समाप्त होता है, जो तैयार इमेज का रीड-ऑनली निरीक्षण करता है और खराब इमेज को अस्वीकार कर देता है (इसे.unverifiedके रूप में रखा जाता है)। आप इसे किसी भी समय फिर से चला सकते हैं:./verify-image.sh out/ubuntu-24.04-v7.qcow2 --no-agent।
बिल्डर इमेज में क्या डालता है:
| आइटम | क्यों |
|---|---|
qemu-guest-agent | CloudStack वीएम से CPU और IP के बारे में पूछ सकता है, और स्नैपशॉट के लिए इसे शांत कर सकता है। |
CloudStack डेटा स्रोत के साथ cloud-init, set_passwords हर बूट पर, SSH पासवर्ड लॉगिन | जनरेट किया गया पासवर्ड वर्चुअल राउटर से प्राप्त किया जाता है और Reset password काम करता है। |
| हॉट-ऐडेड CPU और RAM के लिए एक udev नियम | हॉट-ऐडेड vCPUs और RAM अपने आप ऑनलाइन आ जाते हैं, जिससे लाइव स्केलिंग और Auto Scaling काम करते हैं। |
| एक स्वैप फाइल सर्विस | डिस्क बढ़ने के बाद RAM के 50% और 4 GiB में से जो भी कम हो, उसका /swapfile बनाता है। touch /etc/cmp-swap.disabled इसे बंद कर देता है। |
cloud-init growpart और resizefs | पहला बूट होने पर छोटी रूट डिस्क प्लान के डिस्क साइज़ तक बढ़ जाती है। |
| खाली machine-id, कोई SSH होस्ट कीज़ नहीं | हर VM को अपनी खुद की पहचान मिलती है। |
टेम्पलेट का नाम <OS> <version> <vN> रखें
NexCMP उन टेम्पलेट्स के लिए Auto Scaling चालू करता है जिनके नाम के अंत में vN या vN.M होता है और N of 6 or more (Ubuntu 24.04 v7, Rocky Linux 9 v7.1) होता है। बिल्डर --version के लिए इसे लागू करता है। टेम्पलेट को ठीक मुद्रित नाम के साथ रजिस्टर करें।
फाइल को पब्लिश करें और इसे CloudStack में रजिस्टर करें। बिल्ड द्वारा प्रिंट किए गए SHA-256 का उपयोग करें, और फाइल पूरी तरह लिखे जाने के बाद ही रजिस्टर करें:
bashcmk list ostypes keyword="Ubuntu 24.04" filter=id,description cmk register template name="Ubuntu 24.04 v7" displaytext="Ubuntu 24.04 v7" \ url=https://files.example.com/ubuntu-24.04-v7.qcow2 zoneid=<zone-id> format=QCOW2 hypervisor=KVM \ ostypeid=<os-type-id> passwordenabled=true sshkeyenabled=true isdynamicallyscalable=true \ requireshvm=true isextractable=false ispublic=true isfeatured=true \ checksum="{SHA-256}<sha256 of the file>" \ details[0].guest.cpu.mode=host-passthrough details[0].rootDiskController=osdefaultpasswordenabled=trueCloudStack को VM पासवर्ड जनरेट करने देता है।isdynamicallyscalable=trueलाइव स्केलिंग की अनुमति देता है।- वर्तमान Rocky और Alma इमेज को बूट करने के लिए
host-passthroughआवश्यक है;osdefaultडिस्क कंट्रोलर को पोर्टेबल रखता है।
Download Complete / Ready तक पहुँचने के लिए टेम्पलेट का इंतज़ार करें।
वेंडर इमेज अपना छोटा वर्चुअल साइज़ (Ubuntu और Debian के लिए लगभग 3.5 GiB, Rocky के लिए 10 GiB) बनाए रखती है। याद रखें कि किसी प्लान की डिस्क टेम्पलेट की डिस्क से छोटी नहीं हो सकती।
Proxmox VE: एक टेम्पलेट बनाएं
जिस भी नोड पर आप डिप्लॉय करते हैं, उस पर प्रत्येक OS के लिए गेस्ट एजेंट इंस्टॉल और रूट लॉगिन सक्षम करके एक क्लाउड-इinit VM टेम्पलेट बनाएं, फिर इसे os-key=vmid के रूप में रजिस्टर करें। पूर्ण कमांड Proxmox VE में हैं। ऊपर दिया गया CloudStack बिल्डर Proxmox के लिए नहीं है: यह CloudStack डेटा सोर्स के लिए cloud-init को कॉन्फ़िगर करता है।
ISOs
ग्राहक Images मॉड्यूल (CloudStack) या डेडिकेटेड सर्वर मॉड्यूल के माध्यम से अपने स्वयं के ISOs माउंट करते हैं। वे इस पेज पर मौजूद OS टेम्पलेट्स से अलग हैं। Modules और Dedicated servers देखें।
NexCMP में कनेक्ट करें
Services › Virtual Machines › Template खोलें। Sync now पर क्लिक करें या 15 मिनट तक प्रतीक्षा करें। सिंक उन टेम्पलेट्स को जोड़ता है जो CloudStack में तैयार और फ़ीचर्ड हैं।

नए टेम्पलेट पर Edit पर क्लिक करें और सेट करें कि ग्राहकों को क्या दिखाई दे:
फ़ील्ड उदाहरण मान ग्राहकों के लिए प्रदर्शित नाम Ubuntu 24.04 LTSOS परिवार ubuntu(आइकन और डिफ़ॉल्ट उपयोगकर्ता)संस्करण 24.04लॉगिन यूज़रनेम ubuntu(Windows:Administrator; अन्य:root)आइकन इमेज URL, पाथ या नाम क्रम (Order) 10सक्रिय (Active) चालू (On) vCPU/RAM हॉट-प्लग (लाइव स्केल) Auto by name (v6 or later), Yes या No (needs a restart) 
टेम्पलेट चालू करें। जो टेम्पलेट CloudStack अब सूचीबद्ध नहीं करता है, वह स्वतः छिपा दिया जाता है (और यदि कॉन्फ़िगर किया गया है तो आपको Telegram पर सतर्क किया जाता है); इसे NexCMP से कभी हटाया नहीं जाता है।
किसी टेम्पलेट को नए बिल्ड से बदलें
बेचे गए टेम्पलेट पर More › Replace with new version का उपयोग करें। नया, तैयार और वर्तमान में अक्षम टेम्पलेट चुनें। इसके बाद बेचा गया प्रविष्टि नए बिल्ड को इंगित करती है और अपना नाम, क्रम और आइकन बनाए रखती है; पुराना वाला वापस जाने के रास्ते के रूप में अक्षम कर दिया जाता है (वापस जाने के लिए, नए प्रविष्टि पर Replace का उपयोग करें)। चल रहे VM को नहीं छुआ जाता है। यदि नया बिल्ड एक अलग OS परिवार का है, तो पहले पुष्टि पर टिक करें।
सत्यापित करें
- पंक्ति
vN(6 या अधिक N के साथ) नाम वाले बिल्ड के लिए ready और CPU hot-plug: supported दिखाती है। - टेम्पलेट से एक परीक्षण VM तैनात करें और VM के भीतर जाँच करें:
- आप पोर्टल में दिखाए गए पासवर्ड से लॉग इन कर सकते हैं;
df -h /प्लान का डिस्क आकार दिखाता है;- लाइव स्केल के बाद (बिना रीबूट के Change plan),
nprocऔरfree -mबढ़ते हैं; swapon --show/swapfileको सूचीबद्ध करता है (स्वैप प्लस 2 GiB खाली से कम डिस्क वाले इसे छोड़ देते हैं);systemctl is-active qemu-guest-agentactiveप्रिंट करता है।
- यदि आपने एजेंट को शामिल किया है, तो पहली बूट के बाद एक मिनट में पैनल के मॉनिटर किए गए होस्ट में VM दिखाई देता है। VM को अपने एक सार्वजनिक IP की आवश्यकता होती है: पैनल इसे इसके सार्वजनिक स्रोत IP से पहचानता है।
सीमाएँ और नोट्स
- बिल्डर केवल Linux-आधारित है और Linux इमेज बनाता है। अन्य इमेज (उदाहरण के लिए Windows) को अन्य तरीकों से CloudStack में पंजीकृत किया जा सकता है; NexCMP वही सूचीबद्ध करता है जो CloudStack रिपोर्ट करता है।
- केवल amd64 एजेंट भेजा जाता है; अन्य आर्किटेक्चर एजेंट इंस्टॉल छोड़ देते हैं।
- इमेज की जाँच
guestfishसे की जाती है लेकिन बिल्डर द्वारा कभी बूट नहीं की जाती है। नई इमेज बेचने से पहले हमेशा एक परीक्षण VM तैनात करें। - पहली बूट से पहले
touch /etc/cmp-agent.disabledके साथ एक VM पर एजेंट छोड़ें। इसे बाद मेंsystemctl disable --now cmp-agent cmp-agent-install; rm -rf /etc/cmp-agent /usr/local/bin/cmp-agentसे हटाएं, फिर प्रशासनिक कंसोल में एजेंट को हटाएं।
ट्रबलशूटिंग
| लक्षण | कारण | सुधार |
|---|---|---|
virt-customize पैकेज डाउनलोड करने में विफल रहता है | बिल्ड मशीन में कोई आउटबाउंड नेटवर्क नहीं है | उस मशीन पर DNS या प्रॉक्सी ठीक करें, या ऐसे बेस इमेज पर --offline के साथ बिल्ड करें जिसमें पैकेज पहले से मौजूद हों। |
libguestfs: error: /usr/bin/supermin exited with error status 1 | होस्ट कर्नल वर्तमान उपयोगकर्ता (Ubuntu) द्वारा पठनीय नहीं है | sudo chmod +r /boot/vmlinuz*, या रूट के रूप में बिल्ड चलाएं। |
| चेकसम भिन्न है, या वेंडर इमेज अब मौजूद नहीं है | वेंडर अपनी "latest" फ़ाइलें स्थानांतरित करते हैं | स्वयं इमेज डाउनलोड करें, वेंडर के चेकसम फ़ाइल के मुकाबले इसकी जाँच करें और इसे --base के साथ पास करें। |
| Rocky: नया XFS माउंट नहीं किया जा सकता | होस्ट कर्नल बहुत पुराना है | हाल के कर्नल वाली मशीन पर बिल्ड करें। |
--version must be v6 or higher | नाम vN होना चाहिए जिसमें N, 6 या अधिक हो | --version v7 का उपयोग करें। |
--panel-url must be a plain https:// URL | एजेंट डाउनलोड किया जाता है और रूट के रूप में चलाया जाता है, इसलिए सादा HTTP अस्वीकार कर दिया जाता है | बिना स्पेस, कोट्स या क्वेरी स्ट्रिंग के https:// URL का उपयोग करें। |
| टेम्पलेट not ready रहता है | CloudStack ने डाउनलोड करना समाप्त नहीं किया है | Download Complete की प्रतीक्षा करें, जाँच करें कि द्वितीयक स्टोरेज VM URL तक पहुँच सकता है या नहीं। |
| पंक्ति no-pass दिखाती है | टेम्पलेट को passwordenabled=true के बिना पंजीकृत किया गया था | उस फ़्लैग के साथ इसे फिर से पंजीकृत करें। |
| CPU हॉट-प्लग unsupported दिखाता है | नाम vN पर समाप्त नहीं होता है (6 या अधिक N) | टेम्पलेट का नाम बदलें, या यदि इमेज में udev नियम है तो Edit में vCPU/RAM hot-plug को Yes पर सेट करें। |
| पहले कनेक्शन के बाद "Empty template list" | सिंक नहीं चला है | Sync now पर क्लिक करें (इसके लिए वर्कर का चलना आवश्यक है) या 15-मिनट के चक्र की प्रतीक्षा करें। |