您的位置:首页 > 其它

迁移solaris ufs根文件系统至zfs根文件系统 推荐

2010-10-30 19:05 225 查看
一、前言:
这个使用的是Oracle Solaris Live Upgrade工具。此工具具有以下功能:
■ 将UFS 根文件系统迁移到ZFS 根文件系统时,必须使用-p 选项指定现有ZFS 存储池。
■ 如果UFS 根文件系统在不同的片上具有组件,则会将这些组件迁移到ZFS 根池。
■ 可以迁移具有区域的系统,但在Solaris 10 10/08 发行版中支持的配置有限。
■ 在同一池中创建新的ZFS BE 时,Oracle Solaris Live Upgrade 可以使用ZFS 快照和克隆功能。
迁移的基本过程如下:
■ 在任何基于SPARC 或基于x86 的受支持系统上,安装Solaris 10 10/08、Solaris 105/09、Solaris 10 10/09 或Solaris 10 9/10 发行版,或者使用标准升级程序从先前的Solaris 10 发行版进行升级。
■ 运行最低Solaris 10 10/08 发行版时,为ZFS 根文件系统创建ZFS 存储池。
■ 使用Oracle Solaris Live Upgrade 将UFS 根文件系统迁移到ZFS 根文件系统。
■ 使用luactivate 命令激活ZFS BE。
迁移之前的注意事项:
■ Oracle Solaris 安装程序GUI 的标准升级选项不可用于从UFS 迁移到ZFS 根文件系统。要从UFS 文件系统迁移,必须使用Oracle Solaris Live Upgrade工具。
■ 在进行Oracle Solaris Live Upgrade 操作之前,必须创建将用于引导的ZFS 存储池。创建新池之前,必须使用片而不是整个磁盘创建ZFS 存储池,并且确保要用于池中的磁盘具有SMI (VTOC) 标签而不是EFI 标签,才能使ZFS 存储池可升级和可引导。如果使用的是EFI,在使用lucreate命令的时候会报错的。
■ 不能使用Oracle Solaris Live Upgrade 从ZFS BE 创建UFS BE。如果将UFS BE 迁移到ZFS BE,并且保留UFS BE,则可以从UFS BE 或ZFS BE 引导。
■ 请勿使用zfs rename 命令重命名ZFS BE,因为Oracle Solaris Live Upgrade 功能无法检测名称更改。后续命令(如ludelete)将会失败。实际上,如果有要继续使用的现有BE,则请勿重命名ZFS 池或文件系统。
■ 创建备用BE(主BE 的克隆)时,不能使用-f、-x、-y、-Y 和-z 选项从主BE 中包括或排除文件。在以下情况下,您仍可以使用包括和排除选项设置:
■ 虽然可以使用Oracle Solaris Live Upgrade 将UFS 根文件系统升级到ZFS 根文件系统,但不能使用Oracle Solaris Live Upgrade 升级非根或共享文件系统。
■ 不能使用lu 命令创建或迁移ZFS 根文件系统。
二、迁移过程:
1、查看当前文件系统的状态:



2、添加新硬盘并分区:



这里的c1t1d0是新添加的,用于创建zfs池。



3、创建zfs池rpool:



4、使用lucreate创建新的引导环境:



-c:如果系统之前没有创建引导环境,则指定一个主引导环境,其名称为ufsBE。
-n:新的引导环境名称。
-p:zfs池名称。
这个过程根据系统环境过程可能比较长,耐心等待吧。
5、查看BE状态:



处于激活状态的是ufsBE,并且可以引导。而zfsBE还未激活,所以状态是no并且可删除。
6、查看zfs组件:



这里的dump使用系统推荐的大小即可。
7、激活zfsBE:






上面提到了两点:
(1)、在此状况下只能使用shutdown或者init命令重启系统,否则系统是不能使用zfsBE引导的。
(2)、如果系统系统失败了,则可以使用上述屏幕输出的5条命令激活ufsBE,从ufsBE引导系统。
8、将系统重新引导至ZFS BE:



此过程会更新grub的menu.lst文件。



在引导的grub界面会多出上图中的zfsBE两行,此刻系统默认的引导环境是zfsBE。
9、系统起来后查看ZFS BE 是否处于活动状态:



这里的ufsBE可以删除掉了。
文件系统状态:



zfs池状态:



三、切换回ufsBE:
1、查看zfsBE是否处于激活状态:



2、执行luactive命令,激活ufsBE:






3、执行init 6重启系统:









4、系统起来后检查是否正常:






ufsBE已处于激活状态了。zfsBE可以删除了。
5、删除不需要的BE:



这个由于使用c1t1d0创建了zfs池,而且上面存在一个引导环境<zfsBE>,所以报错。不过上面给出了提示,可以使用-f参数强制删除zfsBE。



完了之后重启下,是否存在问题:



四、补充:
使用lucreate命令的时候,它会将需要的文件放在/etc/lu下面,具体内容如下图所示:



其中GRUB_backup_menu是未执行lucreate命令之前的引导文件menu.lst,内容如图所示:



GRUB_backup_menu.prev是执行完lucreate命令之后的引导文件menu.lst,内容如图所示:



其他的一些文件,有兴趣的朋友可以研究下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息