如何在LVM中创建只读快照,然后在完成某些工作后回滚到快照?


Answers:


11

我想你在找lvconvert --merge。从手册页:

- 合并

将快照合并到其原始卷中。要检查您的内核是否支持此功能,请snapshot-merge在的输出中 查找dmsetup targets。如果原始卷和快照卷均未打开,则合并将立即开始。否则,合并将在首次激活原始或快照并且都关闭时开始。将快照合并到无法关闭的原始磁盘(例如,根文件系统)的操作推迟到下一次激活原始磁盘卷之前。合并开始时,生成的逻辑卷将具有来源的名称,次要编号和UUID。
进行合并时,对原点的读取或写入将直接指向要合并的快照。合并完成后,将删除合并的快照。 可以在命令行上指定多个快照,也可以使用@tag来指定将多个快照合并到其各自的原始位置。

假设您有一个逻辑卷vg0 / system,其中包含/文件系统。

# create a read-only snapshot
lvcreate -pr --snapshot --name system_snapshot vg0/system
# upgrade or something
# if it fails, reboot and do this from a livecd
lvconvert --merge vg0/system_snapshot
# reboot again and you have your old system back

仅需要重新启动,因为在这种情况下您无法卸载文件系统。如果不是/ fs,则卸载就足够了。

请记住,快照将在合并后删除。


感谢你的回答!如果不给-pr--permission r)选项lvcreate,默认情况下快照将是只读的吗?(LVM是否完全允许可写快照?如果可以,则有可能出现另一种情况,其中临时实验在主卷中不可见,但将在临时可写快照中执行。)
imz – Ivan Zakharyaschev

1
默认值为RW。
2011年

3
您不应该从实时CD进行合并,而是可以发出命令,并且在重新启动后它将自动合并。
Hanan N.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.