ดังนั้นหลังจาก 2 สัปดาห์ของการค้นคว้าและอ่านบทความในบล็อกจำนวนมาก ในที่สุดฉันก็ค้นพบวิธีการทำ
มันไม่ได้มุ่งตรงไปข้างหน้าเป็นพิเศษ แต่ก็ไม่ใช่วิทยาศาสตร์จรวดเช่นกัน อย่างไรก็ตามฉันรู้สึก (และความเป็นศัตรู) จากการถามในฟอรัม proxmox ว่าพวกเขาต้องการให้คุณไม่ย้ายออกจากแพลตฟอร์ม proxmox ชั่วคราวหรืออย่างอื่น
อย่างไรก็ตาม ขั้นตอนที่คุณต้องปฏิบัติตามเป็นหลัก
ที่บรรทัดคำสั่ง proxmox "pct list" เพื่อรับ ID ของคอนเทนเนอร์ที่คุณต้องการคัดลอก
ที่บรรทัดคำสั่งเดียวกัน "vzdump -compress gzip -dumpdir /tmp" คุณไม่จำเป็นต้องใช้พารามิเตอร์ dump dir แต่ค่าดีฟอลต์จะซ้อนโฟลเดอร์จำนวนมากที่โง่เขลา ดังนั้นฉันขอแนะนำให้ใช้ tmp dir เพื่อความสะดวก .
จากนั้นคุณต้องสร้าง "ไฟล์ข้อมูลเมตา" โดยใช้คำสั่งต่อไปนี้ (โปรดทราบ: ต้องเปลี่ยนสัญลักษณ์ # เป็น BACKTICKS ก่อนที่คุณจะคัดลอกและวาง/ใช้คำสั่ง ฉันต้องใช้สัญลักษณ์ # เป็นเครื่องหมายใน โพสต์ SO ไม่สามารถแสดงสัญลักษณ์ backtick เนื่องจากวิธีการใช้เครื่องหมาย) :
สถาปัตยกรรม echo: #pct config $1 | grep โค้ง: | awk '{พิมพ์ $2}'# > metadata.yaml
echo Creation_date: #date +%s# >> metadata.yaml
tar -czvf metadata.tar.gz metadata.yaml
rm metadata.yaml
ย้ายไฟล์ ".tar.gz" ที่คุณสร้างข้ามไปยังเครื่องเป้าหมายที่ใช้ LXD เวอร์ชันใหม่ ฉันใช้ rsync สำหรับสิ่งนี้
ในบรรทัดคำสั่งของเครื่อง LXD ของคุณ ให้ใช้คำสั่งต่อไปนี้เพื่อนำเข้าข้อมูลเมตาและไฟล์ดัมพ์ลงในอิมเมจ lxc:
sudo lxc นำเข้าอิมเมจ metadata.tar.gz <ชื่อ vzdump>.tar.gz
สิ่งนี้จะนำเข้าคอนเทนเนอร์เป็นรูปภาพซึ่งไม่สามารถเรียกใช้ได้โดยตรง พิมพ์
รายการรูปภาพ lxc
และรับลายนิ้วมือของภาพที่คุณเพิ่งสร้างขึ้น
ยังคงอยู่ที่บรรทัดคำสั่ง LXD โดยใช้ลายนิ้วมือจากการใช้รูปภาพของคุณ:
lxc เปิดตัว <ลายนิ้วมือ> <ชื่อที่คุณต้องการให้คอนเทนเนอร์ของคุณ>
ณ จุดนี้ คุณจะมีคอนเทนเนอร์ใหม่ที่ซ้ำกับ proxmox ดั้งเดิมของคุณที่กำลังทำงานอยู่
สิ่งที่คุณอาจไม่มีคือการตั้งค่าเครือข่ายเดียวกัน สำหรับฉัน ฉันมีทุกอย่างบนเครือข่ายที่ไม่มี DHCP รวมถึงสัญญาเช่าแบบคงที่ ดังนั้น จึงเป็นเรื่องสำคัญที่คอนเทนเนอร์ใหม่ของฉันมีที่อยู่ MAC เดียวกัน ซึ่งทำได้ง่ายๆ โดยใช้
การกำหนดค่า pct <รหัสคอนเทนเนอร์>
บน proxmox cli เพื่อแสดงการกำหนดค่าฮาร์ดแวร์ จากนั้นคัดลอกและวางที่อยู่ MAC จากนั้นตามด้วย
lxc หยุด <ชื่อคอนเทนเนอร์>
lxc config ตั้ง <ชื่อคอนเทนเนอร์> volatile.eth0.hwaddr <ที่อยู่ mac ที่คัดลอก>
lxc เริ่มต้น <ชื่อคอนเทนเนอร์>
หากสัญญาเช่าแบบคงที่ DHCP ของคุณขับเคลื่อนจากที่อยู่ mac สิ่งนี้จะทำให้มั่นใจได้ว่าจะได้รับที่อยู่ IP เดียวกัน ตราบใดที่โฮสต์ LXD ของคุณได้รับการตั้งค่าให้เชื่อมโยง IP บนเครือข่ายเดียวกันกับโฮสต์ proxmox ดั้งเดิมของคุณ
ฉันได้เขียนโพสต์บล็อกซึ่งสามารถพบได้ที่: https://shawtyds.wordpress.com/2021/11/16/converting-containers-from-proxmox-ve-back-to-plain-old-lxd-lxc/ ที่ลงรายละเอียดเพิ่มเติมอีกเล็กน้อย
เมื่อคอนเทนเนอร์ที่คัดลอกของคุณทำงาน ก็แค่ใช้ lxc เพื่อลบอิมเมจชั่วคราว (เว้นแต่คุณต้องการเก็บไว้) และลบไฟล์ ".tar.gz" จากทั้งสองเซิร์ฟเวอร์ และอาจลบคอนเทนเนอร์เก่าออกจาก proxmox หากคุณไม่ต้องการใช้อีกต่อไป