Score:0

ฉันสามารถกู้คืนไฟล์เก็บถาวร Vzdump tar ไปยังคอนเทนเนอร์ LXD/LXC ได้หรือไม่

ธง in

ฉันมีไฟล์ "tar" จำนวนหนึ่งที่สร้างจากเซิร์ฟเวอร์ proxmox 6 เก่า โดยใช้เครื่องมือ vzdump

ผู้ที่สร้างมันขึ้นมาในตอนแรกได้ออกจากบริษัทไปแล้ว และบริษัทได้เปลี่ยนคอนเทนเนอร์เซิร์ฟเวอร์จาก "Proxmox VE" เป็นเซิร์ฟเวอร์มาตรฐาน Linux Ubuntu 20.04 LTS ที่รันเวอร์ชันล่าสุดของ LXD สำหรับระบบคอนเทนเนอร์ของมัน

ตอนนี้ฉันถูกถามว่าฉันสามารถใช้ไฟล์ Vzdump tar เหล่านี้ และเปลี่ยนให้เป็นการปรับใช้ LXC มาตรฐานปกติที่ทำงานบนเซิร์ฟเวอร์ใหม่ได้หรือไม่

ทุกการค้นหาที่ฉันทำดูเหมือนว่าจะเปลี่ยนคอนเทนเนอร์ LXC แบบเปลือยเปล่าเป็นคอนเทนเนอร์ Proxmox VE เท่านั้น และการถามในฟอรัม proxmox ทำให้ฉันไปไหนไม่ได้ เพราะสิ่งที่พวกเขาต้องการทำคือพาฉันกลับไปที่ proxmox ซึ่งลูกค้าของฉันไม่ต้องการอีกต่อไป ใช้.

ฉันสามารถ vzrestore ลงบนเซิร์ฟเวอร์ใหม่ได้ แต่ข้อมูลเมตาในคอนเทนเนอร์เข้ากันไม่ได้กับ LXD/LXC ดังนั้นจนถึงขณะนี้ได้รับการพิสูจน์แล้วว่าเป็นจุดจบ

ในแนวทางเดียวกัน ฉันได้ลองแปลงคอนเทนเนอร์เป็นอิมเมจเทมเพลต LXC และสร้างจากสิ่งนั้น แต่ก็ไม่ได้ผลตามที่ฉันหวังไว้

djdomi avatar
za flag
proxmox ใช้การตั้งค่า lxc มาตรฐาน โปรดลองใช้ดู
in flag
อืมม... คุณอ่านคำถามของฉันถูกหรือเปล่า? ฉันทราบดีถึงสิ่งที่ Proxmox ใช้ภายใต้ประทุน แต่นั่นไม่ใช่สิ่งที่ฉันถามใช่ไหม
djdomi avatar
za flag
ฉันอ่านและใช้ไฟล์ backuo ซึ่งโดยพื้นฐานแล้วเป็นเพียงสำเนาของระบบไฟล์เพื่อคัดลอกและเริ่มคอนเทนเนอร์ สิ่งเดียวที่คุณอาจคิดคือกู้คืนสิ่งนี้เนื่องจากเป็นไฟล์สำรองไม่ใช่เทมเพลต
in flag
นั่นคือคำตอบที่ฉันกำลังมองหา วิธีนำไฟล์เก็บถาวรที่สร้างโดย vzdump และทำให้มันทำงานกับ LXD/LXC ปกติที่ไม่ได้ติดตั้งเป็นส่วนหนึ่งของ Proxmox หากคุณอธิบายได้ นั่นจะเป็นคำตอบ
djdomi avatar
za flag
ฉันคิดว่าคุณเพียงแค่ต้องใช้ lxc import tarfile
in flag
ตกลง ขอบคุณ จะลองดูว่าจะเกิดอะไรขึ้น
in flag
ลองแล้วได้รับสิ่งต่อไปนี้: "ข้อผิดพลาด: การสำรองข้อมูลขาด index.yaml" อย่างน้อยฉันก็มีบางอย่างที่ต้องตามล่า
Score:1
ธง in

ดังนั้นหลังจาก 2 สัปดาห์ของการค้นคว้าและอ่านบทความในบล็อกจำนวนมาก ในที่สุดฉันก็ค้นพบวิธีการทำ

มันไม่ได้มุ่งตรงไปข้างหน้าเป็นพิเศษ แต่ก็ไม่ใช่วิทยาศาสตร์จรวดเช่นกัน อย่างไรก็ตามฉันรู้สึก (และความเป็นศัตรู) จากการถามในฟอรัม proxmox ว่าพวกเขาต้องการให้คุณไม่ย้ายออกจากแพลตฟอร์ม proxmox ชั่วคราวหรืออย่างอื่น

อย่างไรก็ตาม ขั้นตอนที่คุณต้องปฏิบัติตามเป็นหลัก

  1. ที่บรรทัดคำสั่ง proxmox "pct list" เพื่อรับ ID ของคอนเทนเนอร์ที่คุณต้องการคัดลอก

  2. ที่บรรทัดคำสั่งเดียวกัน "vzdump -compress gzip -dumpdir /tmp" คุณไม่จำเป็นต้องใช้พารามิเตอร์ dump dir แต่ค่าดีฟอลต์จะซ้อนโฟลเดอร์จำนวนมากที่โง่เขลา ดังนั้นฉันขอแนะนำให้ใช้ tmp dir เพื่อความสะดวก .

  3. จากนั้นคุณต้องสร้าง "ไฟล์ข้อมูลเมตา" โดยใช้คำสั่งต่อไปนี้ (โปรดทราบ: ต้องเปลี่ยนสัญลักษณ์ # เป็น 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
  1. ย้ายไฟล์ ".tar.gz" ที่คุณสร้างข้ามไปยังเครื่องเป้าหมายที่ใช้ LXD เวอร์ชันใหม่ ฉันใช้ rsync สำหรับสิ่งนี้

  2. ในบรรทัดคำสั่งของเครื่อง LXD ของคุณ ให้ใช้คำสั่งต่อไปนี้เพื่อนำเข้าข้อมูลเมตาและไฟล์ดัมพ์ลงในอิมเมจ lxc:

    sudo lxc นำเข้าอิมเมจ metadata.tar.gz <ชื่อ vzdump>.tar.gz

สิ่งนี้จะนำเข้าคอนเทนเนอร์เป็นรูปภาพซึ่งไม่สามารถเรียกใช้ได้โดยตรง พิมพ์

รายการรูปภาพ lxc

และรับลายนิ้วมือของภาพที่คุณเพิ่งสร้างขึ้น

รายการภาพ LXC

  1. ยังคงอยู่ที่บรรทัดคำสั่ง 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 หากคุณไม่ต้องการใช้อีกต่อไป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา