免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1329 | 回复: 0
打印 上一主题 下一主题

DiskSuit 的使用积累 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-04 14:41 |只看该作者 |倒序浏览
Solstice DiskSuite 虚拟卷管理
Solstice DiskSuite使用由format创建的标准磁盘分区。典型的卷结构在集成管理反面是透明的。( A typical volume structure is assembled and managed transparently)
/dev/md/dsk/d42 ->; d42 叫做metadevice
/dev/md/dsk/d42 对于系统,看起来是一个分区,但实质上,它可能是/dev/rdsk/c0t0d0s4,/dev/rdsk/c0t0d0s6,/dev/rdsk/c0t0d0s7这些分区组成。
DiskSuite对象的概述
三个DiskSuite对象:
Metadevice;一组物理分区,对于系统来说就像一个分区一样,的逻辑磁盘
Metadevice state database:你的配置diskSuite状态的数据库
Hot spare pool:保留的分区的集合,当分区错误时,自动构建
Metadevice的convention:
1.metadevice的名字以d打头,紧随着的,数字。
2.metadevice的名字默认是/dev/md/rdsk/dxxx,xxx的范围从0~127
3.metadevice的名字可以使用缩写。比如/dev/md/rdsk/d0,可以是 d0
4.metadevice的名字存储在/dev/md/rdsk或/dev/md/dsk中
metadevice状态数据库,记录和跟踪你对配置的改变,当改变的发生时,状态数据库自动的更新,状态数据库实际上是状态数据库,及其复本的集合。每份拷贝,即所谓的复本,保证在状态数据库中的数据有效。只有你创建了状态数据库及其复本,DiskSuite才可用。通常你有两个选择放置状态数据库的复本。你可以放到专有的分区上,也可以放到即将成为metadevice的分区上。当状态数据库更新的时候,他的复本也会被更新。
Hot spare pool可以增加子镜像或者RAID5的metadevice的数据可用性。当错误发生的时候,DiskSuite首先检查第一块大小大于等于即将被replace分区的hot spare pool
创建初始的状态数据库的复本
状态数据库复本储存DiskSuite的配置信息和状态信息,在使用DiskSuite之前,你比须创建状态数据库的复本
至少三个状态数据库复本要创建
一块磁盘 ->;创建 3个状态数据库复本
2~4块磁盘->; 每个磁盘要创建2个状态数据库复本
5个及以上磁盘->;每个磁盘创建1个状态数据库复本
决定创建初始状态数据库使用什么方法
1.从0开始创建,如果你有一个新的系统,使用这种方法。你不能在swap, / root,/usr,以及任何含有数据的分区上创建
2.从没有使用过的分区上创建,状态数据库一般占有512k~1024k的空间,因此没有必要用很大的分区存放状态数据库。
3.在都已经在使用的分区上创建数据库,你可以从其他分区上偷取一部分空间来创建状态数据库
创建初始状态数据库之前的准备
1.有当前所有的数据备份
2.安装了DiskSuite
3.拥有root的权限
从0开始创建状态数据库(命令行)
例:在有5块磁盘的系统上创建状态数据库的复本
#metadb –a –f c0t1d0s3 c1t1d0s3 c2t1d0s3 c3t1d0s3 c4t1d0s3
#metadb
-a –f用来创建初始状态数据库
不带参数的metadb用来检查状态数据库的可用状态
例:在有三块磁盘的系统上创建状态数据库的复本
#metadb –a –f –c 2 c0t1d0s3 c1t1d0s3 c2t1d0s3
#metadb
例:在1块磁盘的系统上创建状态数据库
#metadb –a –f –c 3 c0t1d0s3
#metadb
如何通过偷取swap空间来创建状态数据库
#halt
Ok boot –s
#swap –l 列出swap分区的情况
#swap –d /dev/dsk/slice
关闭交换,保证再没有分区用来做swap
#swap –l
通过format命令,对磁盘进行重新分区
添加额外的状态数据库的复本
#metadb –a c0t2d0s0
#metadb
添加2个复本
#metadb –a –c 2 /c0t2d0s0
#metadb
怎样创建RAID 0
在有所准备之后,使用metainit来创建串联.不要使用该过程在一个已存在的文件系统或者数据上
例:由两个分区创建为一个串联
#metainit d25 2 1 c0t1d0s2 1 c0t2d0s2
该过程创建了metadevice d25 包含两个stripe 组成了一个分区.
例:由4个分区创建为一个串联
#metainit d40 4 1 c0t1d0s2 1c0t2d0s2 1 c0t3d0s3 1 c0t4d0s3
创建镜像
创建镜像前的准备
1.镜像可以是一个或者多个submirror组成的。一个submirror可以一个或者十多个串联、或者stripe(条带)的metadevice
2.至少要包含3个以上的状态数据库的复本。
3.创建镜像前,创建条带或者串联的metadevice 拼凑成镜像
4.任何一个文件系统包括/(root) /usr swap 以及任何应用比如数据库都可以镜像
5.镜像一个已经存在的文件系统,需要使用大于等于原大小的分区
创建镜像命令行方式
1.创建两个条带或串联的metadevice,作为submirror
2.使用metainit –m 创建一路mirror
3.使用metattach从第二个submirror创建两路submirror
4.#metainit d51 1 1 c0t0d0s2
5.#metainit d52 1 1 c1t0d0s2
6.#metainit d50 –m d51
7.#metattach d50 d52
说明:使用metainit 创建两个submirror d51 d52
使用metainit –m 创建一路镜像
使用metattach 创建两路镜像
如何从未加载的文件系统创建文件系统命令行
使用命令行方式镜像/opt /usr swap
这个过程步骤:
1.标示包含存在的文件系统分区
2.使用metainit –f将加载的系统分区 以串联或条带的方式 submirror1
3.创建第二个条带或者串联
4.使用metainit –m 创建一路镜像
5.卸载文件系统
6.编辑/etc/vfstab文件 以便使文件系统能够引用该镜像
7.重新加载文件系统
8.使用metattach 添加submirror2
9.#metainit –f d1 1 1 c1t0d0s0
10.#metainit d2 1 1 c2t0d0s0
11.#metainit d0 –m d1
12.#unmount /master
13.Edit /ect/vfstab文件
14.#mount /jkmaster
15.#metattach d0 d2
9~15步:首先 强制创建d1 stripe metadevice
              然后,创建 d2 stripe metadevice
              创建镜像d0,一路d1组成
         卸载文件系统
         然后再/etc/vfstab中修改
修改内容:

/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 /master ufs 2 yes – 改为
/dev/md/dsk/d0 /dev/md/rdsk/d0 /master ufs 2 yes –
             最后,加载文件系统,将二路镜像submirror2添加到镜像上
如何在不能卸载的文件系统创建镜像
例如swap / root  /usr 不可以卸载
1.使用metainit –f 将文件系统的分区put in 到一个分区中submirror
2.创建第二个submirror2
3.使用metainit创建一路镜像
4.编辑/ect/vfstab
5.Reboot
6.使用metattach添加二路镜像
7.#metainit –f d11 1 1 swap
8.#metainit d21 1 1 c1t0d0s1
9.#metainit d1 –m d11
10.Edit /etc/vfstab
11.Reboot
12.#metattach d1 d21
如何创建/ root分区镜像
1.使用metainit –f创建将文件系统put in到一个分区中
2.创建第二个submirror2
3.使用metainit创建一路镜像
4.使用metaroot
5.使用lockfs
6.Reboot
7.使用metattach添加第二个submirror2
8.#metainit –f d11 1 1 c0t3d0s0
9.#metainit d12 1 1 c1t3d0s0
10.#metainit d10 –m d11
11.#metaroot d10
12.# lockfs –f a
13.Reboot
14.Metattach d10 d12
-------------------------------------------------------------------
you can do almost everything the same way, except specify -s  
metadevices in shared diskset are called /dev/md//{dsk|rdsk}/dn
hot spare pools within a shared diskset are named /hspnnn
disksets are only supported on SSA disks and disks are repartitioned when put into a diskset unless slice 2 is zeroed out and slice 7 has cylinders 0-4 or 0-5 allocated to it for the diskset metadb
# metaset -s  -a -h   
adds hosts to a set
# metaset -s  -a c2t0d0 c2t1d0 c2t2d0 c2t3d0
adds drives to a set. Notice we do not specify slice.
# metaset -s  -d c2t3d0
# metaset -s  -d -h  
removes hosts and drives
# metaset -s  -t
take control of a diskset. the -f option will force control but will panic other machine, unless it has been released from other host.
# metaset -s  -r
releases control of a diskset
----------------------------------------------------------------------------
在每个节点上创建metadb库,用来存储metadevices 设备信息。
[email=root@v490-1]root@v490-1[/email]
# metadb –a –f –c 3 c0t0d0s6
                      //创建metadb库
