喜欢IT的一个“武痴”! 喜欢追求新技术、探索技术!
分类: 其他UNIX
2013-10-31 16:30:12
巧用beadm命令实现操作系统的备份灵活应用
王路平
一般来说,beadm命令是用来对Solaris 11的boot应用环境进行创建和管理的,应用场合也是比较多的,比如安装软件的时候,pkg install时候,系统都会自动使用beadm创建一个boot环境的快照,以防止软件安装错误能够回退到原先的状态。
有的应用场合可能更为重要,比如,在安装ORACLE数据库RAC应用的时候,由于执行root.sh会产生很多文件分布于系统各个重要目录中,此时,如果一旦出错,需求将这些RAC使用的文件删除干净是个比较麻烦的事情,虽然RAC提供了rootdelete的脚本,但安装工程师仍然觉得不够彻底,使用beadm创建的boot环境能够使得操作系统轻松回退。
你还可以访问我的豆丁文档:
1. beamd命令作用
beadm命令是在solaris采用zfs文件系统作为root根文件系统后引入的一个命令,具体有如下作用:
a. 基于激活的boot环境创建新的boot环境
b. 基于非激活的boot环境创建新的boot环境
c. 对存在于系统中的boot环境做一个快照snapshot
d. 基于创建的快照创建新的boot环境
e. 创建一个新的boot环境并将其拷贝到不同的zpool池。
f. 激活存在于系统的任何一个非激活的boot环境
g. mount一个boot环境一边查看该环境的具体内容
h. umount一个boot环境
i. 删除一个boot环境,删除boot环境的某个快照
以上的功能和作用只是一个简单的描述,boot环境其实就是一个操作系统实例的定义,可以认为他是一个真实的操作系统内容,并且可以完全拿来引导到一个真实的操作系统实例。
2. beadm创建boot环境BE
beadm create可以创建一个激活或者非激活的boot环境BE,具体语法如下:
beadm create [-a] [-d description] [-e non-activeBeName | BeName@snapshot]
[-o property=value]...[-p zpool] BeName,具体解释如下:
-a 为在创建一个BE的时候就将其激活,如果没有指定该参数,缺省BE不激活
-d 为该BE的一个简单描述
-e 后面指定be名字,是指从已经存在的BE创建一个新的BE
-o 可以制动BE的若干属性的值
-p 可以安装地址的zpool池创建新的be的数据集,实际为独立的操作系统全内容。
本文档所举的例子直接验证我们的应用场合:
# beadm create bebackupforoldOS
该命令可以为目前所在的系统创建一个新的BE环境,可以使用beadm list命令进行查看。
3. beadm激活BE环境
安装系统软件导致系统出现问题的时候,一般人都想回到以前没有安装或者设置其他软件的操作系统的环境中去,就像在windows操作系统中,设置了一个回退时间点一样,能够使得操作系统回退回去。
beadm创建的新的boot环境在此种应用场合得到了方便灵活的应用,当出现设置或者安装问题的时候,如果想回到先前的操作系统环境中去,那么只需要使用beadm activate来回退到先前保留的操作系统环境中去,而无需重新安装操作系统。
# beadm activate BeName该命令能够激活保存的boot环境,使得系统能够回退到原先的系统实例,首先可以使用beadm list列出所有保留的boot环境BE,比如在第一步中创建的bebackupforoldOS,激活命令如下:
# beadm activeate bebackupforoldOS
然后reboot系统就能够使得操作系统实例能够回退到原先操作系统的状态,错误安装和设置的软件都将在原先的操作系统实例中不复存在。