简而言之,快照是冻结硬盘上已用扇区的一种方法,它告诉系统将任何更改/删除/添加写入硬盘的保留部分(称为快照卷),从而推迟保留/丢弃更改的决定。就快照卷空间提供的空间而言,将其保留在驱动器上以备将来使用。因此,一旦决定回滚更改(或保留更改),您就可以一行完成。
- 引导至ubuntu live CD(尚未安装..只是live CD)
- 打开附件->终端
我们将清除硬盘驱动器!请先备份所有重要内容,然后再进行此阶段。
首先,让我们删除现有分区:
# fdisk /dev/sda
Enter 'd' to delete - enter for as many partitions you have
> d
> <enter>
...
Enter 'w' to write down changes
> w
创建启动分区,并将驱动器的其余部分创建为另一个分区
# fdisk /dev/sda
> n
To create a new partition.
> p
For Boot Primary partition.
> 1
Press <enter> to accept the default start sector.
Enter:
> +512M
To give the boot partition a size of 512MB
> n
To create (another) new partition.
> p
Should be Primary too.
> <enter>
To accept the default value of 2 (the second partition)
> <enter>
To accept the default start sector
> <enter>
To accept the whole disk
> t
To change the type of the second partition to LVM
> 2
To choose the second partition
> 8e
To set the type to 'LVM Linux'
> w
To write changes and exit.
要检查更改是否正常运行,请执行以下操作:
# fdisk --list
您应该得到这样的内容:
Device Boot Start End Blocks Id System
/dev/sda1 2048 524287 261120 83 Linux
/dev/sda2 524288 488397167 243936440 8e Linux LVM
删除任何先前的卷组/逻辑卷:
# lvdisplay
将显示您在系统上可能具有的逻辑卷
# lvremove <existing_logical_volume_name>
如果需要删除可能干扰此安装的任何批量安装。
# vgdisplay
将显示系统上任何现有的卷组
# vgremove <existing_volume_group>
与卷组相同。
创建卷组“ vgsnap”
# vgcreate vgsnap /dev/sda2
结果应为:
Volume group "vgsnap" successfully created
创建逻辑卷
# lvcreate --extents 100%FREE --name lvroot vgsnap
根逻辑卷,从100%的设备开始。
# lvresize --size -30G /dev/mapper/vgsnap-lvroot
这将为交换和快照卷腾出30G的空间。当然-您可以为交换/快照选择较小的尺寸。
> 'y'
for the warning shown.
并创建交换量:
# lvcreate --size 15G --name lvswap vgsnap
注意:我们现在保留15G的未使用驱动器空间,供将来快照使用。
安装Ubuntu
关闭终端并启动安装程序。
选择“使用LVM ...”(您也可以选择启用整个磁盘加密-但我没有对其进行测试。)
选择“其他”,然后按继续。在此阶段,您将找到定义的/ dev / mapper / ...卷的分配。其中一些是自动生成的(lvsnap- *)-您现在可以忽略它们。
选择:/ dev / mapper / vgsnap-lvroot卷。选择“ ext4”作为格式,并安装为“ /”
选择:/ dev / mapper / vgsnap-lvswap卷,然后选择“交换区域”
如果要创建加密的驱动器(我不知道该快照是否适用于快照?),则可能要选择/ dev / sda2并标记“加密卷”。虽然没有测试。
注意:未使用的15G留给快照卷使用。
选择:/ dev / sda1分区。将其格式化为“ ext2”并将其安装为“ / boot”
在下面-选择:/ dev / sda1分区作为启动
安装!
挂载快照:
创建快照卷
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
创建安装目录
# mkdir /mnt/vgsnap-lvsnap
将快照挂载为只读挂载
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
快照已开启!
此时,您可能会开始弄乱系统,安装Beta驱动程序,甚至(不!那是不合适的)。
从现在开始,您可以随时(根据快照大小提供..)返回到以前的状态,或者,如果对新外观感到满意,请保留它。
自动快照卷可用磁盘空间监视:使用此处提供的脚本的调整版本:http :
//blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/
我创建了monitor_snapshot脚本。
如何使用/安装?-与上面的链接差不多:
# cd /etc/cron.hourly
# copy /home/<user>/Downloads/monitor_snapshot
# chmod +x monitor_snapshot
在第一次运行它之前,最好编辑其中的值,例如您的电子邮件地址(发送通知的位置等)。如果配置正确,则cron守护程序将每X小时/天运行一次脚本-根据您的决定-并在快照即将满时通知您。
要测试脚本运行:
# sh /etc/cron.hourly/monitor_snapshot
它将打印快照中可用空间的百分比(数量)。
重要!完成测试/安装后-回滚或保留更改-然后卸载快照!
回滚更改:(请参阅rollback_snapshot脚本,其中包含以下说明,链接位于文档末尾)
# lvconvert --merge /dev/vgsnap/lvsnap
这还将卸载快照,但将放弃您的任何更改。另外-您将看到一条警告,提示还原仅在下一次激活时发生,因此:
# reboot
注意:如果您跳过合并,则在您卸载快照后,更改将被提交。
提交更改-卸载快照:(请参阅commit_snapshot脚本,其中包含以下说明-文档末尾的链接)
# umount /mnt/vgsnap-lvsnap
Will unmount (commit0 the snapshot
# lvremove /dev/mapper/vgsnap-lvsnap
# rm -rf /mnt/vgsnap-lvsnap/
# rm /etc/cron.hourly/monitor_snapshot
Remove the cron daemon script (that is unused)
重新安装快照:(请参阅重新安装脚本,其中包含以下说明-文档末尾的链接)与以前非常相似:
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
# mkdir /mnt/vgsnap-lvsnap
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
如果将monitor_snapshot保存在主目录中,则可以将其还原:
# cp /home/<user>/monitor_snapshot /etc/cron.hourly/
# chmod +x /etc/cron.hourly/monitor_snapshot