Proxmox VE
ตำแหน่งในหน้าผู้ดูแลระบบ: Infrastructure › Cloud provider › Providers (
/infra/providers) จากนั้นไปที่หน้าผู้ให้บริการ (/infra/providers/<id>) ที่มีแท็บ Overview, Clusters, VMs, Servers และ Credentials ตั้งค่าแพ็กเกจได้ที่ Services › Virtual Machines › Plans & pricing (/vm/catalog)
What it does
NexCMP สามารถขายเครื่องเสมือนที่ทำงานบนคลัสเตอร์ Proxmox VE หนึ่งคลัสเตอร์หรือมากกว่านั้น ควบคู่หรือแทนที่ CloudStack ได้ การสร้าง VM ทำได้โดยโคลนเทมเพลต OS แบบ full clone จากนั้นกำหนดค่าผ่าน cloud-init ได้แก่ ขนาด, ที่อยู่ IP จากพูลที่คุณกำหนด, รหัสผ่าน root และ SSH key ลูกค้าจะได้รับสิทธิ์การควบคุมเปิดปิดเครื่อง, คอนโซล, สแนปชอต, ติดตั้งใหม่, รีเซ็ตรหัสผ่าน และเมตริกในพอร์ทัล โดยจะไม่เห็นชื่อคลัสเตอร์, โหนด หรือแหล่งที่มาเลย
ใช้งานเมื่อคุณรัน Proxmox VE อยู่แล้ว หรือเพื่อเสนอพูล VM สำรองที่มีการกำหนดราคาแตกต่างออกไป
ข้อกำหนด
| Item | Requirement |
|---|---|
| Proxmox VE | PVE 9.x การบูรณาการได้รับการตรวจสอบยืนยันบนเวอร์ชัน 9.2 โดยต้องใช้เนื้อหาในสเทอเรจ import และตัวเลือกดิสก์ import-from (PVE 8.2 หรือใหม่กว่า) |
| เน็ตเวิร์กจากพาเนล | HTTPS ไปยัง API ของคลัสเตอร์ https://<host or IP>:8006 ไม่มีพาธ, ชื่อผู้ใช้ หรือคิวรี ทั้งพาเนลและ worker จะทำการเชื่อมต่อเข้ามา และคอนโซลของเบราว์เซอร์จะถูกพร็อกซีผ่านพาเนล |
| บัญชี | ผู้ใช้ PVE เฉพาะสำหรับ API token และบทบาทกำหนดเองพร้อมสิทธิ์ที่แสดงรายการด้านล่าง ห้ามใช้ root@pam เด็ดขาด |
| สตอเรจ | สเทอเรจสำหรับดิสก์ VM ที่รองรับการโคลน (ตัวอย่างเช่น local-lvm) สำหรับตัวสร้างเทมเพลตในตัว ให้ใช้สเทอเรจชื่อ local ที่มีประเภทเนื้อหา import และ snippets |
| Network | บริดจ์ Linux (ตัวอย่างเช่น vmbr0) ที่เชื่อมต่อไปยังเน็ตเวิร์กซึ่งที่อยู่ IP ของลูกค้าอยู่ ใช้บริดจ์ที่รองรับ VLAN หากคุณป้อนแท็ก VLAN |
| IP | บล็อก IPv4 (/16 ถึง /30) ที่กำหนดเส้นทางไปยังบริดจ์นั้น พร้อมเกตเวย์ NexCMP จะทำการกำหนดแอดเดรสเอง เนื่องจาก Proxmox ไม่มีระบบจัดการ IP |
| เทมเพลต | เทมเพลต VM แบบ cloud-init หนึ่งรายการต่อ OS บนทุกโหนดที่คุณปรับ the deployment พร้อมกับ QEMU guest agent |
| โซน | โซนที่มีอยู่เพื่อเชื่อมต่อคลัสเตอร์เข้าด้วยกัน ดูเพิ่มเติมที่ Zones |
| ขึ้นอยู่กับ | ไม่มี |
เตรียมโครงสร้างพื้นฐาน
รันคำสั่งในฐานะ root บนโหนดคลัสเตอร์ใดก็ได้
1. สร้างบทบาทสิทธิ์น้อยที่สุด ผู้ใช้ และ API token
สร้างบทบาท รายการสิทธิ์เป็นสิ่งที่ NexCMP ใช้พอดี ไม่มีสิ่งใดที่แก้ไขผู้ใช้ คำจำกัดความของสเทอเรจ หรือดาต้าเซ็นเตอร์
bashpveum role add NexCMP -privs "VM.Allocate VM.Clone VM.Config.CDROM VM.Config.CPU VM.Config.Cloudinit VM.Config.Disk VM.Config.HWType VM.Config.Memory VM.Config.Network VM.Config.Options VM.PowerMgmt VM.Audit VM.Console VM.Snapshot VM.Snapshot.Rollback VM.Backup VM.GuestAgent.Audit VM.GuestAgent.Unrestricted Datastore.Audit Datastore.AllocateSpace Datastore.AllocateTemplate Sys.Audit Sys.AccessNetwork SDN.Use SDN.Audit Pool.Audit Mapping.Audit Mapping.Use"Sys.AccessNetworkจำเป็นสำหรับการดาวน์โหลดอิมเมจคลาวด์ PVE 9 ไม่มีสิทธิ์VM.Monitorดังนั้นห้ามเพิ่มลงไปสร้างผู้ใช้และโทเค็น
--privsep 1หมายความว่าสิทธิ์ของโทเค็นคือการ อินเตอร์เซกชัน ระหว่างสิทธิ์ของผู้ใช้และสิทธิ์ของโทเค็นเองbashpveum user add nexcmp@pve --comment "NexCMP" pveum user token add nexcmp@pve api --privsep 1คำสั่งจะพิมพ์โทเค็น secret ออกมาครั้งเดียว (เป็น UUID) โปรดคัดลอกเก็บไว้ตอนนี้ ID ของโทเค็นคือ
nexcmp@pve!api.กำหนดบทบาทให้กับ ทั้ง ผู้ใช้และโทเค็น นี่คือขั้นตอนที่คนมักพลาด เนื่องจากมีการแยกสิทธิ์ มีเพียงโทเค็นเท่านั้นที่จะได้รับข้อผิดพลาด 403 เช่น
Datastore.Auditหากผู้ใช้ไม่มีสิทธิ์bashpveum acl modify / --roles NexCMP --users nexcmp@pve pveum acl modify / --roles NexCMP --tokens 'nexcmp@pve!api'ทดสอบการทำงานจากเซิร์ฟเวอร์พาเนล:
bashcurl -sk -H 'Authorization: PVEAPIToken=nexcmp@pve!api=<secret>' https://192.0.2.10:8006/api2/json/versionเอกสาร JSON ที่มี
versionหมายความว่าโทเค็นทำงานได้ (-kใช้สำหรับการตรวจสอบอย่างรวดเร็วนี้เท่านั้น โดย NexCMP จะทำการตรึงใบรับรองด้วยตัวเอง ดูรายละเอียดด้านล่าง)
2. ตรวจสอบบริดจ์และที่เก็บข้อมูล
bash
pvesm status # storages, type, content and free space
ip -br link show type bridge- VM ของลูกค้าจะได้รับอินเทอร์เฟซเครือข่าย
virtioบนบริดจ์ที่คุณป้อนใน NexCMP หากคุณตั้งค่า VLAN บริดจ์นั้นจะต้องรองรับ VLAN (VLAN-aware) - วาง VM ของลูกค้าไว้บนบริดจ์หรือ VLAN แยกต่างหากจาก address การจัดการของโหนด หากใช้เครือข่ายร่วมกัน ชุด IP การจัดการอัตโนมัติของไฟร์วอลล์ Proxmox จะเปิดพอร์ต 22, 8006, 3128, 5900-5999 และ 60000-60050 ของโหนดให้กับทุก VM ในเครือข่ายนั้น หากไม่สามารถแยกกันได้ ให้เพิ่มกฎ DROP สำหรับซับเน็ตของ VM ไปยังพอร์ตดังกล่าวไว้เหนือพอร์ตการจัดการแบบ ACCEPT
3. หมายเหตุเกี่ยวกับที่เก็บข้อมูล (LVM-thin)
- ปล่อยให้การทำ zeroing ของ thin-pool เป็นค่าเริ่มต้น การปิดใช้งาน (
lvchange -Zn) อาจทำให้มีข้อมูลเก่าหลงเหลืออยู่ในบล็อกที่จัดสรรใหม่ และสร้างความเสียหายให้กับตารางพาร์ติชันหรือระบบไฟล์ของ VM ที่ถูกโคลน - ดิสก์ที่รายงาน "write cache: disabled" อาจมีความเร็วในการโคลนเพียงไม่กี่ MB/s เท่านั้น ให้ตรวจสอบด้วย
hdparm -W /dev/sdXและเปิดใช้งานแคชการเขียนหากดิสก์มีระบบป้องกันไฟดับ
4. เปิดใช้งานเนื้อหา import (สำหรับตัวสร้างเทมเพลตในตัวเท่านั้น)
ตัวสร้างในตัวจะดาวน์โหลดอิมเมจคลาวด์ไปยังที่เก็บข้อมูลชื่อ local และสร้างเทมเพลตจากอิมเมจนั้น เพิ่ม import (และ snippets) ลงในรายการเนื้อหาของที่เก็บข้อมูลนั้น รักษาประเภทที่คุณใช้อยู่เดิมไว้ เนื่องจาก --content จะแทนที่รายการทั้งหมด:
bash
pvesm status --storage local # note the current content
pvesm set local --content iso,vztmpl,backup,import,snippets5. สร้างเทมเพลต OS จากอิมเมจคลาวด์
เทมเพลตคือ VM แบบ cloud-init ที่ NexCMP ทำการโคลน แต่ละรายการจะลงทะเบียนภายใต้ OS key สั้น ๆ เช่น ubuntu-24.04 พร้อมกับ ID ของ VM นั้น สร้างเทมเพลตหนึ่งชุดต่อหนึ่ง OS บนทุกโหนดที่จะรับ VM เนื่องจากการโคลนจะทำงานบนโหนดที่เลือก
ตัวเลือก A แนะนำ: สร้างด้วยตัวเอง อิมเมจคลาวด์สต็อกของ Ubuntu และ Debian ไม่มี guest agent และไม่อนุญาตให้ล็อกอินด้วย root โดย NexCMP จะตั้งค่ารหัสผ่าน root ผ่านทาง cloud-init ให้เตรียมอิมเมจก่อนดังนี้:
bash
apt install -y libguestfs-tools
wget -O noble.qcow2 https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
virt-customize -a noble.qcow2 --install qemu-guest-agent \
--write /etc/cloud/cloud.cfg.d/99-nexcmp.cfg:$'ssh_pwauth: true\ndisable_root: false\n' \
--write /etc/ssh/sshd_config.d/00-nexcmp.conf:$'PermitRootLogin yes\nPasswordAuthentication yes\n'จากนั้นสร้าง VM เทมเพลต (id 9000 เป็นตัวอย่าง; ให้เก็บ id เทมเพลตไว้ต่ำกว่าค่า vmid from ซึ่งค่าเริ่มต้นคือ 1000):
bash
qm create 9000 --name tpl-ubuntu-24-04 --memory 2048 --cores 2 --cpu host --ostype l26 \
--scsihw virtio-scsi-single --net0 virtio,bridge=vmbr0 --agent 1 --serial0 socket --vga serial0
qm set 9000 --scsi0 local-lvm:0,import-from=$PWD/noble.qcow2,discard=on,iothread=1
qm set 9000 --ide2 local-lvm:cloudinit --boot order=scsi0
qm template 9000ตัวเลือก B: ตัวสร้างในตัว การ์ด Create OS template from cloud image บนแท็บ Clusters (ดูด้านล่าง) จะดาวน์โหลดอิมเมจ qcow2 สร้างเทมเพลตและลงทะเบียนไว้ โดยจะสร้าง VM พร้อมกับ cloud-init และแฟล็ก guest agent แต่จะไม่เปลี่ยนแปลงเนื้อหาภายในอิมเมจ ให้ใช้ตัวเลือกนี้เฉพาะกับอิมเมจที่อนุญาตให้ล็อกอิน root และรัน guest agent อยู่แล้ว หรือเมื่อคุณระบุสนิปเพ็ต cloud-init vendor-data เพิ่มเติม
จำเป็นต้องมี guest agent สำหรับ Reset password และสำหรับการแสดงที่อยู่ IP ของ VM
6. ตรวจสอบลายนิ้วมือใบรับรอง (ไม่บังคับ)
NexCMP เชื่อถือคลัสเตอร์ด้วยการตรึงลายนิ้วมือ SHA-256 ของใบรับรอง TLS ดังนั้นการใช้ใบรับรองที่ลงนามด้วยตนเองจึงใช้งานได้ วิธีดูค่าที่ NexCMP จะทำการตรึง:
bash
openssl x509 -in /etc/pve/local/pve-ssl.pem -noout -fingerprint -sha256เชื่อมต่อใน NexCMP
เปิด Infrastructure › Cloud provider › Providers และคลิก Add cloud provider เลือก Proxmox VE แล้วกรอกข้อมูลดังนี้:
ฟิลด์ ค่าตัวอย่าง Name Proxmox cluster 1Endpoint https://192.0.2.10:8006Token id nexcmp@pve!apiToken secret XXXX(UUID ที่พิมพ์ออกมาในขั้นตอนที่ 1)สลัก (Slug) pve-1(a-z, 0-9, ขีดกลาง, ความยาว 2-32 ตัวอักษร)Default node pve1(ว่าง: โหนดออนไลน์ที่มี RAM ว่างมากที่สุด)สตอเรจ local-lvmBridge vmbr0
คลิก Save & open provider แล้วป้อนเหตุผลเมื่อระบบถาม โทเค็นจะถูกเข้ารหัสก่อนจัดเก็บ
บนแท็บ Overview ให้คลิก Test connection การทดสอบครั้งแรกที่สำเร็จจะพินลายนิ้วมือ TLS ของคลัสเตอร์ และหลังจากนั้นจะปฏิเสธใบรับรองอื่น
เปิดแท็บ Clusters การ์ด Node · storage · bridge จะแสดงสิ่งที่ API มองเห็น ส่วนการ์ด Cluster configuration จะเก็บการตั้งค่า:
ฟิลด์ ความหมาย Default node โหนดที่ใช้สำหรับ VM ใหม่ ค่าว่างหมายถึงโหนดออนไลน์ที่มี RAM ว่างมากที่สุด Storage, Bridge, VLAN ดิสก์สตอเรจ, NIC bridge และแท็ก VLAN ที่เลือกได้ (0 หมายถึงไม่มี) CPU type hostเป็นค่าเริ่มต้น ใช้x86-64-v2-AESเมื่อโหนดมีรุ่น CPU ต่างกันvmid from ID ของ VM แรกที่กำหนดให้ VM ของลูกค้า (ค่าเริ่มต้น 1000) Storage ISO, Storage backup เว้นว่างไว้เว้นแต่คุณจะใช้งาน ค่าว่างหมายถึงไม่มีการให้บริการฟีเจอร์ ISO และสำรองข้อมูล Template OS บรรทัดละหนึ่งรายการ os-key=vmidเช่นubuntu-24.04=9000Pinned TLS fingerprint (SHA-256) กรอกอัตโนมัติจากการทดสอบครั้งแรก ล้างค่าแล้วทดสอบอีกครั้งหลังจากที่คุณเปลี่ยนใบรับรองคลัสเตอร์ 
ไม่บังคับ: หากคุณใช้ตัวเลือก B ด้านบน ให้กรอก Create OS template from cloud image (คีย์ OS
ubuntu-24.04, vmid9000, โหนดpve1, URL อิมเมจ qcow2) แล้วคลิก Create template การทำงานจะรันอยู่เบื้องหลังสักครู่ ผลลัพธ์จะอยู่ใน Audit log
คลิก Add pool ใน Cluster IP pool และสร้างพูลที่ VM จะดึงแอดเดรสมาใช้:
ฟิลด์ ค่าตัวอย่าง Name customers-1CIDR 198.51.100.0/24Gateway 198.51.100.1(ไม่เคยกำหนดให้ VM)DNS 1.1.1.1,8.8.8.8(1 ถึง 4 แอดเดรส IPv4)Bridge, VLAN vmbr0,0Already used IPs บรรทัดละหนึ่งรายการ ip noteเช่น198.51.100.10 monitoringNexCMP จะไม่กำหนดแอดเดรสเครือข่าย, แอดเดรสบรอดคาสต์, เกตเวย์ หรือแอดเดรสที่สงวนไว้ พูลของคลัสเตอร์เดียวกันต้องไม่ทับซ้อนกัน พูลจะสามารถลบได้ก็ต่อเมื่อไม่มีแอดเดรสใดถูกใช้งานอยู่

