Vì vậy, sau 2 tuần nghiên cứu và đọc rất nhiều bài đăng trên blog, cuối cùng tôi đã tìm ra cách thực hiện.
Nó không đặc biệt rõ ràng, nhưng nó cũng không phải là khoa học tên lửa, tuy nhiên, tôi có cảm giác (và sự thù địch) khi hỏi trong các diễn đàn proxmox rằng họ không muốn bạn rời khỏi nền tảng proxmox, tạm thời hay cách khác.
Dù sao, các bước bạn cần làm theo về cơ bản là
tại dòng lệnh proxmox, "pct list" để lấy ID của vùng chứa mà bạn muốn sao chép.
tại cùng một dòng lệnh "vzdump -compress gzip -dumpdir /tmp" , bạn không cần tham số thư mục kết xuất, nhưng mặc định được lồng vào sâu một số thư mục ngu ngốc, vì vậy tôi khuyên bạn nên sử dụng thư mục tmp để dễ dàng .
sau đó bạn cần tạo một "tệp dữ liệu meta" bằng cách sử dụng các lệnh sau (Vui lòng LƯU Ý: các ký hiệu # cần được thay đổi thành BACKTICKS trước khi bạn sao chép và dán/sử dụng lệnh, tôi đã phải sử dụng ký hiệu # làm phần đánh dấu trong một bài đăng SO không thể hiển thị biểu tượng backtick do cách đánh dấu sử dụng nó):
kiến trúc tiếng vang: #pct config $1 | vòm grep: | awk '{print $2}'# > metadata.yaml
ngày tạo tiếng vang: #date +%s# >> metadata.yaml
siêu dữ liệu tar -czvf.tar.gz siêu dữ liệu.yaml
siêu dữ liệu rm.yaml
Di chuyển các tệp ".tar.gz" mà bạn đã tạo sang máy đích đang chạy phiên bản LXD hiện đại, tôi đã sử dụng rsync cho việc này.
TRÊN dòng lệnh của máy LXD của bạn, hãy sử dụng lệnh sau để nhập siêu dữ liệu và kết xuất tệp vào hình ảnh lxc:
siêu dữ liệu nhập hình ảnh sudo lxc.tar.gz <tên vzdump>.tar.gz
Thao tác này sẽ nhập vùng chứa dưới dạng hình ảnh, không thể chạy trực tiếp, hãy nhập
danh sách hình ảnh lxc
và lấy dấu vân tay của hình ảnh bạn vừa tạo
vẫn ở dòng lệnh LXD, sử dụng dấu vân tay từ hình ảnh của bạn, hãy sử dụng:
lxc launch <dấu vân tay> <tên bạn muốn cung cấp cho vùng chứa của mình>
Tại thời điểm này, bạn sẽ có một thùng chứa mới, đó là bản sao chính xác của thùng chứa proxmox ban đầu của bạn đang chạy.
Tuy nhiên, những gì bạn có thể không có là các cài đặt mạng giống nhau. Đối với tôi, tôi có mọi thứ trên mạng của mình không sử dụng DHCP, bao gồm cả các hợp đồng thuê tĩnh, vì vậy điều quan trọng là các vùng chứa mới của tôi có cùng địa chỉ MAC, điều đó có thể dễ dàng thực hiện bằng cách sử dụng
cấu hình pct <id vùng chứa>
trên proxmox cli để hiển thị cấu hình phần cứng, sau đó sao chép và dán địa chỉ MAC từ đó, tiếp theo là
dừng lxc <tên vùng chứa>
bộ cấu hình lxc <tên vùng chứa> dễ bay hơi.eth0.hwaddr <địa chỉ mac được sao chép>
lxc bắt đầu <tên vùng chứa>
Nếu các hợp đồng thuê tĩnh DHCP của bạn được điều khiển từ địa chỉ mac, thì điều này sẽ đảm bảo rằng chúng có cùng địa chỉ IP, miễn là máy chủ LXD của bạn được thiết lập để kết nối IP trên cùng một mạng với máy chủ proxmox ban đầu của bạn.
Tôi đã viết một bài đăng trên blog có thể được tìm thấy tại: https://shawtyds.wordpress.com/2021/11/16/converting-containers-from-proxmox-ve-back-to-plain-old-lxd-lxc/ mà đi sâu vào chi tiết hơn một chút.
Sau khi vùng chứa đã sao chép của bạn đang chạy, vấn đề chỉ là sử dụng lxc để xóa hình ảnh tạm thời (trừ khi bạn muốn giữ nó) và xóa các tệp ".tar.gz" khỏi cả hai máy chủ và có thể xóa vùng chứa cũ khỏi proxmox nếu bạn không còn cần nó nữa.