---
title: OS टेम्प्लेट और ISO
description: ग्राहक जिन ओएस इमेज को डिप्लॉय करते हैं उन्हें तैयार करें: CloudStack टेम्प्लेट बनाएं और रजिस्टर करें, और Proxmox VE क्लाउड-इमेज टेम्प्लेट बनाएं।
url: https://nexcmp.com/hi/docs/infrastructure/templates/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# OS टेम्प्लेट और ISO {#os-templates-and-isos}

> **एडमिन में कहाँ:** Services › Virtual Machines › Template (`/vm/templates`)। Proxmox टेम्पलेट्स Infrastructure › Cloud provider › Providers › (cluster) › Clusters पर प्रति क्लस्टर सूचीबद्ध हैं।

## यह क्या करता है {#what-it-does}

टेम्प्लेट वह ऑपरेटिंग-सिस्टम इमेज है जिससे एक नया VM शुरू होता है। NexCMP खुद इमेज स्टोर नहीं करता है: यह CloudStack की रिपोर्ट (तैयार, चुनिंदा टेम्प्लेट) या Proxmox क्लस्टर के लिए आपकी सूची को पढ़ता है, और आपको यह चुनने देता है कि ग्राहक-सामने के नाम, आइकन और लॉगिन उपयोगकर्ता के साथ कौन से बेचे जाते हैं। यह पृष्ठ दिखाता है कि NexCMP के साथ अच्छी तरह से काम करने वाली इमेज कैसे तैयार करें: पासवर्ड लॉगिन, लाइव CPU और RAM स्केलिंग, स्वैप फ़ाइल, और एक रूट डिस्क जो योजना के आकार तक बढ़ती है।

## आवश्यकताएं {#requirements}