ใน Attach cluster to zone ให้เลือกโซน และระบุชื่อโหนด (ไม่บังคับ) จากนั้นคลิก Attach to zone คลัสเตอร์จะเข้าร่วมโซนที่มีการขาย VM อยู่แล้ว ทำให้โซนเดียวสามารถมีทั้ง CloudStack และ Proxmox ร่วมกันได้ แหล่งที่มาใหม่นี้จะไม่ถูกวางจำหน่ายโดยค่าเริ่มต้น และไม่เปลี่ยนแปลงพฤติกรรมของแพ็กที่มีอยู่เดิม

เปิด Services › Virtual Machines › Plans & pricing และคลิก Add plan ใน Infrastructure source ให้เลือกคลัสเตอร์ Proxmox จากนั้นกำหนด CPU, RAM, ดิสก์ และราคา แพ็ก Proxmox ไม่จำเป็นต้องใช้ข้อเสนอ CloudStack หากต้องการขายการกำหนดค่าเดียวกันจากทั้งสองแหล่ง ให้ใช้ Clone บนแพ็กแล้วเลือกแหล่งอื่น ดิสก์ของแพ็กต้องมีขนาดอย่างน้อยเท่ากับดิสก์ของเทมเพลต เนื่องจาก Proxmox ไม่สามารถย่อขนาดดิสก์ลงได้
นำเข้า VM ที่มีอยู่แล้ว
เปิดแท็บ Servers เพื่อแสดงรายการ VM บนคลัสเตอร์ Import เป็นการกำหนด VM ที่มีอยู่แล้วให้กับบัญชีลูกค้าโดยไม่มีค่าใช้จ่าย: จะไม่มีการเรียกเก็บเงินสำหรับชั่วโมงการทำงาน เวลาที่ปิดเครื่อง หรือปริมาณการใช้งาน ลูกค้าสามารถเริ่ม, หยุด, รีบูต และเปิดคอนโซลได้ แต่ไม่สามารถลบได้ มีเพียงผู้ดูแลระบบเท่านั้นที่ทำได้ NexCMP จะอ่านข้อมูลจากคลัสเตอร์ในระหว่างการนำเข้าเท่านั้น
คลัสเตอร์ต้องเชื่อมโยงกับโซนที่ มีชื่อโหนด ของ VM นั้น (หากเว้นว่างโหนดไว้ ระบบจะรายงานว่ายังไม่ได้ตั้งค่าภูมิภาค)
หากต้องการทำให้ VM อยู่ในสถานะ protected (จะไม่สามารถหยุด, รีบูต, ติดตั้งใหม่, กู้คืนสแนปชอต, ลบถาวร และเปลี่ยนแผนได้) ให้ทำการนำเข้าจากบรรทัดคำสั่งด้วย
--protect:bashsudo -u nexcmp /opt/nexcmp/bin/nexcmp px-import --provider pve-1 --server-ref pve1/101 --account-id 12 --hostname web-1 --protect
สิ่งที่รองรับและไม่รองรับบน Proxmox
| ฟีเจอร์ | Proxmox VE |
|---|---|
| สร้าง, เปิด/ปิดเครื่อง/รีบูต, ลบ | ใช่ |
| ปรับขนาด CPU และ RAM, ขยายดิสก์ | ได้ แต่ VM จะต้องถูกหยุดทำงาน เปลี่ยนแปลง และเริ่มทำงานใหม่อีกครั้ง (ไม่มีการปรับขนาดแบบสด) |
| Snapshots | ได้ สูงสุด 5 รายการต่อ VM: สร้าง, แสดงรายการ, กู้คืน, ลบ |
| ติดตั้งระบบปฏิบัติการใหม่ | ได้: VM จะถูกสร้างขึ้นใหม่จากเทมเพลตโดยยังคงรหัสประจำตัว, IP และการตั้งค่าเดิม พร้อมรหัสผ่านใหม่ |
| รีเซ็ตรหัสผ่าน | ได้ ผ่านทาง guest agent |
| คอนโซล | ได้ คอนโซลผ่านเบราว์เซอร์ที่พร็อกซีโดยแผงควบคุม |
| เมตริก | ได้: CPU, หน่วยความจำ, เครือข่าย และดิสก์ |
| การเมานต์ ISO, การสำรองข้อมูล, ไฟร์วอลล์, IPv6, การส่งต่อพอร์ต, เปลี่ยน IP, วอลุ่มเสริม, Auto Scaling, DDoS Shield, VPC, การวัดปริมาณการใช้งานแบนด์วิดท์ | ไม่สามารถใช้งานได้ หน้าจัดการ VM ของลูกค้าจะซ่อนสิ่งที่ไม่รองรับ |
ตรวจสอบ
- Test connection แสดงสถานะ OK และสถานะผู้ให้บริการใช้งานได้
- Clusters แสดงรายการโหนดของคุณว่าออนไลน์ พร้อมทั้งสตอเรจและบริดจ์
- Cluster IP pool แสดงจำนวนที่ว่าง, ที่ใช้ไป และที่ถูกถือครอง
- คีย์ OS จะปรากฏภายใต้เทมเพลตของโซนใน Services › Virtual Machines › Template หลังจากเชื่อมโยงคลัสเตอร์แล้ว
- สั่งซื้อ VM ทดสอบจากแผนที่ใช้คลัสเตอร์ดังกล่าว ควรได้รับที่อยู่ IP จากพูล, รหัสผ่านรูท และคอนโซลที่ใช้งานได้ รวมถึงพูลจะแสดงที่อยู่ IP ที่ถูกใช้งานไป 1 รายการ
ข้อจำกัดและหมายเหตุ
โซนที่มีหลายแหล่งโครงสร้างพื้นฐาน
ตั้งแต่ NexCMP 1.4.0 รายการราคา Cloud Server สาธารณะสามารถใช้งานได้เช่นกันเมื่อ CloudStack และ Proxmox VE ใช้งานโซนร่วมกัน แต่ละแพ็กเกจจะใช้ Infrastructure source ของตนเอง หลังจากเชื่อมต่อคลัสเตอร์แล้ว ให้ตรวจสอบรายการราคาสาธารณะและทดลองสั่งซื้อสำหรับแต่ละแหล่ง
- สามารถเพิ่มคลัสเตอร์ Proxmox หลายรายการได้ โดยแต่ละรายการคือหนึ่งผู้ให้บริการ
- โซนหนึ่งจะมีแหล่งที่มาเริ่มต้นหนึ่งรายการ; แผนที่มี Infrastructure source ของตัวเองจะถูกปรับใช้กับคลัสเตอร์นั้นโดยตรง ตราบใดที่คลัสเตอร์ยังใช้งานได้และอยู่ในโซนของแผน
- คลัสเตอร์ที่อยู่เบื้องหลังโซนเดียวกับ CloudStack จะยังคงใช้แผนเดิมบน CloudStack ต่อไป ให้ทดสอบคำสั่งซื้อตั้งแต่ต้นจนจ trướcเปิดใช้งานจริง
- โทเค็น API สามารถเปลี่ยนแทนที่ได้เท่านั้น ไม่สามารถดูค่าได้ ให้แทนที่ในแท็บ Credentials: สร้างโทเค็นใหม่ใน Proxmox ก่อน,ป้อนค่า, รัน Test connection แล้วจึงเพิกถอนโทเค็นเก่า
- การกระทำ Test, Sync และ cluster-info ถูกจำกัดไว้ที่หกครั้งต่อนาทีต่อผู้ดูแลระบบหนึ่งท่าน
- NexCMP เรียกเก็บเงินจากลูกค้าของคุณ ส่วนค่าฮาร์ดแวร์และค่าลิขสิทธิ์ของคลัสเตอร์เป็นภาระรับผิดชอบของคุณ
การแก้ Problme
| อาการ | สาเหตุ | วิธีแก้ปัญหา |
|---|---|---|
| ทดสอบ: "Key rejected (wrong access key / secret, or revoked)" หรือ HTTP 401/403 | รหัสโทเค็นหรือรหัสลับไม่ถูกต้อง หรือมีการกำหนดสิทธิ์ ACL ให้กับโทเค็นนั้นเท่านั้น | รันคำสั่ง pveum acl modify ทั้งสองคำสั่ง (ผู้ใช้ และ โทเค็น) อีกครั้งและตรวจสอบว่ารหัสโทเค็นคือ user@realm!tokenid |
| การทดสอบ: "Could not connect to the provider" หรือ "Timed out" | ไฟร์วอลล์ โฮสต์ หรือพอร์ตไม่ถูกต้อง | ตรวจสอบ https://host:8006 จากเซิร์ฟเวอร์แผงควบคุม |
| การทดสอบ: "Invalid endpoint or not on the allowlist" | เอนด์พอยต์มีพาธ ผู้ใช้ คิวรี หรือไม่ใช่ HTTPS | ใช้ https://host:8006 ให้ถูกต้อง |
| "ใบรับรอง TLS ของคลัสเตอร์ไม่ตรงกับฟิงเกอร์พริ้นต์ที่ตรึงไว้" | ใบรับรองคลัสเตอร์ถูกแทนที่ | ล้าง Pinned TLS fingerprint บนแท็บ Clusters บันทึก แล้วรัน Test connection อีกครั้ง |
| Slug ถูกปฏิเสธ | ไม่ใช่ a-z, 0-9, ขีดกลาง หรือไม่ใช่ 2-32 ตัวอักษร | ใช้ค่าประมาณ pve-1 |
| "รูปแบบ Token id: user@realm!tokenid และจำเป็นต้องระบุ secret" | รหัสโทเค็นหรือรหัสลับหายไป | ป้อนทั้งสองค่า; รหัสลับคือ UUID ที่แสดงขึ้นเมื่อสร้างโทเค็น |
| "บรรทัดเทมเพลตไม่ถูกต้อง: …" | บรรทัดใน Template OS ไม่ใช่ key=vmid | ใช้อักษร ตัวเลข ., _, - ในคีย์และ vmid อย่างน้อย 100 |
| "คีย์ OS: a-z 0-9 . _ - และ vmid ≥ 100" | คีย์หรือไอดีไม่ถูกต้องใน Create template | แก้ไขคีย์ OS และใช้ vmid ที่ว่างอยู่ |
| "vmid … already exists" เมื่อสร้างเทมเพลต | vmid นี้ถูกใช้งานแล้ว | เลือกไอดีอื่น |
| "url ชี้ไปยังที่อยู่ภายใน" | URL ของอิมเมจเป็น IP ภายใน | ใช้ URL สาธารณะ โดยชื่อจะถูกแปลงโดย Proxmox |
| งานเทมเพลตล้มเหลวในการดาวน์โหลด | พื้นที่เก็บข้อมูล local ไม่มีเนื้อหา import | pvesm set local --content …,import,snippets แล้วลองอีกครั้ง ชื่อไฟล์ต้องลงท้ายด้วย .qcow2, .raw, .vmdk, .ova หรือ .ovf |
| "cluster has no online nodes" หรือ "node … is not online" | โหนดเริ่มต้นออฟไลน์หรือสะกดผิด | แก้ไข Default node หรือปล่อยว่างไว้ |
| "อิมเมจไม่ได้เป็นของคลัสเตอร์" | OS ของแผนไม่มีอยู่ใน Template OS | เพิ่มคีย์ลงในรายการและบันทึก |
| การปรับใช้ค้าง จากนั้นล้มเหลวในการโคลน | VM เทมเพลตไม่ได้อยู่บนโหนดที่เลือก | สร้างเทมเพลตบนโหนดนั้น หรือตั้งค่า Default node ไปยังโหนดที่มีเทมเพลตดังกล่าว |
| ลูกค้าไม่สามารถเข้าสู่ระบบในฐานะ root ได้ | อิมเมจบล็อกการเข้าสู่ระบบของ root | สร้างเทมเพลตใหม่ตามตัวเลือก A |
| การรีเซ็ตกรุ๊ปรหัสผ่านไม่มีผลใดๆ | ไม่มีเกสต์เอเจนต์ในระบบปฏิบัติการแขก | ติดตั้งและเปิดใช้งาน qemu-guest-agent ใน template |
| "ต้องระบุชื่อ, CIDR และเกตเวย์" | ฟิลด์พูลหายไป | กรอกข้อมูลทั้งสามช่อง |
| Pool create: "overlaps with pool …", "gateway must be within range (not network/broadcast address)" หรือ "cidr: network address must be …" | พูลทับซ้อนกัน เกตเวย์ไม่ถูกต้อง หรือ CIDR ที่ไม่อยู่บนขอบเขตเครือข่าย | ใช้ช่วงที่ว่าง เกตเวย์ที่อยู่ภายใน และ CIDR ที่เขียนเป็นที่อยู่เครือข่าย (ตัวอย่างเช่น 198.51.100.0/24) |
| การนำเข้า: "region is not set up" | คลัสเตอร์เชื่อมต่ออยู่โดยไม่มีชื่อโหนดของ VM | เชื่อมต่อคลัสเตอร์เข้ากับโซนพร้อมระบุชื่อโหนด |