Puncte:0

Pot restabili o arhivă tar Vzdump într-un container LXD/LXC

drapel in

Am un număr de fișiere „tar” create de pe un vechi server proxmox 6, folosind instrumentul vzdump.

Persoana care le-a creat inițial a părăsit compania, iar compania și-a schimbat serverul de containere de la „Proxmox VE” la un server standard Linux Ubuntu 20.04 LTS care rulează cea mai recentă versiune a LXD pentru sistemul său de containere.

Am fost întrebat acum dacă pot lua aceste fișiere Vzdump tar și le pot transforma în implementări standard standard bazate pe LXC, care rulează pe noul server.

Fiecare căutare pe care o fac pare să ajungă DOAR la conversia containerelor bare bones LXC în containere Proxmox VE, iar întrebarea pe forumurile proxmox nu mă duce nicăieri, pentru că tot ce vor să facă este să mă readucă pe proxmox, ceea ce clientul meu nu-și mai dorește. a folosi.

Pot vzrestore pe noul server, dar metadatele din containere nu sunt compatibile cu LXD/LXC, așa că s-a dovedit a fi un punct mort până acum.

În același sens, am încercat, de asemenea, să convertesc containerul într-o imagine șablon LXC și să construiesc din asta, dar din nou, asta nu a funcționat așa cum am sperat.

djdomi avatar
drapel za
proxmox folosește o configurație standard lxc. te rog doar încearcă să-l folosești
drapel in
Ummm... chiar ai citit bine întrebarea mea? Știu bine ce folosește Proxmox sub capotă, dar nu asta întreb, nu?
djdomi avatar
drapel za
am citit și am folosit fișierul backuo, care este practic doar o copie a sistemului de fișiere pentru a copia și a porni un container, singurul lucru la care s-ar putea să vă gândiți este să îl restaurați deoarece este un fișier de rezervă și nu un șablon
drapel in
Acesta este răspunsul pe care îl caut, cum să iau fișierul de arhivă creat de vzdump și să îl fac să funcționeze cu LXD/LXC normal care NU este instalat ca parte a Proxmox, dacă puteți explica asta, atunci acesta va fi răspunsul.
djdomi avatar
drapel za
Cred că trebuie doar să utilizați lxc import tarfile
drapel in
OK, mulțumesc, o să încerc și să vedem ce se întâmplă.
drapel in
Am încercat asta, am primit următoarele: „Eroare: Backup-ul lipsește index.yaml”, așa că cel puțin am ceva de căutat.
Puncte:1
drapel in

Așa că, după 2 săptămâni de cercetare și de citit multe, multe postări pe blog, mi-am dat seama în sfârșit cum să o fac.

Nu este deosebit de direct, dar nici nu este știință rachetă, totuși am sentimentul (și ostilitatea) dacă întreb pe forumurile proxmox că ​​ar prefera să nu te îndepărtezi de platforma proxmox, temporar sau altfel.

Oricum, pașii pe care trebuie să-i urmezi sunt în esență

  1. la linia de comandă proxmox, „pct list” pentru a obține ID-ul containerului pe care doriți să-l copiați.

  2. la aceeași linie de comandă "vzdump -compress gzip -dumpdir /tmp" , nu aveți nevoie de parametrul dump dir, dar implicit este imbricat o cantitate stupidă de foldere adânc, așa că aș sfătui să utilizați tmp dir pentru ușurință .

  3. apoi trebuie să creați un „fișier metadate” folosind următoarele comenzi (Vă rugăm să REȚINȚI: simbolurile # trebuie schimbate în BACKTICKS înainte de a copia și lipi/utiliza comanda, a trebuit să folosesc simbolul # ca reducere în o postare SO nu poate afișa simbolul backtick din cauza modului în care markdown îl folosește):

    arhitectura echo: #pct config $1 | grep arc: | awk '{print $2}'# > metadata.yaml

    echo creation_date: #date +%s# >> metadata.yaml

    tar -czvf metadata.tar.gz metadata.yaml

    rm metadata.yaml
  1. Mutați fișierele „.tar.gz” pe care le-ați creat pe mașina țintă care rulează o versiune modernă a LXD, am folosit rsync pentru asta.

  2. PE linia de comandă a mașinii dvs. LXD, utilizați următoarea comandă pentru a importa metadatele și descărcarea fișierului într-o imagine lxc:

    sudo lxc image import metadata.tar.gz <nume vzdump>.tar.gz

Acest lucru va importa containerul ca tip de imagine, care nu poate fi rulat direct

lista de imagini lxc

și obțineți amprenta imaginii pe care tocmai ați creat-o

Lista de imagini LXC

  1. încă la linia de comandă LXD, folosind amprenta din imaginea dvs.:

    lxc lansează <amprentă> <numele pe care vrei să-l dai containerului>

În acest moment, veți avea un nou container, care este o copie exactă a celui original proxmox care rulează.

Totuși, ceea ce este posibil să nu aveți sunt aceleași setări de rețea. Pentru mine, totul din rețeaua mea funcționează cu DHCP, inclusiv închirierile statice, așa că era important ca noile mele containere să aibă aceeași adresă MAC, lucru care a fost ușor de realizat folosind

pct config <container id>

pe proxmox cli pentru a afișa configurația hardware, apoi copiați și lipiți adresa MAC de pe aceasta, urmată de

lxc stop <numele containerului>
lxc config set <nume container> volatile.eth0.hwaddr <adresă Mac copiată>
lxc start <numele containerului>

Dacă închirierile dvs. statice DHCP sunt conduse de la adresa mac, atunci acest lucru va asigura că primesc aceeași adresă IP, atâta timp cât gazda dvs. LXD este configurată să pună IP-uri în aceeași rețea ca și gazda dvs. originală proxmox.

Am scris o postare pe blog care poate fi găsită la: https://shawtyds.wordpress.com/2021/11/16/converting-containers-from-proxmox-ve-back-to-plain-old-lxd-lxc/ asta intră puțin mai în detaliu.

Odată ce containerul copiat rulează, atunci este doar o chestiune de a folosi lxc pentru a șterge imaginea temporară (cu excepția cazului în care doriți să o păstrați) și pentru a șterge fișierele „.tar.gz” de pe ambele servere și, eventual, pentru a elimina vechiul container din proxmox dacă nu mai aveți nevoie de el.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.