Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1196424
  • 博文数量: 245
  • 博客积分: 10185
  • 博客等级: 上将
  • 技术积分: 2744
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-30 17:07
文章分类

全部博文(245)

文章存档

2015年(1)

2014年(1)

2013年(1)

2012年(1)

2011年(37)

2010年(20)

2009年(14)

2008年(38)

2007年(88)

2006年(44)

分类:

2007-02-02 17:44:02

I have been asked  about configuration about disksuite in every interview,so I searched the following article to study!
 
作者:unixsoft     发表时间:2003/01/12 04:35pm 
 
(一) 安装Disksuite:

(1) Disksuite4.2 
 操作系统  : solaris7 
 软件包位置: easy access server 
 执行路径  : /usr/opt/SUNWmd/sbin 
 配置路径  : /etc/opt/SUNWmd/
 设备名目录: /dev/md/dsk  /dev/md/rdsk

(2) Disksuite4.2.1 
  操作系统  : solaris8
  软件包位置: /sol_8_401_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1
  执行路径  : /usr/sbin
  配置路径  : /etc/lvm
  设备名目录: /dev/md/dsk  /dev/md/rdsk

图形界面可以执行installer程序,命令行状态可用pkgadd安装。
安装结束后reboot,root用户登陆运行disksuite软件。


(二) 图形界面运行

# metatool &
1.Trans 2.RAID 3.MIRROR 4.Concat/Stipe 5.Hot-spare
使用左键选中,中键拖动,右键激活

  (1)建立metadb状态数据库
1) 首先在每个做RAID的磁盘上划出一个10MB的分区(如:S7)
2) 拖动s7分区创建metaDB
3) 提交

  (2)建立Raid对象
     1) 建立Concat/Stripe/RAID5
          选择RAID对象,将分区拖入对象,提交
     2) 建立镜象
          选择Concat/Stripe对象,分别将盘1,盘2拖入目标
          选择MIRROR对象,分别将上列创建的对象拖入目标
3) 建立hot-spare
          选择hot-spare对象,将分区拖入对象,提交
  完成后,将hot-spare-pool分配给相关RAID

(3) 在metatool界面内可以看到RAID的完成情况,也可以运行
# /usr/sbin/metastat [RAID_name]

(4) RAID完成后,可做文件系统并挂接:
# newfs /dev/md/rdsk/RAID_name
# mount /dev/md/dsk/RAID_name /mnt


(三) 命令行方式:

(1) 创建metadb状态数据库:
# /metadb -a -f dev_name1 dev_name2 ...
-a: 增加状态数据库
-d: 删除状态数据库
-f: 强制执行状态数据库的操作
-e count: 一个分区建立多个状态数据库
               # metadb -a -c 2 c1t2d0s3 (添加状态数据库;-c 2 option adds two state database)

(2) 建立concatenation:
# metainit d1 3 1 dev_name1 1 dev_name2 1 dev_name3

(3) 建立stripe:
# metainit d2 1 3 dev_name1 dev_name2 dev_name3

(4) 建立mirror:
# metainit d21 1 1 dev_name1  (sub_mir1)
# metainit d22 1 1 dev_name2  (sub_mir2)
# metainit d20 -m d31
# metattach d20 d22

(5) 建立RAID5:
# metainit d10 -r dev_name1 dev_name2 ...

(6) 建立hot-spare:
# metainit hsp001 dev_name1 dev_name2 ... (建立HSP)
# metaparam -h hap001 d21  (将HSP交RAID使用)
# metaparam -h hap001 d22  (将HSP交RAID使用)

增加hsp:
# metahs -a hsp001 d21

改变hsp:
# metastat d21
d21: RAID
   State: Okay        
   Hot spare pool: hsp001
...
# metaparam -h hsp002 d21
# metastat d21
d21: RAID
   State: Okay        
   Hot spare pool: hsp002
...


(四) 建立系统盘镜像
镜像盘容量要大于或等于系统盘

(1) 建立concat of root
# metainit -f d11 1 1 c0t0d0s0
d11: Concat/Stripe is setup

(2) 建立concat of mirror partition
# metainit d12 1 1 c1t3d0s0
d12: Concat/Stripe is setup

(3) 建立镜像
# metainit d10 -m d11
d10: Mirror is setup

(4) 建立根镜像
# metaroot d10
# lockfs -fa (锁定文件系统)
# reboot (TAB表将被自动修改)
...

