在已有系统上用disksuite做RAID1在已有系统上用disksuite做RAID1 单位现有一台服务起,是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 后记:技术上难度不大,关键是系统早就安装好,而且已经运行了一短时期,存储了不少的数据了.目的就是提供一个思路,对有漏动的系统,发现后一定要急时处理,免得以后寝室难安. |