คุณจะย้ายคอนเทนเนอร์ LXC ปกติ (จากเซิร์ฟเวอร์อื่นหรือเซิร์ฟเวอร์เดียวกัน) ไปยังคอนเทนเนอร์ Proxmox LXC ซึ่งสามารถเข้าถึงได้ผ่าน Proxmox web GUI ได้อย่างไร

ตัวอย่างเช่น ฉันมีคอนเทนเนอร์ที่สร้างขึ้นโดยเรียกใช้:

lxc-create -n debian8 -t debian -- -r jessie

Proxmox จะไม่หยิบคอนเทนเนอร์นี้ขึ้นมาโดยอัตโนมัติ ฉันสามารถเห็นข้อมูลที่เกี่ยวข้องที่เก็บไว้ใน/var/lib/lxcและคอนเทนเนอร์ดังกล่าวมีระบบไฟล์รูทปกติ ซึ่งแตกต่างจากดิสก์ดิบที่สร้างโดยคอนเทนเนอร์ Proxmox LXC ซึ่งติดตั้งบน ZFS rpool (ฉันใช้ ZFS เพื่อจัดเก็บข้อมูล ตามที่กำหนดค่าโดยตัวติดตั้ง Proxmox ISO)

ความแตกต่างอีกประการหนึ่งคือ Proxmox ใช้ไฟล์กำหนดค่าของตัวเองสำหรับ LXC

ขั้นตอนที่ดีที่สุดในการนำเข้า/แปลงและลงทะเบียนคอนเทนเนอร์ดังกล่าวกับ Proxmox คืออะไร?

answer

หากไม่มีคำอธิบายโดยละเอียดนี่คือวิธีที่คุณทำได้

  1. สร้างที่เก็บถาวรของคอนเทนเนอร์ LXC ของคุณ
  2. สร้าง Proxmox Container โดยใช้ไฟล์เก็บถาวรนั้นเป็นเทมเพลต

cd แรกลงในไดเร็กทอรีรูทคอนเทนเนอร์ lxc ของคุณ:

cd /var/lib/lxc/debian8/rootfs/

(หากคุณใช้โวลุ่ม lvm เป็นที่เก็บข้อมูลคอนเทนเนอร์ คุณต้องเมาต์และ cd ลงในจุดเมานต์ของคุณ ซึ่งสามารถทำได้โดย mount /dev/mapper/<lvgroup-lvdisk> /var/lib/lxc/debian8/rootfs/, และ cd ลงในจุดต่อเชื่อม)

สร้างที่เก็บถาวร:

tar -czvf /var/lib/vz/template/cache/my_debian8_template.tar.gz ./

จากนั้นสร้างคอนเทนเนอร์ proxmox ใหม่จากนั้น

pct create 100 /var/lib/vz/template/cache/my_debian8_template.tar.gz \
    -description LXC -hostname pvecontainer01 -memory 1024 -nameserver 8.8.8.8 \
    -net0 name=eth0,hwaddr=52:4A:5E:26:58:D8,ip=192.168.15.147/24,gw=192.168.15.1,bridge=vmbr0 \
    -storage local -password changeme

(คุณสามารถปรับเปลี่ยนตัวเลือกของคุณได้ตามที่คุณต้องการ)

ดูข้อมูลเพิ่มเติมได้ที่ - man pct

ยังคงเป็นคำถามและคำตอบที่ถูกต้อง แต่เมื่อเวลาผ่านไปจำเป็นต้องอัปเดต Proxmox v6 ช่วยให้คุณสร้างคอนเทนเนอร์ที่ไม่มีสิทธิพิเศษ (โดยค่าเริ่มต้น) และเนื่องจากเป็น uhm ไม่มีสิทธิพิเศษ (เพิ่มเติมเกี่ยวกับ CT ที่ไม่มีสิทธิพิเศษบน wiki ของพวกเขา ) คุณไม่สามารถสร้างอุปกรณ์หรือซ็อกเก็ต (สามารถทำได้โดยการแก้ไขการกำหนดค่าด้วยตนเอง แต่ไม่ใช่ หัวข้อของโพสต์นี้)

นั่นคือเหตุผลที่คุณอาจต้องแยก dirs พิเศษ เช่น sys, proc, net หรือ dev จากการสำรองข้อมูลคอนเทนเนอร์

ดังนั้นคำสั่งน่าจะเป็นดังนี้:

tar --exclude=dev --exclude=sys --exclude=proc -czvf /var/lib/vz/template/cache/my_debian8_template.tar.gz ./

หรือคุณจะได้รับ "การอนุญาตถูกปฏิเสธ" การกู้คืนคอนเทนเนอร์หลายประเภท