在已有系统上用 disksuite 做 RAID1 在已有系统上用 disksuite 做 RAID1 单位现有一台服务起 , 是 Sun Fire V240, 用作一个业务系统的 数据库 服务器 ," name="description" />
单位现有一台服务起,是Sun Fire V240,用作一个业务系统的数据库服务器,上面安装有Oracle9i,最近业务开始试运行了,但是发现该系统在初次安装的时候(系统不是本人做的,我是后来接手这台机器),没有做raid1,这样具有很大的危险性,如果系统盘损坏了,岂不是所有的用户信息数据都会丢失.于是赶紧想补救措施.登录机器上一看,还好,第二块硬盘根本没有使用,swap分区有4G,,而且系统盘上s7分区还没有使用(天助我也,如果安装系统时所有分区都使用了,那就麻烦了,metadb的分区就无法创建了),于是决定采用solaris9 自带的disksuite做软RAID1,从swap上分出来100MB来做Replice Slice.尽快行动,乘项目还在试运行阶段,即便系统改造过程中出现什么问题,也不会带来太大的负面影响.
一.系统信息如下
Sun Fire V240, Memory size: 2GB,CPU:2X1.28MHz,Disk:2X73Gb
OS:Solaris 5.9
分区信息如下
0 root wm 1036 - 1241 1023.56MB (206/0/0) 2096256
1 swap wu 0 - 829 4.00GB (804/0/0) 8181504
2 backup wm 0 - 14086 68.35GB (14087/0/0) 143349312
3 usr wm 1861 - 3097 6.00GB (1237/0/0) 12587712
4 var wm 830 - 1035 1023.56MB (206/0/0) 2096256
5 opt wm 1242 - 1860 3.00GB (619/0/0) 6298944
6 home wm 3098 - 14086 53.32GB (10989/0/0) 111824064
7 unassigned
二.创建Replice Slice分区
#init 0 /进入ok状态
ok boot –s /进入单用户模式
swap –l /查看一下swap信息
swap -d slice /暂时删除swap, slice=”/dev/dsk/c1t0d0s1”,不同的机器会有所不同
swap –l /再看一下,确认swap已经暂时被删除
然后使用format命令,重新分配swap的大小,分了100M给c1t0d0s7,用作Replice Slice
swap –a slice /激活swap分区
ok,上面的修改没有问题后,现在要把系统盘的所有分区信息复制到第二块硬盘上
#prtvtoc /dev/rdsk/c1t0d0s2|fmthard –s – /dev/rdsk/c1t1d0s2
format命令 选择第二快盘看一下,分区是否和第一块一致.
三.上面的步骤没有报错的话,我们可以开RAID1的创建工作了
分别对每个分区做镜像
3.1先生成replicas,这是DiskSuite内部用的。
#metadb –a –f –c 3 c1t0d0s7 c1t1d0s7 /每个盘上创建3个replicas
3.2 开始对/目录做镜像
#metainit –f d10 1 1 c1t0d0s0
#metainit d20 1 1 c1t1t0s0
#metainit d0 –m d10
#metaroot d0
#lockfs –fa
#reboot
#metattach d0 d20
3.3 开始对swap分区做镜像
#metainit –f d11 1 1 c1t0d0s1
#metainit d21 1 1 c1t1t0s1
#metainit d1 –m d11
#vi /etc/vfstab
/dev/dsk/c1t0d0s1 - - swap – no –
修改成如下面所示:
/dev/md/dsk/d1 - - swap – no -
#reboot
#metattach d1 d21
3.4 对/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 –
修改成如下面所示:
/dev/md/dsk/d3 /dev/md/rdsk/d3 /usr ufs 1 yes –
#reboot
#metattach d3 d23
3.5 对/var分区做镜像
#metainit –f d14 1 1 c1t0d0s4
#metainit d24 1 1 c1t1t0s4
#metainit d4 –m d14
#vi /etc/vfstab
/dev/dsk/c1t0d0s4 /dev/rdsk/c1t0d0s4 /var ufs 1 yes –
修改成如下面所示:
/dev/md/dsk/d4 /dev/md/rdsk/d4 /var ufs 1 yes –
#reboot
#metattach d4 d24
3.6 对/opt分区做镜像
#metainit –f d15 1 1 c1t0d0s5
#metainit d25 1 1 c1t1t0s5
#metainit d5 –m d15
#vi /etc/vfstab
/dev/dsk/c1t0d0s5 /dev/rdsk/c1t0d0s5 /opt ufs 1 yes –
修改成如下面所示:
/dev/md/dsk/d5 /dev/md/rdsk/d5 /opt ufs 1 yes –
#reboot
#metattach d5 d25
3.7 对/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 –
修改成如下面所示:
/dev/md/dsk/d6 /dev/md/rdsk/d6 /home ufs 1 yes –
#reboot
#metattach d6 d26
每个分区的镜像已经做完,待数据同步完毕后,还要设置启动设备
四.设置启动设备
在ok状态下
ok devalias /查看一下启动设备
分别为两块硬盘建立一个名称.
ok nvalias rootdisk /pci@1c,600000/scsi@2/sd@0,0
ok nvalias mirrdisk /pci@1c,600000/scsi@2/sd@1,0
ok setenv rootdisk mirrdisk
然后测试一下,分别boot rootdisk和boot mirrdisk,如果都能正常进入系统,基本可以算成功了,做为这台服务器的管理员,我也可以安心了睡觉,不用担心突然系统崩溃或者硬盘损坏了~~J
后记:技术上难度不大,关键是系统早就安装好,而且已经运行了一短时期,存储了不少的数据了.目的就是提供一个思路,对有漏动的系统,发现后一定要急时处理,免得以后寝室难安.