Điểm:0

Tôi có thể khôi phục kho lưu trữ Vzdump tar vào bộ chứa LXD/LXC không

lá cờ in

Tôi có một số tệp "tar" được tạo từ máy chủ proxmox 6 cũ, sử dụng công cụ vzdump.

Người ban đầu tạo ra chúng đã rời công ty và công ty đã thay đổi máy chủ bộ chứa của nó từ "Proxmox VE" thành máy chủ Linux Ubuntu 20.04 LTS tiêu chuẩn chạy phiên bản LXD mới nhất cho hệ thống bộ chứa của nó.

Bây giờ tôi đã được hỏi liệu tôi có thể lấy các tệp tar Vzdump này và biến chúng thành các triển khai dựa trên LXC tiêu chuẩn thông thường chạy trên máy chủ mới hay không.

Mọi tìm kiếm mà tôi thực hiện dường như CHỈ bật lên việc chuyển đổi các bộ chứa LXC đơn thuần thành bộ chứa Proxmox VE và việc hỏi trong các diễn đàn proxmox không đưa tôi đến đâu, bởi vì tất cả những gì họ muốn làm là đưa tôi trở lại proxmox, điều mà khách hàng của tôi không còn mong muốn nữa để sử dụng.

Tôi có thể vzrestore trên máy chủ mới, nhưng dữ liệu meta trong vùng chứa không tương thích với LXD/LXC nên cho đến nay điều đó đã được chứng minh là đi vào ngõ cụt.

Đồng quan điểm, tôi cũng đã thử chuyển đổi vùng chứa thành hình ảnh mẫu LXC và xây dựng từ đó, nhưng một lần nữa, điều đó không hoạt động như tôi mong đợi.

djdomi avatar
lá cờ za
proxmox đang sử dụng thiết lập lxc tiêu chuẩn. hãy thử sử dụng nó
lá cờ in
Ummm... bạn có thực sự đọc đúng câu hỏi của tôi không? Tôi biết rõ những gì Proxmox sử dụng dưới mui xe, nhưng đó không phải là điều tôi đang hỏi phải không?
djdomi avatar
lá cờ za
tôi đã đọc và sử dụng tệp sao lưu về cơ bản chỉ là một bản sao của hệ thống tệp để sao chép và khởi động một vùng chứa, điều duy nhất bạn có thể nghĩ đến là khôi phục tệp này vì đây là tệp sao lưu chứ không phải mẫu
lá cờ in
Đó là câu trả lời tôi đang tìm kiếm, cách lấy tệp lưu trữ được tạo bởi vzdump và làm cho nó hoạt động với LXD/LXC bình thường KHÔNG được cài đặt như một phần của Proxmox, nếu bạn có thể giải thích điều đó, thì đó sẽ là câu trả lời.
djdomi avatar
lá cờ za
tôi thibk bạn chỉ cần sử dụng lxc import tarfile
lá cờ in
OK, cảm ơn, sẽ thử điều đó và xem điều gì sẽ xảy ra.
lá cờ in
Đã thử điều đó, nhận được thông báo sau: "Lỗi: Bản sao lưu bị thiếu index.yaml" vì vậy ít nhất tôi cũng có thứ để tìm kiếm.
Điểm:1
lá cờ in

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à

  1. 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.

  2. 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 .

  3. 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
  1. 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.

  2. 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

Danh sách hình ảnh LXC

  1. 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.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.