Solaris 8系统下RAID1与RAID5磁盘阵列的安装与恢复操作指南
时间:2026-06-20 10:31
先介绍几个关键要点:本文以 SUN Fire V880 Server(配备6块73GB硬盘)为例,专门讲解在 Solaris 8 操作系统环境下,如何通过纯命令行方式完成 RAID1 和 RAID5 的安装配置与日常维护。所有步骤均经过实际验证,不过不同硬件型号可能存在细微差异,使用时请结合实际环境
先介绍几个关键要点:本文以 SUN Fire V880 Server(配备6块73GB硬盘)为例,专门讲解在 Solaris 8 操作系统环境下,如何通过纯命令行方式完成 RAID1 和 RAID5 的安装配置与日常维护。所有步骤均经过实际验证,不过不同硬件型号可能存在细微差异,使用时请结合实际环境灵活调整。
磁盘分布情况
0:c1t0d0 1:c1t1d0 2:c1t2d0 3:c1t3d0 4:c1t4d0 5:c1t5d0
|
其中,0 和 1 两块硬盘用作镜像(RAID1),2 到 5 四块硬盘则组成 RAID5 阵列。
系统盘(c1t0d0)的分区规划,以及镜像盘(c1t1d0)的对应关系如下:
系统盘(c1t0d0)分区及镜像盘(c1t1d0)对应情况
c1t0d0s0(d10) d0 c1t1d0s0(d20) / 1024M c1t0d0s1(d11) d1 c1t1d0s1(d21) swap 8192M c1t0d0s2 c1t1d0s2 overlap 69999M c1t0d0s3(d13) d3 c1t1d0s3(d23) /usr 4096M c1t0d0s4(d14) d4 c1t1d0s4(d24) /opt 10240M c1t0d0s5(d15) d5 c1t1d0s5(d25) /var 2048M c1t0d0s6(d16) d6 c1t1d0s6(d26) /home free c1t0d0s7 c1t1d0s7 /metaDB 30M
|
系统安装完成后,首先使用 Solaris 8 software 2 of 2 光盘安装 DiskSuite_4.2.1。安装路径为 /cdrom/cdrom0/Solaris_8/EA/installer,直接选择默认安装即可,操作非常简便。
接下来,以 root 用户身份登录,开始执行配置操作。
第一步,将第二块硬盘(c1t1d0)的分区表调整为与引导盘完全一致:
#prtvtoc /dev/rdsk/c1t0d0s2|fmthard –s – /dev/rdsk/c1t1d0s2 fmthard:New volume table of contents now in place
|
然后,卸载并删除原先挂载的 /metaDB 目录,同时修改 /etc/vfstab 文件,将下面这行注释掉或直接删除:
#umount /metaDB #rm –r /metaDB #vi /etc/vfstab
|
#/dev/dsk/c1t0d0s7 /dev/rdsk/c1t0d0s7 /metaDB ufs 1 yes –
|
一、RAID1 镜像配置
配置 RAID1 镜像时,需要针对每个分区逐一建立镜像,确保每个数据分片都有完整冗余。
①首先创建 replicas,这是 DiskSuite 内部使用的元数据数据库。
#metadb –a –f –c 3 c1t0d0s7 c1t1d0s7 #metadb
|
②创建 swap 分区的镜像。
#metainit –f d11 1 1 c1t0d0s1 #metainit d21 1 1 c1t1t0s1 #metainit d1 –m d11 #vi /etc/vfstab /dev/dsk/c1t0d0s1 - - swap – no – should be changed to: /dev/md/dsk/d1 - - swap – no - #reboot #metattach d1 d21
|
③创建 /usr 分区的镜像。
#metainit –f d13 1 1 c1t0d0s3 #metainit d23 1 1 c1t1t0s3 #metainit d3 –m d13 #vi /etc/vfstab /dev/dsk/c1t0d0s3 /dev/rdsk/c1t0d0s3 /usr ufs 1 yes – should be changed to: /dev/md/dsk/d3 /dev/md/rdsk/d3 /usr ufs 1 yes – #reboot #metattach d3 d23
|
④创建 /opt 分区的镜像。
#metainit –f d14 1 1 c1t0d0s4 #metainit d24 1 1 c1t1t0s4 #metainit d4 –m d14 #vi /etc/vfstab /dev/dsk/c1t0d0s4 /dev/rdsk/c1t0d0s4 /opt ufs 1 yes – should be changed to: /dev/md/dsk/d4 /dev/md/rdsk/d4 /opt ufs 1 yes – #reboot #metattach d4 d24
|
⑤创建 /var 分区的镜像。
#metainit –f d15 1 1 c1t0d0s5 #metainit d25 1 1 c1t1t0s5 #metainit d5 –m d15 #vi /etc/vfstab /dev/dsk/c1t0d0s5 /dev/rdsk/c1t0d0s5 /var ufs 1 yes – should be changed to: /dev/md/dsk/d5 /dev/md/rdsk/d5 /var ufs 1 yes – #reboot #metattach d5 d25
|
⑥创建 /home 分区的镜像。
#metainit –f d16 1 1 c1t0d0s6 #metainit d26 1 1 c1t1t0s6 #metainit d6 –m d16 #vi /etc/vfstab /dev/dsk/c1t0d0s6 /dev/rdsk/c1t0d0s6 /home ufs 1 yes – should be changed to: /dev/md/dsk/d6 /dev/md/rdsk/d6 /home ufs 1 yes – #reboot #metattach d6 d26
|
⑦最后,也是最为关键的一步——创建根分区(/)的镜像。
#metainit –f d10 1 1 c1t0d0s0 #metainit d20 1 1 c1t1t0s0 #metainit d0 –m d10 #metaroot d0 #lockfs –fa #reboot #metattach d0 d20
|
完成以上所有步骤后,可以使用 #metastat 命令查看镜像的同步状态。
镜像同步完成后,还需要修改 EEPROM,确保系统能够从任意一块硬盘启动。
在 OK 提示符下执行以下操作:
ok devalias(查看启动设备别名)
ok nvalias rootdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@0,0
ok nvalias mirrdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0
ok setenv boot-device rootdisk mirrdisk
如果在系统内使用 eeprom 命令设置,则内容如下:
boot-device=rootdisk mirrdisk
use-nvramrc?=true
nvramrc=devalias mirrdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0
devalias rootdisk /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@0,0
接下来确认设备路径的对应关系,通过以下命令即可查看:
#ls -l c1t0d0s0
lrwxrwxrwx 1 root root 70 1月 2 10:45 c1t0d0s0 -> ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870e80e7,0:a
对应:/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@0,0
# ls -l c1t1d0s0
lrwxrwxrwx 1 root root 70 1月 2 10:45 c1t1d0s0 -> ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000000870fb287,0:a
对应:/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0
镜像启动测试
分别在 OK 提示符下尝试从两块启动设备启动系统:
ok boot rootdisk 系统启动正常。
ok boot mirrordisk 系统启动正常。
假设 c1t0d0 硬盘出现故障,如何处理?不必惊慌,更换新硬盘后按照以下步骤进行恢复:
ok boot mirrordisk -s #metadb -d c1t0d0s7 #prtvtoc /dev/rdsk/c1t1d0s2|fmthard –s – /dev/rdsk/c1t0d0s2 #metadb –a –f –c 3 c1t0d0s7 #halt ok boot mirrordisk #metareplace -e d0 c1t0d0s0 d0: device c1t0d0s0 is enabled #metareplace -e d1 c1t0d0s1 d1: device c1t0d0s1 is enabled #metareplace -e d3 c1t0d0s3 d3: device c1t0d0s3 is enabled #metareplace -e d4 c1t0d0s4 d4: device c1t0d0s4 is enabled #metareplace -e d5 c1t0d0s5 d5: device c1t0d0s5 is enabled #metareplace -e d6 c1t0d0s6 d6: device c1t0d0s6 is enabled #metastat (检查镜像恢复进度)
|
二、RAID5 阵列配置
RAID5 的创建相对简便,一条命令即可完成:
#metainit d55 –r c1t2d0s2 c1t3d0s2 c1t4d0s2 c1t5d0s2 #metastat d55 (检查RAID5的同步进度)
|
同步完成后重启系统,接着创建文件系统并进行挂载:
#newfs /dev/md/rdsk/d55 #mkdir /raid5 #vi /etc/vfstab 添加一行: /dev/md/dsk/d55 /dev/md/rdsk/d55 /raid5 ufs 2 yes – #reboot
|
RAID5 坏盘恢复
假设 c1t4d0 硬盘损坏,更换新硬盘后执行以下操作:
ok boot -r #metareplace –e d55 c1t4d0s2 #metastat d55
|
卸除 RAID5 阵列
如果不再需要 RAID5,可以按照下列步骤卸载:
#umount /raid5 #metaclear d55 #vi /etc/vfstab 注释此行: #/dev/md/dsk/d55 /dev/md/rdsk/d55 /raid5 ufs 2 yes –
|