How do I Backup / Move LXC containers?

后端 未结 4 505
Happy的楠姐
Happy的楠姐 2021-01-30 07:47

I want to take lxc container backup. We have server with 12.04 LTS ubuntu server and I have installed LXC - 1.0.0.alpha2 in it. I wanted to update our

4条回答
  •  无人及你
    2021-01-30 08:08

    EDIT: November 2017

    To backup an lxc container quickly to a remote host without a btrfs filesystem I mount a filesystem from the remote host with sshfs & cd into the mount. Stop the container & create a tar.xz archive of it.


    EDIT: March 2016

    I now run my lxc containers on a btrfs filesystem to make it simpler to take a snapshot of the running containers. btrfs sub snap detects proc run sys are virtual filesystems & does not include them in the snapshot.


    I use Duply to backup LXC containers. Unlike backing up a normal machine you DO want to include /dev from the LXC container in the backup.

    apt-get install duply
    duply mybackup create
    

    In ~/.duply/mybackup/exclude I used:

    - /cdrom
    - /dev
    - /lost+found
    - /media
    - /mnt
    - /proc
    - /run
    - /sys
    - /tmp
    - /var/backup/restore/*
    - /var/backup/tmp/*
    - /var/lib/lxc/*/rootfs/lost+found
    - /var/lib/lxc/*/rootfs/media/*
    - /var/lib/lxc/*/rootfs/mnt/*
    - /var/lib/lxc/*/rootfs/proc/*
    - /var/lib/lxc/*/rootfs/run/*
    - /var/lib/lxc/*/rootfs/sys/*
    - /var/lib/lxc/*/rootfs/tmp/*
    - /var/lib/lxcfs/*
    

    The above will backup the whole machine & all the LXC containers.

    To just backup containers edit ~/.duply/mybackup/conf & change SOURCE='/' to SOURCE='/var/lib/lxc' & remove the non lxc lines from ~/.duply/mybackup/exclude

    Tested with running Alpine Linux LXC containers - will also work on Debian.

    Simple Backups with Duply - you can also just do very simple unencrypted backups to a local file (set TARGET='file://[relative|/absolute]/local/path' in ~/.duply/mybackup/conf)

    To sign Duply backups see GnuPG in Automated Environments ( password-less signing key instead of storing the password in plaintext ).

    Set GPG_TEST='disabled' in the Duply conf file for cron jobs.

    If you do not store any plaintext passwords in your conf do not disable GPG_TEST on restores - so gpg-agent caches your passwords.

提交回复
热议问题