ZFS自动快照服务的实现与管理

OpenSolaris 2008.11 已于前些日子正式发布,它是 OpenSolaris的最新发行版本。对于用户、开发人员和部署人员来说,OpenSolaris 是一个功能强大而且完善的操作系统。它继承了 Solaris 安全、稳定且高度可伸缩的传统,更加贴近桌面用户,为用户提供了现代计算环境中所应有的工具。该发行版为桌面用户引进了很多新特性,本文将对其自动快照新特性进行介绍。
(1)为什么要使用自动快照服务?
我在opensolaris下的snapshot及基于zfs的系统恢复这篇博客中,曾详细分析了opensolaris下的snapshot机制和定期进行snapshot的一些好处。但对普通桌面用户来说,他需要的可能是系统提供一种开销低,同时又能通过点几下鼠标进行设置,就能对重要文件进行自动snapshot和恢复到特定状态。OpenSolaris 2008.11为我们提供了这样的功能,使用文件管理器中的时间滑块功能就能浏览文件的更改记录,查看并恢复更改。有了自动快照服务,能极大的降低你误删文件可能造成的损失。
(2)ZFS自动快照服务的实现
SMF(servicemanagement facility)是solaris新一代的服务管理框架。SMF 提供了在传统 UNIX 启动脚本、init 运行级和配置文件的基础上进行扩充的基础结构。SMF 框架中的基本管理单元是服务实例,实例是指服务的特定配置,每个SMF 服务都有可能配置了多个版本。而且,同一版本的多个实例也可以在一个 Solaris 系统上运行。


repository.db存放了所有服务的属性的值,比如ZFS自动快照服务的时间间隔之类的,当服务启动的时候需要加载这些值。svc.configd这个后台进程用于维护这个属性数据库,所有的对这个数据库的读或者写的操作都要经过这个进程,这样的设计保证了这个数据库的完整性。svc.startd这个后台进程在开机的时候使用,它将读出需要启动的每一个服务的属性的值,然后用这些值去启动这些服务。SMF tools是SMF的一些维护工具如svcadm。
cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。cron 假定系统持续运行,如果当某任务被调度时系统不在运行,该任务就不会被执行。
ZFS自动快照服务包含在SUNWzfs-auto-snapshot程序包中,其利用了ZFS的snapshot特性和cron定时执行任务的功能,并被实现成SMF服务。在配置服务实例后,每当启动一个服务实例,就对应生成一个cron作业,自动定期对配置的文件进行snapshot。停止服务时,对应的cron作业被删除。当snapshots占到预设硬盘空间的一定百分比后,后台进程会删除最旧的一些snapshots。
(3)ZFS自动快照服务的管理
OpenSolaris 2008.11在ZFS自动快照服务之上,引进了时间滑块服务,并将这些功能整合进GNOME桌面环境。这些创新使得我们能轻松使用GNOME文件管理器,来管理ZFS自动快照服务。基于命令行的管理可以参见参考文献[3]。
时间滑块功能默认是关闭的,可以通过System ->Administration -> time slider setup进行开启和设置。


要查看以前的备份,打开想查看的文件夹,如果下图中的红线标识的按钮可以,说明文件的备份可用。点击该按钮,就会显示时间滑块。滑动滑快就能看到指定时间上的备份。显示以前版本的文件或目录后,就可以通过拖拽或复制粘贴将旧版本恢复到其他目录,也可以选中要恢复文件或文件夹,点击右键选择恢复到桌面。
 

你可能感兴趣的:(职场,休闲,ZFS)