1. 创建快照
lxc-snapshot -n ubuntu22 # 为容器 ubuntu22 创建快照
快照默认存储在 /var/lib/lxc/ubuntu22/snapshots/ 目录,命名为 snapX(X 是数字)
2. 列出所有快照
lxc-snapshot -L -n ubuntu22
输出示例:
snap0 (/var/lib/lxc/ubuntu22/snapshots/snap0) 2023-08-20 12:00:00
snap1 (/var/lib/lxc/ubuntu22/snapshots/snap1) 2023-08-21 10:00:00
3. 恢复快照
lxc-snapshot -r snap1 -n ubuntu22 # 恢复到 snap1
4. 克隆快照(创建新容器)
lxc-snapshot -s snap1 -n ubuntu22 -N ubuntu22-backup # 克隆为 ubuntu22-backup
5. 删除快照
lxc-snapshot -d snap1 -n ubuntu22
高级用法
1. 带描述创建快照
lxc-snapshot -n ubuntu22 --comment "Before software update"
2. 查看快照详细信息
lxc-info -n ubuntu22 --snapshot snap1
3. 导出快照(备份)
lxc-snapshot -n ubuntu22 -p /mnt/backup/ --snapshot snap1
4. 从备份导入
lxc-snapshot -n ubuntu22-new -P /mnt/backup/ubuntu22/ -r snap1
注意事项
- 快照会占用存储空间,定期清理旧快照
- 恢复快照会覆盖当前容器状态
- 确保容器已停止再执行恢复操作:
lxc-stop -n ubuntu22
lxc-snapshot -r snap1 -n ubuntu22
lxc-start -n ubuntu22 -d
实际应用示例
- 更新前创建快照:
lxc-snapshot -n ubuntu22 --comment "Pre-update"
- 更新失败后回滚:
lxc-stop -n ubuntu22
lxc-snapshot -r snap2 -n ubuntu22
lxc-start -n ubuntu22 -d
- 基于快照创建测试环境:
lxc-snapshot -s snap1 -n ubuntu22 -N ubuntu22-test
lxc-start -n ubuntu22-test -d