[email=root@v490-1#metadb]root@v490-1#metadb[/email]
                     //查看metadb库信息
创建多属主磁盘集。
[email=root@v490-1]root@v490-1[/email]
# metaset -s ora_data -M -a -h v490-1 v490-2
                  //创建多属主磁盘集ora_data
[email=root@v490-1#scdidadm]root@v490-1#scdidadm[/email]
–L
                   //查看共享磁盘设备(3510)的全局设备号(did)。D6 为quorum盘。D4、d5 为RAW设备
1        v490-2:/dev/rdsk/c0t0d0        /dev/did/rdsk/d1     
2        v490-2:/dev/rdsk/c1t1d0        /dev/did/rdsk/d2     
3        v490-2:/dev/rdsk/c1t0d0        /dev/did/rdsk/d3     
4   v490-1:/dev/rdsk/c5t600C0FF0000000000A7ED9783CCF4803d0 /dev/did/rdsk/d4     
4        v490-2:/dev/rdsk/c5t600C0FF0000000000A7ED9783CCF4803d0 /dev/did/rdsk/d4     
5        v490-1:/dev/rdsk/c5t600C0FF0000000000A7ED9783CCF4802d0 /dev/did/rdsk/d5     
5        v490-2:/dev/rdsk/c5t600C0FF0000000000A7ED9783CCF4802d0 /dev/did/rdsk/d5     
6        v490-1:/dev/rdsk/c5t600C0FF0000000000A7ED9783CCF4800d0 /dev/did/rdsk/d6     
6        v490-2:/dev/rdsk/c5t600C0FF0000000000A7ED9783CCF4800d0 /dev/did/rdsk/d6     
7        v490-1:/dev/rdsk/c1t1d0        /dev/did/rdsk/d7     
8        v490-1:/dev/rdsk/c1t0d0        /dev/did/rdsk/d8     
9        v490-1:/dev/rdsk/c0t0d0        /dev/did/rdsk/d9  
[email=root@v490-1]root@v490-1[/email]
# metaset –s ora_data –a /dev/did/dsk/d4
[email=root@v490-1]root@v490-1[/email]
# metaset –s ora_data –a /dev/did/dsk/d5
                    //将共享磁盘d4,d5 添加到磁盘集ora_data中
[email=root@v490-1]root@v490-1[/email]
# metaset - s ora_data
                   //查看磁盘集ora_data属性
Multi-owner Set name = ora_data, Set number = 1, Master = v490-1
Host                Owner          Member
  v490-1             multi-owner   Yes
  v490-2             multi-owner   Yes
Driv Dbase
d4   Yes  
d5   Yes  
注:创建磁盘集在任意一个节点操作即可
创建软分区--oracle for RAC使用的RAW分区
[email=root@v490-1]root@v490-1[/email]
#scstat –D       //查看sun cluster中磁盘集ora_data状态
-- Multi-owner Device Groups --                               Device Group        Online Status                               ------------        -------------   Multi-owner device group:   ora_data            v490-1,v490-2
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d55 1 1 /dev/did/dsk/d4
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d56 1 1 /dev/did/dsk/d5
                        //初始化d4、d5为metadevices
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d35 –p d55 10g
                 //在d55中创建软分区d35
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d36 –p d55 10g
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d37 –p d55 10g
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d38 –p d55 500m
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d39 –p d55 500m
。。。。。。(省略)
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d53–p d55 500m
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d54 –p d55 500m
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d60 –p d55 500m
。。。。。。(省略)
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d63 –p d55 500m
[email=root@v490-1]root@v490-1[/email]
# metainit –s ora_data d64 –p d55 500m
[email=root@v490-1]root@v490-1[/email]
# metastat -s ora_data
                        //查看磁盘集ora_data状态
ora_data/d55: Concat/Stripe
    Size: 1258308416 blocks (600 GB)
    Stripe 0:
        Device   Start Block  Dbase        State Reloc Hot Spare
        d4s0            0     No            Okay   No  
        
ora_data/d56: Concat/Stripe
    Size: 1426067456 blocks (680 GB)
    Stripe 0:
        Device   Start Block  Dbase        Reloc
        d5s0            0     No           No
ora_data/d36: Soft Partition
    Device: ora_data/d55
    State: Okay
    Size: 20971520 blocks (10 GB)
        Extent              Start Block              Block count
             0                 24092800                 20971520
ora_data/d35: Soft Partition
    Device: ora_data/d55
    State: Okay
    Size: 20971520 blocks (10 GB)
        Extent              Start Block              Block count
             0                  3121248                 20971520
。。。。。。(省略)
Device Relocation Information:
Device   Reloc        Device ID
d5   No           -
d4   No           -
注:创建软分区在任意一个节点操作即可
---------------------------------------------------------------------------
两台机器SUN 445(4块72G硬盘),接一台3320磁盘阵列,磁盘阵列做成Raid 5之后,划分出2个LUN,对应format中的4和5。
两台机器名。分别为center-1 和center-2,center-1 机器安装sybase,并起sybase服务;机器center-2安装其他应用程序。给磁盘阵列划分软分区的时候,让两台机器,都可以使用(当然只能一台在线使用)。方法如下:
# format  查看机器的硬盘
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c1t0d0
          /pci@1f,700000/scsi@2/sd@0,0
       1. c1t1d0
          /pci@1f,700000/scsi@2/sd@1,0
       2. c1t2d0
          /pci@1f,700000/scsi@2/sd@2,0
       3. c1t3d0
          /pci@1f,700000/scsi@2/sd@3,0
       4. c2t0d0
          /pci@1d,700000/scsi@2/sd@0,0
       5. c2t0d1
          /pci@1d,700000/scsi@2/sd@0,1
center-1# metadb -a -f -c 3 c1t0d0s7 c1t2d0s7   在2块磁盘的系统上创建状态数据库
center-1# metadb                                查看metadb信息
center-1# metaset -s sybase_data -M -a -h center-1 center-2  创建多属主磁盘集sybase_data
center-1# metaset -s sybase_data -a /dev/rdsk/c2t0d0  将共享磁盘/dev/rdsk/c2t0d0添加到磁盘集sybase_data
center-1# metaset -s sybase_data -a /dev/rdsk/c2t0d1  将共享磁盘/dev/rdsk/c2t0d1添加到磁盘集sybase_data
center-1# metaset -s sybase_data     查看磁盘集sybase_data的属性
           
下面开始创建软分区,在任意一个节点都可以:
center-1# metainit -s sybase_data d30 1 1 /dev/rdsk/c2t0d0  初始化/dev/rdsk/c2t0d0为metadevice
center-1# metainit -s sybase_data d40 1 1 /dev/rdsk/c2t0d1  初始化/dev/rdsk/c2t0d1为metadevice
center-1# metainit -s sybase_data d51 -p d30 32g
center-1# metainit -s sybase_data d52 -p d30 32g
center-1# metainit -s sybase_data d53 -p d30 32g
center-1# metainit -s sybase_data d54 -p d30 32g
center-1# metainit -s sybase_data d55 -p d30 5g
center-1# metainit -s sybase_data d56 -p d30 5g
center-1# metainit -s sybase_data d57 -p d30 5g
center-1# metainit -s sybase_data d58 -p d30 5g
center-1# metainit -s sybase_data d59 -p d30 32g
center-1# metainit -s sybase_data d60 -p d30 32g
center-1# metainit -s sybase_data d61 -p d30 32g
center-1# metainit -s sybase_data d62 -p d30 32g
center-1# metainit -s sybase_data d63 -p d30 2g
center-1# metainit -s sybase_data d64 -p d30 2g
center-1# metainit -s sybase_data d65 -p d30 32g
center-1# metainit -s sybase_data d66 -p d30 32g
center-1# metainit -s sybase_data d67 -p d30 32g
center-1# metainit -s sybase_data d68 -p d30 32g
center-1# metainit -s sybase_data d69 -p d30 32g
center-1# metainit -s sybase_data d70 -p d30 32g
还有一部分剩余空间,作为以后扩展
最d40进行软分区:
center-1# metainit -s sybase_data d91 -p d40 32g
center-1# metainit -s sybase_data d92 -p d40 32g
center-1# metainit -s sybase_data d93 -p d40 32g
center-1# metainit -s sybase_data d94 -p d40 32g
center-1# metainit -s sybase_data d95 -p d40 32g
center-1# metainit -s sybase_data d96 -p d40 32g
center-1# metainit -s sybase_data d97 -p d40 32g
center-1# metainit -s sybase_data d98 -p d40 32g

center-1# metainit -s sybase_data d51 -p d30 32g
d30如果剩余空间还有300G,可以从300G里面,划分部分空间作为软分区d51的增加空间,可以从剩余300G空间里面,再划出16G出来:
center-1# metattach d51 16g
Growing Soft Partitions
A soft partition can be grown by the use of the metattach command. There is no mechanism to shrink a soft partition.
CODE:[Copy to clipboard]   # metattach d0 10m
   d0: Soft Partition has been grown
When additional space is added to an existing soft partition, the additional space is taken from any available space on the same device and might not be
contiguous with the existing soft partition. Growing soft partitions must be done with free space in the same device as the current soft partition.
The following example shows how growing a soft partition will increase the size of the current extent:
CODE:[Copy to clipboard]   # metainit d1 -p c1t0d2s0 100m
   d1: Soft Partition is setup
   # metastat d1
   d1: Soft Partition
       Component: c1t0d2s0
       State: Okay
       Size: 204800 blocks
           Extent              Start Block              Block count
                0                        1                   204800
   # metattach d1 50m
   d1: Soft Partition has been grown
   # metastat d1
   d1: Soft Partition
       Component: c1t0d2s0
       State: Okay
       Size: 307200 blocks
           Extent              Start Block              Block count
                0                        1                   307200
Note how after the metattach is run, there is still only one extent, but the (block count) has grown from 204800 (100MB) to 307200 (150MB).
In the following example, the extent cannot be grown, as it was above, because another soft partition is "in the way". Therefore, a second extent is created
in the same slice.
CODE:[Copy to clipboard]   # metainit d1 -p c1t0d2s0 100m
   d1: Soft Partition is setup
   # metainit d2 -p c1t0d2s0 10m
   d2: Soft Partition is setup
   # metastat
   d1: Soft Partition
       Component: c1t0d2s0
       State: Okay
       Size: 204800 blocks
           Extent              Start Block              Block count
                0                        1                   204800
   d2: Soft Partition
       Component: c1t0d2s0
       State: Okay
       Size: 20480 blocks
           Extent              Start Block              Block count
                0                   204802                    20480
   # metattach d1 50m
   d1: Soft Partition has been grown
   # metastat
   d1: Soft Partition
       Component: c1t0d2s0
       State: Okay
       Size: 307200 blocks
           Extent              Start Block              Block count
                0                        1                   204800
                1                   225283                   102400
   d2: Soft Partition
       Component: c1t0d2s0
       State: Okay
       Size: 20480 blocks
           Extent              Start Block              Block count
                0                   204802                    20480
Note how d1 now has two non-contiguous extents that together make up the 307200 (150MB) blocks.
NOTE: Growing the metadevice does not modify the data or the filesystem inside the metadevice. If the metadevice contains a filesystem, you must use the
appropriate command(s) to grow that filesystem after the metadevice has been grown.
----------------------------------------------------------------------------------------------------------------------------------


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2027/showart_334019.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP