Solaris 常见问题( 四 )


2.6 克隆磁盘
通过这部分的学习,你可以把一个系统克隆到另一个和它的硬件属于同一系列的系统中 。例如克隆Ultra(TM) 10工作站到Ultra 10工作站是可以的,而克隆到Ultra 60工作站就是行不通的 。
如果监测到目标系统的硬件结构和源系统有所不同的话(不同的结构缓冲,网卡等),目标系统在克隆以后需要用boot –r命令来重新配置 。
2.6.1 使用内部磁盘来克隆
这种方式适合用于易于改变的内部磁盘:
·Ultra 30, Ultra 60, Ultra 80或者Sun Blade(TM) 100工作站或者E220R/E420R/E250R/E450
·Sun Enterprise(TM)220R, 420R, 250, 或者450服务器
内部的FC-AL磁盘(如Sun Blade 2000工作站和Sun Fire(TM) 280R或V880服务器)可能导致一些问题 。
接下来是用Ultra 60工作站做的一个范例:
1 将目标盘插入主板上的第二个硬盘口
3 启动进入但用户模式(STOP-A; boot –s)
4 用devfsadm重新配置所有的磁盘
5 键入format察看硬盘的名称 。在Ultra 60工作站上,你会看到c0t0d0和c0t1d0 。C0t1d0是内部系统中最顶端的磁盘 。
6 决定哪个盘是源盘,哪个盘是目标盘(不要忘记备份你的数据!) 。在我们的例子中c0t0d0(底部的盘)作为源盘,c0t1d0(上面的盘)是目标盘 。
7 dd if=/dev/rdsk/c0t0d0s2 of=/dev/dsk/c0t1d0s2 bs=128k(这条命令为整个盘,包括分区标的内容作了一个1:1的副本 。如果源盘是一个9GB的盘,而目标盘是一个18GB的盘,那么将会有9GB的容量被浪费) 。警告:仔细检查这一步,避免对你源盘的意外损坏 。
8 fsck –Y of=/dev/dsk/c0t1d0s0(检查启动分区的文件系统,一般来说是分区0)
9 移除源盘,将克隆好的盘放进先前源盘所在的位置 。重新启动你新做好的克隆的系统

2.6.2 通过转接线来克隆
这种方式比上面描述的通过内部磁盘克隆要慢,但是它适合用于一些内部的磁盘不容易改变的系统(如Ultra 10或Ultra 5工作站) 。
警告:记住文件“/.rhosts”仅仅在这个任务中使用,在完成这个任务之后删除它来避免系统的安全漏洞 。
目标系统
启动
在注册屏幕上使用命令行注册(command line login)
尽可能地停止引起磁盘输入输出的进程
TERM=vt100vi /etc/inet/hosts
->添加目标和源
ifconfig hme0 plumb
ifconfig hme0 netmask 255…up
->测试rsh源
rsh source “dd if=/dev/rdsk/c0t0d0s2 ibs=128k obs=8k” | dd of=dev/rdsk/cotodos2 bis=128k obs=128k
(9GB的盘需要等待大约40分钟)
STOP-Aboot cdrom –s(用可引导的光盘引导)
fsck –Y /dev/rdsk/c0t0d0s0
源系统
在文件/.rhosts中添加目标IP
sync; sync;

2.7 用SDS制作磁盘镜像
Solaris逻辑卷面管理(SVM),一般是指Solstice Disksuite(SDS)软件,它可以把磁盘系统做成RAID 0, 1, 0 1或5 。工作站最感兴趣的方式是RAID 1:为磁盘错误准备好了一个包含启动文件系统的磁盘镜像 。
SVM是Solaris 9系统环境的一部分 。在Solaris 8平台上,你可以在第二章光盘的“EA”目录下找到SDS软件 。而在Solaris 7或者2.6系统环境中,服务器版,你可以查找一下光盘“Easy Access Server” 。
我们假定一个工作站有两块内部的磁盘,c0t0d0和c0t1d0 。这两块盘都以相同的方式被正确的分区:分区0被分配给/(root),分区1被分配给交换区(swap),一个比较小的分区7被分配用来记录复制数据库(State Replica Databases) 。分区2被定义成一个备份区(参见“分区”一章) 。
把第一块盘的分区信息复制到第二块盘,可以用如下的命令:
# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
记录复制数据库是一个包含了镜像信息纪录的小文件 。镜像中的每个磁盘都必须知道有三个记录复制数据库文件:
# metadb -a -f -c 3 c0t0d0s3 c0t1d0s3

推荐阅读