将LVM快照设置为ubuntu中的备份/还原点
将LVM快照设置为ubuntu中的备份/还原点。
为什么?
好吧,正如我所看到的,Linux具有非常实用的function,其最大的缺点在于其安装应用程序的混合方式。 所有的dll都转到一个目录。 所有配置文件到另一个。 二进制文件也放在一堆。 是的,Windows或多或少的工作方式相同,但由于Linux上安装的系统/服务器软件的性质,安装的大多数软件在任何给定时间只有95%成熟,每月两次弄乱你的系统是非常可能……
当然,我们可以在每次安装之前和之后备份系统,但这需要一百万年。 系统备份(与仅备份数据/文件相反)要求您关闭计算机并使用某种forms的可启动Live CD和备份媒体。 而且,如果驱动器已满15%,则可能需要很长时间才能进行备份,即使使用现代硬件也是如此。
那么,怎么做呢?
替代方案 – LVM快照 – 您可以在此处阅读有关LVM快照的信息: http : //www.tutonics.com/2012/12/lvm-guide-part-2-snapshots.html
简而言之 – 快照是冻结HardDisk上使用过的扇区的一种方式,告诉系统在HardDisk的保留部分上写入任何更改/删除/添加,称为快照卷,从而推迟保留/丢弃更改的决定在快照卷空间提供的未来时间的驱动器上。 因此,一旦您决定回滚更改(或保留它们),您就可以使用一行来完成。
一开始可能看起来很复杂,但我可以向您保证,在第一次使用后,使用快照机制所需的只是2行脚本(提供下载!)
保修 – 对以下说明不做任何保修。 使用风险自负!
怎么样?
如果您没有预先配置的卷组,则可能需要安装一个全新的干净Ubuntu。 然后,您将不得不首次正确配置系统,但从现在开始,快照将变得毫不费力 。 毫不费力,我指的是使用预配置脚本的一个class轮命令。
- 启动到ubuntu live cd(还没有安装..只是live cd)
- 打开配件 – >终端
-
我们将清理硬盘! 请在完成此阶段之前备份重要内容。
首先,让我们删除现有的分区:
# fdisk /dev/sda Enter 'd' to delete - enter for as many partitions you have > d >
... Enter 'w' to write down changes > w -
创建启动分区和其他驱动器作为另一个分区
# fdisk /dev/sda > n To create a new partition. > p For Boot Primary partition. > 1 Press
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. > To accept the default value of 2 (the second partition) > To accept the default start sector > 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
如果需要删除任何可能干扰此安装的卷安装。
# vgdisplay
将显示系统上的任何现有卷组
# vgremove
与卷组相同..
-
创建卷组’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
关闭terimnal并启动安装程序。
选择“使用LVM …”(您也可以选择启用整个磁盘加密 – 但我没有测试它..)
选择“Something Else”并按继续。 在此阶段,您将找到定义的/ dev / mapper / …卷的分配。 其中一些是自动生成的(lvsnap- *) – 你现在可以忽略它们。
选择:/ dev / mapper / vgsnap-lvroot volume。 选择“ext4”作为格式,并挂载为’/’
选择:/ dev / mapper / vgsnap -lvswap volume,然后选择“swap area”
如果你要创建一个加密的驱动器(我不知道它是否适用于快照?),你可能想要选择/ 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/
/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/
/monitor_snapshot /etc/cron.hourly/ # chmod +x /etc/cron.hourly/monitor_snapshot
这就是所有人! 以下说明仅适用于戒烟者;)
-
丢弃快照卷(如果不再需要)
# rmdir /mnt/vgsnap-lvsnap # lvremove /dev/vgsnap/lvsnap
(您可能还希望调整根分区的大小或交换以占用为交换保留的缺少的15G)
-
丢弃卷组 – 仅可以通过删除卷组的卷来实现,这可能意味着删除操作系统安装。 但是,当然,没有必要删除卷组…
要删除卷组:
# vgremove vgsnap
重要的提示! – 格式化/运行fdisk并删除所有分区不会删除卷或组,因为它们写在驱动器的不同部分……所以,只需使用上面给出的删除说明并删除卷和组(如果需要)。
使用lvcreate -s -L
创建用于备份的cronjob
此处卷名称是您要拍摄其快照的卷的名称。 有关详细信息,您还可以阅读本教程