How to create snapshots with lxc command for LXD

I need to save the state of my existing app running on LXD before I push new Python-based app. How do I create snapshots with lxc command for LXD based Linux container?

Introduction – LXD Linux system container manager. It gives a user experience comparable to virtual machines but using Linux containers instead. There is no VM like overheads. This page shows how to make snapshots with LXD and restore them if the need arises.

ADVERTISEMENTS

Procedure to create snapshots with lxc for LXD

  1. To make a snapshot for LXD, run: lxc snapshot containerName
  2. Create a snapshot named backup01 for Linux container named www1 using the lxc command: lxc snapshot www1 backup01
  3. Restore LXD container named www2 from snapshots named snap2, on Linux: lxc restore www2 snap2

Let us see examples and usage in derails.

How to create the LXD snapshot using lxc

The syntax is:
lxc snapshot {container} {snapshot-name}
Next, create the LXD snapshot:
$ lxc snapshot utls-newsletter snap-04-jan-2019
Verify snapsots or see info about snapshots:
$ lxc info utls-newsletter

Linux create snapshots with lxc command for LXD

Linux create snapshots with lxc command for LXD

Usually, I stop container before taking snapshots:
lxc stop www42
lxc snapshot www42 snap01
lxc start www42

How to restore the LXD snapshot using lxc

The syntax is:
lxc restore {container} {snapshot-name}
Restore the LXD snapshot:
lxc restore www42 snap01

How to delete the LXD snapshot using lxc command

Again the syntax is:
lxc delete {container}/snapshot-name}
To force user confirmation pass the -i option:
lxc delete {container}/snapshot-name} -i
Say you want to delete the LXD snapshot named snap-04-jan-2019 for utls-newsletter container, run:
$ lxc delete utls-newsletter/snap-04-jan-2019 -i
OR
$ lxc delete utls-newsletter/snap-04-jan-2019

Linux delete the LXD snapshot using lxc command

Linux delete the LXD snapshot using lxc command

Conclusion

Use the following commands to create, delete and restore snapshots for the LXD running on Linux.

lxc command Description for LXD Example(s)
lxc snapshot {container} {snapshot} Create a snapshot lxc snapshot www-c1 snap01
lxc restore {container} {snapshot} Restore the snapshot lxc restore www-c1 snap01
lxc info {container} Get the container information including snapshot info lxc www-c1
lxc delete {container}/{snapshot} Delete the snapshot lxc delete www-c1/snap01
This entry is 14 of 19 in the LXD Tutorial series. Keep reading the rest of the series:
  1. Install LXD container hypervisor on Ubuntu 16.04 LTS
  2. How to install and setup LXC (Linux Container) on Fedora Linux 26
  3. Set up LXD container under KVM or Xen virtual machine
  4. List VM images in LXD (Linux Containers)
  5. Upgrade LXD containers powered by Ubuntu/Debian or CentOS Linux
  6. Auto start LXD containers at boot time in Linux
  7. Command to rename LXD / LXC container
  8. Run commands on Linux Container (LXD) instance at provision launch time
  9. Use LXD (Linux containers) in a shell script to create VM when the cloud instance launches
  10. Move/migrate LXD VM to another host on Linux
  11. Fedora install and set up LXD
  12. CentOS 7.x install and set up LXD server
  13. Install LXD pure-container hypervisor on Ubuntu 18.04 LTS
  14. Create snapshots with lxc command for LXD
  15. Set up and install LXD on CentOS/RHEL 8
  16. Ubuntu 20.04 LTS install and set up LXD
  17. Full backup and restore LXD containers
  18. Disable firewall and NAT rules on the LXD bridge
  19. Delete or remove LXD container using the lxc

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS

Comments on this entry are closed.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.