Virtuelle Disk aus VM in einen LXC-Container einbinden

Dec 5, 2017
18
1
8
60
Hallo,

ich möchte meine Nextcloud-Instanz aus einer VM in einen LXC-Container verschieben. Allerdings nur die Datenbank und die Konfigurationsdateien. Die Daten liegen auf einer separaten virtuellen Disk der VM. Ich könnte nun im Container eine neue virtuelle Platte erzeugen und alle Daten rüberschaufeln.

Eleganter wäre es die vorhandene virtuelle platte einfach im Container einzubinden. Geht das ? Wenn ja, wäre ein Hinweis auf einen Wiki-Eintrag hilfreich.

Gruss Oliver
 
hi,

Ich könnte nun im Container eine neue virtuelle Platte erzeugen und alle Daten rüberschaufeln.
ja das geht

Eleganter wäre es die vorhandene virtuelle platte einfach im Container einzubinden
es kommt darauf an was du fuer storage benutzt.. wenn du eine .raw disk hast kannst du sie mit dem container verbinden (indem du in VM config die zeile kopierst und in CT config als mountpoint hinzufuegst).
 
Hallo Oguz,

danke für die schnelle Antwort.

Ja, es handelt sich um eine raw-disk.

Ich habe im Ordner /var/lib/lxc/116/ eine Datei mit dem eine Datei mit dem Namen "config" sowie zwei Unterordner "/rootfs" und "/apparmor" die dem LXC-Container zugeordnet werden können, gefunden. Ist das die Datei die ich ändern muss?

Die Datei "config" hat folgenden Inhalt:
lxc.arch = amd64
lxc.include = /usr/share/lxc/config/debian.common.conf
lxc.include = /usr/share/lxc/config/debian.userns.conf
lxc.seccomp.profile = /usr/share/lxc/config/pve-userns.seccomp
lxc.apparmor.profile = generated
lxc.apparmor.raw = deny mount -> /proc/,
lxc.apparmor.raw = deny mount -> /sys/,
lxc.monitor.unshare = 1
lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 65536
lxc.tty.max = 2
lxc.environment = TERM=linux
lxc.uts.name = nextcloud.container
lxc.cgroup.memory.limit_in_bytes = 8589934592
lxc.cgroup.memory.memsw.limit_in_bytes = 25769803776
lxc.cgroup.cpu.shares = 1024
lxc.rootfs.path = /var/lib/lxc/116/rootfs
lxc.net.0.type = veth
lxc.net.0.veth.pair = veth116i0
lxc.net.0.hwaddr = 8A:E0:D3:D7:C8:02
lxc.net.0.name = eth0
lxc.cgroup.cpuset.cpus = 1-2

Für einen weiteren Hinweis wäre ich dankbar.
Gruss
Oliver
 
Hmmm, leider funktioniert das bei mir scheinbar nicht.

Ich habe der conf-datei einen Mountpoint hinzugefügt . der zeigt auf den Speicherort der einzubindenden RAW-Imagedatei. Der Container startet dann aber nicht.

Habe dann in den Ressourcen des Containers einen Mountpoint erzeugt der die gleiche Grösse wie die RAW-Imagedatei hat und anschliessen die RAW-Imagedatei kopiert und umbenannt. Gleiches Ergebnis: Container startet nicht.. Hat noch jemand eine idee?
 
kannst du deine config zeigen? pct config CTID oder cat /etc/pve/lxc/CTID.conf
 
116.conf:

rch: amd64
cores: 2
hostname: nextcloud.container
memory: 8192
mp0: VirtuelleMaschinen:116/vm-116-disk-1.raw,mp=/media/ncdata,backup=1,size=760G
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=8A:E0:D3:D7:C8:02,ip=dhcp,ip6=dhcp,type=veth
ostype: debian
rootfs: VirtuelleMaschinen:116/vm-116-disk-0.raw,size=10G
swap: 16384
unprivileged: 1

Die Zeile mit "mp0" enthält die Anweisungen die aktuell auf ein kopiertes und umbenanntes RAW-Image. Damit startet der Container nicht.

Die entsprechende Anweisung in der VM-conf (113) ist:

scsi2: VirtuelleMaschinen:113/vm-113-disk-1.raw,size=760G
 
wenn die rawdisk partitioniert ist kannst du nicht gleich mounten..

also muss die rawdisk keine partitionen haben (einfach mit mkfs ein filesystem erstellen)

am besten machst du eine neue rawdisk und laesst mkfs laufen, danach die dateien drauflegen und mounten.

oder die partition wo die dateien liegen auslesen (mit dd z.b.)
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!