如何将常规 LXC 容器迁移到 Proxmox LXC 容器?

Chr*_*isW 4 zfs lxc proxmox zfsonlinux

如何将常规 LXC 容器(从另一个或同一服务器)迁移到 Proxmox LXC 容器,该容器可以通过 Proxmox Web GUI 访问?

例如,我通过运行创建了一个容器:

lxc-create -n debian8 -t debian -- -r jessie

Proxmox 不会自动提取此容器。我可以看到存储在 中的相关数据/var/lib/lxc,并且这样的容器具有常规的根文件系统,这与 Proxmox LXC 容器创建的原始磁盘不同,后者安装在 ZFS rpool 上。(我使用 ZFS 进行存储,由 Proxmox ISO 安装程序配置。)

另一个区别是,Proxmox 使用自己的 LXC 配置文件。

使用 Proxmox 导入/转换和注册此类容器的最佳程序是什么?

小智 7

此处无需详细说明即可执行此操作。

  1. 创建 LXC 容器的存档。
  2. 使用该存档作为模板创建 Proxmox 容器。

首先 cd 进入你的 lxc 容器根目录:

cd /var/lib/lxc/debian8/rootfs/
Run Code Online (Sandbox Code Playgroud)

(如果您使用 lvm 卷作为容器存储,则需要将其挂载并 cd 到您的挂载点,这可以通过 cd 进入挂载点来完成 mount /dev/mapper/<lvgroup-lvdisk> /var/lib/lxc/debian8/rootfs/

创建存档:

tar -czvf /var/lib/vz/template/cache/my_debian8_template.tar.gz ./
Run Code Online (Sandbox Code Playgroud)

然后从中创建一个新的 proxmox 容器

pct create 100 /var/lib/vz/template/cache/my_debian8_template.tar.gz \
    -description LXC -hostname pvecontainer01 -memory 1024 -nameserver 8.8.8.8 \
    -net0 name=eth0,hwaddr=52:4A:5E:26:58:D8,ip=192.168.15.147/24,gw=192.168.15.1,bridge=vmbr0 \
    -storage local -password changeme
Run Code Online (Sandbox Code Playgroud)

(您可以根据需要修改您的选项。)

有关更多信息,请参阅 - man pct