# metattach d10 d12
d10: Submirror d12 is attached
# ls -l /dev/rdsk/c1t3d0s0
lrwxrwxrwx   1 root     root          88 Feb  8 15:51 /dev/rdsk/c1t3d0s0 ->../../devices/iommu@f,e0000000/vme@f,df010000/SUNW,pn@4d,1080000/ipi3sc@0,0/id@3,0:a,raw

(5) 在PROM下修改启动设备名,使镜像盘也能够启动系统
OK> setenv boot-device boot-disk mir-disk

(6) 实例 -- usr or swap的镜像
# metainit -f d12 1 1 c0t3d0s6
d12: Concat/Stripe is setup
# metainit d22 1 1 c1t0d0s6
d22: Concat/Stripe is setup
# metainit d2 -m d12
d2: Mirror is setup
# vi /etc/vfstab
# reboot
...

# metattach d2 d22
d2: Submirror d22 is attached

(7) TAB表的修改
1) /usr的镜像
/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 yes -
应改为:/dev/md/dsk/d2 /dev/md/rdsk/d2 /usr ufs 1 yes -
2) swap的镜像
/dev/dsk/c0t0d0s1 - - swap - no -
应改为:/dev/md/dsk/d1 - - swap - no -


(五) 状态查询
(1) metadb状态
# metatool &
Okey/ Attention/ Critical
# metadb -i
       flags           first blk       block count
    a m  p  luo        16              1034            /dev/dsk/c0t8d0s4
    a    p  luo        16              1034            /dev/dsk/c0t8d0s7
    a    p  luo        16              1034            /dev/dsk/c0t8d0s6
o - replica active prior to last mddb configuration change
u - replica is up to date
l - locator for this replica was read successfully
c - replica's location was in /etc/lvm/mddb.cf
p - replica's location was patched in kernel
m - replica is master, this is replica selected as input
W - replica has device write errors
a - replica is active, commits are occurring to this replica
M - replica had problem with master blocks
D - replica had problem with data blocks
F - replica had format problems
S - replica is too small to hold current data base
R - replica had device read errors

(2) RAID及其组成的状态
# metastat [RAID_name]
1) okey: 正常状态,RAID可用
2) maintenance: 单个磁盘有故障,需维护
3) maintenance/last erred: 有超过一个磁盘故障,需维护。但数据可能是假的


(六) RAID故障的恢复(MIRROR or RAID 5)
(1) 数据备份
(2) 将新磁盘分区与故障盘保持一致
(3) 用新盘做替换
               # metareplace -e RAID_name dev_name_old(在原有的位置替代磁盘)
# metareplace [-f] RAID_name dev_name_old dev_name_new(用别的位置磁盘替代)
-f选项用于maintenance/last erred状态,但仍有可能无法成功完成
(4) 此时RAID处于syncing状态,并显示百分比
# metastat RAID_name
(5) syncing完成后,recovery即完成


(七) OS崩溃时RAID的恢复
(1) Disksuite有一个配置文件/etc/lvm/md.tab,手工将RAID的建立过程记录于该文件中并备份到它处
(2) OS崩溃后,重新安装OS及Disksuite
(3) 重新生成metadb
(4) 将备份的md.tab文件传至/etc/lvm下
(5) 检查/etc/lvm/md.tab文件的语法
# metainit -n -a
(6) 建立/etc/lvm/md.tab中所有的RAID
# metainit -a
(7) 完成后,可直接挂接文件系统,原数据仍然存在
   (8) 注意事项
1) 对于MIRROR,需要手工加入sub_mir2,执行
# metattach d20 d22,
2) 对于RAID5,需用-k选项,否则会初始化RAID5,丢失数据
# metainit d10 -r dev_name1 dev_name2 dev_name3 -k -o 3
-o 3: 组成RAID5的设备数量
3) 附一个md.tab文件

(八) 失效恢复
(1) vfstab失效恢复
1) fsck /dev/md/rdsk/d0
2) mount -o rw /dev/md/dsk/d0 /
3) metaroot d0
4) reboot

(2)无充分metadb恢复
1) boot
2) metadb -i (查看metadb)
3) metadb -d -f c1t2d0s3 (删除metadb)
4) metadb -i (查看metadb)
5) reboot
6) metadb -a -c 2 c1t2d0s3 (添加状态数据库;-c 2 option adds two state database)
   
(3)boot device失效
1) boot disk2
    2) metadb      (查看坏的state database)
     3) metastat    (查看坏的sub-mirror)
     4) halt        (修复坏硬盘)
     5) metadb -d c0t3d0s3   (删除坏的state database)
     6) metadb -c 2 -a c0t3d0s3   (重新建立新的state database)
     7) metareplace -e d0 c0t3d0s0   (替换镜像盘)
阅读(1286) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~