| आइटम | आवश्यकता |
|---|---|
| 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](https://nexcmp.com/hi/docs/infrastructure/cloudstack/) देखें। |
| Proxmox VE | QEMU गेस्ट एजेंट के साथ Cloud-init टेम्प्लेट VM, प्रति OS और प्रति नोड एक। [Proxmox VE](https://nexcmp.com/hi/docs/infrastructure/proxmox/) देखें। |
| इस पर निर्भर करता है | पहले [CloudStack](https://nexcmp.com/hi/docs/infrastructure/cloudstack/) या [Proxmox VE](https://nexcmp.com/hi/docs/infrastructure/proxmox/) कनेक्ट किया गया। |

## बुनियादी ढांचा तैयार करें {#prepare-the-infrastructure}

### CloudStack: टेम्प्लेट बनाएं {#cloudstack-build-a-template}

समर्थित बेस इमेज (कुछ भी बदलने से पहले वेंडर इमेज डाउनलोड की जाती है और उसके चेकसम का सत्यापन किया जाता है):

| इमेज | `--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`)।

1. बिल्डर को एक बिल्ड मशीन पर कॉपी करें और चलाएं:

   ```bash
   cp -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`।

2. परिणाम `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 को अपनी खुद की पहचान मिलती है। |

::: warning टेम्पलेट का नाम `<OS> <version> <vN>` रखें
NexCMP उन टेम्पलेट्स के लिए **Auto Scaling** चालू करता है जिनके नाम के अंत में `vN` या `vN.M` होता है और **N of 6 or more** (`Ubuntu 24.04 v7`, `Rocky Linux 9 v7.1`) होता है। बिल्डर `--version` के लिए इसे लागू करता है। टेम्पलेट को ठीक मुद्रित नाम के साथ रजिस्टर करें।
:::

3. फाइल को पब्लिश करें और इसे CloudStack में रजिस्टर करें। बिल्ड द्वारा प्रिंट किए गए SHA-256 का उपयोग करें, और फाइल पूरी तरह लिखे जाने के बाद ही रजिस्टर करें:

   ```bash
   cmk 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=osdefault
   ```

   - `passwordenabled=true` CloudStack को VM पासवर्ड जनरेट करने देता है।
   - `isdynamicallyscalable=true` लाइव स्केलिंग की अनुमति देता है।
   - वर्तमान Rocky और Alma इमेज को बूट करने के लिए `host-passthrough` आवश्यक है; `osdefault` डिस्क कंट्रोलर को पोर्टेबल रखता है।

4. **Download Complete / Ready** तक पहुँचने के लिए टेम्पलेट का इंतज़ार करें।

वेंडर इमेज अपना छोटा वर्चुअल साइज़ (Ubuntu और Debian के लिए लगभग 3.5 GiB, Rocky के लिए 10 GiB) बनाए रखती है। याद रखें कि किसी प्लान की डिस्क टेम्पलेट की डिस्क से छोटी नहीं हो सकती।

### Proxmox VE: एक टेम्पलेट बनाएं {#proxmox-ve-make-a-template}

जिस भी नोड पर आप डिप्लॉय करते हैं, उस पर प्रत्येक OS के लिए गेस्ट एजेंट इंस्टॉल और रूट लॉगिन सक्षम करके एक क्लाउड-इinit VM टेम्पलेट बनाएं, फिर इसे `os-key=vmid` के रूप में रजिस्टर करें। पूर्ण कमांड [Proxmox VE](https://nexcmp.com/hi/docs/infrastructure/proxmox/) में हैं। ऊपर दिया गया CloudStack बिल्डर Proxmox के लिए **नहीं** है: यह CloudStack डेटा सोर्स के लिए cloud-init को कॉन्फ़िगर करता है।

### ISOs {#isos}

ग्राहक **Images** मॉड्यूल (CloudStack) या डेडिकेटेड सर्वर मॉड्यूल के माध्यम से अपने स्वयं के ISOs माउंट करते हैं। वे इस पेज पर मौजूद OS टेम्पलेट्स से अलग हैं। [Modules](https://nexcmp.com/hi/docs/infrastructure/modules/) और [Dedicated servers](https://nexcmp.com/hi/docs/infrastructure/dedicated/) देखें।

## NexCMP में कनेक्ट करें {#connect-in-nexcmp}

1. **Services › Virtual Machines › Template** खोलें। **Sync now** पर क्लिक करें या 15 मिनट तक प्रतीक्षा करें। सिंक उन टेम्पलेट्स को जोड़ता है जो CloudStack में तैयार और फ़ीचर्ड हैं।

      ![सिंक किए गए टेम्पलेट्स को उनकी तैयार स्थिति और CPU हॉट-प्लग कॉलम के साथ दिखाने वाला टेम्पलेट पेज](https://nexcmp.com/hi/docs/images/infrastructure/templates-01-list.webp)

2. नए टेम्पलेट पर **Edit** पर क्लिक करें और सेट करें कि ग्राहकों को क्या दिखाई दे:

   | फ़ील्ड | उदाहरण मान |
   |---|---|
   | ग्राहकों के लिए प्रदर्शित नाम | `Ubuntu 24.04 LTS` |
   | OS परिवार | `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)** |

      ![ग्राहक-सामने वाले नाम, OS परिवार, लॉगिन उपयोगकर्ता और हॉट-प्लग विकल्प के साथ एडिट टेम्पलेट डायलॉग](https://nexcmp.com/hi/docs/images/infrastructure/templates-02-edit.webp)

3. टेम्पलेट चालू करें। जो टेम्पलेट CloudStack अब सूचीबद्ध नहीं करता है, वह स्वतः छिपा दिया जाता है (और यदि कॉन्फ़िगर किया गया है तो आपको Telegram पर सतर्क किया जाता है); इसे NexCMP से कभी हटाया नहीं जाता है।

### किसी टेम्पलेट को नए बिल्ड से बदलें {#replace-a-template-with-a-newer-build}

बेचे गए टेम्पलेट पर **More › Replace with new version** का उपयोग करें। नया, तैयार और वर्तमान में अक्षम टेम्पलेट चुनें। इसके बाद बेचा गया प्रविष्टि नए बिल्ड को इंगित करती है और अपना नाम, क्रम और आइकन बनाए रखती है; पुराना वाला वापस जाने के रास्ते के रूप में अक्षम कर दिया जाता है (वापस जाने के लिए, नए प्रविष्टि पर **Replace** का उपयोग करें)। चल रहे VM को नहीं छुआ जाता है। यदि नया बिल्ड एक अलग OS परिवार का है, तो पहले पुष्टि पर टिक करें।

## सत्यापित करें {#verify}

1. पंक्ति `vN` (6 या अधिक N के साथ) नाम वाले बिल्ड के लिए **ready** और **CPU hot-plug: supported** दिखाती है।
2. टेम्पलेट से एक परीक्षण VM तैनात करें और VM के भीतर जाँच करें:
   - आप पोर्टल में दिखाए गए पासवर्ड से लॉग इन कर सकते हैं;
   - `df -h /` प्लान का डिस्क आकार दिखाता है;
   - लाइव स्केल के बाद (बिना रीबूट के **Change plan**), `nproc` और `free -m` बढ़ते हैं;
   - `swapon --show` `/swapfile` को सूचीबद्ध करता है (स्वैप प्लस 2 GiB खाली से कम डिस्क वाले इसे छोड़ देते हैं);
   - `systemctl is-active qemu-guest-agent` `active` प्रिंट करता है।
3. यदि आपने एजेंट को शामिल किया है, तो पहली बूट के बाद एक मिनट में पैनल के मॉनिटर किए गए होस्ट में VM दिखाई देता है। VM को अपने एक सार्वजनिक IP की आवश्यकता होती है: पैनल इसे इसके सार्वजनिक स्रोत IP से पहचानता है।

## सीमाएँ और नोट्स {#limits-and-notes}

- बिल्डर केवल 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` से हटाएं, फिर प्रशासनिक कंसोल में एजेंट को हटाएं।

## ट्रबलशूटिंग {#troubleshooting}

| लक्षण | कारण | सुधार |
|---|---|---|
| `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-मिनट के चक्र की प्रतीक्षा करें। |
