disk suite 磁盘镜像和镜像恢复详细文档

这是我在一次安装fujitsu primepower 250 小型机 有关用SDS做镜像和根盘坏掉恢复的详细文档

先说一下FUJITSU PRIMEPOWER 250 简要硬件配置:

CPU:1块 SPARC64-V 1100MHz
内存:2048MB
硬盘:容量为73.43GB的内置SCSI硬盘2块
OS:Solaris 8 02/02

新安装系统时,2块硬盘在系统中被分别定义为:c0t0d0 ;c0t1d0,对其中一块硬盘进行手工分区,如下:

Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 41003 58.42GB (41004/0/0) 122519952
1 swap wu 41004 - 43811 4.00GB (2808/0/0) 8390304
2 backup wm 0 - 47993 68.38GB (47994/0/0) 143406072
3 unassigned wm 43812 - 43880 100.67MB (69/0/0) 206172
4 unassigned wu 0 0 (0/0/0) 0
5 unassigned wu 0 0 (0/0/0) 0
6 unassigned wu 0 0 (0/0/0) 0
7 home wm 43881 - 47993 5.86GB (4113/0/0) 12289644


其中c0t0d0s0 给 / 划分了:58.42GB 。
c0t0d0s1 给 swap 划分了:4.00GB 是内存的2倍 。
c0t0d0s7 给 /export/home 划分了:5.86GB 按SUN SOLARIS 安装要求,默认s7分区是给/export/home的 。
c0t0d0s3 划分了100MB用来做disksuite metadevice database 数据库区 。

用disksuite镜像根盘步骤:

1,先确定硬件系统满足镜像条件:

源盘与目标盘大小最好一致,至少目标盘要大于源盘 。
如新盘加入系统,请先保证系统能识别新盘,可用以下命令:

#devfsadm 查找新安装的硬盘

#format 查看disk

2,用format命令创建metadevice 状态数据库,这些数据库必须驻留在一个引导磁盘的专用分区上, 当然如果在安装新系统时以对DISK进行了分区,并在分区时划出一个分区,最好为S3,S4也可以,这时要保证被镜像的磁盘分区表必须是与引导磁盘相同 。把引导磁盘的分区表复制到镜像磁盘 。使用下列命令:

# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2

3,使用Disksuite进行配置
首先要创建状态数据库复本 。最少要创建两个或两个以上的数据库复本 。用2中的命令我们以经共有了2个用来保存数据库复本的磁盘分区c0t0d0s3 和c0t1d0s3,现在我们将在2个分区中分别为每个分区创建3个数据库复本,总计是6个复本 。状态数据库复本存储着DiskSuite的配置和状态信息 。我们可以使用下列命令去创建这个数据库复本 。

(1) #metadb -a -f -c 3 /dev/dsk/c0t0d0s3 /dev/dsk/c0t1d0s3

#metadb -i *这个命令可以查询数据库状态 。

(2) 创建文件系统分区的镜像

首先我们先对1个磁盘做一个单向的镜像,稍候我们追加第2个磁盘去镜像 。设备编号(d##) 是任意的 。这里为了方便管理,我们须对镜像设备编号做个约定:

d10 – 表示第1块磁盘的镜像设备名 。

d20 – 表示第2块磁盘的镜像设备名 。

d30 – 表示镜像中所包含第1块磁盘的镜像设备和第2块磁盘的镜像设备的总镜像设备 。

metainit 命令被用来创建磁盘0号分区(c0t0d0s0,root分区 “/”文件系统)的镜像:

1,#metainit -f d10 1 1 c0t0d0s0

2,#metainit -f d20 1 1 c0t1d0s0

3,#metainit d30 -m d10

在上列命令中的“-f”参数表示强迫metainit 命令继续,即使是这些分区之一包含了一个被挂载的文件系统或正在被使用的交换分
区 。命令“# metainit -f d10 1 1 c0t0d0s0”表示为root分区创建一个一对一的级联 。最后一条命令表示创建metadevice镜像并且把镜像设备d10 附加到d30 。也就是d30是mirror,而d10就是d30的子镜像submirror 。


下一步是要更新/etc/vfstab 文件和/etc/system file 。不能用手工编辑 /etc/vfstab或/etc/system文件 。可以使用metaroot 命令,做之前,请一定要先做vfstab文件和system文件的备份:

#cp /etc/vfstab /etc/vfstab.bak

#cp /etc/system /etc/system.bak

#metaroot d30

然后我们查看/etc/vfstab,可以能看到“/”文件系统将被挂载到/dev/md/dsk/d30上而不是挂载到/dev/dsk/c0t0d0s0上 。

推荐阅读